Size: a a a

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

2020 April 10

РФ

Руслан Фадеев in TypeScript — русскоговорящее сообщество
Евгений Пантелеев
можно сделать тип [number, string]? тип массив, где на первом месте число, а на втором строка?
Если массив из двух, то да, пишется в точности так
источник

ЕП

Евгений Пантелеев in TypeScript — русскоговорящее сообщество
Руслан Фадеев
Если массив из двух, то да, пишется в точности так
да, нашел Tuples, спасибо
источник

A

Alxndr 🗽👇 in TypeScript — русскоговорящее сообщество
а кто как обрабатывает ошибки?
Допустим функция возвращает юнион из значения и ошибки. Это надо как-то хендлить дальше в коде.

https://github.com/vultix/ts-result
https://github.com/gDelgado14/neverthrow

вот есть либы, но похоже их никто не использует, самому имплементировать тоже смущаюсь. Может быть есть какой-то ts way как обрабатывать ошибки?

использую io-ts и для проверки валидации рантайпов их способ еще ладно, но тащить fp-ts во все щели не хочется, мне всего-то нужно прочекать юнион и обработать кейс с ошибкой.
источник
2020 April 11

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Alxndr 🗽👇
а кто как обрабатывает ошибки?
Допустим функция возвращает юнион из значения и ошибки. Это надо как-то хендлить дальше в коде.

https://github.com/vultix/ts-result
https://github.com/gDelgado14/neverthrow

вот есть либы, но похоже их никто не использует, самому имплементировать тоже смущаюсь. Может быть есть какой-то ts way как обрабатывать ошибки?

использую io-ts и для проверки валидации рантайпов их способ еще ладно, но тащить fp-ts во все щели не хочется, мне всего-то нужно прочекать юнион и обработать кейс с ошибкой.
обрабатываю либо if'ами, либо assert-функциями: https://github.com/krzkaczor/ts-essentials#Assertions
источник

A

Alxndr 🗽👇 in TypeScript — русскоговорящее сообщество
Egor Gorbachev
обрабатываю либо if'ами, либо assert-функциями: https://github.com/krzkaczor/ts-essentials#Assertions
а покажи как ифами
источник

A

Alxndr 🗽👇 in TypeScript — русскоговорящее сообщество
instanceof на тип не сработает, только на структуру
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Вот пример типа, для которого будет работать сужение типов if'ами: https://github.com/streamich/react-use/blob/master/src/useAsyncFn.ts#L5
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Потом if (!response.error) {
 // безопасно работаем с response.value
}
источник

A

Alxndr 🗽👇 in TypeScript — русскоговорящее сообщество
спасибо, попробую
источник

НК

Никита Калинин in TypeScript — русскоговорящее сообщество
привет всезнающие и любящие делиться знаниями =)
подскажите плиз, есть задача вынести интерфейсы в npm пакет и потом юзать их в разных сервисах просто устанавливая из репозитория
для хранения npm пакета используется Azure Aritifacts.
В Azure все сделал, пакет скачивается в проектах, но при удалении интерфейсов из проекта WebStorm отказывается при написании import {someInterface} from '...'; в пути не находится нужный пакет, а если написать как он называется, то все ок. Ну соответственно и автоимпорт так же не работает...
Подскажите плиз как правильно оформить такой пакет...
сейчас это выглядит вот так. в самих подпапках так же есть index.ts  который аналогично экспортит все файлы в папке
источник

НК

Никита Калинин in TypeScript — русскоговорящее сообщество
источник

A

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

A

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

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
И так как у вас типы будут не в @types надо будет ещё в тс конфиге вашу папку прописать
источник

НК

Никита Калинин in TypeScript — русскоговорящее сообщество
т.е. в файликах declare написать и переименовать в *.d.ts?
источник

A

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

НК

Никита Калинин in TypeScript — русскоговорящее сообщество
спасибо, сейчас попробую
источник

A

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

A

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

НК

Никита Калинин in TypeScript — русскоговорящее сообщество
да, перед публикацией читал... вроде с одним файликом получилось, webstorm начал верно реагировать!
можно же в typesRoot добавить папку?
источник