2016-07-11 29 views
0

Ich versuche, eine Methode für Readable Stream zu erstellen, aber nachdem ich nur ein wenig versucht habe, ging mir die Ideen, wie.Wie kann ich Node-Stream zu erweitern

import * as stream from 'stream' 
//yields Property 'asdasas' does not exists on type 'Readable' 
stream.Readable.prototype.asdasas 
//yields asdas does not exists on type 'typeof Readable' 
stream.Readable.asdas 

Kann mir jemand eine Lösung geben und erklären, warum die Fehler passiert sind?

Dank

Antwort

0

Ich habe es geschafft, sie zu erweitern. Das Verhalten war nicht so ungewöhnlich, wie ich dachte (ich immer noch eine Erklärung über den Unterschied von schätzen würde „Typ‚Lesbare‘“ und „Typ‚typeof Lesbare‘“ Der Code.

import * as stream from 'stream' 

class mod_Readable extends stream.Readable { 
    pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T { 
     //whatever 
     return super.pipe(destination, options) 
    } 
} 
1

erklären, warum die Fehler

Die erste Regel der Migration von JavaScript passiert Typoskript:

erklären, was Sie verwenden.

https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html

Hier Readable hat nicht das Mitglied die Sie suchen. Wenn Sie es hinzufügen möchten, müssen Sie es deklarieren. Etwas wie:

interface Readable { 
    asdfasdfasdf: any; 
} 
+0

Ich verwende Knotens Typdefinitionsdateien, dort finde ich die lesbare Klasse Warum sollte ich die Schnittstelle deklarieren, obwohl es bereits eine Klasse mit diesem Namen gibt? – eduardogbg

Verwandte Themen