@typescript_ru

Страница 37 из 669
Дмитрий
05.08.2016
15:52:43
И вызываться они будут через дочерний класс снаружи где-то в модулях.
Посмотри пожалуйста на скриншот повнимательнее))

Artur
05.08.2016
15:55:32
Еще раз, выброси getIds из примера

Надо вызывать Bar.getList везде

Упростим до 100 потомков и одного статического метода getList в базовом классе :)

Google
Ярослав
05.08.2016
16:00:52
почему ты не хочешь использовать super.getList()?

я более-менее понял что ты хочешь ))

Artur
05.08.2016
16:04:31
Ну, потому что придется 10х100 функций написать с super.staticMethod

Причем даже не super, т.к. static их не поддерживают, а с Parent.staticMethod

Дмитрий
05.08.2016
16:09:39
Bar.getList(Foo) Bar.getList(Bar) Bar.getList(String) даже и то вызовется как надо из любого места. То, что тут такая странная запись - это уже требования архитектора к статичным классам ☝?️?

Ну, потому что придется 10х100 функций написать с super.staticMethod
Ты случайно не с Java перешёл?) Зачем 10х100, когда достаточно одной и реализаций?

hlomzik
05.08.2016
16:11:26
я тут снова все с той же проблемой влезу :)

Artur
05.08.2016
16:12:02
Почему одной-то? Вот этих let barXXX = Foo.XXX(Bar) будет 10x100

Или 1 mixin

Дмитрий
05.08.2016
16:13:14
Или попробовать слегка иной подход изначально?

Artur
05.08.2016
16:13:21
Изначально другой подход.

hlomzik
05.08.2016
16:13:52
А подробнее можно?
там изначально вообще была ошибка Argument type T is not assignable to parameter type T

Google
hlomzik
05.08.2016
16:14:25
pickBy там с дженериками, но вот WebStorm ругается вот так. может его проблема, а не TS, конечно

при этом VSCode ругается в этом же месте на другое

webpack+ts-loader не умеет подхватывать изменения в tsconfig на лету?

Artur
05.08.2016
16:31:28
А вообще без кода pickBy и typedScopes сложно сказать, что там не так.

hlomzik
05.08.2016
16:35:21
pickBy из lodash

Так а сам TS ругается? tsc file.ts?
Да там ещё куча зависимостей. Пытаюсь всё это распихать по референсам и tsconfig

Ярослав
05.08.2016
16:44:10
пример class Human { constructor() {} static ping() { return 'ping'; } } class Computer extends Human { constructor() {} static pingpong() { return super.ping() + ' pong'; } } Computer.pingpong(); // 'ping pong'

Дмитрий
05.08.2016
17:03:37
поддерживают
То же самое было в моих примерах, но мне кажется не поверили ?

Dmitry
05.08.2016
17:34:52
всем привет, можно вопрос

transform(value, [filter = {}, order = '', changeState = true]) { });

как вот в такой функции задать тип order

order: number например

если вдруг у кого-то будет похожая проблема order = <string>''

Vasiliy
07.08.2016
03:22:42
как же запарило это писать (Object as any).values

что-то не могу тут найти https://github.com/Microsoft/TypeScript/wiki/Roadmap когда они добавят это

Viacheslav
07.08.2016
07:52:52
https://github.com/Microsoft/TypeScript/blob/master/lib/lib.es2017.object.d.ts

в tsconfig.json добавь в lib значение es2017

если lib нет, то надо создать со всеми значениями

Google
Viacheslav
07.08.2016
07:54:45
@vyorkin ^

Vasiliy
07.08.2016
07:54:59
ага, не знал, спасибо, сейчас пробую

@vslinko а этого еще нет ведь в официальной документации?

Artur
07.08.2016
09:24:53
На оф сайте дока пока только по 1.8 версии. Остальное в issue

Vasiliy
07.08.2016
09:25:13
честно – сходу не понял что туда надо писать

es5, es2015, es6, es2016, es7, es2017, dom

Artur
07.08.2016
09:26:10
Можно в папке lib в пакете глянуть, наверное, какие там лежат пресеты

Я вроде всегда имя файла писал, а-ля lib.d.ts

Vasiliy
07.08.2016
09:27:48
Artur
07.08.2016
09:28:38
Yep

Декларации спеки языка там лежат

Vasiliy
07.08.2016
09:29:22
не очень понятно, если честно, мб только для меня

, для lib.es2016.d.ts: /// <reference path="lib.es2015.d.ts" /> /// <reference path="lib.es2016.array.include.d.ts" /> а для lib.es2017.object.d.ts нет reference

Artur
07.08.2016
09:30:07
Так там есть es2017

Preset

Vasiliy
07.08.2016
09:30:34
я вообще не понимаю конвенций наименования и что значит какой файл

es6 vs es2016

Artur
07.08.2016
09:30:44
И в нём референс

Надо внутрь смотреть

Я с телефона, сходу не скажу

Google
Vasiliy
07.08.2016
09:33:26
все, понял, да, это не для широких масс пока) надо лезть прям и смотреть, ок, разобрался. не помешала бы картинка / рисунок

Artur
07.08.2016
09:35:35
Сделаешь? ?

Vasiliy
07.08.2016
09:35:54
хах) мне бы таски по работе сделать хотя бы)

Artur
07.08.2016
09:36:05
Да шучу

Vasiliy
07.08.2016
09:37:35
ок, в итоге мне хватило вот этих 3-х: "es2016", "es2017", "dom”

а все уже переехали полностью на @types ? уже можно? пару недель назад слышал, что там еще было не все гладко

Aleh
07.08.2016
09:48:47
я как-то не тестил недели две

две недели назад было неюзабельно для большинства пакетов

Vasiliy
07.08.2016
09:58:30
можно, наверное, частями переводить – что-то ставить из typings, а что-то из npm ``@types/ wtf /node_modules/@types/lodash/index.d.ts (20990,5): error TS2309: An export assignment cannot be used in a module with other exported elements.

Vasiliy
07.08.2016
10:21:25
Смотря что
например, lodash, у меня сейчас такая ошибка: ERROR in /Users/vyorkin/projects/my-awesome-project/node_modules/@types/lodash/index.d.ts (20990,5): error TS2309: An export assignment cannot be used in a module with other exported elements.

в этом месте: declare module "lodash/fp" { export = _; }

эх, ладно, оно того не стоит, потом буду переводить, когда добрые люди все сделают)

пока в ts нет object spread, кто-нибудь наверняка ведь пользуется react-addons-update ?

поставил для него тайпинги, но не понимаю как его импортировать там написано declare module "react-addons-update" { export = __React.__Addons.update; }

Artur
07.08.2016
11:48:39
Нет, я object.assign использую

А что в доке?

А,

Ну он расширяет интерфейс реакта

Google
Artur
07.08.2016
11:49:41
Тебе его просто грузануть надо

Через импорт

Для бандла

Ну а расширение автоматом через тайпинги наверное прогрузится

Vasiliy
07.08.2016
11:51:25
т.е. import “react-addons-update”? и потом юзать вот так можно будет React.addons.update?

Artur
07.08.2016
11:51:43
Брать можно без имплрта

Vasiliy
07.08.2016
11:51:47
да

точно, находит)

Artur
07.08.2016
11:51:53
Он для сборки в бандл

Vasiliy
07.08.2016
11:52:15
да, супер, работает, нe надо import (либо в app entry point где-то один раз)

Artur
07.08.2016
11:52:42
Ну только в бандл собрать не забыть

Кстати, а кто у нас владелец группы?

Vasiliy
07.08.2016
11:53:14
я) хотя из меня такой себе владелец)

Artur
07.08.2016
11:54:11
А когда меня в модеры успели добавить?

Vasiliy
07.08.2016
11:54:27
почти сразу, ты ведь на ts давно пишешь уже)

Artur
07.08.2016
11:54:36
Ясно

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