@typescript_ru

Страница 220 из 669
Valeriy
04.05.2017
14:53:36
что может быть проще о.о
interface a { b: null | string }

Aleh
04.05.2017
14:53:45
так это ж сложнее

interface a { b?: string }

Valeriy
04.05.2017
14:53:58
Ок

Google
Valeriy
04.05.2017
14:54:09
Мне важно значение null

Я вас понял)

Aleh
04.05.2017
14:54:24
в 1.8 нет strictNull вообще

так что его можете куда хотите пихать

Valeriy
04.05.2017
14:54:46
Ага :)

Aleh
04.05.2017
14:54:50
(делать так конечно же не стоит)

Igor
05.05.2017
06:01:37
Как через fetch загрузить типизированный JSON? Метод json() возращает Promise<any>.

Igor
05.05.2017
06:14:51
as
можно пример кода?

Dreamerinnoise
05.05.2017
06:16:53
можно пример кода?
https://templecoding.com/blog/2016/03/17/leveraging-the-power-of-generics-with-typescript/

Max
05.05.2017
06:33:26
return json as MyJsoan

если через as



Google
Max
05.05.2017
06:34:20
о, через T в промизе можно

прикольно

Dreamerinnoise
05.05.2017
06:35:31
дженерики же

Max
05.05.2017
06:35:46
ну да

Vitaly
05.05.2017
10:30:50
Ребят, привет! А есть нормальный способ использовать dynamic import с TS?(import().then())

Сергей
05.05.2017
10:31:02
ts не умеет пока

Aleh
05.05.2017
10:32:10
только препарсить чем-то, что заменит import()

Сергей
05.05.2017
10:32:29
или юзать бабель ))

Aleh
05.05.2017
10:33:13
бабель не умеет в ts типы

Сергей
05.05.2017
10:34:19
ts -> babel -> js

Vitaly
05.05.2017
10:34:28
u.u ах как жаль

Aleh
05.05.2017
10:34:30
ну так ts не сможет import )

Сергей
05.05.2017
10:34:48
ну так ts не сможет import )
а ну типы да не осилит

Aleh
05.05.2017
10:35:01
нет, вообще ж не сможет

ошибка парсинга

Сергей
05.05.2017
10:35:13
о точно забыл

Vitaly
05.05.2017
10:35:35
в общем пока, по старинке System.import

или склонить на темную сторону flow)

Сергей
05.05.2017
12:08:01
ребята запилили чатик по гиту @git_ru

Ilya
05.05.2017
12:08:47
Кто знает react ui библиотеки написанные на TS?

Google
Артем
05.05.2017
12:09:31
https://ant.design/docs/react/introduce

Ilya
05.05.2017
12:11:13
Ага

а еще есть?

Max
05.05.2017
12:14:54
не уверен

Артем
05.05.2017
12:17:20
https://github.com/palantir/blueprint

Дмитрий
05.05.2017
12:59:00
Вот и у меня вопрос, наконец, возник

https://www.typescriptlang.org/play/#src=interface%20Pagination%3CT%3E%20%7B%0D%0A%20%20%20%20data%3A%20T%0D%0A%7D%0D%0A%0D%0Aconst%20test%20%3D%20()%3A%20Promise%3Cnumber%5B%5D%20%7C%20Pagination%3Cnumber%3E%3E%20%3D%3E%20%7B%0D%0A%20%20%20%20return%20Promise.resolve(%7B%0D%0A%20%20%20%20%20%20%20%20data%3A%20123%0D%0A%20%20%20%20%7D)%3B%0D%0A%7D%0D%0A%0D%0Aconst%20result%20%3D%20test()%3B%0D%0Aresult.data%3B%0D%0A

Как мне убедить TS, что у result может быть data?

Так, ошибочка, сейчас поправлю

https://www.typescriptlang.org/play/index.html#src=interface%20Pagination%3CT%3E%20%7B%0D%0A%20%20%20%20data%3A%20T%0D%0A%7D%0D%0A%0D%0A(async%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20const%20test%20%3D%20()%3A%20Promise%3Cnumber%5B%5D%20%7C%20Pagination%3Cnumber%3E%3E%20%3D%3E%20Promise.resolve(%7B%20data%3A%20123%20%7D)%3B%0D%0A%20%20%20%20const%20result%20%3D%20await%20test()%3B%0D%0A%0D%0A%20%20%20%20result.data%3B%0D%0A%7D)()%3B

вот, теперь прям вот точно

Внимательней читай доку, Дима, внимательней! (<Pagination<number>>result).data;

Max
05.05.2017
13:04:50
if pagination.data

Дмитрий
05.05.2017
13:04:58
Не, так тоже не работает

Max
05.05.2017
13:05:00
if result.data

Дмитрий
05.05.2017
13:05:24
Та же ошибка) Всё в доке описано, я слоупок

if ((<Fish>pet).swim) { (<Fish>pet).swim(); } else { (<Bird>pet).fly(); }

Max
05.05.2017
13:05:43
хм

оок

Dreamerinnoise
05.05.2017
13:06:31
тс мог и с инферить по идее

Google
Aleh
05.05.2017
13:08:09
Не, так тоже не работает
https://www.typescriptlang.org/play/index.html#src=interface%20Pagination%3CT%3E%20%7B%0D%0A%20%20%20%20data%3A%20T%0D%0A%7D%0D%0A%0D%0A(async%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20const%20test%20%3D%20()%3A%20Promise%3Cnumber%5B%5D%20%7C%20Pagination%3Cnumber%3E%3E%20%3D%3E%20Promise.resolve(%7B%20data%3A%20123%20%7D)%3B%0D%0A%20%20%20%20const%20result%20%3D%20await%20test()%3B%0D%0A%0D%0A%20%20%20%20if%20(isPagination%3Cnumber%3E(result))%0D%0A%20%20%20%20%20%20%20%20return%20result.data%3B%0D%0A%7D)()%3B%0D%0A%0D%0Afunction%20isPagination%3CT%3E(result%3A%20any)%3A%20result%20is%20Pagination%3CT%3E%20%7B%0D%0A%20%20%20%20return%20result.hasOwnProperty(%22data%22)%0D%0A%7D

Aleh
05.05.2017
13:09:05
type guard

https://www.typescriptlang.org/docs/handbook/advanced-types.html

user defined type guards

Дмитрий
05.05.2017
13:09:54
Собственно, это прям дальше в доке)

Aleh
05.05.2017
13:10:24
к слову такие конструкцию мне почему-то нужны краааайне редко

Admin
ERROR: S client not available

Aleh
05.05.2017
13:12:15
за два года раза 3-4 юзал наверное в своих проектах и уже не первый раз тут :))

Dreamerinnoise
05.05.2017
13:12:34
Ни разу не встречал, лол

Дмитрий
05.05.2017
13:12:39
type guards рил какие-то бесполезные

Dreamerinnoise
05.05.2017
13:12:40
ну typeof да

Дмитрий
05.05.2017
13:13:05
сервис в feathers возвращает либо список результатов, либо Paginated

Поэтому так

Aleh
05.05.2017
13:13:36
ну возможно у вас как раз тот случай)

без контекста я не знаю

Дмитрий
05.05.2017
13:14:13
Это как раз тот случай, сторонняя либа. В своем коде я таких вещей стараюсь не допускать

Aleh
05.05.2017
13:14:29
поскольку у нас приложение, которое усиленно работает с чужими апишками, у нас все завернуто и проблем таких нет

Pavel
05.05.2017
13:31:36
добрый день. как возможно, что ts файл видит интерфейс, который 1. объявлен в другом тс файле 2. файл с интерфейсом не включен в tsconfig 3. файл с интерфейсом нигде не импортируется ?

Google
Pavel
05.05.2017
13:31:53
и ничего не экспортирует

Aleh
05.05.2017
13:35:04
референсы?

Pavel
05.05.2017
13:36:56
нет их

если в файле описан интерфейс, при этом без экспортов и имортов - он попадает в глобальный скоуп

вот как происходит у меня

Aleh
05.05.2017
14:11:42
ну надо смотреть по проекту

Pavel
05.05.2017
14:12:10
если добавить там любой экспорт хоть export const a = 3 - сразу перестает

Andrey
05.05.2017
14:17:36
существует какая-то опция у tsc, когда он делает неявный дефолтный экспорт, может она? сходу не помню, как называется

Aleh
05.05.2017
14:17:57
не, там syntetic default exports

она export = считает за export default

ну вообще если у вас в files указано "./**/*.ts", то логично, что он пихает в глобал

andretshurotshka?❄️кде
05.05.2017
14:18:47
Кто пояснит за spread types в ts, хотели же только mapped типы оставить, не?

Aleh
05.05.2017
14:19:08
а что с spread types?

andretshurotshka?❄️кде
05.05.2017
14:21:19
ну они будут или нет?)

Aleh
05.05.2017
14:23:55
а, ну все сложно)

rest бы

который еще может с генериками

Vladimir
05.05.2017
14:27:45
За этим к Flow

Aleh
05.05.2017
14:28:27
угу

остается ждать https://github.com/Microsoft/TypeScript/pull/13470

Страница 220 из 669