У меня есть это:
export class XMLParser extends Transform {
constructor(opts?: XMLParserOpts, to?: TransformOptions) {
super(Object.assign({}, to || {}, {objectMode: true}));
}
}
в принципе мне всегда нужно objectMode
чтобы быть правдой. Однако что, если пользователь передал какое-то странное значение для to
? Как я могу проверить это, чтобы убедиться, что тип определен как объект?
Я могу позволить классу Transform выполнить свою проверку, но я бы предпочел сделать это вручную и выдать специальное сообщение об ошибке. Но проблема в том, что я не могу этого сделать:
constructor(opts?: XMLParserOpts, to?: TransformOptions) {
if(to && typeof to !== 'object'){
throw new Error('no good bozo');
}
super(Object.assign({}, to || {}, {objectMode: true}));
}
как сделать то, что я ищу? (TS не скомпилируется, если super не первый вызов в конструкторе).