@typescript_ru

Страница 289 из 669
Дмитрий
18.07.2017
13:42:55
Если из Foo extends Bar не следует структурное соответствие Bar

Artur
18.07.2017
13:43:04
Ну там где-то мелькало, что No need for any type assertions

andretshurotshka?❄️кде
18.07.2017
13:43:10
Это баг

Вы че

Google
andretshurotshka?❄️кде
18.07.2017
13:43:56
Давайте начнём с того, что всё сломалось нахрен: https://github.com/Microsoft/TypeScript/issues/16985

Дмитрий
18.07.2017
13:44:16
Весело

andretshurotshka?❄️кде
18.07.2017
13:47:02
Какая версия тс?

Artur
18.07.2017
13:53:23
Спасибо, ребят

Иногда стоит меньше сомневаться в том, что ты не дурак

https://github.com/Microsoft/TypeScript/issues/16985#issuecomment-316107775

И вроде как действительно оно не бага

Просто костыльное использование

Vladimir
18.07.2017
16:21:10
Если бы это работало, то это было бы небезопасно

Так что с точки зрения ТС - наверно бага

Artur
18.07.2017
16:22:32
Ну вот ребята утверждают, что это правильное проведение.

Vladimir
18.07.2017
16:25:21
Ну так я согласен

Google
Vladimir
18.07.2017
16:25:31
Но это не значит, что это не баг

Artur
18.07.2017
16:35:15
Но это не значит, что это не баг
Ну, по крайней мере могли бы ошибку нормальную давать,

Vladimir
18.07.2017
16:37:13
Вполне ошибка нормальная, на мой взгляд

Даже не знаю, что еще можно добавить

Artur
18.07.2017
16:39:04
Vladimir
18.07.2017
16:39:23
Да, тоже самое

Artur
18.07.2017
16:39:29
Нет же

Знаете в чем разница?

Aleh
18.07.2017
16:40:19
Пока нет

Artur
18.07.2017
16:40:46
Разница в том, что на этапе объявления класса мы не знаем, какой тип будет однозначно передан в качестве дженерика, а при передаче литерала в качестве аргумента при создании экземпляра класса мы укажем его явно.

Вот в первом случае, если сделать так: new A<{x: object}>() явная же ошибка однако при передаче в качестве аргумента мы знаем точно, что передаем и застрахованы от ошибки new A<{x: object}>({x: smth})

Max
18.07.2017
16:42:54
[ts] Spread types may only be created from object types. (property) initialData: TData extends object

блин

почему не работает extends object?

Vladimir
18.07.2017
16:43:20
Содержимое класса проверяется отдельно для абстрактного T

Так что T мы не знаем никогда

Max
18.07.2017
16:43:46
и как это фиксить?

Сергей
18.07.2017
16:44:03
почему не работает extends object?
Чем тебе не нравится extends {}

Google
Artur
18.07.2017
16:44:40
Так что T мы не знаем никогда
Ну и значит использование T как в первом варианте некорректно.

Max
18.07.2017
16:44:57
Чем тебе не нравится extends {}
[ts] Spread types may only be created from object types. (property) initialData: TData extends {}

Artur
18.07.2017
16:45:02
Ну, скажем так, в рамках JS и TS не совсем корректно

Max
18.07.2017
16:45:23
ну я же предполагаю что это extends object

Artur
18.07.2017
16:45:40
Max
18.07.2017
16:46:14
в том что генерики со спредами не работаю

и как фиксить

https://github.com/Microsoft/TypeScript/issues/15792

хм

вроде в 2.3.3 обещали починить

хуй

Aleh
18.07.2017
16:47:45
[ts] Spread types may only be created from object types. (property) initialData: TData extends {}
Это проблема, что спред не работает с генериками

Aleh
18.07.2017
16:48:32
Я на 2.2 и там точно еще не фиксанули

Max
18.07.2017
17:03:11
поставил 2.4 - same

andretshurotshka?❄️кде
18.07.2017
17:04:29
Я из-за этого юзаю object.assign

Max
18.07.2017
17:07:06
https://github.com/Microsoft/TypeScript/pull/13288

Короче эти пидоры вот этот PR мержат уже херпойми сколько

с января

Object.assign({}, oldProps)?

Google
andretshurotshka?❄️кде
18.07.2017
17:09:52
а что с ассигн?
Ну там вроде нет ошибок

Max
18.07.2017
17:10:00
щас попробую, спасбио

а оно тип выводит?

andretshurotshka?❄️кде
18.07.2017
17:10:15
Должен

Max
18.07.2017
17:10:20
или то же самое будет что {…spread as any} :)

andretshurotshka?❄️кде
18.07.2017
17:10:23
Там intersection же

Max
18.07.2017
17:10:52
mkay

Aleh
18.07.2017
17:12:24
Ну это проблема отсутствия rest типов

Admin
ERROR: S client not available

Max
18.07.2017
17:13:37
ну вон ПР выше

я подписался

с ассигн пашет

спасибо



НУЖНО БОЛЬШЕ ГЕНЕРИКОВ БОГУ ГЕНЕРИКОВ

Сергей
18.07.2017
17:17:54
Пздц

Max
18.07.2017
17:18:05
да, с хоками вывод типов ебануться

Дмитрий
18.07.2017
17:19:23
НУЖНО БОЛЬШЕ ГЕНЕРИКОВ БОГУ ГЕНЕРИКОВ
— How many levels of generics are you on? — .. — watch this



?

Google
Max
18.07.2017
17:19:33
ыыыыыыыыы

Дмитрий
18.07.2017
17:19:39
Психанул

Max
18.07.2017
17:19:40
охуительно

andretshurotshka?❄️кде
18.07.2017
17:19:52
Ето xml?

Дмитрий
18.07.2017
17:19:59
?

Тип никак не хотел выводиться ?

Max
18.07.2017
17:20:15
ахахаха

Aleh
18.07.2017
17:24:16
Фейсбучеры долго смотрели на генерики и придумали jsx

andretshurotshka?❄️кде
18.07.2017
17:24:48
они из es4 украли)

Дмитрий
18.07.2017
17:25:00
С параметрами! Джва года ждал

Aleh
18.07.2017
17:25:32
И параметры и спреды

И hkt

Уже есть компонент монады?)

Дмитрий
18.07.2017
17:26:27
В jsx? ?? Щас будет ?

Уже есть компонент монады?)
Я кстати нашёл случайно в коде реакта, как они используют opaque types)) Всё банально оказалось ? Тупо переназначение, видимо чтобы импорты менять только в одном месте

Точнее, не сами opaque types, у них просто типы там с приставкой Opaque

Aleh
18.07.2017
17:28:46
Opaque$Type ?

Дмитрий
18.07.2017
17:33:16
https://github.com/facebook/react/blob/8d61138186e79e1e719786c8c76186e64b603bd5/src/renderers/shared/fiber/ReactFiberReconciler.js#L48 Ну и в целом концепция opaque{чего то там} встречается регулярно ?

andretshurotshka?❄️кде
18.07.2017
17:34:28
Так это не то

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