Merge interface from namespace in module declaration file

后端 未结 2 1772
情书的邮戳
情书的邮戳 2021-01-23 05:52

I have a javascript library which has a type definition file here: https://github.com/tyranid-org/tyranid/blob/master/tyranid.d.ts which is exposed via the typings

2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-23 06:34

    The following ended up working...

    in node_modules/tyranid/tyranid.d.ts:

    export = Tyr // must do "import * as Tyr from 'tyranid'" instead of default
    
    declare namespace Tyr {
      export interface Document {
        // original definition...
      }
    }
    

    in mylib/tyranid-extensions.d.ts...

    declare module "tyranid" {
      interface Document {
        addedMethod(): boolean; 
      }
    }
    

    Thanks @pelle-jacobs for the help!

提交回复
热议问题