Как расширить хост-объект (например, Ошибка) в TypeScript

Я хотел бы расширить объект хостаError на заказUploadError учебный класс. В следующем примере происходит сбой при компиляции:

class UploadError extends Error {
    constructor(message: string, private code: number) {
        super(message);
    }

    getCode(): number {
        return this.code;
    }
}

Когда я запускаю компилятор TypeScripttsc Я получаю следующую ошибку:

UploadError.ts(1,0): A export class may only extend other classes, Error is an interface.

Похоже на тоError определяется как интерфейс. Если кто-нибудь знает, как называется реализация, я бы очень обрадовался :-)

Обновление: я хочу использовать наследование Typescripts, а не прототипное наследование, как я сейчас использую, чтобы взломать это:
function UploadError (message: string, code: number) {
    this.message = message;
    this.code = code;
}

UploadError.prototype = new Error();

UploadError.prototype.constructor = UploadError;

UploadError.prototype.getCode = (): number => {
    return this.code;
}

Ответы на вопрос(11)

Ваш ответ на вопрос