typescript - Utöka extern modul som exporterar standard


Hur kan jag utöka en modul som exporterar standard? T.ex.:

default-modul.d.ts

declare namespace TheNamespace {
  interface TheInterface {
    prop: number
  }
}

export default TheNamespace

app.ts

import theModule from "./default-module"

declare module "./default-module" {
  interface AugmentedInterface {
    augmentedProp: number
  }
}

let theNormalVariable: theModule.TheInterface          // fine
let theAugmentedVariable: theModule.AugmentedInterface // errors

Men när din export = istället för export default, verkar detta fungera bra. (som diskuterats i detta ärende)

equals-module.d.ts

declare namespace TheNamespace {
  interface TheInterface {
    prop: number
  }
}

export = TheNamespace

app.ts

import theModule = require("./equals-module")

declare module "./equals-module" {
  interface AugmentedInterface {
    augmentedProp: number
  }
}

let theNormalVariable: theModule.TheInterface          // fine
let theAugmentedVariable: theModule.AugmentedInterface // fine

Relaterade artiklar