2017-07-27 4 views
0

Ich versuche, neue Art zu existsing hapi Definitionen erweitern hinzuzufügen ... Ich möchte seneca Typ hinzuzufügen ... Hier ist BeispielWie Hapi Typen [Typoskript]

interface SenecaMethods { 
    act: any; 
    add: any; 
} 

interface HapiServer extends Hapi.Server { 
    info: any; 
    seneca: SenecaMethods; 
} 

const server: HapiServer = new Hapi.Server(); 

Fehler es Rückkehr Server ist HapiServer nicht zuweisbar, Eigenschaft 'seneca' fehlt im Typserver.

Wie ist es möglich, Seneca-Methoden zu Hapi.Server hinzuzufügen? Ich kann seneca als optional setzen, aber ich will es nicht optional sein ....

+0

Werfen Sie einen Blick in den Deklarationsabschnitt (Typoskript doc): https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html –

+0

Welche Rolle könnten Sie beispielsweise zeigen? –

Antwort

3

Sie haben ein paar Optionen:

Besetzung:

const server: HapiServer = new Hapi.Server() as HapiServer; 

//server.seneca === undefined 

Vereinigung

erweitern

class MyHapiServer extends Hapi.Server { 
    info: any; 
    seneca: SenecaMethods; 

    constructor(){ 
    super(); 
    this.seneca = { 
     act:"foo", 
     add:"bar", 
    } 
    } 
} 

const server: MyHapiServer = new MyHapiServer(); 
Verwandte Themen