
Ҫѐҏӗѫӑ
10.04.2017
17:37:45
было
и это не релиз

marat
10.04.2017
17:39:06
https://registry.npmjs.org/typescript/-/typescript-2.3.0.tgz
выглядит как релиз

Google

Ҫѐҏӗѫӑ
10.04.2017
17:41:24
но все же это не он
https://github.com/Microsoft/TypeScript/releases
https://blogs.msdn.microsoft.com/typescript/2017/04/10/announcing-typescript-2-3-rc/

marat
10.04.2017
17:44:47
не он(

Aleh
10.04.2017
18:29:48
https://github.com/Microsoft/TypeScript/pull/15104

Vladimir
10.04.2017
18:31:27
Вместо того чтобы делать нормально, опять хуевертят какие-то хаки

Aleh
10.04.2017
18:32:56
вот не могу понять чем это проще того, чтобы добавить ко\контр-вариантные типы

Vladimir
10.04.2017
18:33:41
Ну формально явная ко и контравариантность нужна только для номинальных типов
Которых в ТС нет
В остальном вариантность вытекает из структурной типизации
И это правильно и логично
Пример: https://flow.org/try/#0FAFwngDgpgBAYgewQHgCoD4YF4YG9gwDUAHgFwyoDcwAvsMACZQDGANgIYBOsAblzGXhJkAOwCuAWwBGUTumrAAFIMQpx02TAA+MAM4hOASxEBzdAEpKQA
У T явно не указана вариантность, но по факту получается ковариантный тип

Aleh
10.04.2017
18:37:12

Google

Aleh
10.04.2017
18:37:17
с приватными вещами в классе можно
т.е. это костыль конечно https://www.typescriptlang.org/play/index.html#src=class%20A%20%7B%0D%0A%20%20%20%20private%20a%3A%20number%20%3D%200%3B%0D%0A%20%20%20%20b%3A%20string%20%3D%20%22%22%3B%0D%0A%7D%0D%0A%0D%0Aclass%20SimilarA%20%7B%0D%0A%20%20%20%20private%20a%3A%20number%20%3D%200%3B%0D%0A%20%20%20%20b%3A%20string%20%3D%20%22%22%3B%0D%0A%7D%0D%0A%0D%0Afunction%20f(a%3A%20A)%20%7B%0D%0A%20%20%20%20return%20a%3B%0D%0A%7D%0D%0A%0D%0Af(new%20SimilarA)

Vladimir
10.04.2017
18:38:24
Ну да

Aleh
10.04.2017
18:39:59
но в общем-то это есть

Mikhail
10.04.2017
21:45:37
А как заменить на generic такой код?
Array<any> = [];Array<T> что-то не срабатывает
Cannot find name 'T'

Алексей
10.04.2017
21:59:20

Mikhail
10.04.2017
22:00:01

Alice
10.04.2017
22:56:16
Тфв решил написать тайпингов для n модулей, а теперь пытаешься удержаться и не начать переписывать их на TS полностью.

Сергей
11.04.2017
09:55:54
Ребят кто умеет ts + compose + redux.createStore ?

Max
11.04.2017
09:56:16
я плюнул на войну с TS и взял flow
ладно, пришлось убрать декораторы
но когда он отказался пихать App в дом, обернутый в HOC от react-dnd
душа поэта не выдержала :(

Дмитрий
11.04.2017
09:57:57
Слабак

Max
11.04.2017
09:58:02
угу (

Aleh
11.04.2017
09:58:08

andretshurotshka?❄️кде
11.04.2017
09:58:09

Сергей
11.04.2017
09:58:20

Дмитрий
11.04.2017
09:58:31

Google

Сергей
11.04.2017
09:58:34
типы

Max
11.04.2017
09:58:34
?
компилер выдавал ошибку на несоответствие типов

Aleh
11.04.2017
09:58:47
А что с декораторами?

Max
11.04.2017
09:58:54
тс

Сергей
11.04.2017
09:59:19
а что с ним не так?
как ему типы указать?
compose<T, R, A>(devToolsExt, sagaMiddl)(createStore)
что вместо этих T, R, A?

Max
11.04.2017
09:59:23
он в упор не понимал что такое
@connect
@dropTarget

Aleh
11.04.2017
09:59:47
О.о

Max
11.04.2017
09:59:55
конечно

Aleh
11.04.2017
09:59:58
Или флаг не включил?
Декораторы под флагом если че

Max
11.04.2017
10:00:15
да, я в курсе
в .tsconfig добавил

Aleh
11.04.2017
10:00:24
Ну, так какие прлблемы?

Max
11.04.2017
10:00:31
ERROR мать его )

Aleh
11.04.2017
10:00:34
Он отлично понимает декораторы из stage1

Max
11.04.2017
10:00:39
ну уже никаких

Aleh
11.04.2017
10:00:53
И на методы, и на классы
Ладно, что-то сложное видимо)

Google

Aleh
11.04.2017
10:02:03
Ничего т.е.

andretshurotshka?❄️кде
11.04.2017
10:03:51
как ему типы указать?
compose<T, R, A>(devToolsExt, sagaMiddl)(createStore)
что вместо этих T, R, A?
/* two functions */
export function compose<A, R>(
f1: (b: A) => R, f2: Func0<A>
): Func0<R>;
export function compose<A, T1, R>(
f1: (b: A) => R, f2: Func1<T1, A>
): Func1<T1, R>;
export function compose<A, T1, T2, R>(
f1: (b: A) => R, f2: Func2<T1, T2, A>
): Func2<T1, T2, R>;
export function compose<A, T1, T2, T3, R>(
f1: (b: A) => R, f2: Func3<T1, T2, T3, A>
): Func3<T1, T2, T3, R>;
там же такой тип для двух функций

Сергей
11.04.2017
10:04:52
/* two functions */
export function compose<A, R>(
f1: (b: A) => R, f2: Func0<A>
): Func0<R>;
export function compose<A, T1, R>(
f1: (b: A) => R, f2: Func1<T1, A>
): Func1<T1, R>;
export function compose<A, T1, T2, R>(
f1: (b: A) => R, f2: Func2<T1, T2, A>
): Func2<T1, T2, R>;
export function compose<A, T1, T2, T3, R>(
f1: (b: A) => R, f2: Func3<T1, T2, T3, A>
): Func3<T1, T2, T3, R>;
*facepalm*

Дмитрий
11.04.2017
10:05:08
Ето норма
Советую просто забить
Все compose функции — это сложно для типизации, поэтому они сейчас разной степени ужасности

Admin
ERROR: S client not available

Дмитрий
11.04.2017
10:06:03
Но в редаксе — самая ужасная)

Aleh
11.04.2017
10:08:24

Сергей
11.04.2017
10:08:31
да

Дмитрий
11.04.2017
10:10:09
*facepalm*
а что сложного-то?
первый аргумент - результат вызова второй функции,
последний - результат вызова первой функции
всё, что между ними - типы аргументов второй фунции
изи
для трех функций всё аналогично

Max
11.04.2017
10:10:40
а никто не видел для flow типа "variable"
ну т.е. регексп наверное

Aleh
11.04.2017
10:10:56

Google

Дмитрий
11.04.2017
10:11:27
Кстати, должно быть тогда уж А, T, R =)

Aleh
11.04.2017
10:11:32
у тебя там грубо говоря только A(argument) и R(return)

Artur
11.04.2017
10:11:34
Декораторы над классами должны вохвращать тот же тип. Если это не так, то декоратор надо использовать как функцию

Max
11.04.2017
10:17:52
или я туплю
да, видимо туплю
валидация уже мне нужна а не тайпчекинг

Dreamerinnoise
11.04.2017
10:25:30
@syabro у тебя сначала непреодолимые проблемы были с mobx, теперь с ts. Странно это всё.

Max
11.04.2017
10:26:13
ну мне лень воевать с мельницами
попробовал — не очень получилось
переключился на альтернативу

Artur
11.04.2017
10:32:17
Тоже не получится
Завязнешь на какой нибудь связке keyof и mapped types

Max
11.04.2017
10:32:54
запросто
писал давно на AS3
очень ок было
парни, а киньте свой .flowconfig плз посмотреть

Artur
11.04.2017
11:02:32
Здесь чат про ТС))

andretshurotshka?❄️кде
11.04.2017
11:03:19
@flowtype_ru

Max
11.04.2017
11:03:27
я думал тут TS + flow
сорян )
пойду туда, всем спасибо ^_^

andretshurotshka?❄️кде
11.04.2017
11:04:28