Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 20

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Твой Бу
Всем привет, как такую проблему фиксить не подкажете?
тебе нужно доказать, что siteCountry это keyof CONTACT_US_DATA_MAP. Скинь это в плейграунд: http://www.typescriptlang.org/play/
источник

Т

Твой Бу in TypeScript — русскоговорящее сообщество
Egor Gorbachev
тебе нужно доказать, что siteCountry это keyof CONTACT_US_DATA_MAP. Скинь это в плейграунд: http://www.typescriptlang.org/play/
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
а как тайпскрипту сказать что он тут не прав

Type 'number[]' is missing the following properties from type '[number, number, number, number]': 0, 1, 2, 3
источник

BB

Bugs Bunny in TypeScript — русскоговорящее сообщество
😄 as
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Alex CherryTea
а как тайпскрипту сказать что он тут не прав

Type 'number[]' is missing the following properties from type '[number, number, number, number]': 0, 1, 2, 3
as const
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
пробовал так
return bbox.slice(0, 4) as const
почему-то не помагает
источник

VK

Vladimir Kurchatkin in TypeScript — русскоговорящее сообщество
as const это для литералов
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
и как тут быть
источник

BB

Bugs Bunny in TypeScript — русскоговорящее сообщество
as [number, number, number, number] ))
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
если список языков известен, то можно так
источник

BB

Bugs Bunny in TypeScript — русскоговорящее сообщество
Bugs Bunny
as [number, number, number, number] ))
фантастические твари и где они обитают
источник

BB

Bugs Bunny in TypeScript — русскоговорящее сообщество
ну вопше если прям упороться в отдельный тип и в 2х местах забиндить
источник

L

Looch in TypeScript — русскоговорящее сообщество
коллеги кто-то знает как можно добавить .js в ипортах при компиляции ? https://github.com/microsoft/TypeScript/issues/16577
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
жаль что приходится вот так тупо кастовать нужный тип, но похоже по другому тут никак
источник

🦉⁣

🦉 ⁣ in TypeScript — русскоговорящее сообщество
Alex CherryTea
жаль что приходится вот так тупо кастовать нужный тип, но похоже по другому тут никак
мб можно сделать тайпгард

function isFour(array: number[]): array is [number, number, number, number] {
 return array.length >= 4
}

if (isFour(bbox)) {
 return bbox.slice(0, 4)
}
источник

🦉⁣

🦉 ⁣ in TypeScript — русскоговорящее сообщество
Alex CherryTea
а как тайпскрипту сказать что он тут не прав

Type 'number[]' is missing the following properties from type '[number, number, number, number]': 0, 1, 2, 3
так ещё и уйдет эта магическая 4

(если isFour заменить на “говорящее” название)
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
🦉 ⁣
мб можно сделать тайпгард

function isFour(array: number[]): array is [number, number, number, number] {
 return array.length >= 4
}

if (isFour(bbox)) {
 return bbox.slice(0, 4)
}
классная идея, но теперь сломалось на еще более тупом месте - turfBbox возвращает юнион двух типов длинной 6 и длинной 4. С тайп гвардом isFour он теперь пишет что из функции может вернутся массив длинной 6
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
Types of property 'length' are incompatible.
     Type '6' is not assignable to type '4'.
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
это ж бред, мы ведь тайпгвард как раз на 4 длинну и сделали
источник

🦉⁣

🦉 ⁣ in TypeScript — русскоговорящее сообщество
мде
источник