@typescript_ru

Страница 567 из 669
andretshurotshka?❄️кде
02.04.2018
14:57:32
или может //@ts-check

Le
02.04.2018
14:59:43
с as красивше как по мне

Дмитрий
02.04.2018
15:02:58
если ток так
Ну это опять каст

Google
andretshurotshka?❄️кде
02.04.2018
15:03:08
кароч нужны вариадик кайнды

https://github.com/Microsoft/TypeScript/issues/5453#issuecomment-376236298

from
02.04.2018
15:04:06
keyof typeof obj;
спасибо! Я ровно так и хотел сделать, но порядок ключевых слов перепутал)

andretshurotshka?❄️кде
02.04.2018
15:04:39


я чот не пойму

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

почему в ретурне тогда не может его вывести

Le
02.04.2018
15:05:48
лайфхак export const tuple = <T extends [void] | {}>(x: T) => x

tuple([1, 2, 'three'])

Дмитрий
02.04.2018
15:06:50
andretshurotshka?❄️кде
02.04.2018
15:08:17
это откуда



Google
Le
02.04.2018
15:08:40
это откуда
в иссуях копался на гитхабе

andretshurotshka?❄️кде
02.04.2018
15:08:47
от tycho01?

Le
02.04.2018
15:09:05
от tycho01?
да уж не помню

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

Aleh
02.04.2018
20:42:00
[void] мдаа)

Alex
02.04.2018
21:29:35
"target": "es2015", если ен ошибаюсь

да, проверил, ниже es2015 будет ошибка при for of по generator

Le
03.04.2018
01:17:14


n06rn
03.04.2018
08:50:42
Привет. Использую решение основанное на jss и постоянно тайпскрипт выдает ошибку: Type '{ position: string; }' is not assignable to type 'CSSProperties'. Types of property 'position' are incompatible. Type 'string' is not assignable to type '"relative" | "initial" | "inherit" | "unset" | "static" | "absolute" | "fixed" | "sticky" | undef...'.

то есть в position должно быть одно из enum значений. А я туда строку присваиваю. Пусть и соответствующую одному из значений

n06rn
03.04.2018
08:53:09
можешь показать пример?

Artur
03.04.2018
08:54:37
можешь показать пример?
const style = { position: 'fixed' as 'fixed' }

тогда style.position будет иметь тип "fixed", а не string

n06rn
03.04.2018
08:55:30
const style = { position: 'fixed' as 'fixed' }
да, заработало) Спасибо

хм, только не похоже ли это на костыль?

Artur
03.04.2018
08:56:08
ну такое, как вариант можно так: const style: CSSProperties = { position: "fixed" }

n06rn
03.04.2018
08:58:58
ну такое, как вариант можно так: const style: CSSProperties = { position: "fixed" }
попробовал так, но теперь стреляет в другом месте: Type '{ flexGrow: number; }' is not assignable to type 'string | number | undefined'. Type '{ flexGrow: number; }' is not assignable to type 'number'.

что выглядит ну очень странно

Google
Artur
03.04.2018
09:01:02
Да нет, почему странно?

это кстати сигнал что у тебя объект не совсем тот который надо

n06rn
03.04.2018
09:03:26
спасибо за помощь!

Max
03.04.2018
11:16:33
Я правильно понимаю, что в таком случает typeof {type: "SET_AGE", payload: age} флоу всегда выводит "SET_AGE" как литеральный тип, а ТС как строковый?

можно ли заставить ТС выводить тип как литеральный?

https://hackernoon.com/redux-flow-type-getting-the-maximum-benefit-from-the-fewest-key-strokes-5c006c54ec87 вот в этой статье это хорошо показано, выходит что флоу лучше приспособлен для редукса?

Олег
03.04.2018
11:19:32
может стоит перестать использовать строки

Denis
03.04.2018
11:25:44
Флоу лучше вообще к жс приспособлен

У него система типов гораздо мощнее

Max
03.04.2018
11:29:28
как выяснилось, TS выведет литеральный тип если переменная объявлена через const const baseUrl = "https://example.com/"; // Inferred type: "https://example.com/" Видимо во флоу такая же история, только он еще его будет выводить как литерал даже при использовании внутри объекта, а ТС нет

это уже скорее баг ТС

Friedrich
03.04.2018
11:30:08
Нет ли планов это пофиксить? Мне это надоело уже. 'foo' as 'foo' — содомия какая-то.

Max
03.04.2018
11:30:20
согласен

Дмитрий
03.04.2018
11:42:29
А вообще плюсую

Без разницы кто выводит строки в редаксе лучше если оптимальнее просто не завязывать редакс на них

Нужно понимать, что первое, что интересует в экшне это payload

Max
03.04.2018
11:46:13
тип которого должен выводиться от текущей ветки switch(type)

Дмитрий
03.04.2018
11:46:25
Ввиду чего тип можно сформулировать так type Action<P> = { type: string, payload: P, }

Google
Дмитрий
03.04.2018
11:47:27
Следующий логичный шаг - отказ от switch, да

тип которого должен выводиться от текущей ветки switch(type)
Кому должен всем простил) Есть альтернативные способы вывода payload

Artur
03.04.2018
11:50:06
это уже скорее баг ТС
не совсем баг, дань обратной совместимости

Дмитрий
03.04.2018
11:50:36
"Ето не баг ето фича"

Artur
03.04.2018
11:50:48
Max
03.04.2018
11:59:11
А кто нибудь контрибьютил в ТС? Что нибудь существенное особенно

Тоесть интересно реально ли пофиксить вышеозвученое поведение?

Игорь
03.04.2018
12:36:52
как оно живется с тайпскриптом? А то вот сейчас новую часть проекта надо напилить.. я так прочитал хауту по тайпскрипту, немножко поднастроил енвайронмент, вроде все клево

и наконец-то статичная типизация.. на ноде… этого дико не хватало

правда хз как настроить отмену компиляции если обнаружены ошибки, а то тайпскрипт пишет ошибки, но js файлы все равно постит

Vladislav
03.04.2018
12:51:52
круто живется на фулстеке особенно, когда можно юзать общие типы между фронтом и клиентом

Max
03.04.2018
12:54:41
бля, я все хочу попробовать )

но чот открываю на тсе орм, читаю, закрываю

Дмитрий
03.04.2018
12:55:08
Общие типы между фронтом и клиентом можно юзать в любом случае

У нас ваще скала на бэке

Типы общие

Max
03.04.2018
12:55:26
хм

можно попробовать из джанги вывести

Google
Игорь
03.04.2018
12:56:18
блин.. не дочитал доку CLIя

да я вообще.. попробовал щас тайпскрипт

как глоток свежего воздуха

Дмитрий
03.04.2018
12:56:39
можно попробовать из джанги вывести
Да, типа того. Но у нас проще чутка, у нас изначально всё сводится к более-менее общему формату в json, а оттуда каждый (каждая платформа) сам себе уже адаптирует

Игорь
03.04.2018
12:56:44
ибо эти… if (‘blabla’ in data) if (‘blabla’ in data) if (‘blabla’ in data) if (‘blabla’ in data) задолбали уже до глубины души...

Morsik
03.04.2018
12:56:55
как глоток свежего воздуха
не пробуй пока флоу, задохнешься

Игорь
03.04.2018
12:57:01
я флоу пробовал

не понравилось

Игорь
03.04.2018
12:57:31
потому что не правильные параметры могут привести к неопределенному поведению софта

Дмитрий
03.04.2018
12:57:32
Если у тебя говнокод в проекте то от тс лучше не станет)

Игорь
03.04.2018
12:57:34
плюс тесты

а так другой тип не подсунешь, ts не пропустит

Artur
03.04.2018
12:58:30
Ну значит надо писать по нормальному
тс и помогает писать понормальному, особенно в команде

Игорь
03.04.2018
12:58:39
вот как раз TS очень помогает когда страшный гавнокод

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

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