Я работаю с NSwag для создания автоматического c файла TS из моего внутреннего API. Сгенерированный код работает хорошо, но в случае сомы мне нужно расширить мой класс с помощью утилиты (Es. Добавить переименовать массив объектов, проверить ограничение, ..)
В C# довольно просто:
public class Demo {
public string Name {get;set;}
}
public static class DemoExtension{
public static string GetUpper(this string name){
/// code removed
}
}
Как реализовать этот шаблон на TS?
Я пытаюсь следовать некоторому потоку, чтобы говорить об интерфейсе без успеха.
/// file test.module.ts
namespace test {
export class Demo{
public name : string;
}
}
/// file demoextension.d.ts
interface DemoExtension {
getUpper:string(attr:Demo){
return ...
}
}
/// file controller.ts
import * as test from './test';
class CtrlDemo
{
public a : test.Demo;
constructor(){
a = new test.Demo();
// Now TS say me that method not exist
a.getUpper();
}
}