Funktionsobjekt i Typescript d.ts
Jag försöker koppla ett bibliotek (inte skrivet av mig) till en .d.ts-fil. Det har ett objekt som är en funktion men som har egenskaper (vissa av dem är också funktioner), på det här sättet:
var asd = function () { return 1; };
asd.two = function () { return 2; };
asd.three = 'three';
Hur kan jag skriva typen av asd i en .d.ts-fil? Hur specificerar jag att det är en funktion som returnerar ett nummer och som har två egenskaper, en en funktion som returnerar ett nummer och en som är en sträng
Svar #1
Använd deklarationssammanslagning:
declare function asd(): number;
declare module asd {
function two(): number;
var three: string;
}
Tester :
let num: number = asd();
num = asd.two();
asd.three = "str";
