У меня есть библиотека JS, называемая буклет, в которой есть существующий файл определения TypeScript.
Я хочу использовать плагин, который расширяет некоторые объекты в листовке с дополнительной функцией.
В существующем файле определения TypeScript объекты определяются как классы, а не интерфейсы.
например.
declare module L {
function circleMarker(latlng: LatLng, options?: PathOptions): CircleMarker;
export class CircleMarker extends Circle {
constructor(latlng: LatLng, options?: PathOptions);
setLatLng(latlng: LatLng): CircleMarker;
setRadius(radius: number): CircleMarker;
toGeoJSON(): any;
}
}
Если я попытаюсь определить его во второй раз в отдельном файле, я получаю сообщение об ошибке "Дублирующий идентификатор" CircleMarker. ".
declare module L {
export class CircleMarker {
bindLabel(name: string, options: any): CircleMarker;
}
}
Это имеет смысл, поскольку это класс, а не интерфейс, но в этом случае есть способ расширить это определение класса без изменения исходного файла определения?
Базовый файл определения втягивается от DefinitelyTyped через nuget, поэтому у меня очень сильное желание не вносить никаких изменений в него, так как это сделает обновление более неудобным/подверженным сбою.