Projekt

Obecné

Profil

Stáhnout (18.5 KB) Statistiky
| Větev: | Revize:
1
declare module "stream" {
2
    import * as events from "events";
3

    
4
    class internal extends events.EventEmitter {
5
        pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
6
    }
7

    
8
    namespace internal {
9
        class Stream extends internal {
10
            constructor(opts?: ReadableOptions);
11
        }
12

    
13
        interface ReadableOptions {
14
            highWaterMark?: number;
15
            encoding?: string;
16
            objectMode?: boolean;
17
            read?(this: Readable, size: number): void;
18
            destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void;
19
            autoDestroy?: boolean;
20
        }
21

    
22
        class Readable extends Stream implements NodeJS.ReadableStream {
23
            /**
24
             * A utility method for creating Readable Streams out of iterators.
25
             */
26
            static from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions): Readable;
27

    
28
            readable: boolean;
29
            readonly readableHighWaterMark: number;
30
            readonly readableLength: number;
31
            readonly readableObjectMode: boolean;
32
            destroyed: boolean;
33
            constructor(opts?: ReadableOptions);
34
            _read(size: number): void;
35
            read(size?: number): any;
36
            setEncoding(encoding: string): this;
37
            pause(): this;
38
            resume(): this;
39
            isPaused(): boolean;
40
            unpipe(destination?: NodeJS.WritableStream): this;
41
            unshift(chunk: any, encoding?: BufferEncoding): void;
42
            wrap(oldStream: NodeJS.ReadableStream): this;
43
            push(chunk: any, encoding?: string): boolean;
44
            _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
45
            destroy(error?: Error): void;
46

    
47
            /**
48
             * Event emitter
49
             * The defined events on documents including:
50
             * 1. close
51
             * 2. data
52
             * 3. end
53
             * 4. error
54
             * 5. pause
55
             * 6. readable
56
             * 7. resume
57
             */
58
            addListener(event: "close", listener: () => void): this;
59
            addListener(event: "data", listener: (chunk: any) => void): this;
60
            addListener(event: "end", listener: () => void): this;
61
            addListener(event: "error", listener: (err: Error) => void): this;
62
            addListener(event: "pause", listener: () => void): this;
63
            addListener(event: "readable", listener: () => void): this;
64
            addListener(event: "resume", listener: () => void): this;
65
            addListener(event: string | symbol, listener: (...args: any[]) => void): this;
66

    
67
            emit(event: "close"): boolean;
68
            emit(event: "data", chunk: any): boolean;
69
            emit(event: "end"): boolean;
70
            emit(event: "error", err: Error): boolean;
71
            emit(event: "pause"): boolean;
72
            emit(event: "readable"): boolean;
73
            emit(event: "resume"): boolean;
74
            emit(event: string | symbol, ...args: any[]): boolean;
75

    
76
            on(event: "close", listener: () => void): this;
77
            on(event: "data", listener: (chunk: any) => void): this;
78
            on(event: "end", listener: () => void): this;
79
            on(event: "error", listener: (err: Error) => void): this;
80
            on(event: "pause", listener: () => void): this;
81
            on(event: "readable", listener: () => void): this;
82
            on(event: "resume", listener: () => void): this;
83
            on(event: string | symbol, listener: (...args: any[]) => void): this;
84

    
85
            once(event: "close", listener: () => void): this;
86
            once(event: "data", listener: (chunk: any) => void): this;
87
            once(event: "end", listener: () => void): this;
88
            once(event: "error", listener: (err: Error) => void): this;
89
            once(event: "pause", listener: () => void): this;
90
            once(event: "readable", listener: () => void): this;
91
            once(event: "resume", listener: () => void): this;
92
            once(event: string | symbol, listener: (...args: any[]) => void): this;
93

    
94
            prependListener(event: "close", listener: () => void): this;
95
            prependListener(event: "data", listener: (chunk: any) => void): this;
96
            prependListener(event: "end", listener: () => void): this;
97
            prependListener(event: "error", listener: (err: Error) => void): this;
98
            prependListener(event: "pause", listener: () => void): this;
99
            prependListener(event: "readable", listener: () => void): this;
100
            prependListener(event: "resume", listener: () => void): this;
101
            prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
102

    
103
            prependOnceListener(event: "close", listener: () => void): this;
104
            prependOnceListener(event: "data", listener: (chunk: any) => void): this;
105
            prependOnceListener(event: "end", listener: () => void): this;
106
            prependOnceListener(event: "error", listener: (err: Error) => void): this;
107
            prependOnceListener(event: "pause", listener: () => void): this;
108
            prependOnceListener(event: "readable", listener: () => void): this;
109
            prependOnceListener(event: "resume", listener: () => void): this;
110
            prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
111

    
112
            removeListener(event: "close", listener: () => void): this;
113
            removeListener(event: "data", listener: (chunk: any) => void): this;
114
            removeListener(event: "end", listener: () => void): this;
115
            removeListener(event: "error", listener: (err: Error) => void): this;
116
            removeListener(event: "pause", listener: () => void): this;
117
            removeListener(event: "readable", listener: () => void): this;
118
            removeListener(event: "resume", listener: () => void): this;
119
            removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
120

    
121
            [Symbol.asyncIterator](): AsyncIterableIterator<any>;
122
        }
123

    
124
        interface WritableOptions {
125
            highWaterMark?: number;
126
            decodeStrings?: boolean;
127
            defaultEncoding?: string;
128
            objectMode?: boolean;
129
            emitClose?: boolean;
130
            write?(this: Writable, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
131
            writev?(this: Writable, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
132
            destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void;
133
            final?(this: Writable, callback: (error?: Error | null) => void): void;
134
            autoDestroy?: boolean;
135
        }
136

    
137
        class Writable extends Stream implements NodeJS.WritableStream {
138
            readonly writable: boolean;
139
            readonly writableEnded: boolean;
140
            readonly writableFinished: boolean;
141
            readonly writableHighWaterMark: number;
142
            readonly writableLength: number;
143
            readonly writableObjectMode: boolean;
144
            readonly writableCorked: number;
145
            destroyed: boolean;
146
            constructor(opts?: WritableOptions);
147
            _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
148
            _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
149
            _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
150
            _final(callback: (error?: Error | null) => void): void;
151
            write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;
152
            write(chunk: any, encoding: string, cb?: (error: Error | null | undefined) => void): boolean;
153
            setDefaultEncoding(encoding: string): this;
154
            end(cb?: () => void): void;
155
            end(chunk: any, cb?: () => void): void;
156
            end(chunk: any, encoding: string, cb?: () => void): void;
157
            cork(): void;
158
            uncork(): void;
159
            destroy(error?: Error): void;
160

    
161
            /**
162
             * Event emitter
163
             * The defined events on documents including:
164
             * 1. close
165
             * 2. drain
166
             * 3. error
167
             * 4. finish
168
             * 5. pipe
169
             * 6. unpipe
170
             */
171
            addListener(event: "close", listener: () => void): this;
172
            addListener(event: "drain", listener: () => void): this;
173
            addListener(event: "error", listener: (err: Error) => void): this;
174
            addListener(event: "finish", listener: () => void): this;
175
            addListener(event: "pipe", listener: (src: Readable) => void): this;
176
            addListener(event: "unpipe", listener: (src: Readable) => void): this;
177
            addListener(event: string | symbol, listener: (...args: any[]) => void): this;
178

    
179
            emit(event: "close"): boolean;
180
            emit(event: "drain"): boolean;
181
            emit(event: "error", err: Error): boolean;
182
            emit(event: "finish"): boolean;
183
            emit(event: "pipe", src: Readable): boolean;
184
            emit(event: "unpipe", src: Readable): boolean;
185
            emit(event: string | symbol, ...args: any[]): boolean;
186

    
187
            on(event: "close", listener: () => void): this;
188
            on(event: "drain", listener: () => void): this;
189
            on(event: "error", listener: (err: Error) => void): this;
190
            on(event: "finish", listener: () => void): this;
191
            on(event: "pipe", listener: (src: Readable) => void): this;
192
            on(event: "unpipe", listener: (src: Readable) => void): this;
193
            on(event: string | symbol, listener: (...args: any[]) => void): this;
194

    
195
            once(event: "close", listener: () => void): this;
196
            once(event: "drain", listener: () => void): this;
197
            once(event: "error", listener: (err: Error) => void): this;
198
            once(event: "finish", listener: () => void): this;
199
            once(event: "pipe", listener: (src: Readable) => void): this;
200
            once(event: "unpipe", listener: (src: Readable) => void): this;
201
            once(event: string | symbol, listener: (...args: any[]) => void): this;
202

    
203
            prependListener(event: "close", listener: () => void): this;
204
            prependListener(event: "drain", listener: () => void): this;
205
            prependListener(event: "error", listener: (err: Error) => void): this;
206
            prependListener(event: "finish", listener: () => void): this;
207
            prependListener(event: "pipe", listener: (src: Readable) => void): this;
208
            prependListener(event: "unpipe", listener: (src: Readable) => void): this;
209
            prependListener(event: string | symbol, listener: (...args: any[]) => void): this;
210

    
211
            prependOnceListener(event: "close", listener: () => void): this;
212
            prependOnceListener(event: "drain", listener: () => void): this;
213
            prependOnceListener(event: "error", listener: (err: Error) => void): this;
214
            prependOnceListener(event: "finish", listener: () => void): this;
215
            prependOnceListener(event: "pipe", listener: (src: Readable) => void): this;
216
            prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this;
217
            prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this;
218

    
219
            removeListener(event: "close", listener: () => void): this;
220
            removeListener(event: "drain", listener: () => void): this;
221
            removeListener(event: "error", listener: (err: Error) => void): this;
222
            removeListener(event: "finish", listener: () => void): this;
223
            removeListener(event: "pipe", listener: (src: Readable) => void): this;
224
            removeListener(event: "unpipe", listener: (src: Readable) => void): this;
225
            removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
226
        }
227

    
228
        interface DuplexOptions extends ReadableOptions, WritableOptions {
229
            allowHalfOpen?: boolean;
230
            readableObjectMode?: boolean;
231
            writableObjectMode?: boolean;
232
            readableHighWaterMark?: number;
233
            writableHighWaterMark?: number;
234
            writableCorked?: number;
235
            read?(this: Duplex, size: number): void;
236
            write?(this: Duplex, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
237
            writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
238
            final?(this: Duplex, callback: (error?: Error | null) => void): void;
239
            destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void;
240
        }
241

    
242
        // Note: Duplex extends both Readable and Writable.
243
        class Duplex extends Readable implements Writable {
244
            readonly writable: boolean;
245
            readonly writableEnded: boolean;
246
            readonly writableFinished: boolean;
247
            readonly writableHighWaterMark: number;
248
            readonly writableLength: number;
249
            readonly writableObjectMode: boolean;
250
            readonly writableCorked: number;
251
            constructor(opts?: DuplexOptions);
252
            _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
253
            _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
254
            _destroy(error: Error | null, callback: (error: Error | null) => void): void;
255
            _final(callback: (error?: Error | null) => void): void;
256
            write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean;
257
            write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;
258
            setDefaultEncoding(encoding: string): this;
259
            end(cb?: () => void): void;
260
            end(chunk: any, cb?: () => void): void;
261
            end(chunk: any, encoding?: string, cb?: () => void): void;
262
            cork(): void;
263
            uncork(): void;
264
        }
265

    
266
        type TransformCallback = (error?: Error | null, data?: any) => void;
267

    
268
        interface TransformOptions extends DuplexOptions {
269
            read?(this: Transform, size: number): void;
270
            write?(this: Transform, chunk: any, encoding: string, callback: (error?: Error | null) => void): void;
271
            writev?(this: Transform, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void;
272
            final?(this: Transform, callback: (error?: Error | null) => void): void;
273
            destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void;
274
            transform?(this: Transform, chunk: any, encoding: string, callback: TransformCallback): void;
275
            flush?(this: Transform, callback: TransformCallback): void;
276
        }
277

    
278
        class Transform extends Duplex {
279
            constructor(opts?: TransformOptions);
280
            _transform(chunk: any, encoding: string, callback: TransformCallback): void;
281
            _flush(callback: TransformCallback): void;
282
        }
283

    
284
        class PassThrough extends Transform { }
285

    
286
        interface FinishedOptions {
287
            error?: boolean;
288
            readable?: boolean;
289
            writable?: boolean;
290
        }
291
        function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options: FinishedOptions, callback: (err?: NodeJS.ErrnoException | null) => void): () => void;
292
        function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void;
293
        namespace finished {
294
            function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, options?: FinishedOptions): Promise<void>;
295
        }
296

    
297
        function pipeline<T extends NodeJS.WritableStream>(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T;
298
        function pipeline<T extends NodeJS.WritableStream>(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T;
299
        function pipeline<T extends NodeJS.WritableStream>(
300
            stream1: NodeJS.ReadableStream,
301
            stream2: NodeJS.ReadWriteStream,
302
            stream3: NodeJS.ReadWriteStream,
303
            stream4: T,
304
            callback?: (err: NodeJS.ErrnoException | null) => void,
305
        ): T;
306
        function pipeline<T extends NodeJS.WritableStream>(
307
            stream1: NodeJS.ReadableStream,
308
            stream2: NodeJS.ReadWriteStream,
309
            stream3: NodeJS.ReadWriteStream,
310
            stream4: NodeJS.ReadWriteStream,
311
            stream5: T,
312
            callback?: (err: NodeJS.ErrnoException | null) => void,
313
        ): T;
314
        function pipeline(streams: Array<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>, callback?: (err: NodeJS.ErrnoException | null) => void): NodeJS.WritableStream;
315
        function pipeline(
316
            stream1: NodeJS.ReadableStream,
317
            stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,
318
            ...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream | ((err: NodeJS.ErrnoException | null) => void)>,
319
        ): NodeJS.WritableStream;
320
        namespace pipeline {
321
            function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise<void>;
322
            function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise<void>;
323
            function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise<void>;
324
            function __promisify__(
325
                stream1: NodeJS.ReadableStream,
326
                stream2: NodeJS.ReadWriteStream,
327
                stream3: NodeJS.ReadWriteStream,
328
                stream4: NodeJS.ReadWriteStream,
329
                stream5: NodeJS.WritableStream,
330
            ): Promise<void>;
331
            function __promisify__(streams: Array<NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream>): Promise<void>;
332
            function __promisify__(
333
                stream1: NodeJS.ReadableStream,
334
                stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream,
335
                ...streams: Array<NodeJS.ReadWriteStream | NodeJS.WritableStream>,
336
            ): Promise<void>;
337
        }
338

    
339
        interface Pipe {
340
            close(): void;
341
            hasRef(): boolean;
342
            ref(): void;
343
            unref(): void;
344
        }
345
    }
346

    
347
    export = internal;
348
}
(34-34/45)