
Ҫѐҏӗѫӑ
23.08.2016
10:47:54
зависит

Aleh
23.08.2016
10:47:57
или другого es2015 -> es5

Ҫѐҏӗѫӑ
23.08.2016
10:49:59
не понял
в любом случае, я говорил не конкретно про тс транспайлер, а дословно “такой как в тс”

Google

Ҫѐҏӗѫӑ
23.08.2016
10:51:54
или же как в closure compiler/traceur

Aleh
23.08.2016
10:57:25
ну, в мире бабеля проблема, что ты можешь себе настрелять по ногам, если будешь юзать всякие херовые плагины. Ну тут как бы просто не юзай херовые плагины, на пресеты нет тестов? Ну так поконтрибутить можно опять же. Тут бабель выигрывает в скорости доставки фич, это не значит, что каждый новый сырой плагин нужно себе подключать, но и не сидеть в августе 2016 без генераторов в es5 :)

Ҫѐҏӗѫӑ
23.08.2016
11:28:01
а скорость доставки уже не так нужна в бабеле. он больше нужен для инструментирования кода и тестирования пропозалов
и для генераторов не нужен бабель

Aleh
23.08.2016
11:29:09
а что лучше?

Ҫѐҏӗѫӑ
23.08.2016
11:29:22
ну есть регенератор

Aleh
23.08.2016
11:29:49
так а как из ts сделать es5 но с генераторами?

Ҫѐҏӗѫӑ
23.08.2016
11:30:40
проверить типы, вырезать типы, прогнать через регенератор, прогнать через тс) как вариант)

Aleh
23.08.2016
11:31:04
вариант конечно супер)

Ҫѐҏӗѫӑ
23.08.2016
11:31:07
хотя регенератор не факт что умеет ес6
норм вариант. в бабеле хуже

Aleh
23.08.2016
11:31:28
ну бабел он работает

Ҫѐҏӗѫӑ
23.08.2016
11:31:31
то же самое + куча прогонов дополнительно

Google

Ҫѐҏӗѫӑ
23.08.2016
11:31:46
и там тоже регенератор подефолту

Aleh
23.08.2016
11:34:06
я не говорю, что бабел прям супер хорош, куча прогонов это конечно минус. Но пока с его помощью можно жить
и вполне хорошо

Ҫѐҏӗѫӑ
23.08.2016
11:40:17
time bomb
особенно stage < 3

Aleh
23.08.2016
11:41:54
я ж не отрицаю того, что надо думать перед тем как делать

hlomzik
23.08.2016
13:04:47
как нормально описывать данные и класс, представляющий эти данные? у меня дублирование кода какое-то и просто тупость
у меня есть интерфейс для данных в DB: interface Kitten {
color: string,
name: string,
cuteness: number
}
и, соответственно, хочу класс Kitten. class Kitten implements Kitten {} требует дублирования всех этих свойств. и еще и называться так же не может, кажется
declare class требует потом реализации класса тоже с этими свойствами

Ярослав
23.08.2016
13:09:25
…over standard TCP/IP

hlomzik
23.08.2016
13:09:39

Ярослав
23.08.2016
13:10:35
ты хочешь класс без свойств?
или чтобы за тебя все эти свойства каким-то магическим образом написались?

hlomzik
23.08.2016
13:11:15
они же в описании есть

Ярослав
23.08.2016
13:11:26
они в описании интерфейса

hlomzik
23.08.2016
13:11:35
и типа я могу тип расширить?

Ярослав
23.08.2016
13:11:42
это не тип
это интерфейс

hlomzik
23.08.2016
13:11:48
тип свойства

Google

hlomzik
23.08.2016
13:12:03
что мешает просто понимать, что у класса есть эти свойства, раз он имплементит интерфейс?

Ярослав
23.08.2016
13:14:11
если он имплементит интерфейс, то у него должны быть эти свойства, но ты их НЕ написал
это проверка на то, что ТЫ ошибся
если тебе нужно автоматически добавлять какие-то свойства или методы в класс или в объект класса, то гугли примеси/миксины

hlomzik
23.08.2016
13:16:58
спасибо, я пока не привык к типизациям

Ivan
23.08.2016
13:18:23
@hlomzik классы и интерфейсы не нужны, достаточно типов и функций https://www.typescriptlang.org/play/#src=type%20Kitten%20%3D%20%7B%0D%0A%20%20color%3A%20string%2C%0D%0A%20%20name%3A%20string%2C%0D%0A%20%20cuteness%3A%20number%0D%0A%7D%0D%0A%0D%0Afunction%20kitten(%7B%20color%2C%20name%2C%20cuteness%20%7D)%3A%20Kitten%20%7B%0D%0A%09return%20%7B%0D%0A%09%09color%2C%20name%2C%20cuteness%0D%0A%09%7D%0D%0A%7D

hlomzik
23.08.2016
13:19:59
но у моего котика должны быть методы! понимаю, что их можно в return запихать в этом коде, но это совсем не то

Ivan
23.08.2016
13:20:30
не методы, а функции)

hlomzik
23.08.2016
13:21:28

Ярослав
23.08.2016
13:21:54
сейчас твоего кота в какую-нибудь монаду завернут и сделают ему хвостовую оптимизацию

Vladimir
23.08.2016
13:35:24
> @hlomzik
спасибо, я пока не привык к типизациям
пока не привык, лучше перейти на Flow

hlomzik
23.08.2016
13:36:36

Aleh
23.08.2016
13:36:36

Vladimir
23.08.2016
13:37:17
ну, если не считать что Flow находит больше ошибок, то нет

hlomzik
23.08.2016
13:37:27

Aleh
23.08.2016
13:37:49
ну, тогда тип
я видимо не понял задачи

hlomzik
23.08.2016
13:38:26
https://github.com/dfahlander/Dexie.js/wiki/Typescript#storing-real-classes-instead-of-just-interfaces
вот тут хорошо описан реальный кейс, буду по нему делать

Andrey
23.08.2016
15:03:58
Подскажите, пожалуйста, как можно обойтись без относительных путей при импорте в тайп скрипте?

Google

Andrey
23.08.2016
15:05:18
У меня тс почему-то не видит рут вебпаковский, как его научить?

Aleh
23.08.2016
15:05:18
сам тайпскрипт все еще смотрит на все возможные включения аж до корня проекта(tsconfig.json), https://github.com/Microsoft/TypeScript/issues/5039

Ҫѐҏӗѫӑ
23.08.2016
16:07:58
утром было 12
https://github.com/Microsoft/TypeScript/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22TypeScript+2.0.1%22
интересно закрыли или перенесли?)
закрыто сегодня 6
не сходится
2 куда-то пропали

Aleh
23.08.2016
16:10:12
const {a, b} = {a: 1, b: ""};
там это пофиксили?
а то я чет не нахожу такого issue

Ҫѐҏӗѫӑ
23.08.2016
16:10:44
а что было?

Aleh
23.08.2016
16:11:00
ну в 2.0 не может понять типы a и b
1.8 может
а
https://github.com/Microsoft/TypeScript/issues/8229
вот оно
ааа, даже не так
типы понять может, просто все равно ошибку кидает
http://stackoverflow.com/documentation/typescript/1835/using-typescript-with-react-js-native#t=201608231618173544304 вот кстати еще interface vs type, в этих же случаях тоже "правильнее" юзать type? Реальной разницы никакой, но...

Sergey
23.08.2016
16:50:26
А интерфейсы используете? Или это лишнее?

Google

Sergey
23.08.2016
16:51:04
Так и не понял из разговора(

Aleh
23.08.2016
17:19:16
ну, собственно для описания сервисов, там где чисто методы важны юзаем

Дмитрий
23.08.2016
18:00:45
А интерфейсы используете? Или это лишнее?
Я везде использую. Все сущности общаются с помощью интерфейсов, это развязывает руки, потому что представление больше не зависит от внутренней структуры. Можно просто перечислять методы класса, а можно создавать интерфейс, специфический для данной задачи, не меняя при этом самого объекта
https://github.com/zerobias/gulp-gate/blob/master/source/task/task.ts
Класс FullTask (строчка 134) имеет интерфейс для препроцессора с одними полями и для целевого использования - уже с другими.
Если всё аккуратно вынести и обобщить, то сразу получится краткая документация того, как работает система)

Dreamerinnoise
24.08.2016
11:35:37
Лол ват

?????∞?
24.08.2016
11:35:53
Я вас слушаю

Roman
24.08.2016
13:24:13
WebStorm не понимает определения вида interface ParameterMap {
[parameterName: string]: string;
} Затем пишу let query : purl.ParameterMap = purl(location).param();
if (query.h) {
let hash = query.h; и он подсвечивает свойства query красным. Может он как то настраивается? tsc 1.8.10 WS 2016.2

Alex
24.08.2016
13:26:56
там есть эксперментальная поддержка TS service в опциях
можно ее попробвать

Roman
24.08.2016
13:27:38
@prinzc а что дает эта опция? https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API - сюды копать?

Andrey
24.08.2016
13:29:49
Не могу с консоли запустить tsc. Запускаю командой
tsc --project ./app
, в app лежит конфиг, в котором прописаны файлы для компиляции. При попытке запуска - Error: Debug Failure.
Может кто-то встречал такое?

Artur
24.08.2016
13:34:41
Первый раз вижу
А что гугл говорит?

Andrey
24.08.2016
13:40:45
Конкректно такой проблемы не нашел

Artur
24.08.2016
13:49:12
У меня есть проект, где tsc настроен на две разные папки