@typescript_ru

Страница 666 из 669
Anton
18.06.2018
09:18:41
Как к элементу <a href="#"> добавить так же метод bsRole?

Max
18.06.2018
09:29:59
Ого, какое дружелюбное сообщество! Даже нахуй не послали

Andrey
18.06.2018
09:30:53
Ну, туториал = нахуй. Разве не так?

Alexander
18.06.2018
09:31:32
Google
Andrey
18.06.2018
09:31:42
Да не.

Меня он нахуй почти не посылает.

Andrey
18.06.2018
10:27:05
Почти.
Ну, иногда неплохие срачи бывают. Иногда мне его даже из себя вывести получается)

Oleg
18.06.2018
10:28:20
Andrey
18.06.2018
10:29:19
Zaur
18.06.2018
11:26:15
всем привет. Если в .ts файле внизу написать export = { ClassA: ClassA } тогда в редакторе WebStorm подсвечивается красным класс ClassA и компилятор tsc рунается что не может его найти Cannot find name 'ClassA'. Почему так может быть? Задача: заюзать в nodejs один класс, написанный в ts для web. Т.е. файлик используется как в web так и в nodejs.

Oleg
18.06.2018
11:27:57
а что мешает писать просто export class ClassA {} ?

Олег
18.06.2018
11:28:11
посмотри во что компилируется

Aleh
18.06.2018
11:28:56
или если для ноды, то exports.ClassA = ClassA

Zaur
18.06.2018
11:29:16
а что мешает писать просто export class ClassA {} ?
у меня так и написано, но в таком случае после компиляции ts->js я получаю js в котором нет кода module.exports.ClassA = ... и я не могу этот класс использовать в ноде

Denis
18.06.2018
11:30:02
export const moduleName = {...}

Zaur
18.06.2018
11:32:05
export const moduleName = {...}
тоже самое, компилятор ругается ошибкой и webstorm подсвечивает красным. НО при этом, скомпилированный js на выходе имеет нодовский module.exports = ...

Google
Zaur
18.06.2018
11:32:39
т.е. как бы результат получается как надо, но напрягают ошибки компилятора и IDE

Eugeniy
18.06.2018
11:41:32
Привет, подскажите, есть такой код: export class Foo { protected fake() {} } export function Bar() { return class Baz extends Foo {} } В tsconfig установлен declaration: true для генеации d.ts, при компиляции такая ошибка: Property 'fake' of exported class expression may not be private or protected. Как можно адекватно вернуть из функции класс, который будет наследован от другого?

George
18.06.2018
13:09:26
Может он говорит, что нахрена метод, к которому не обратиться никак? Он говорит may, а не must/should

Zaur
18.06.2018
13:18:40
Есть файл test.ts: module Test { export class TT { constructor() { console.log('new tt'); } } } export = { TT: Test.TT } Если его скомпилить tsc test.ts, получается js файл: "use strict"; var Test; (function (Test) { var TT = /** @class */ (function () { function TT() { console.log('new tt'); } return TT; }()); Test.TT = TT; })(Test || (Test = {})); module.exports = { TT: Test.TT }; Т.е. все нормально, его можно юзать в ноде. Если теперь создать рядом новый файл test2.ts: module Test { export class TT2 extends TT { constructor() { super(); } } } Тогда компилятор ругается ошибкой и WebStorm подсвечивает крассным класс TT в файле test2.ts Если из первого файла убрать строки export = {..., тогда ошибка пропадает. Почему так?

Aleh
18.06.2018
13:19:23
зачем заворачивать в module?

просто используйте require/import

Zaur
18.06.2018
13:19:54
проект на ts у меня пишется для web. При это один класс хочу заюзать в ноде

Aleh
18.06.2018
13:19:55
module и namespace не надо использовать нигде, кроме деклараций, про это написано в доке

Zaur
18.06.2018
13:23:20
просто используйте require/import
тогда оно для web не собирается

Artur
18.06.2018
13:26:00
тогда оно для web не собирается
прогоните потом через webpack/browserify

или изначально пишите на amd

Zaur
18.06.2018
13:27:36
прогоните потом через webpack/browserify
да что то не хочется поднимать webpack ради одного файла, который надо заюзать в ноде :(

проще скриптом билдить и дописывать код module.exports = ... после ts компиляции

Artur
18.06.2018
13:28:48
Короче я когда только только начинал во всём этом разбираться, тоже сначала namespace пытался использовать. Хорошо что быстро понял, что что-то не чисто с этим всем, и нагуглил es2015 modules

Eugeniy
18.06.2018
13:37:38
https://github.com/Microsoft/TypeScript/issues/17293
находил ?, боль какая-то

George
18.06.2018
13:41:25
Ну дак внутри Foo или Baz я же могу к ним обратиться
Ну в твоём коде нет обращений, я не знаю в реальном примере они есть или нет.

Sergey
18.06.2018
13:43:19
находил ?, боль какая-то
Так оно с прошлого года висит, всем кажется пофиг, не повезло вам однако

Eugeniy
18.06.2018
13:45:00
да… надо что-то будет придумывать, чтобы сгенерировать d.ts файлы для такого кода

Google
Nikolay
18.06.2018
14:42:34
Привет, у кого-то есть опыт, как реализовать кастомные классы ошибок, унаследованные от Error? Все из-за breaking change в TypeScript 2.2. Я перепробовал несколько вариантов из инета. Ничего не получилось.

Олег
18.06.2018
14:43:52
не наследуйся от нее

Антон
18.06.2018
19:30:31
npm es6-error что-то вроде такого рекомендуют использовать. Т.е. базовый класс реализующий фичи Error, но не сам Error

Дмитрий
18.06.2018
19:32:33
Кастомные ошибки имплементятся довольно просто

https://github.com/zerobias/apropos/blob/master/src/error-proto.js

Nikolay
19.06.2018
04:41:35
Кастомные ошибки имплементятся довольно просто
Я нашёл решение с восстановлением прототипа. Мне надо было наследоваться от Error, потому что везде в коде это используется.

Я нашёл решение с восстановлением прототипа. Мне надо было наследоваться от Error, потому что везде в коде это используется.
class CustomError1 extends Error { __proto__: Error; constructor(message?: string) { // 'Error' breaks prototype chain here super(message); // restore prototype chain const actualProto = new.target.prototype; // if (Object.setPrototypeOf) { Object.setPrototypeOf(this, actualProto); } this.__proto__ = actualProto; } } class CustomError2 extends Error { __proto__: Error; constructor(message?: string) { // 'Error' breaks prototype chain here super(message); // restore prototype chain const actualProto = new.target.prototype; // if (Object.setPrototypeOf) { Object.setPrototypeOf(this, actualProto); } this.__proto__ = actualProto; } } try{ throw new CustomError2(); } catch(err) { console.log(err instanceof CustomError1) }

Глеб
19.06.2018
07:35:58
https://github.com/carabins/avuef/blob/master/index.d.ts пока просто ничего лучше не нашёл и не придумал

Eugeniy
19.06.2018
07:36:35
а я недавно доку генерил из d.ts
Ну, доку я тоже буду генерировать из d.ts )

Глеб
19.06.2018
07:37:10
я прям свой парсер текста сваял

Eugeniy
19.06.2018
07:37:18
есть же тайп-док

Глеб
19.06.2018
07:37:18
показалось самое быстрое решение

есть же тайп-док
чёт у меня не получилось с ним

а есть примеры тайпдока хорошие?

Eugeniy
19.06.2018
07:38:01
дока ангуляра\rxjs

на тайпдоке собрана

Глеб
19.06.2018
07:39:04
дока ангуляра\rxjs
а можно прям линк а то сходу уже вижу две доки но они похоже не те

Google
Eugeniy
19.06.2018
07:39:25
https://rxjs-dev.firebaseapp.com/api/index/Notification

Глеб
19.06.2018
07:40:36
ну это прям крутая дока, он же не может из d.ts генерится

Глеб
19.06.2018
07:42:09
ну я хотел что-то красивое из d.ts получить - лаконичней того что tsdoc умеет

Cenator
19.06.2018
07:42:54
Я про картинку)

Глеб
19.06.2018
07:43:11
но столько текста там хранить думаю много очень и вот думаю может из и такого файла потом d.ts настоящий генерить и сайт документации крутой с текстом

Я про картинку)
картинка крутая -да) в горы за знаниями

тут в начале года делился мыслями о реактивной библиотеке, её тут восприняли как eventbus, и я подумал что-то не так с доками и удалил их) сейчас пробую заново генерировать, для github.com/gleba/alak но всё ещё лажа какаято Зато на этой либе собрал ещё пару проектов сделал на её основе плагин для vue альтернатива подхода vuex/redux/flux github.com/carabins/avuef - тут доки тоже беда прям и сегодня пример использования собрал тут - avue.unq.onl и вот думаю - выкаладывать что-то в опенсорс - 70% труда это писать доки

Nikolay
19.06.2018
08:01:59
Антон
19.06.2018
16:03:01
Есть какой-нибудь тул - быстро сгенерить интерфейс из json?

Нехис
19.06.2018
16:06:39
Антон
19.06.2018
16:34:49

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