
Nikita
02.11.2016
16:24:30
или точнее расширяемым?

Дмитрий
02.11.2016
16:36:14
После чего при использовании описываешь в <> разрешенные типы значений

Google

Дмитрий
02.11.2016
16:43:23
Массив причем так же типизируется, только index: number

Vasiliy
02.11.2016
16:54:27
или точнее расширяемым?
да https://flowtype.org/try/#0MYGwhgzhAECC0G8BQBfA3EppIwELQFMAPAFwIDsATGeZFTbKaAYUVQy3CYDEB7XttGgB6YQEcAXHDQjhhAE7ze8pEIDUk6bOi8A1u0ycc0XGHmFSFatD4DkQzbhmid+oaM3NncgouXsgA
только я в документации не могу найти ничего про это,
а, черт, это и есть же ковариантность

andretshurotshka?❄️кде
02.11.2016
16:55:06

Дмитрий
02.11.2016
16:59:09
может просто A[] ?
А, ну да ? Я просто помнию, что в индексе сделали поддержку только string и number, для унификации наверное

Aleh
02.11.2016
17:08:31
ну, массив так плохо типизировать, не будет всего, что есть в массиве(length, push, pop и т.д.)

Дмитрий
02.11.2016
17:11:49
Ага

andretshurotshka?❄️кде
02.11.2016
21:28:42
https://github.com/Microsoft/TypeScript/pull/11929

Aleh
02.11.2016
21:35:25
https://github.com/Microsoft/TypeScript/pull/11150/commits/f65dd2101c33fc6e222e97757c892402c68fe99a#diff-8593c5008006f0dd33a65bac1d558671R50
чето я уже не шарю, что там происходит, надо будет утром перечитать

Alex
02.11.2016
21:40:31
еще spread и дженерик параметры для интефейсов и совсем красота будет

Aleh
02.11.2016
21:43:43

Dreamerinnoise
03.11.2016
14:08:16
https://github.com/ReactTraining/react-router/blob/master/docs/API.md#renderprops

Google

Dreamerinnoise
03.11.2016
14:08:27
я кажется приехал
или придётся дописать дефинишн

Aleh
03.11.2016
14:41:51
https://github.com/Microsoft/TypeScript/pull/11432 хорошая штука в 2.1 будет

Vasiliy
03.11.2016
15:00:48
как вы используете flow с css-modules?
со stub-файлами? module.name_mapper.extension='css' -> '<PROJECT_ROOT>/flow/stub/css-modules.js'

Vladimir
03.11.2016
15:01:53
Вроде в последних версиях должно из коробки работать?

Vasiliy
03.11.2016
15:02:52
да, работает, но там sugarss и расширение соответсвенно .sss, мб его можно добавить как-то просто?

Vladimir
03.11.2016
15:03:30
а, это я хз. Наверно только так

Aleh
03.11.2016
15:05:33
css-modules конечно беда

Nikita
03.11.2016
15:10:06
module.name_mapper='.*\(.css\)' -> 'CSSModule'
module.file_ext=.js
module.file_ext=.json
module.file_ext=.css
как-то так, только еще .sss

Vasiliy
03.11.2016
15:12:18
а что за CSSModule?
а, понял
declare module CSSModule {
declare var exports: { [key: string]: string };
}
или empty/object можно еще

Nikita
03.11.2016
15:26:28
ага
я бы еще [key: string]: ?string добавил
чтобы не повадно было ручками с этими классами что-то делать)

Aleh
03.11.2016
20:08:49

Dreamerinnoise
03.11.2016
20:18:35
@ZeroBias https://github.com/Microsoft/vscode/issues/14539
вот это был ответ на мой ишшью
точнее мой пометили как дуп и дали ссылку на это

Google

[Anonymous]
03.11.2016
20:24:07
@vkurchatkin почему стоит выбрать флоу?

Alexander
03.11.2016
20:26:59
Фейсбук классный
И окамл
А Майкрософт отстой

Vladimir
03.11.2016
20:27:17
Если коротко, то находит больше ошибок, позволяет писать меньше аннотаций
Говорят, быстрее. Это логично, но я не сравнивал

[Anonymous]
03.11.2016
20:30:00
а в ТС хоть что-то лучше есть, чем в флоу?

Vasiliy
03.11.2016
20:30:13
имхо, он очевиднее/интуитивно понятнее

Vladimir
03.11.2016
20:30:44
В основном говорят про популярность и наличие большого количества тайпингов
Качество тайпингов вызывает сомнение, но они действительно есть

Vasiliy
03.11.2016
20:31:10
да, тайпинги, наверное, оч большой плюс, их реально больше

Vladimir
03.11.2016
20:32:14
Также пожалуй можно к плюсам ТС отнести более понятные сообщения об ошибках (когда они есть)

Aleh
03.11.2016
20:35:43
ну, еще, тс много фейлится на сложных(ну более-менее) выводах типов(и там, где неправильно следуют спеке), но все простые места обрабатывает хорошо. У тс простая модель, относительно флоу, поэтому простые места работают хорошо. У флоу модель всего вывода сложная и иногда приходится и в простых местах делать магию, чтобы он вывел ошибку
как пример dead code в редьюсерах, недавнее с generic наследованием

Vladimir
03.11.2016
20:37:37
Ну насчет наследования это что то из области багов
Надо бы сформулировать и запосить issue

Aleh
03.11.2016
20:38:24
а у флоу есть какие-то тесты?

Vladimir
03.11.2016
20:38:34
хм, естественно

Vasiliy
03.11.2016
20:38:46
по мелочам если то перечисления во флоу лучше

Google

Vasiliy
03.11.2016
20:38:55
это же просто алгебраические типы данных, литералы, а в тс они реально есть в рантайме

Admin
ERROR: S client not available

Aleh
03.11.2016
20:39:23
ну да, вроде много)

Vladimir
03.11.2016
20:39:43
В смысле в рантайме?
А, ты про енамы

Aleh
03.11.2016
20:39:56
а как их может не быть
О.о

Vladimir
03.11.2016
20:40:06
ну в тс это просто number

Aleh
03.11.2016
20:40:20
во флоу просто нет енамов?

Vladimir
03.11.2016
20:40:24
там и говорить не о чемь, там полная ерунда
енамов нет

Vasiliy
03.11.2016
20:40:54
type Suit =
| "Diamonds"
| "Clubs"
| "Hearts"
| "Spades";

Vladimir
03.11.2016
20:41:02
ну это и в TS есть

Aleh
03.11.2016
20:41:17
да)

Vasiliy
03.11.2016
20:41:25
строковые?

Aleh
03.11.2016
20:41:27
да
так собственно экшены в редаксе типизируются
и главное, что флоу понимает, что это dead code, но забывает сообщить. Нечто похожее на ts и any, иногда сообщает, а иногда нет

Nikita
03.11.2016
20:43:19
да, у flow такие сообщения об ошибках, что врагу не пожелаешь)

Google

Nikita
03.11.2016
20:43:48
сегодня в константе ошибся, он мне 20 варнингов вложенных вывел. и хрен поймешь, что же не так

Aleh
03.11.2016
20:44:02
он пытался!

Nikita
03.11.2016
20:44:49
но там дженерики и oneOf. но интересно, как бы TS такое хэндлил, надо проверить)

Aleh
03.11.2016
20:45:05
скорее всего, все мы знаем ответ)

Дмитрий
03.11.2016
20:45:14

Vladimir
03.11.2016
20:45:23
Flow по сути строит большой граф констрейнтов и решает его
При таком подходе можно делать всякую магию, но сообщения об ошбиках нужно прикручивать отдельно

Nikita
03.11.2016
20:46:57
export function dispatchAsync<T: string, P>
я правильно понимаю, что в TS : - это extends?

Aleh
03.11.2016
20:47:29
extends string?