diff --git a/lazypipe/lazypipe-tests.ts b/lazypipe/lazypipe-tests.ts new file mode 100644 index 000000000..cd3d3a7fb --- /dev/null +++ b/lazypipe/lazypipe-tests.ts @@ -0,0 +1,18 @@ +/// +/// +/// +/// + +import * as gulp from "gulp"; +import minifyHtml = require("gulp-minify-html"); +import size = require("gulp-size"); +import lazypipe = require("lazypipe"); + +const pipeline = lazypipe() + .pipe(size) + .pipe(minifyHtml, {}) + .pipe(size); + +gulp.src("*.html") + .pipe(pipeline()) + .pipe(gulp.dest("build")); diff --git a/lazypipe/lazypipe.d.ts b/lazypipe/lazypipe.d.ts new file mode 100644 index 000000000..c0fd43ac2 --- /dev/null +++ b/lazypipe/lazypipe.d.ts @@ -0,0 +1,31 @@ +// Type definitions for lazypipe +// Project: https://github.com/OverZealous/lazypipe +// Definitions by: Thomas Corbière +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "lazypipe" +{ + interface IPipelineBuilder + { + /** + * Returns a stream where all the internal steps are processed sequentially + * and the final result is passed on. + */ + (): NodeJS.ReadWriteStream; + + /** + * Creates a new lazy pipeline with all the previous steps, and the new step added to the end. + * @param fn A stream creation function to call when the pipeline is created later. + * @param args Any remaining arguments are saved and passed into fn when the pipeline is created. + */ + pipe(fn: Function, ...args: any[]): IPipelineBuilder; + } + + /** + * Initializes a lazypipe. + */ + function lazypipe(): IPipelineBuilder; + export = lazypipe; +}