2016-08-06 28 views
1

Gegeben this definition file, konnte mir jemand bestätigen, dass es nicht möglich ist, die exportierte Request Schnittstelle zu erweitern, da der Namespace nicht exportiert wird? Wenn es möglich ist, würde ich irgendwelche Hinweise in der richtigen Richtung zu schätzen :)Typoskript: Erweiterungsmodul in Definitionsdatei

versuchte ich folgend in meinem index.d.ts, ohne Erfolg:

declare module 'koa' { 
    namespace Koa { 
     export interface Request { 
      body: string; 
     } 
    } 
} 

Danke, Robin

Antwort

0

Es ist möglich, Erweitern Sie es, Sie müssen nur die gesamte Modul-Deklaration wiederholen, um dies zu tun.

koa.d.ts:

declare module 'koa' { 
    namespace Koa { 
     export interface Request { 
      body: string; 
     } 
    } 
} 

someOtherFile.d.ts:

declare module 'koa' { 
    namespace Koa { 
     export interface Request { 
      head: string; 
     } 
    } 
} 

useIt.ts:

import {Koa} from 'koa'; 

let x : Koa.Request; 

x.head; // works just fine