package.json
и всё что с ним связано - это экосистема node. Из-за удобства и универсальности она принята за стандарт для всей разработки фронта, но браузер об этом ничего не знает. npm i -D @types/google.maps
methods: {
openUnit(it: string):void {
void this.$router.push(`/unit/${it}`);
}
}
methods: {
openUnit(it: string) {
return this.$router.push(`/unit/${it}`);
}
}
methods: {
async openUnit(it: string) {
await this.$router.push(`/unit/${it}`);
}
}
--force-with-lease
для переписывания коммита, во втором случае сначала сделай пул и подтяни изменения. const minGap = 3;
const keys = ['name', 'price'];
const input = [
{
name: "абрикосы",
price: 20
},
{
name: "тыква",
price: 50
},
{
name: "уи",
price: 1000
}
];
const maxLengths = keys.slice().fill(0);
const normalizedInput = input.map(item => keys.reduce((acc, key, i) => {
const current = String(item[key]);
const currentLength = current.length;
if(currentLength > maxLengths[i])
maxLengths[i] = currentLength;
acc[key] = current;
acc.length += currentLength;
return acc;
}, { length: 0 }));
const maxLength = maxLengths.reduce(
(sum, current) => sum + current,
minGap
);
const res = normalizedInput
.map(({
name,
price,
length
}) => name + ' '.repeat(maxLength - length) + price)
.join('\n');
let key: keyof EventStatusType;
for (key in eventTypes) {
Typescript не может автоматически вывести тип key
потому что он структурный, и никак не может знать, что в объекте точно нет ещё каких-нибудь ключей, кроме тех что указаны в типе EventStatusType
: const foo = {
Closed: false,
Maintaince: false,
Open: false,
внезапно: 'Вася'
};
const bar: EventStatusType = foo; // ok
Поскольку с помощью кода в начале ты фактически говоришь Typescript: "я знаю лучше, там точно не будет ничего другого", то на всякий непредвиденный случай следует добавить в switch
default
который что-то сделает(например кинет ошибку) если таки лишний неведомый ключ прилетит.Maintaince
и Maintenance
.