@typescript_ru

Страница 592 из 669
Illia
30.04.2018
08:46:58
вообще лютая фигня получается



Дмитрий
30.04.2018
08:47:19
Опиши просто тип с реально используемыми тобой полями

Google
Illia
30.04.2018
08:47:21
я типизацию последний раз видел в универе в плюсах :)

ну так они реально используются

Дмитрий
30.04.2018
08:48:08
Кто они

NEOQAZAQUE
30.04.2018
08:48:23
я тут один? :)

Illia
30.04.2018
08:48:32
эти поля. Parent например

а, я понял, туплю

Дмитрий
30.04.2018
08:48:59
Без например

Во)

Illia
30.04.2018
08:50:05
ну все равно хрень получается. Если мне в будущем у потомку нужно будет использовать какой-то метод, определенный в нем, этот метод нужно будет выносить в тип

Дмитрий
30.04.2018
08:54:41
Ты его уже вынес, вопрос лишь в том как это адекватнее всего типизировать

Illia
30.04.2018
08:57:00
я думал, может есть какой-то тип типа "класс и его потомки"

потому что T по идее будет работать, но только для BaseComponent-а

ладно, спасибо, буду курить доки

Google
andretshurotshka?❄️кде
30.04.2018
08:59:29
убери T, из addChild

Illia
30.04.2018
09:00:20
о

магия

addChild<U extends BaseComponent<T»(child: U) {

так вроде бы не ругается, спасибо

andretshurotshka?❄️кде
30.04.2018
09:00:53
работает?

Illia
30.04.2018
09:01:10
вроде да. правда в другом месте полезли ошибки

тепер еще понять бы как оно работает )

andretshurotshka?❄️кде
30.04.2018
09:01:17
я ток не уверен что тип правильный будет)

у парента наверно другой T

Illia
30.04.2018
09:03:12
теперь в других местах, после импорта BaseComponent ругается



andretshurotshka?❄️кде
30.04.2018
09:03:32
ну да

укажи тип)

у тебя T еще где-то юзается чтобы типизировать что-то?

Illia
30.04.2018
09:04:30
нет

andretshurotshka?❄️кде
30.04.2018
09:04:37
тогда зачем генерик)

Illia
30.04.2018
09:05:18
ну, я изначально задал вопрос не про то :))

Дмитрий
30.04.2018
09:08:11
-- Двач, ем с ножа, постоянно порезан рот, как лечить? -- Не ешь с ножа -- НЕ УЧИТЕ МЕНЯ ЖИТЬ Я ПРОСТО ЗАДАЛ ВОПРОС

Google
Illia
30.04.2018
09:09:13
ладно, пасиба, пойду сначала

Illia
30.04.2018
09:40:13
вы ж мне сами и посоветовали дженерик заюзать )

andretshurotshka?❄️кде
30.04.2018
09:40:44
тут он был уже

Illia
30.04.2018
09:41:32


andretshurotshka?❄️кде
30.04.2018
09:43:03


Sultan
30.04.2018
10:09:39
Ребят, кто подскажет, можно ли смешивать в webpack проекте и js и ts код?

NEOQAZAQUE
30.04.2018
10:10:15
Да

Sultan
30.04.2018
10:11:53
есть какие нюансы? просто немного не могу, как это сделать

пишу допустим класс в ts, к нему же хочу обращаться из js кода

andretshurotshka?❄️кде
30.04.2018
10:12:11
пишешь типы для жс кода

andretshurotshka?❄️кде
30.04.2018
10:12:15
а

Дмитрий
30.04.2018
10:12:16
Дефолт в чатиках
Каждый раз актуально же))

Sultan
30.04.2018
10:12:19
ну то есть это уже будет не класс, а функция-конструктор

andretshurotshka?❄️кде
30.04.2018
10:12:20
в другую сторону)

Kelin
30.04.2018
10:13:20
Бля, а вообще есть ещё смысл транспилить стрелки, консты и классы?

Sultan
30.04.2018
10:14:35
компиль в ес6
допустим какой-нибудь js модуль хочет заимпортить модуль с ts-классом

я пишу типа const classA = require('....')

Google
Sultan
30.04.2018
10:14:51
вот а что внутри require?

andretshurotshka?❄️кде
30.04.2018
10:15:03
скомпиленный модуль

либо делай монорепозиторий

Sultan
30.04.2018
10:15:17
так допустим модуль ещё не скомпилен

andretshurotshka?❄️кде
30.04.2018
10:15:26
и разложи по разным пакетам тс и жс файлы

Sultan
30.04.2018
10:15:33
вот же гемор

Admin
ERROR: S client not available

andretshurotshka?❄️кде
30.04.2018
10:15:37
https://github.com/lerna/lerna

Sultan
30.04.2018
10:15:40
наверное легче всё на es6 написать

andretshurotshka?❄️кде
30.04.2018
10:15:53
легче жс в тс импортить, а не наоборот

Sultan
30.04.2018
10:15:59
жесть, ещё какую-то тулу надо юзать, ох уж этот мир js)

спасибо за помощь)

andretshurotshka?❄️кде
30.04.2018
10:16:43
Sultan
30.04.2018
10:17:05
ща бы не юзать 2030293023+ пакетов
как по мне, так это не есть хорошо)

ждём-с когда всё стабилизируется и не придется изучать новые пакеты, пока скачиваются старые

Friedrich
30.04.2018
13:46:04
Классический способ при работе с тайпингами: ставишь версии начиная с последней и идешь вниз пока не пойдет
Версионирование в тайпингах вообще как-то хреновато работает, на самом деле. Неужели ничего лучше мы не можем придумать? Как-то отдельно вести версию модуля и версию самого тайпинга, например?

Friedrich
30.04.2018
13:57:31
Пихать тайпинги в репозиторий проекта
Это решает другую проблему, а не ту, которую я обозначил. Твоя проблема решается также лок-файлами, например.

Morsik
30.04.2018
13:58:23
У меня почти нет проблем с твйпингами

Google
Евгений
30.04.2018
16:40:01
Подскажите, если у меня есть некий код типа enum Type { TypeA, TypeB } interface { type: Type; data: ITypeA | ITypeB; } притом data будет иметь интерфейс ITypeA если type === Type.TypeA и анаогично для других типов. WebStorm и/или компилятор будут подсказывать правильный тип data?

Олег
30.04.2018
16:41:55
нет

Евгений
30.04.2018
16:41:59
или проверять на этапе компиляции? код будет вида switch (item.type) { case Type.TypeA: ... case Type.TypeB: ... } м.б. это как то объявить можно?

Евгений
30.04.2018
16:55:19
Дисджоинт юнион.
Спасибо! Именно это и искал!

Олег
30.04.2018
16:57:58
или проверять на этапе компиляции? код будет вида switch (item.type) { case Type.TypeA: ... case Type.TypeB: ... } м.б. это как то объявить можно?
enum TypeEnum { TypeA, TypeB } interface TypeBase { type: TypeEnum; } interface TypeA extends TypeBase { type: TypeEnum.TypeA; data: string; } interface TypeB extends TypeBase { type: TypeEnum.TypeB; data: number; } type Type = TypeA | TypeB; function something(item: Type): void { switch (item.type) { case TypeEnum.TypeA: console.log(item.data.startsWith); break; case TypeEnum.TypeB: console.log(item.data.toFixed); break; } }

Евгений
30.04.2018
16:58:24
это сейчас и пишу! спасибо!

andretshurotshka?❄️кде
30.04.2018
18:44:02
имхо енум не нужен

Andrew
30.04.2018
18:45:02
И это тоже, да

Олег
30.04.2018
18:46:27
нужен же общий признак

дискриминатор

andretshurotshka?❄️кде
30.04.2018
18:47:57
ща бы дискриминировать по общему признаку

Andrew
30.04.2018
18:48:22
Структурная типизация же

Олег
30.04.2018
18:48:58
ну да, струкурная типизация, никто не спорит)

★nton
01.05.2018
04:42:23
никто случаем не пытался впилить элм в тайпскрипт проект?

nevermind

andretshurotshka?❄️кде
01.05.2018
05:46:46
лол

Страница 592 из 669