Я пытаюсь использовать расширение типов Typescript для расширения тестовой среды, то есть класса Mocha Context
, так что я могу сделать:
beforeEach(function() {
this.myMethod();
});
Восходящие типы использовать пространство имен поэтому исправление прототипа и добавление файла .d.ts выглядит следующим образом:
declare namespace Mocha {
interface Context {
myMethod(): string;
}
}
Проблемы начинаются, когда я пытаюсь использовать другие типы с дополнением.
Моя база кода написано с модулями и, скажем, у меня есть такой модуль:
export interface MyType {
//...
}
Как только любой импорт используется в расширении пространства имен, он перестает работать.
Как я могу использовать MyType
в подписи myMethod
?
Я полагаю, что нечто подобное немыслимо и может быть использовано, возможно, для модернизации поддержки Moment для библиотеки, которая работает только с датой, или аналогичной.