interfață - Cum să re-exporți tipurile ca globale în TypeScript
Aș dori ca o interfață (definită într-un fișier separat) să fie accesibilă global, cum pot face acest lucru?
Iată fișierul meu globals.d.ts
import { Theme, Style } from './style/themes/theme.types'
declare global {
Theme
Style
}
Acest lucru îmi dă o eroare
Statements are not allowed in ambient contexts.ts(1036)
'Theme' only refers to a type, but is being used as a value here.ts(2693)
Răspuns #1
Acesta ar putea fi un truc, deoarece generează o eroare dacă este plasat într-un fișier .ts, dar pare să funcționeze atunci când este plasat într-un fișier .d.ts.
Ideea este să imporți tipul cu un nume și să îl exporți cu altul.
src/globals.d.ts:
import type { DeepPick as _DeepPick } from "ts-deep-pick";
declare global {
export { _DeepPick as DeepPick };
}
