
Aleh
05.01.2017
19:32:24
да?

Vladimir
05.01.2017
19:32:48
да

Aleh
05.01.2017
19:33:01
значит я не разобрался(

Viacheslav
05.01.2017
20:54:35
а какие проблемы у ts с commonjs?

Google

Aleh
05.01.2017
22:07:13

Viacheslav
05.01.2017
22:07:56
ты про export =?

Aleh
05.01.2017
22:08:22
Если модуль был а-ля
module.exports = function (){}
Через фейковый namespace

Viacheslav
05.01.2017
22:09:40
ну да, но это не проблема ts, это проблема несовместимости commonjs и es2015 import/export

Aleh
05.01.2017
22:10:09

Vladimir
05.01.2017
22:10:36
все?

Aleh
05.01.2017
22:11:14

Vladimir
05.01.2017
22:11:24
понятно как бабель транспилирует импорт/экспорт

Aleh
05.01.2017
22:11:41
Да, а в ноде потом также будет?

Vladimir
05.01.2017
22:11:48
нет конечно
или да

Google

Aleh
05.01.2017
22:12:00
Ну вот, потом все сломается?

Vladimir
05.01.2017
22:12:01
кто знает?
что-то наверняка сломается
но это неизбежно

Aleh
05.01.2017
22:12:45
Просто с сентябрьских notes tc39 вроде про лайфцикл есть

Vladimir
05.01.2017
22:13:20
ну так речь не будущем
а о настоящем

Aleh
05.01.2017
22:14:05
Ну в настоящем взгляд ts и babel на вопрос commonjs+es2015 modules разный, а какой правильный непонятно

Anatoly
05.01.2017
22:14:57
Энамы не депрекейтед. Расходимся. @mkusher

Aleh
05.01.2017
22:15:00
Вот даже не про лайфцикл, а банально про импорт комонжс модудя
Может хоть в книжку басарата послать реквест ))
typescript play у всех сломался?
если два раза share нажать, то все будет не очень

Vasiliy
06.01.2017
12:00:50
после второго нажатия на эту кнопку пишет "Text buffer too large to share."
хм, читаю:
String literal types can be used in the same way to distinguish overloads:
function createElement(tagName: "img"): HTMLImageElement;
function createElement(tagName: "input"): HTMLInputElement;
не понял как это работает
http://www.typescriptlang.org/play/#src=function%20foo(x%3A%20'a')%3A%20number%20%7B%0D%0A%20%20%20%20return%201%3B%0D%0A%7D%0D%0A%0D%0Afunction%20foo(x%3A%20'b')%3A%20string%20%7B%0D%0A%20%20%20%20return%20'x'%3B%0D%0A%7D

Google

Vasiliy
06.01.2017
12:16:12
не так же?)

Aleh
06.01.2017
12:16:16
не

Vasiliy
06.01.2017
12:16:54
а, все, понял

Aleh
06.01.2017
12:17:38
function foo(x: 'a'): number;
function foo(x: 'b'): string;
function foo(x: 'a' | 'b'): number | string {
if (x === 'a') {
return 1;
} else {
return 'b';
}
}
аа, лол, они options добавили
но share сломали(

Vasiliy
07.01.2017
13:15:36
жаль нельзя таргет там менять в этих опциях
хм,
{ [key: Foo]: Bar },
type Foo = 'x' | 'y'
в чем тут сложность было дать возможность разработчикам использовать Foo в качестве ключа?

Дмитрий
08.01.2017
10:31:35
Нельзя так

Vasiliy
08.01.2017
10:31:41
да, вот интересно почему, в чем именно сложность

Aleh
08.01.2017
10:31:55
Странно

Дмитрий
08.01.2017
10:32:01
Не странно

Дмитрий
08.01.2017
10:32:14
С точки зрения ts это объяснимо, но мне объяснение не нравится

Aleh
08.01.2017
10:32:23
Почему?

Дмитрий
08.01.2017
10:33:02
Типа в объекте в js ключами могут быть только числа и строчки

Vasiliy
08.01.2017
10:33:16
https://flowtype.org/try/#0C4TwDgpgBAYg9nKBeKByAHqqAfNJUBQBokUAQgIYBOyUAdgK4C2ARhFQNzHjSUBetAN5QA2gGsIIAFywEAXRmUaAXy5A

Aleh
08.01.2017
10:33:16

Vasiliy
08.01.2017
10:33:26
это можно вывести, вроде как тривиально
http://www.typescriptlang.org/play/#src=type%20Foo%20%3D%20'x'%20%7C%20'y'%0D%0A%0D%0Atype%20Bar%20%3D%20number%3B%0D%0Atype%20Baz%20%3D%20%7B%20%5Bkey%3A%20Foo%5D%3A%20Bar%20%7D%3B

Aleh
08.01.2017
10:33:28
По-моему в тс так можно

Дмитрий
08.01.2017
10:33:32

Google

Дмитрий
08.01.2017
10:33:33
Костыль — type & string

Vladimir
08.01.2017
10:33:40

Дмитрий
08.01.2017
10:33:45

Vladimir
08.01.2017
10:33:48
Нет

Дмитрий
08.01.2017
10:33:48
Array

Vladimir
08.01.2017
10:33:59
Только строчки

Дмитрий
08.01.2017
10:34:14
И символы не забудь

Admin
ERROR: S client not available

Vladimir
08.01.2017
10:34:15
Числа конфертируются, по обычным правилам

Дмитрий
08.01.2017
10:34:20
Опять буквоедство

Vladimir
08.01.2017
10:34:27
Символы - да

Дмитрий
08.01.2017
10:34:38
Речь не об этом, всё равно

Vladimir
08.01.2017
10:34:54
Да, это в любом случае не объяснение

Aleh
08.01.2017
10:35:17
https://www.typescriptlang.org/play/index.html#src=type%20Key%20%3D%20'a'%20%7C%20'b'%3B%0D%0Atype%20T%20%3D%20%7B%5Bkey%20in%20Key%5D%3A%20string%20%7D%3B%0D%0A

Vasiliy
08.01.2017
10:35:34
аа, хм

Aleh
08.01.2017
10:35:41
короче да, только через mapped)

Vladimir
08.01.2017
10:35:42
Это не то же самое

Aleh
08.01.2017
10:35:45
да

Дмитрий
08.01.2017
10:36:09
У меня проблемы возникли в redux-act из-за этого ?

Aleh
08.01.2017
10:36:15

Google

Aleh
08.01.2017
10:36:45
разницы не будет же

Vasiliy
08.01.2017
10:37:08
чуть многословнее, но сойдет

Vladimir
08.01.2017
10:37:10
Возможно

Aleh
08.01.2017
10:37:13
есть подозрение

Дмитрий
08.01.2017
10:37:13
?
Ну типа там object literal с функцией в ключе

Vladimir
08.01.2017
10:37:17
{[key in Key]?: string

Aleh
08.01.2017
10:37:19
что [key: string]: Somth

Vladimir
08.01.2017
10:37:23
Вот так только

Aleh
08.01.2017
10:37:28
сломано также как и enum

Дмитрий
08.01.2017
10:37:28
Если mapped не помогает, то type & string — точно работает

Aleh
08.01.2017
10:37:33
и чинить уже никто не будет

Дмитрий
08.01.2017
10:38:03
Замечательно просто))

Vladimir
08.01.2017
10:38:10

Aleh
08.01.2017
10:38:20
потому что ничего не гарантирует

Дмитрий
08.01.2017
10:38:21

Aleh
08.01.2017
10:38:24
можно просто string писать

Vladimir
08.01.2017
10:38:35
ну, например Flow использовать