Hvordan importerer jeg en JavaScript-modul i TypeScript og kaster til TypeScript-navnerom


Jeg har en JS-fil som gjør monkey patching på noe funksjonalitet i tredjeparts pakker:

import L from 'leaflet';
import 'leaflet.pm';
import 'leaflet-textpath';

...
// do monkeypatching with all 3 packages.
// Only leaflet and leaflet.pm have typedef packages.
...

export default L;

L (leaflet) har en @types-pakke som inkluderer alle typene.

export as namespace L;

...
// export all type defs
...

På dette tidspunktet ønsker jeg ikke å konvertere monkeypatch JS-filen til TS. Jeg kan håndtere å ikke ha typekontroll for den monkeypatchede funksjonaliteten.

Gitt dette prøver jeg å importere monkeypatch.js som L-navnerommet slik at jeg kan bruke det med minst L-typer.

Jeg har prøvd ulike ting som følgende, men har ikke hatt noen hell:

import MonkeyPatch from 'monkey-patch';

const TS = MonkeyPatch as L;

Dette fungerer ikke på grunn av at man ikke kan bruke et navneområde L som en type.

Hvordan kan jeg importere monkeypatch JS-filen som L-navnerom slik at jeg har L-typekontroll?

Relaterte artikler