
Таир
20.01.2017
22:14:30
и наоборот

Vladimir
20.01.2017
22:15:06
Когда показываешь пример неправильного кода, тебе отвечают: не надо так писать

Alex
20.01.2017
22:15:06
vim тоже не всем дается)

Vladimir
20.01.2017
22:15:39
Но на то и тайпчекер, чтобы он не давал так писать, если не надо так писать

Google

Таир
20.01.2017
22:16:31

Alex
20.01.2017
22:16:37
нет, тут просто нерправильно использование
new Promise(..

Vladimir
20.01.2017
22:16:50
Для начала - оно правильное

Alex
20.01.2017
22:16:52
это Promise<any>

Vladimir
20.01.2017
22:16:54
Нет
А если оно неправильное - то это должна быть ошибка

Alex
20.01.2017
22:17:51
неправильные ожидания с точки зрения пользователя
система работает как надо

Vladimir
20.01.2017
22:18:11
Нет, она не работает как надо

Nikita
20.01.2017
22:18:13
лол, нет)

Vasiliy
20.01.2017
22:18:18
ну вывод типов у тс слабее
это известно же, я хз как он внутри сделан, правда

Alex
20.01.2017
22:18:23
как задумывылась

Google

Nikita
20.01.2017
22:18:36
он не слабее. он врет. и это не вывод типов

Aleh
20.01.2017
22:18:46
так а это когда фиксанут? https://flowtype.org/try/#0PQKhAIAEDMBsHsDu4TAFBoC4E8AOBTcAQQGNMBLeAOwEZwBecAbzXHBwIC5wAiUi6jR4BuVuGjl8sACY1uVAK4BbAEb4ATqIC+GDoX6UqAJgbMxe7nzKGjIsRKnSj3AM6Z15KgHNtuvPutqUwNBcAAfYkDjUT1wAGVMAENMQkZFVQ1RNGgFKijwdXxpBRINAAo3ZPxuBKrTAAYAGnBEqO4QqgBKGqSUszYXRHJMEgALMtaBKgA6PU7+tnASRJdCKymhTjFFgvxMBXUqFqjphxkaUR3l1d4iKmwACQU9xIeNfB4tnbZC-cPjqbTRL3J4vN6FS7gHQ-PYHI6VFLaIA

Vladimir
20.01.2017
22:18:48
Эдак можно на любое говно сказать: так задумывалось

Vasiliy
20.01.2017
22:19:01
в смысле врет? ну это баг да
тут тоже есть https://github.com/facebook/flow/issues?q=is%3Aopen+is%3Aissue+label%3Abug

Vladimir
20.01.2017
22:19:18

Nikita
20.01.2017
22:19:23
https://flowtype.org/try/#0PQKhAIAEDMBsHsDu4TAFBoC4E8AOBTcAQQGNMBLeAOwEZwBecAbzXHBwIC5wAiUi6jR4BuVuGjl8sACY1uVAK4BbAEb4ATqIC+GDoX6UqAJgbMxe7nzKGjIsRKnSj3AM6Z15KgHNtuvPutqUwNBcAAfYkDjUT1wAGVMAENMQkZFVQ1RNGgFKijwdXxpBRINAAo3ZPxuBKrTAAYAGnBEqO4QqgBKGqSUszYXRHJMEgALMtaBKgA6PU7+tnASRJdCKymhTjFFgvxMBXUqFqjphxkaUR3l1d4iKmwACQU9xIeNfB4tnbZC-cPjqbTRL3J4vN6FS6LaT4aCJBSwTBfb4TE4WcCKWCwTqQnQ-PYHI6VFLaIA
уже

Aleh
20.01.2017
22:19:50
уже
а, да, знаменитое не надо так делать

Vladimir
20.01.2017
22:19:57
лол, нет
это не ошибка

Nikita
20.01.2017
22:20:05
угу)
ты можешь хотеть так написать, ошибки действительно нет

Vladimir
20.01.2017
22:20:32
это отдельная категория проблем, которыми flow не знанимается, пока что

Таир
20.01.2017
22:20:33
да бросьте господа )))

Nikita
20.01.2017
22:21:10
другой вопрос, почему в js нет пропозала на pattern-matching с человеческим синтаксисом, почему мы до сих пор используем switch-case

Vladimir
20.01.2017
22:21:14
Абсолютно корректное и безопасное поведение

Nikita
20.01.2017
22:21:51

Таир
20.01.2017
22:21:58

Aleh
20.01.2017
22:22:06

Nikita
20.01.2017
22:22:25

Google

Vladimir
20.01.2017
22:22:31
Сюда попадает Action1 и Action2
Если нет - то у тебя где то кривые типы

Nikita
20.01.2017
22:23:03
@vslinko ты это не объяснишь flow в случае с redux, к сожалению

Aleh
20.01.2017
22:23:16

Nikita
20.01.2017
22:23:36

Aleh
20.01.2017
22:23:42
ну все ясно
флоу не виноват, я понял

Vladimir
20.01.2017
22:23:53

Nikita
20.01.2017
22:23:56
по сути все правильно, если ты вызовешь эту функцию руками, flow их тебе отобьет, если не то передашь

Vladimir
20.01.2017
22:23:57
ты их сам написал
более того, если тебе сюда может придти что угодно - то тайпчекер тебе вообще никак не поможет

Alex
20.01.2017
22:25:10
TS подразумевает более явное использование типов, так задумано

Vladimir
20.01.2017
22:25:16
и свитч тут не при чем

Nikita
20.01.2017
22:25:46

Alex
20.01.2017
22:25:49
Promise<string> это string Promise( - это все равно что Promise<any> - вот и все что нужно понимать

Vladimir
20.01.2017
22:26:05
Еще раз - это не так

Alex
20.01.2017
22:26:26

Nikita
20.01.2017
22:26:32
https://github.com/Microsoft/TypeScript/blob/master/lib/lib.es2015.promise.d.ts#L24

Google

Nikita
20.01.2017
22:26:39
interface Promise<T> {

Vladimir
20.01.2017
22:26:45
это не Promise<any>, а Promise<{}>
для начала
И это так только с промисом, а не с любыми дженериками

Alex
20.01.2017
22:27:13
кто это сказал?
про {}

Aleh
20.01.2017
22:27:25
тайпскрипт

Vladimir
20.01.2017
22:27:28
Я тебе говорю

Alex
20.01.2017
22:27:28
это any как раз

Aleh
20.01.2017
22:27:31
нет

Admin
ERROR: S client not available

Aleh
20.01.2017
22:27:34
это {}

Vladimir
20.01.2017
22:27:37
Я же проверяю все перед тем как говорить

Nikita
20.01.2017
22:27:42
я правильно понимаю, что {} - это mixed?

Vladimir
20.01.2017
22:27:46
вроде того

Aleh
20.01.2017
22:27:47
ну точнее с поломанным вариативностью это по сути any

Vladimir
20.01.2017
22:28:04
если вызвать then то там это будет не any

Vasiliy
20.01.2017
22:30:08
это серьезно так важно?

Google

Alex
20.01.2017
22:30:52
ок, не any, но сути это не меняет в контексте вопросе
надо задать тип явно

Vladimir
20.01.2017
22:31:04
не, не надо

Aleh
20.01.2017
22:31:09

Vladimir
20.01.2017
22:31:10
надо только у промисов

Alex
20.01.2017
22:31:20
не только

Vladimir
20.01.2017
22:31:27
ну или так, надо не всегда

Alex
20.01.2017
22:31:37
Observable так же

Vladimir
20.01.2017
22:31:59
естественно, по той же причине
https://www.typescriptlang.org/play/index.html#src=const%20s%20%3D%20new%20Set(%5B1%2C%202%2C%203%5D)%3B%0A%0As.add('foo')
вот тут не надо

Aleh
20.01.2017
22:32:54
ну потому что надо не контейнер со значением передавать
а само значение, тс это может)

Alex
20.01.2017
22:33:50
в общем, это не делает TS непригодным к использованию, в целом он удобен
а flow недостаточно вкладывается в тулзы и маркетинг
соответственный и выхлоп

Vladimir
20.01.2017
22:34:38
> @prinzc
маркетинг
ну все, пиздец теперь

Nikita
20.01.2017
22:34:40
они просто норм продукт пилят, а так пофиг))

Vladimir
20.01.2017
22:34:46
забыли билборды сделать

Alex
20.01.2017
22:35:12
а шо делать? только реклама на орт спасет
теперь

Таир
20.01.2017
22:35:34
ангуляр же не просто так выбрал ТС (моя порция ? в вентилятор, раз уж пошла такая пьянка ))))

Vladimir
20.01.2017
22:36:01
Ангуляр по моему вообще все что делает - зря