Typescript-deklaration för exporterad klassinstans
Jag håller för närvarande på att skapa min första deklarationsfil för ett främmande bibliotek (react-native-background-timer). Biblioteket har dock en standardexport som jag inte är säker på hur jag ska deklarera i index.d.ts-filen.
Detta är bibliotekets standardexport:
export default new BackgroundTimer();
Jag vet hur man deklarerar exporterade klasser, men vad är det bästa sättet att deklarera en instans av en exporterad klass?
Mitt första tillvägagångssätt var:
declare class BackgroundTimer {
[...]
}
declare const _BackgroundTimer: BackgroundTimer;
export default _BackgroundTimer;
Svar #1
Ja, detta är sättet att deklarera default export som exporterar en instans, det är dokumenterat på sidan för brytande ändringar för TypeScript 2.6. Tidigare var det möjligt att göra det i deklarationsfilen på en rad precis som i koden
export default new BackgroundTimer();
men att ha godtyckliga uttryck i export var inte tillåtet.
