
Mike
25.01.2017
15:40:46

Aleh
25.01.2017
15:40:46
ну и this: YourFunc

yadro
25.01.2017
15:41:54

Google

yadro
25.01.2017
15:42:05

Mike
25.01.2017
15:42:05
а где он не знает?

Aleh
25.01.2017
15:42:51
а где он не знает?
https://www.typescriptlang.org/play/index.html#src=function%20F()%20%7B%0D%0A%0D%0A%7D%0D%0A%0D%0AF.prototype.a%20%3D%20function%20()%20%7B%0D%0A%7D%0D%0A%0D%0AF.prototype.b%20%3D%20function%20()%20%7B%0D%0A%20%20%20%20this.a()%3B%0D%0A%7D

Mike
25.01.2017
15:43:10
f

yadro
25.01.2017
15:43:14
Foo.prototype.bar = fubction(){тут}

Mike
25.01.2017
15:43:25
а ну блин, а есть разумный повод так делать?

yadro
25.01.2017
15:44:10
Ну так классы на прототипах) если приспичит
Изначально я думал что это решит мою проблему

Aleh
25.01.2017
15:44:42
не делайте так, короч

Mike
25.01.2017
15:44:50
В продных классах то всё ок
а он так и делает

Aleh
25.01.2017
15:45:02

yadro
25.01.2017
15:45:28

Google

Mike
25.01.2017
15:45:59
Сейчас.
Сначала про первый вопрос, можно попробовать выкрутиться так
первое, тайпа делает классы же теми же прототипами
http://www.typescriptlang.org/play/#src=class%20MyClass%20%7B%0D%0A%20%20%20%20prop%3A%20number%20%3D%200%3B%0D%0A%20%20%20%20qq()%20%7B%20%0D%0A%20%20%20%20%20%20%20%20this.prop%3B%0D%0A%20%20%20%20%7D%0D%0A%7D
второе, как можно выкручиваться если ты хочешь чтобы он знал кто там this будет http://www.typescriptlang.org/play/#src=function%20F()%20%7B%0D%0A%7D%0D%0A%0D%0AF.prototype.a%20%3D%20function%20()%20%7B%0D%0A%7D%0D%0A%0D%0AF.prototype.b%20%3D%20function%20()%20%7B%0D%0A%20%20%20%20let%20self%3Atypeof%20F%20%3D%20this%3B%0D%0A%20%20%20%20self.a()%3B%0D%0A%7D

yadro
25.01.2017
15:50:47
Ок, попробуем

Mike
25.01.2017
15:51:55
вообще не стоит такое пробовать

yadro
25.01.2017
15:55:25
А у себя в проектах можно? Я тихонько)

Mike
25.01.2017
15:56:27
голосом бабушки: "Будешь много в свою приставку играть - кинескоп сядет!"
можно-то можно, но вооще это странно

yadro
25.01.2017
15:57:31
А что странно, прототипы?

Mike
25.01.2017
15:57:56
нет, за тебя тайма их и так сделает
не стоит это руками самому писать
http://www.typescriptlang.org/play/#src=class%20MyClass%20%7B%0D%0A%20%20%20%20prop%3A%20number%20%3D%200%3B%0D%0A%20%20%20%20qq()%20%7B%20%0D%0A%20%20%20%20%20%20%20%20this.prop%3B%0D%0A%20%20%20%20%7D%0D%0A%7D
посмотри этот код
там справа то, во что оно скомпилится
в нормальном режиме тебе с прототипами руками никогда работать не нужно

yadro
25.01.2017
16:00:15
Да с этим то ясно понятно, но вот когда в классе имеются динамические методы в es6 классах такого не сделать, или это не так..

Aleh
25.01.2017
16:03:31
computed prop?
хотя наверное не стоит

Google

Aleh
25.01.2017
16:04:38
вообще непонятно на самом деле, если у вас что-то динамическое, то это не для статического анализатора типа ts

yadro
25.01.2017
16:05:27
Не ну если использоват тс то везде

Mike
25.01.2017
16:06:13
Если его использовать везде то не потребуется динамическое добавление мотодов в объект

yadro
25.01.2017
16:08:28
Ну я же говорю, у меня особый случай, хочу свой lodash сделать
А то постоянно приходитсч tools.ts создавать
В новых пректах

Danil
25.01.2017
16:24:48
Всем привет, подскажите, на ноде не могу импортить json
линтер говорит что нет такого модуля
import * as config from ("./config")

Aleh
25.01.2017
16:37:30

yadro
25.01.2017
17:10:36
после компиляции содержимое доступно nodejs?

yadro
25.01.2017
17:12:00
и ты webpack используешь или нет?

Danil
25.01.2017
17:12:10
а он подключается?
у меня стоит moduleResolution node, я пологаю из за этого у меня компилится в стандартный require
после компиляции доступен

yadro
25.01.2017
17:13:43
попробуй что то вроде config.json.ts создавать, с пустым импортом или декларацией. А так я хз, эти методы для вебпака предлагались

Danil
25.01.2017
17:14:20
ну я решил пока просто в ts положить

Aleh
25.01.2017
17:15:49
вроде как require должен сработать
const config = require("./config.json")

Danil
25.01.2017
17:17:25
компилится в require, скопмпиленный нормально работает, если в ts прописывать стандартный require то показывает другую ошибку

Google

Aleh
25.01.2017
17:17:51
какую?

draft
25.01.2017
18:28:05
ребят кто дружил paths в тс конфиге с вебпаком?

Aleh
25.01.2017
18:32:14
забавная штука https://github.com/Microsoft/TypeScript/issues/13500

draft
25.01.2017
18:34:42
условно есть фолдер где то глубоко с 10 файлами тс. 1.ts, 2.ts, 3.ts и так далее. я пишу алиас к фолдеру
paths: {
"files/*": ["path/path2/path3/*"]
}
после чего я хочу импорты вида
import { someVar } from 'files/1';
например
Но вебпак будет ругаться на то что не может зарезолвить модуль files/1. Вопрос как прописать алиасы правильно и не ко всем 10 файлам по отдельности, это вообще возможно?

andretshurotshka?❄️кде
25.01.2017
18:36:04
modulesDirectories в вебпаке?

Aleh
25.01.2017
18:36:22
alias: {
"files": path.join(__dirname, "path/to/path/path2")
}

draft
25.01.2017
18:39:25

Danil
25.01.2017
18:56:07
Подскажите, зачем нужны .d.ts файлы, пока не вкуриваю

Admin
ERROR: S client not available

Aleh
25.01.2017
18:56:58
для типизации ваших js модулей

Wystan
25.01.2017
19:29:14

Aleh
25.01.2017
19:29:33
а?

draft
26.01.2017
09:51:02
Привет! Вчера спрашивал про paths и алиасы. Есть еще вопрос по той же теме
Предположим что у меня 2 папки и я пишу патчс:
paths: {
"files/*": [
"path/path2/path3/*",
"path1/path2/path3/*"
]
}
ts это прекрасно понимает, а вот как научить вебпак с этим дружить?

Aleh
26.01.2017
09:59:26

draft
26.01.2017
10:02:28
так разные пути ведь

Алексей
27.01.2017
07:10:29
https://www.reaktor.com/blog/refactoring-30000-lines-js-types/

Aleh
27.01.2017
07:41:35

Сергей
27.01.2017
08:19:48
https://t.me/coder_goodies

Google

Котяй Негодяй
27.01.2017
08:20:37
А кто-нибудь уже типизировал синтаксис запросов к #ElasticSearch для #Flow? Или уже может есть где-то?
Очень нужна прям строгая проверка.

Сергей
27.01.2017
08:43:09
проверки же только на стадии сборки
а не рантайм

Aleh
27.01.2017
09:00:27
Ну так видимо на этапе компиляции передаваемые в эластику параметры
Структуру запроса

Котяй Негодяй
27.01.2017
09:08:44
Дада. Есть инит-скрипты, которые пихают в базу довольно сложный конфиг разного рода отчётов. Результат особо не потестируешь в автоматическом режиме. А тайпчекинг решил бы вопрос почти полностью.
При этом количество конфигов постоянно растёт.

Vladimir
27.01.2017
09:11:57
> @bigslycat
Результат особо не потестируешь в автоматическом режиме.
эт почему?

Котяй Негодяй
27.01.2017
09:14:18

Vladimir
27.01.2017
09:14:38
так не мокай
запусти эластик и проверь

Котяй Негодяй
27.01.2017
09:15:08
Эмм... Так данные...
Там их дофигища. Как проверять результат-то?
Чисто структуру?

Vladimir
27.01.2017
09:16:26
Тестовые данные

Котяй Негодяй
27.01.2017
09:22:09
Они есть. Всё равно, много. Суть в том, что при таком кейсе прогнозировать конечные значения бессмысленно. Мне ведь нужно просто проверить валидность запроса в эластик. А тестирование того, насколько я его составил правильно касаемо конкретной задачи, — это ведь совсем другой таск, по сути, более проблемный и менее приоритетный.
От тайпчекинга я в данном случае хочу получить профит в виде контроля за написанием кода разработчиками именно в реальнов времени (проверка и автокомплит).
Чтобы ещё до запуска тестов разработчик был уверен в валидности синтаксиса запроса.

Vladimir
27.01.2017
09:24:42
это понятно, но тесты это не заменяет на 100%

Котяй Негодяй
27.01.2017
09:24:51
Да, я согласен.

Aleh
27.01.2017
09:46:00
https://github.com/Microsoft/TypeScript/issues/13709