
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
Да не.
Меня он нахуй почти не посылает.

Abu
18.06.2018
10:21:20

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

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

Sergey
18.06.2018
13:18:28


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

Artur
18.06.2018
13:26:00
или изначально пишите на amd

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

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

Eugeniy
18.06.2018
13:37:38

George
18.06.2018
13:41:25

Sergey
18.06.2018
13:43:19

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

Google

Zaur
18.06.2018
13:48:32

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, потому что везде в коде это используется.
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:25:48

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

Eugeniy
19.06.2018
07:36:35

Глеб
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

Google

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

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

Cenator
19.06.2018
07:40:47

Глеб
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