
andretshurotshka?❄️кде
02.04.2018
14:57:32
или может //@ts-check

Максим
02.04.2018
14:58:58

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
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 значений. А я туда строку присваиваю. Пусть и соответствующую одному из значений

Artur
03.04.2018
08:52:46

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

Artur
03.04.2018
08:54:37
тогда style.position будет иметь тип "fixed", а не string

n06rn
03.04.2018
08:55:30
хм, только не похоже ли это на костыль?

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

n06rn
03.04.2018
08:58:58
что выглядит ну очень странно

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, да

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
хм
можно попробовать из джанги вывести

Artur
03.04.2018
12:55:35

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:09

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

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

Игорь
03.04.2018
12:57:34
плюс тесты
а так другой тип не подсунешь, ts не пропустит

Дмитрий
03.04.2018
12:57:55

Artur
03.04.2018
12:58:30

Игорь
03.04.2018
12:58:39
вот как раз TS очень помогает когда страшный гавнокод
когда тебе в метод где ты ждешь число.. не прилетит булеан или объект