
Valeriy
04.05.2017
14:53:36

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>.

Сергей
05.05.2017
06:14:34

Igor
05.05.2017
06:14:51

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

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

Дмитрий
05.05.2017
13:08:42

Dreamerinnoise
05.05.2017
13:08:56

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