2016-07-11 3 views
0

Я пытаюсь создать метод для Readable Stream, но, попробовав немного, у меня кончились идеи о том, как это сделать.Как я могу расширить поток Node

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 

Может кто-нибудь дать мне решение и объяснить, почему произошли ошибки? Благодаря

ответ

0

Мне удалось расширить их. Поведение не было столь же необычно, как я думал, что (я до сих пор было бы признателен за разъяснение по разнице «типа" читаемый»и«типа "TypeOf читаемый» Код:.

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

объяснить, почему ошибки произошло

Первое правило миграции из JavaScript в машинописном:

Объявите, что вы используете.

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

Readable Здесь нет элемента, который вы ищете. Если вы хотите добавить его, вам нужно объявить об этом. Что-то вроде:

interface Readable { 
    asdfasdfasdf: any; 
} 
+0

Я использую узел где я могу найти класс Readable. Почему я должен объявлять интерфейс, хотя уже есть класс с этим именем? – eduardogbg

Смежные вопросы