@typescript_ru

Страница 145 из 669
Aleh
04.01.2017
13:53:05
ну в дефинишинах в идеале export default function

но зависит

можете еще добавить allowSyntheticDefaultImports

а у вас только ts компилит или ts+babel?

Google
Yuri
04.01.2017
13:57:52
ошибка эта от ts

Aleh
04.01.2017
13:59:30
от того, что вы используете зависит можете ли пользоваться allowSyntheticDefaultImports или нет

а что он пишет-то на * as Name?

Yuri
04.01.2017
14:10:53
Module '".../node_modules/@types/is-promise/index"' resolves to a non-module entity and cannot be imported using this construct.

в данном случае нет бабаеля

Aleh
04.01.2017
14:14:29
хохо, а версия ts какая?

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

все понятно

ну короче тайпинги битые)

короче фикс в тайпингах простой надо еще сделать namespace с именем isPromise

вот почему в тайпингах такой странный синтаксис юзают)

Yuri
04.01.2017
14:34:38
да ты прав

.
04.01.2017
19:39:31
у flow с vscode норм интеграция?

Google
Ҫѐҏӗѫӑ
04.01.2017
19:41:19
хуже, чем с атомом, но в целом ок

Aleh
05.01.2017
09:31:00
https://github.com/codemix/flow-runtime

вот кусок работы с внешним миром может и имеет смысл так перегнать, но все равно чет как-то

продолжение tcomb и babel-plugin-typecheck

What about TypeScript? Despite the name, it's absolutely possible to use flow-runtime with TypeScript. Unfortunately it's not yet possible to leverage the TypeScript annotations themselves, but all of the library methods should match the relevent TypeScript semantics as Flow and TypeScript are both "just JavaScript".

Roman
05.01.2017
10:08:54
так babel-plugin-typecheck это от тех же чуваков

ты про то, что из тайпскрипта не сделать рантайм валидацию?

кто-ть кстати юзал flow-runtime? оно юзабельно? как-то звезд маловато. Хотя там дженерики поддерживаются в отличии от tcomb

Aleh
05.01.2017
10:11:14
я такого не говорил, тут ж вроде наоборот написано, что может частично осилить

ну хотя видимо только на уровне совпадений с синтаксисом flow

Roman
05.01.2017
10:14:01
да, в доке заявлено только для флоу фул сапорт

Aleh
05.01.2017
10:15:44
это где?

Roman
05.01.2017
10:16:23
`Flow Runtime Build Status A runtime type system for JavaScript with full Flow compatibility.`

Aleh
05.01.2017
10:17:12
https://codemix.github.io/flow-runtime/#/

я про ts оттуда скопировал

Roman
05.01.2017
10:18:23
короче ненадежно

до первой несовместимости

Aleh
05.01.2017
10:18:41
я думаю, что это достаточно бесполезно вообще

вот прям вообще в принципе)

Roman
05.01.2017
10:18:57
рантайм?

Google
Aleh
05.01.2017
10:19:08
да

то, что можно делать в compile time, лучше делать в compile time

Roman
05.01.2017
10:20:05
ну по всему коду возможно да. но я просто наприме щас пишу либу, в которой будет возможно описывать HTTP API в типах и тут валидация (возможно только в роутах) будет очень кстати

Roman
05.01.2017
10:20:27
потому что код то безопасный, но что приходит с клиента всегда надо валидировать

Aleh
05.01.2017
10:22:09
ну ты там руками должен прогонять валидатором, аля json-schema, тогда это стоило бы позиционировать как его аналог, требующий особого синтаксиса в js и этапа компиляции :)

но звучит как-то не очень, да?)

Roman
05.01.2017
10:23:33
особого синтаксиса для валидации? почему? tcomb и flow-runtime работают с обычными типами

json schema перегоняется один в один в типы

обратно уже нет

Aleh
05.01.2017
10:25:25
https://github.com/codemix/flow-runtime/tree/master/packages/babel-plugin-flow-runtime ну я про этот этап

а flow можно прогнать чисто как чекер?

Roman
05.01.2017
10:26:55
ну так это ж бабель плагин

"plugins": [ "syntax-flow", "tcomb", "transform-flow-strip-types" ]

вот в такой последовательности и ничего не надо делать

а flow можно прогнать чисто как чекер?
ну тут уже на вкус и цвет

Aleh
05.01.2017
10:27:59
просто этой штуке нужен синтаксис нетронутый

Roman
05.01.2017
10:28:02
мне например достаточно поддержки в IDE

Aleh
05.01.2017
10:28:03
но сама она чеки не прогонит

ну по-хорошему это должно быть в билде

Google
Aleh
05.01.2017
10:28:40
как один из этапов типа тестов

Roman
05.01.2017
10:28:47
ну или да, просто пропускать все через вебпак например и бабель и чекер

Aleh
05.01.2017
11:48:35
A second more important difference is that type aliases cannot be extended or implemented from (nor can they extend/implement other types). Because an ideal property of software is being open to extension, you should always use an interface over a type alias if possible. вот че это за фигня в документации к ts?

Dreamerinnoise
05.01.2017
11:50:52
я тоже это читал, да)

они там на солид ссылку дают ещё

Aleh
05.01.2017
11:51:50
интерпретируют этот бедный солид как могут

бррр https://github.com/Microsoft/TypeScript/wiki/FAQ#can-i-make-a-type-alias-nominal

Admin
ERROR: S client not available

Aleh
05.01.2017
12:16:14
надо понакидывать там что ли https://github.com/Microsoft/TypeScript-Handbook/issues/476

у них каникулы походу(

Anatoly
05.01.2017
12:54:39
А что есть замена энамам?

Aleh
05.01.2017
12:54:46
literal types

никаких вам стремных runtime штук, никаких проблем с присваиванием им чего угодно

Anatoly
05.01.2017
13:00:58
Только строковые литералы - не айс

Aleh
05.01.2017
13:01:07
почему?

Anatoly
05.01.2017
13:01:08
Хоть и проверяются

Aleh
05.01.2017
13:01:14
можете числа юзать

так чем строковые литералы хуже енамов?

проверяются статически, не эмитят ничего лишнего в райнтайм - это плюсы, а минусы?

Anatoly
05.01.2017
13:05:43
Ну вот я глянул сейчас, на самом деле плюсов больше, ты прав. Но мне не нравятся строки, и их объявление через |. А так в целом, да.

Google
Anatoly
05.01.2017
13:10:29
Да, не привычно, от строк просто веет поздним связыванием, которое раньше до рантайма нигде не проверялось. Тут все ок )

Ҫѐҏӗѫӑ
05.01.2017
15:07:58
енамы еще в херово-оптимизируемый код транспилились

Aleh
05.01.2017
15:08:31
и транспилятся

поставь падабайку https://github.com/Microsoft/TypeScript-Handbook/issues/476

Ҫѐҏӗѫӑ
05.01.2017
15:09:39
готово

Aleh
05.01.2017
15:10:59
ну видимо они просто в хендбук редко заглядывают, там вначале недели еще чето закидывали

Ҫѐҏӗѫӑ
05.01.2017
15:14:22
@mkusher а ты где-то еще кроме Вовиной репки видел, чтобы они упоминали, что енумы легаси?

Aleh
05.01.2017
15:14:34
нет, вот хочу чтобы официально чето и было)

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

возможно bassarat чето в своей книжке про это писал

нет, вроде нету ничего

.
05.01.2017
18:52:58
зачем люди используют такую схему TS -> ES6 -> Babel -> ES5, если можно сразу в ES5?

Aleh
05.01.2017
19:29:29
у ts есть проблемы

1. модули(ваще никакая совместимость с commonjs) 2. до недавнего времени async-await 3. генераторы 4. for of через Symbol.iterator

Ҫѐҏӗѫӑ
05.01.2017
19:30:41
у бабеля тоже проблема с модулями если что

Aleh
05.01.2017
19:30:47
ну вообще да

с модулями вообще ничего непонятно(

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