
Mike
31.08.2017
13:12:36
там 1100 закрытых функций в чекере, хз какие потребуются
я в итоге втупую форкнул тафпскрипт и запаблишил то что хотел себе
там мне нажо было то полтора метода
а системное глобальное рещение пока буксует

Google

Mike
31.08.2017
13:14:35
я рано или поздно дойту в своём проекте до бинда не всего подряд, а того что нужно, и тогда смогу продвинуть дальше этот крейзи рефактор
Я тут вчера изобрёл как интерфейсы в рантайме представить. Оказывается имя интерфейса и имя перенменной совсем не конфликтят друг с другом, и можно сделать что-то вот такое. http://service.crazypanda.ru/v/clip2net/v/Y/s2OYzFFE2E.png Сейчас генератор для этого делаю

andretshurotshka?❄️кде
31.08.2017
13:18:09
Есть же ts-runtime

Mike
31.08.2017
13:18:21
Сам факт того что нормально сосуществует рантайм и компайлтайм сущность с одним именем и от контекста зависит какая используется очень занятен
блин
ща заценю

Aleh
31.08.2017
13:18:50
ну я это активно юзаю с редаксом, константа и тип с одним именем

andretshurotshka?❄️кде
31.08.2017
13:18:54
:)
Это как flow-runtime

Mike
31.08.2017
13:19:35
хотя блин, это может значимый импакт на перфоманс влепить
но в любом случае спасибо, изучу

andretshurotshka?❄️кде
31.08.2017
13:25:18
ну так его только в дев режиме надо использовать мне кажется

Google

andretshurotshka?❄️кде
31.08.2017
13:26:23
я тож когда flow-runtime смотрел думал такое запилить, тогда еще не было ts-runtime и вроде апи для трансформаций не выкатили еще

Mike
31.08.2017
13:26:28
а мне для релизного кода нужно рантайм представление интерфейсов и проверка объекта на соотвествие интерфейсу( но не по факту наличия полей а по тому что он создан через класс который явно имплементировал интерфейс)
и я надумал нагенерить констант на все интерфейсы и отдельную таблицу с метаинфой кто кого имплементит

andretshurotshka?❄️кде
31.08.2017
13:27:50

Mike
31.08.2017
13:28:00

andretshurotshka?❄️кде
31.08.2017
13:29:00
>по тому что он создан через класс который явно имплементировал интерфейс)
как номинальные типы?

Mike
31.08.2017
13:29:06
да
потому что во флеше типизация номинальная
и у меня в конвертере тоже номинальная

andretshurotshka?❄️кде
31.08.2017
13:29:34
в флоу opaque тип смотрел?

Mike
31.08.2017
13:29:52
смотрел, смысла в них нет
мне нужно было нечто среднее ммежду тайпскриптовыми алиасами и опак типами, и это можно сделать в тс

Aleh
31.08.2017
13:30:25

Mike
31.08.2017
13:30:45
class Fake1 {
}
class Fake2 {
}
type int = Fake1 & number;
type uint = Fake2 & number;
такая хрень с фейками позволяет сохранить алиас независимым типом а тайпчекере
то что было объявлено интом, остаётся интом, пока в него например намбер не запищут

andretshurotshka?❄️кде
31.08.2017
13:32:31
opaque type int: Fake1 = number;

Mike
31.08.2017
13:33:07
тогда в переменную объявленную интом нельза будет записать намбер литерал насколько я знаю
ну и flow мне вообще не к месту, от тайпскрипта очень много профита

Google

Aleh
31.08.2017
13:34:20

Mike
31.08.2017
13:34:33
однако работает

andretshurotshka?❄️кде
31.08.2017
13:34:42

Mike
31.08.2017
13:35:20

andretshurotshka?❄️кде
31.08.2017
13:45:32

Dmitrii
31.08.2017
14:07:55
подскажите пожалуйста какой-нибудь материал по compiler api. интересуют примеры трансформации кода

andretshurotshka?❄️кде
31.08.2017
14:11:56
да вроде док нет
можно PR трансформеров посмотреть наверно
по Printer API дока есть

Сергей
31.08.2017
14:13:16

andretshurotshka?❄️кде
31.08.2017
14:13:29
https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API

andretshurotshka?❄️кде
31.08.2017
14:13:52
Вообще там мало док
?

Mike
31.08.2017
14:50:40
могу подсказать некоторые вещи, завай вопросы

Maxim
31.08.2017
15:23:50
Что там насчёт beerJS в спб ? Идёт кто ?

Max
31.08.2017
15:35:59

Mike
31.08.2017
16:11:29
а вы знали что так можно в тайпскрипте? https://www.typescriptlang.org/play/#src=class%20Abra%20extends%20class%20Kadabra%20%7B%20%0D%0A%20%20%20%20public%20kadabraBoom()%20%7B%20%0D%0A%20%20%20%20%20%20%20%20console.log('boom%20from%20kadabra')%3B%0D%0A%20%20%20%20%7D%3B%0D%0A%7D%20%7B%20%0D%0A%20%20%20%20public%20abraBoom()%20%7B%20%0D%0A%20%20%20%20%20%20%20%20console.log('boom%20from%20abra')%3B%0D%0A%20%20%20%20%7D%3B%0D%0A%7D%0D%0A%0D%0Alet%20abr%20%3D%20new%20Abra()%3B%0D%0Aabr.kadabraBoom()%3B%0D%0Aabr.abraBoom()%3B

Google

Mike
31.08.2017
16:11:59
я призываю никогда так не писать, но так можно

andretshurotshka?❄️кде
31.08.2017
16:17:16
лол
сложно

Mike
31.08.2017
16:17:49
а я сижу, в ast смотрю и понимаю что там любая херня может быть, а не только идентификатор, проверил, реально так
Kadabra более того не светится наружу и в неймспейсе не появилась
более того, имя можно не писать, можно заэкстендить анонимный класс

Admin
ERROR: S client not available

Дмитрий
31.08.2017
16:19:37

Mike
31.08.2017
16:20:10
так - это как?
там Abra наследует Kadabra которая объявлена прям там инплейсом

andretshurotshka?❄️кде
31.08.2017
16:20:15
так вроде по спеке можно

Дмитрий
31.08.2017
16:20:30
не могу просто увидеть в приведенном примере кода ничего, чего нельзя было бы в нативном жс (не считая ключевого слова public, конечно)

Mike
31.08.2017
16:20:57
да дело не спеке и js, то что можно это ок, но вообще конструкция странная
тайпскрипт - няша

Eugene
31.08.2017
16:37:04
Подскажите, могу ли я сасовские цветовые переменные переопределять по событию?

Mike
31.08.2017
16:38:51

Max
31.08.2017
16:39:06
Нет

Andrey
31.08.2017
16:39:18

Max
31.08.2017
16:39:39
Сасс у тебя в виде цсс грузится
И нет никаких переменным

Maxim
31.08.2017
16:39:53
можешь по событию менять css переменные или менять классы, в рантайме нет никакого сасс

Google

Max
31.08.2017
16:40:03
Непонятно почему это в чате про тс

Maxim
31.08.2017
16:40:28
местами

Andrey
31.08.2017
16:40:35
Давно.
Но не везде

Max
31.08.2017
16:40:46
Не знал

Andrey
31.08.2017
16:40:58
Деревня)

Maxim
31.08.2017
16:41:00
кроме поклонников IE - у всех есть

Eugene
31.08.2017
16:41:13
Спасибо всем

Vladimir
31.08.2017
20:44:18
https://twitter.com/vkurchatkin/status/903357045449138176

Max
31.08.2017
21:19:02
https://blogs.msdn.microsoft.com/typescript/2017/08/31/announcing-typescript-2-5/

Mike
31.08.2017
21:32:03
аааа, они поставили в очередь https://github.com/Microsoft/TypeScript/issues/7849
2.6 будет

Andrey
31.08.2017
21:33:31

Mike
31.08.2017
21:36:18

Ҫѐҏӗѫӑ
31.08.2017
21:38:21
меня больше всего смущет, что они нигде не пишут что будут делать с class fields и декораторами
потому что ни те, ни те уже не соответствуют спеке жс