@typescript_ru

Страница 267 из 669
Max
04.07.2017
16:10:13
но вообще если будет надо где-то еще дергать то перепишу на recompose

Dreamerinnoise
04.07.2017
17:13:31
hoc на hoce hocom погоняет

Артемий
04.07.2017
19:03:49
mobx-state-tree еще збс типы выводит для всех моделей

Artur
04.07.2017
19:35:29
mobx-state-tree еще збс типы выводит для всех моделей
Хороший повод поробовать его наконец то

Google
Артемий
04.07.2017
19:45:07
для моделей/сторов/бизнес логики идеален. обмазать rxjs для событийных сайд эффектов+обычный mobx для мелких локальных состояний

Defiancefew
04.07.2017
19:47:34
привет, есть абстракция типа export abstract class Slider<P extends ISliderProps, S extends ISliderState> extends Component<P,S> предположим в ISliderProps есть поле min: number, но тс его не определяет и пишет в операциях, что min должен быть числом. как это исправить?

Aleh
04.07.2017
19:48:32
что значит не определяет?

Defiancefew
04.07.2017
19:49:42
ну предположим я создаю метод в классе где оперирую this.props.min и тс выводит ошибку The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type

фиксится добавлением плюса перед переменной например 5 + +min

но почему такое поведение не пойму

Даниил
05.07.2017
00:02:41
блин

в TS нет nominal subtyping для интерфейсов в Flow нельзя использовать computed properties для интерфейсов жизнь - боль ?

ну типа чтоб как в fantasy land interface Node { ['castle-core/compile'](context: Context): string; } в идеале конечно вообще Symbol в computed property запихнуть, но такое и TS не умеет (пока?)

Дмитрий
05.07.2017
01:45:43
ну типа чтоб как в fantasy land interface Node { ['castle-core/compile'](context: Context): string; } в идеале конечно вообще Symbol в computed property запихнуть, но такое и TS не умеет (пока?)
Поддержка FL обычно подразумевает, что кроме методов с префиксом будут ещё и обычные, в данном случае просто compile

Но я пробовал это всё корректно затипизировать — жесть полнейшая. ts пока точно не готов типизировать такое в полной мере %)

Только с допущениями

andretshurotshka?❄️кде
05.07.2017
06:15:15
?

Google
andretshurotshka?❄️кде
05.07.2017
06:15:43
>ts пока точно не готов типизировать %)

Gleb
05.07.2017
07:17:38
Привет, могу ли безболезненно начать писать новые фичи на TS в уже существующем и довльно большом JS проекте?

andretshurotshka?❄️кде
05.07.2017
07:24:02
Нет

там все равно начнется дичь

Gleb
05.07.2017
07:29:55
И правильно ли я понимаю мне нужно все JS в TS переименовать?

С flow история по проще?

andretshurotshka?❄️кде
05.07.2017
07:30:15
Не

В тс есть allowJs

Max
05.07.2017
07:30:20
можешь на .js повесить обработчик

andretshurotshka?❄️кде
05.07.2017
07:30:21
Но он плохой

Gleb
05.07.2017
07:31:10
Ну у меня главный файл то JS , получается что TS будет подключаться в js

а не наоборот

Max
05.07.2017
07:31:55
и что

у меня index.js

Gleb
05.07.2017
07:36:47
попробую сейчас, спасибо)

Даниил
05.07.2017
08:52:41
Поддержка FL обычно подразумевает, что кроме методов с префиксом будут ещё и обычные, в данном случае просто compile
разве? в доках "обычные" имена методов же использованы просто для краткости записания в TS так-то можно использовать простые computed properties со строками, так что там это вроде как не проблема, просто мне вот Flow хотелось попробовать, а Flow походу вообще не может в интерфейсах использовать названия методов, не являющиеся валидными идентификаторами печаль(

Gleb
05.07.2017
09:42:23
Такс вроде все гуд, немного rx на тему промисов в ts дошаманил, осталось только jest починить

как кстати jest на js совместно с ts настроить

Aleh
05.07.2017
10:05:19
Привет, могу ли безболезненно начать писать новые фичи на TS в уже существующем и довльно большом JS проекте?
Можешь, при этом надо будет типизировать модуди, которыми новые фичи захотят пользоваться

Google
Aleh
05.07.2017
10:05:24
Ну либо any

Andrew
05.07.2017
10:10:38
И норм
Да я только за

Gleb
05.07.2017
10:14:03
А я хочу redux-observable для начала, в том суть что только сам TS пока импортится будет а не в него) Скиньте пожалуйтса как jest настроить только на совметсное использование ts и js

andretshurotshka?❄️кде
05.07.2017
11:02:37
https://github.com/lozinsky/typescript-babel-jest

Max
05.07.2017
13:18:30
парни

как быть в такой ситуаци

export interface Document { id: PK documentSetId: PK name: string template?: AcroformTemplate triggerRule: any index: number | null }

вот у меня template есть в 99.99% случаев

и оооочень редко его нет

Aleh
05.07.2017
13:19:10
сделай два разных типа

Max
05.07.2017
13:19:15
писать document.template!.url заебывает

Aleh
05.07.2017
13:19:16
в котором есть и в котором нет

Max
05.07.2017
13:19:35
хм

Летучая
05.07.2017
13:19:48
export interface TemplatedDocument extends Document { // stuff }

Max
05.07.2017
13:20:16
да скорее NewDocument в котором нет темплейта еще

Aleh
05.07.2017
13:20:18
export type Document = DocumentWithTemplate | DocumentWithoutTemplate и раздели функции, которые работают только с template и с любым

Google
Max
05.07.2017
13:20:45
что-то поехало все

Летучая
05.07.2017
13:20:53
Кстати, а так законно писать:

index: number | null ?

Aleh
05.07.2017
13:21:03
да

Летучая
05.07.2017
13:21:37
В каких случаях это может пригодиться (вместо index?: number)?

Max
05.07.2017
13:21:53
разница в том что nul!==undefined

Aleh
05.07.2017
13:21:53
null и undefined разные ж штуки)

Max
05.07.2017
13:22:06
и если я проебу где-то индекс то оно ошибку покажет

Admin
ERROR: S client not available

Max
05.07.2017
13:22:11
и мне надо явно указать что он null

export interface Dict<T={}> { [propName: string]: T } export type PK = string | number;

кстати у кого что есть еще часто используемого?

Летучая
05.07.2017
13:23:29
Спасибо!

и если я проебу где-то индекс то оно ошибку покажет
А какого рода ошибки могут возникнуть, если там будет undefined?

Max
05.07.2017
13:23:44
эээ

ну undefined это значит я забыл указать индекс явно

Летучая
05.07.2017
13:24:27
Но ведь можно чекать на undefined вместо чека на нулл?

Max
05.07.2017
13:24:37
ты не понимаешь

“забыл” это ошибка программиста

так же как “подставил string вместо number"

Google
Max
05.07.2017
13:25:09
чекать можно везде

но нахера тогда TS? :)

c undefined у тебя нет контракта на то что index должен быть указан

если тебя это устраивает то можешь index?: number юзать

но в данном случае я хочу чтобы индекс был всегда явно указан

Летучая
05.07.2017
13:26:24
я просто из шарпа, сложно осознать разницу между "ничего" и "ничего не определено")

Max
05.07.2017
13:26:48
да без проблем )

andretshurotshka?❄️кде
06.07.2017
05:31:00
>deleted account

Gleb
06.07.2017
07:54:07
Привет, вчера спрашивал про то как мигрировать с js на ts, дело дошло до @types и кажется ему куда то нужно указать на их, иба у меня в коносли Module not found: Error: Can't resolve '@types/react-dom' Подскажите пожалуйста как зарезолвить

Andrew
06.07.2017
07:56:17
Жесть, @types это какой-то экстремистский канал в телеграме на арабском

Gleb
06.07.2017
07:56:56
Стоп так разве они отдельно не ставятся?

Aleh
06.07.2017
07:57:02
Импортировать их не надо

Gleb
06.07.2017
07:57:19
А так я их отдельно и не импортировал

Aleh
06.07.2017
07:57:32
Версия ts какая?

Gleb
06.07.2017
07:58:09
Взял 2.3.4, т.к не хотел возиться с Rx, там на latest какие то ошибки сразу

Aleh
06.07.2017
07:58:39
Хз, попробуй 2.2

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