
Nikita
25.10.2016
15:49:21
const test = async () => 123;

Vladimir
25.10.2016
15:49:28
пример, во что компилится

Nikita
25.10.2016
15:49:59
https://gist.github.com/nkt/fa34c28832800e48b2a008d59363239a

Alexander
25.10.2016
15:50:52
сорсмапы ftw

Google

Vladimir
25.10.2016
15:51:02
в бабеле примерно также

Dreamerinnoise
25.10.2016
15:51:10
угу

Nikita
25.10.2016
15:51:46
index.ts(8,3): error TS1308: 'await' expression is only allowed within an async function.
лол
ЛОЛ
function delay(time): Promise<void> {
return new Promise((resolve) => {
setTimeout(resolve, time);
})
}
function test() {
await delay(500);
console.log('done');
await delay(100);
}

Vladimir
25.10.2016
15:52:16
?

Nikita
25.10.2016
15:52:21
в babel есть async-to-generator. В хроме и ноде спокойно с ним можно было жить

Vladimir
25.10.2016
15:52:35
Так в ТС также вроде?

Nikita
25.10.2016
15:52:53
TS нужно не функция возвращающая промис. нужна именно async функция
то есть все стандартное API идет с варнингами, минимум)

Vladimir
25.10.2016
15:53:34
нет

Nikita
25.10.2016
15:53:34
хотя

Google

Vladimir
25.10.2016
15:53:43
ты забыл async у test

Nikita
25.10.2016
15:53:55
ага, это я тупой))
https://gist.github.com/nkt/fa34c28832800e48b2a008d59363239a
ну это нереально дебажить почти)

Vladimir
25.10.2016
15:56:14
Да вроде не так плохо

Nikita
25.10.2016
15:56:26
http://babeljs.io/docs/plugins/transform-async-to-generator/

Vladimir
25.10.2016
15:56:29
__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, delay(500)];
case 1:
_a.sent();
console.log('done');
return [4 /*yield*/, delay(100)];
case 2:
_a.sent();
return [2 /*return*/];
}
});

Nikita
25.10.2016
15:56:30
а вот это можно

Vladimir
25.10.2016
15:56:41
Так в том и суть, проблема в генераторах

Nikita
25.10.2016
15:56:57
пояснишь проблему?

Vladimir
25.10.2016
15:57:16
Проблема в том чтобы скомпилировать генераторы в ES5

Nikita
25.10.2016
15:57:28
мне не надо es5
это должно работать иначе

Vladimir
25.10.2016
15:57:55
Так это и так в ТС работает при компиляции в ES6 вроде

Nikita
25.10.2016
15:58:01
async/await -> generators + helper -> switch-case + helper
ну я может настраивать не умею.
{
"target": "es2015",
"lib": ["es5", "es2015.promise"]
}
что в tsconfig еще добавить, чтобы в генераторы компилило

Dreamerinnoise
25.10.2016
16:00:26
es2015.generator ?

Nikita
25.10.2016
16:06:29
неа

Google

Nikita
25.10.2016
16:06:37
есть ощущение, что они target поломали
оно вообще не видит, что я его указываю

Oleg
25.10.2016
16:23:19
target es5
Дебажить надо с сорсмепами

Nikita
25.10.2016
16:45:46
@vkurchatkin а реально в пропсах компонентов дженерики писать?
если я список делаю, например?

Vladimir
25.10.2016
16:46:21
почему нет

Nikita
25.10.2016
16:52:11
https://flowtype.org/try/#0JYWwDg9gTgLgBAJQKYEMDGMA0cDecDCE4EAdkifAL5wBmURcA5FKhowNwBQnMAnmEjgAFemADOAHgAqAPjgBeXJzhxgMJCDEAuOFIDaAXUzK4AcyQwpagDZIdACjUadUgJQK5YmFGAlTnSm40axQxMTgAGWAvaTkkAA91EgATcMJiMgolFTBRbWE82K4VExYUpCh7dxwTFTRSL1xVdU1sc0sbQWpFGAALaIA6XIhxYpU4WrgWGABXKBI4e0mVCWTgADcZZfGcPsHh8QGnTQGQFDB7Rxb3eTl2qxhbK41XVwGAKwhfe0ZsRldAuNxhIAPRrTaTVwmQKUIA
куда дженерик совать не понятно)
а, понял. https://flowtype.org/try/#0JYWwDg9gTgLgBAJQKYEMDGMA0cDecDCE4EAdkifAL5wBmURcA5FKhowNwBQnMAnmEjgAFemADOAHgAqAPjgBeXJzhxgMJCDEAuOFIDaAXUzK4AcyQwpagDZIdACjUadUgJQK5YmFGAlTnSm40axQxMTgAGWAvaTkkAA91EgATcMJiMgoJADcIYGTsEQhxWOxc-LkcExYUpCh7dyqVFTRSL1xVdU1sc0sbQWpFGAALaIA6MFExLma4ExUWGABXKBI4e3nmiWTgbJlN2ZwR8cnisTGnTTGQFDB7Ry73eTleqxhbB41XVzGAKzySPZGNhGK5ArMVBIAPQ7PabVwmQKBTgSKLtS5ieQ4PQARmwACZsABmAzUV79LGOJ5yADK3l8piplChMiAA

Алексей
25.10.2016
17:26:15

Nikita
25.10.2016
17:26:30
да-да, я ошибся, уже выяснили)

Алексей
25.10.2016
17:26:58
Сори

Nikita
25.10.2016
17:27:01
а про target что скажешь? у меня не хочет es6/es2015. вообще не воспринимает

Алексей
25.10.2016
17:27:31
TS 2.1?

Nikita
25.10.2016
17:27:56
ага

Dreamerinnoise
25.10.2016
17:39:12
лучше объясните, вы css импортируете?
как приготовить, чтобы не ругался

Nikita
25.10.2016
17:39:27
TS?

Dreamerinnoise
25.10.2016
17:39:29
да

Google

Nikita
25.10.2016
17:40:21
хз, надо как-то подсунуть, что \.css$ -> {[key: string]: string}. В flow это так

Dreamerinnoise
25.10.2016
17:40:51
ну то есть чтобы он css модули распознал

Aleh
25.10.2016
18:52:18
https://github.com/Quramy/typed-css-modules
правда я сам еще не юзал, но планирую)

Alexander
25.10.2016
18:53:25

Aleh
25.10.2016
18:54:24
ну вот и говорю, пока не юзал, а планирую)
ща погоняем ts2.1

Dreamerinnoise
25.10.2016
18:57:04
https://github.com/Microsoft/TypeScript/issues/6615
Я пробую через это

Admin
ERROR: S client not available

Dreamerinnoise
25.10.2016
18:57:11
Но что-то не взлетает

Aleh
25.10.2016
19:00:11
ругается на implicit any?
@gusnkt https://gist.github.com/6b1caa8ce5fbd65c8cc232a243844bce вот вроде ок скомпилило в es6

Dreamerinnoise
25.10.2016
19:02:38

Aleh
25.10.2016
19:03:26

Dreamerinnoise
25.10.2016
19:03:42

Aleh
25.10.2016
19:04:07
либы просто скопировались, без них по идее тоже без проблем
да, без них тоже все ок
там при es6 все эти либы указаны

Nikita
25.10.2016
19:06:08

Google

Nikita
25.10.2016
19:06:34
а TS не умеет рантайм импортировать?

Aleh
25.10.2016
19:07:01

Nikita
25.10.2016
19:07:16
ваще печалька)

Aleh
25.10.2016
19:07:19
Угу

Dreamerinnoise
25.10.2016
19:07:26
Это можно как-то вынести
Эти хелперы

Aleh
25.10.2016
19:07:34
Разве?

Dreamerinnoise
25.10.2016
19:07:48
Угу, я видел в одном стартере нг2 :D

Aleh
25.10.2016
19:08:00
Может они сами там подключают?)
Или типа если функцию так назвать, то тс не вставит свою?))

Dreamerinnoise
25.10.2016
19:09:55
NOTE: Starting Typescript 2.1 this package won't be needed anymore
Instead you can provide --importHelpers together with --noEmitHelpers which will import emit helpers from Typescript "tslib" More info: https://github.com/Microsoft/TypeScript/pull/9097

Aleh
25.10.2016
19:11:05
noEmitHelpers: true
вот я лошара)

Nikita
25.10.2016
19:11:58
лол))

Aleh
25.10.2016
19:12:01
Конечно норм вопрос почему по дефолту так не делать, но уже хорошо)

Dreamerinnoise
25.10.2016
19:12:20

Nikita
25.10.2016
19:12:50
async function __awaiter() {}
угадайте, что TS выдает в аутпут?)

Dreamerinnoise
25.10.2016
19:13:20
Вангую хуиту

Nikita
25.10.2016
19:13:32
ну да, переименовывать он не умеет))

Aleh
25.10.2016
19:13:39
Сложна)