@typescript_ru

Страница 106 из 669
Vasiliy
27.10.2016
12:12:32
мб помнит кто-нибудь)

Nikita
27.10.2016
12:12:57
не очень понимаю, как это можно через код сделать) частично вышеупомянутый кейс можно введя понятие иммутабельности/константности. Но не более того

мы не можем в коде запретить реакту сгонять за данными к серверу, например)

Vladimir
27.10.2016
12:13:31
Пожалуй компонент должен быть контрвариатным относительно пропсов, и тогда все должно работать

Google
Nikita
27.10.2016
12:14:23
я думал есть $Something<Props> типо такого для этого случая

а точно есть

setState же

Vladimir
27.10.2016
12:15:11
> @gusnkt setState же Это вариант

Андрей
27.10.2016
12:15:35
в . net были контракты)
почему были, есть и отлично работают. предусловия, постусловия, инварианты

Nikita
27.10.2016
12:16:06
во, так должно сработать

неа =(

Vladimir
27.10.2016
12:23:43
Там по идее ReactClass надо использовать

Но я чет не могу понять, он вообще работает или нет

React.Component это инстанс класса

Nikita
27.10.2016
12:24:30
ммм, это родитель же, не?

Google
Vladimir
27.10.2016
12:24:40
По идее его как типа никогда не надо использовать

<Foo/> это React$Element

Nikita
27.10.2016
12:25:18
это да

но я именно сам класс хочу

Vladimir
27.10.2016
12:25:28
Foo это ReactClass

Nikita
27.10.2016
12:25:33
переписал на renderItem, в баню

Vladimir
27.10.2016
12:25:42
new Foo это React.Component

тоже верно

https://github.com/facebook/flow/issues/1777

Алексей
27.10.2016
12:56:38
а в чем отличие контракта от интерфейса?
интерфейс - explicit, контракт - implicit. Интерфейс - проделарирован, контракт - подразумевается (может быть проделарирован в документации или еще где но не в коде)

Vasiliy
27.10.2016
13:30:35
если речь о design by contract (https://en.wikipedia.org/wiki/Design_by_contract), то почему бы и не в коде)

есть даже вещи по типу

https://github.com/codemix/babel-plugin-contracts не пропагандирую, если что, just saying)

Vladimir
27.10.2016
13:43:29
Походу в скалу хотят добавить non nullable типы

Oleksandr
27.10.2016
13:51:24
давно уже периодически хотят

Vladimir
27.10.2016
13:51:50
https://github.com/lampepfl/dotty

Вот тут всякие ништяки

Oleksandr
27.10.2016
13:55:11
нууу там много чего, собственно сами DOT, а non-null уже такое)

Google
Andrey
27.10.2016
17:28:13
Походу в скалу хотят добавить non nullable типы
И если добавят, то все, лучший язык? Ты по моему только это критиковал

Андрей
27.10.2016
17:31:37
» если добавят, то все, лучший язык +1 :)

Vladimir
27.10.2016
17:37:01
Ну и то что JVM, но это уже навсегда

Дмитрий
27.10.2016
17:38:27
В скале можно поучиться интересным подходам

Andrey
27.10.2016
17:42:00
Ну и то что JVM, но это уже навсегда
Там вроде как был проект native scala, без jvm

В скале можно поучиться интересным подходам
Да, крутой язык, где много всего есть

Vladimir
27.10.2016
17:42:45
Ну это отдельная тема, наверняка 80% экосистемы не заводится

Andrey
27.10.2016
17:43:00
И стандартная либа отличная

Dreamerinnoise
28.10.2016
10:04:52
как вы в тс обходите вот этот случай: render(){ const {children, ...other} = this.props; return ( <div {...other}>{children}</div> ); } ?

Oleksandr
28.10.2016
10:15:10
спред скоро зарелизят

а так _extends() :)

Vadim
28.10.2016
14:32:24
А реально ли как-то в ts типизировать формат строки? Например, указать что это должен быть определенный формат даты, или что строка должна содержать 5 букв?

Vadim
28.10.2016
14:33:01
И реально ли типизировать число, указав минимальное и максимальное значение?

Vladimir
28.10.2016
14:38:15
Нет

Vadim
28.10.2016
14:41:01
Интересно, а во flow для этого тоже не придумали что-нибудь?

Vladimir
28.10.2016
14:41:23
Нет

https://en.wikipedia.org/wiki/Dependent_type

Ivan
28.10.2016
14:53:01
можно в идрисе, https://www.youtube.com/watch?v=fVBck2Zngjo

Vladimir
28.10.2016
14:56:54
В статье полный список

Дмитрий
28.10.2016
16:46:49
можно в идрисе, https://www.youtube.com/watch?v=fVBck2Zngjo
Лол, хороший совет) Agda тогда уж, чтобы жизнь мёдом не казалась))

Google
Ave
28.10.2016
18:16:01
Вот когда формат данных во фронте и формат который отдает api отличается например: api отдает: { user_age: 23, is_online: false, } а в сторе у тебя { age: 23, isOnline: false, } то как православно назвать "сервис" который будет заниматься конвертацией структур туда и обратно?

Vasiliy
28.10.2016
18:25:16
наверное, можно humps назвать https://github.com/domchristie/humps (: вообще, обычно это называют object mapper

Ave
28.10.2016
18:29:41
нуу такое

Vasiliy
28.10.2016
20:07:52
я много находил на гитхабе велосипедов, можно выбрать по вкусу, например https://github.com/MichalZalecki/mappet или вот привет из .туе https://github.com/loedeman/AutoMapper/wiki/Getting-started (%

Admin
ERROR: S client not available

Aleh
29.10.2016
09:06:18
Мы руками мапим, причём не просто, а в объекты нужных классов

Ave
29.10.2016
09:30:31
Мы руками мапим, причём не просто, а в объекты нужных классов
ок, а в каком месте мапите, как функции эти называются? :)

Aleh
29.10.2016
10:27:18
normalize/denormalize вроде

Или transform reverseTransform

Мапим после получения в хттп/ещё где

Ave
29.10.2016
10:40:40
thx!

Ҫѐҏӗѫӑ
30.10.2016
08:29:53
https://github.com/facebook/flow/blob/master/Changelog.md#v0320

первое в new features

https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVAXAngBwKZgCGYAvGAN4A+qAkAB4BcYAzhgE4CWAdgOYA0qMELBYA-Ey4BXALYAjPG1SUAvgG4gA

это ведь то, что тебе надо, @gusnkt ?

Viacheslav
30.10.2016
15:28:28
как сделать чтобы flow ругался на number + string, boolean + number, null + number, void + number?

Google
Vladimir
30.10.2016
15:29:18
Никак

Это сделано специально

Viacheslav
30.10.2016
15:29:40
почему?

マイク
30.10.2016
15:29:47
Жизнь боль

Vladimir
30.10.2016
15:30:03
Типа JS, тут так можно

Viacheslav
30.10.2016
15:30:30
особенно печатит number + void

Vladimir
30.10.2016
15:30:45
https://github.com/facebook/flow/issues/2452

Меня тоже

Скорее всего исправят в ближайшее время

Vasiliy
30.10.2016
15:32:22
а кто-нибудь использует https://github.com/flowtype/vim-flow ? у меня опять какие-то вимопроблемы – все зависает, когда сохраняешь файл, но его отпускает когда ctrl+c нажимаешь сейчас сам попробую покопать причем, когда let g:flow#enable = 0 и вызываешь FlowMake руками, то все ок

Viacheslav
30.10.2016
15:34:02
в ts, если что number + void кидает ошибку + есть tslint который ругается на все остальное

недавно, кстати, в tslint завезли возможность писать проверки на основе информации о типах это открывает новые возможности

Vladimir
30.10.2016
16:03:04
В общем, я лично согласен с тем, что это должно быть ошибкой, особенно number + ?number

Vasiliy
30.10.2016
16:43:43
там мессадж в коммите mroch: arguably, we should error if you do null + number or undefined + number... we can certainly have that debate here or later. but we definitely should not be treating the result as a string like we do now.

да, жопа какая-то, надо отписаться там

Alexander
30.10.2016
16:56:55
Ну с другой стороны, если в рантайме результатом является string, то чё бы его не выводить

В смысле, если конечный тип определяется верно

Vasiliy
30.10.2016
17:05:19
обычно это не то, чего хотели, т.е. если умышленно такое делать, то можно использовать suppress_comment (/ any?)

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