diff --git a/event-stream/event-stream-tests.ts b/event-stream/event-stream-tests.ts new file mode 100644 index 000000000..7be9160fc --- /dev/null +++ b/event-stream/event-stream-tests.ts @@ -0,0 +1,18 @@ +/// +/// + +import gulp = require("gulp"); +import * as es from "event-stream"; + +gulp.task("es:concat", () => { + var streams = gulp.src(["*"]) + .pipe(gulp.dest("build")); + + return es.concat.apply(null, streams); +}); + +gulp.task("es:readArray ", () => { + var reader = es.readArray([1, 2, 3]); + +}); + diff --git a/event-stream/event-stream.d.ts b/event-stream/event-stream.d.ts new file mode 100644 index 000000000..85d676d33 --- /dev/null +++ b/event-stream/event-stream.d.ts @@ -0,0 +1,142 @@ +// Type definitions for event-stream v3.3.2 +// Project: https://github.com/dominictarr/event-stream +// Definitions by: David Gardiner +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare module 'event-stream' +{ + import * as stream from 'stream'; + + /** + * Create a through stream from an asynchronous function + * + * @param asyncFunction + */ + export function map(asyncFunction: Function): stream.Stream; + + /** + * Same as map, but the callback is called synchronously. Based on es.through + * @param syncFunction + */ + export function mapSync(syncFunction: Function): stream.Stream; + + /** + * Break up a stream and reassemble it so that each line is a chunk. matcher may be a String, or a RegExp + * + * @param matcher + */ + export function split(matcher: string | RegExp): stream.Stream; + + /** + * Create a through stream that emits separator between each chunk, just like Array#join + * + * @param separator + */ + export function join(separator: string): stream.Stream; + + /** + * Merges streams into one and returns it. Incoming data will be emitted as soon it comes into - no ordering will be applied + * (for example: data1 data1 data2 data1 data2 - where data1 and data2 is data from two streams). + * Counts how many streams were passed to it and emits end only when all streams emitted end. + * + * @param stream + */ + export function concat(...stream: stream.Stream[]): stream.Stream; + + /** + * Merges streams into one and returns it. Incoming data will be emitted as soon it comes into - no ordering will be applied + * (for example: data1 data1 data2 data1 data2 - where data1 and data2 is data from two streams). + * Counts how many streams were passed to it and emits end only when all streams emitted end. + * + * @param stream + */ + export function concat(streamArray:stream.Stream[]): stream.Stream; + + /** + * Merges streams into one and returns it. Incoming data will be emitted as soon it comes into - no ordering will be applied + * (for example: data1 data1 data2 data1 data2 - where data1 and data2 is data from two streams). + * Counts how many streams were passed to it and emits end only when all streams emitted end. + * + * @param stream + */ + export function merge(...stream: stream.Stream[]): stream.Stream; + + /** + * Merges streams into one and returns it. Incoming data will be emitted as soon it comes into - no ordering will be applied + * (for example: data1 data1 data2 data1 data2 - where data1 and data2 is data from two streams). + * Counts how many streams were passed to it and emits end only when all streams emitted end. + * + * @param stream + */ + export function merge(streamArray: stream.Stream[]): stream.Stream; + + /** + * Replace all occurrences of from with to + * @param from + * @param to + */ + export function replace(from: string | RegExp, to: string | RegExp): stream.Stream; + + /** + * Convenience function for parsing JSON chunks. For newline separated JSON, use with es.split. + * By default it logs parsing errors by console.error; for another behaviour, transforms created by es.parse({error: true}) + * will emit error events for exceptions thrown from JSON.parse, unmodified. + */ + export function parse(): any; + + /** + * convert javascript objects into lines of text. The text will have whitespace escaped and have a \n appended, so it will be compatible with es.parse + */ + export function stringify(): stream.Stream; + + /** + * create a readable stream (that respects pause) from an async function. + * + * @param asyncFunction + */ + export function readable(asyncFunction: Function): stream.Stream; + + /** + * Create a readable stream from an Array. + * + * @param array + */ + export function readArray(array: any[]): stream.Stream; + + /** + * create a writeable stream from a callback + * + * @param callback + */ + export function writeArray(callback: Function): stream.Stream; + + /** + * A stream that buffers all chunks when paused + */ + export function pause(): stream.Stream | void; + + /** + * Takes a writable stream and a readable stream and makes them appear as a readable writable stream. + * + * @param writeStream + * @param readStream + */ + export function duplex(writeStream: stream.Writable, readStream: stream.Readable): stream.Stream; + + /** + * Create a through stream from a child process + * + * @param child_process + */ + export function child(child_process: any): stream.Stream; + + /** + * waits for stream to emit 'end'. joins chunks of a stream into a single string or buffer. + * Takes an optional callback, which will be passed the complete string/buffer when it receives the 'end' event. + * + * @param callback + */ + export function wait(callback: Function): stream.Stream; +} \ No newline at end of file