{"_id":"lazypipe","_rev":"1954084","name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","dist-tags":{"latest":"1.0.2"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"time":{"modified":"2021-12-13T12:51:53.000Z","created":"2014-01-20T02:23:53.291Z","1.0.2":"2018-12-12T13:18:57.407Z","1.0.1":"2015-07-02T19:56:44.021Z","1.0.0":"2015-07-02T19:48:36.115Z","0.2.4":"2015-06-18T01:07:45.385Z","0.2.3":"2015-04-07T23:23:53.570Z","0.2.2":"2014-07-22T14:47:08.092Z","0.2.1":"2014-02-17T20:13:12.258Z","0.2.0":"2014-02-08T20:32:02.612Z","0.1.4":"2014-02-04T16:26:55.077Z","0.1.3":"2014-01-23T05:14:20.429Z","0.1.2":"2014-01-21T03:48:41.669Z","0.1.1":"2014-01-20T02:29:26.559Z","0.1.0":"2014-01-20T02:23:53.291Z"},"users":{"gaboesquivel":true,"knownasilya":true,"inancgumus":true,"overzealous":true,"zhangyaochun":true,"palcu":true,"nate-wilkins":true,"itonyyo":true,"southerneer":true,"davidchase":true,"arahnoid":true,"tobiasalthoff":true,"preflight":true,"battlemidget":true,"owanturist":true,"markstos":true,"boterom89":true,"evan2x":true,"vwal":true,"wangnan0610":true,"andamira":true,"stany":true,"keberox":true,"antixrist":true,"marcelohmdias":true,"sopepos":true,"slucas":true,"johnym":true,"jruif":true,"fassetar":true,"iori20091101":true,"andrew.goodchild":true,"acoyang":true,"furzeface":true,"dvl":true,"soulchainer":true,"v.sapigura":true,"larrychen":true,"seangenabe":true,"maxwang":true,"keyu":true,"dockawash":true,"allenmoore":true,"zoxon":true,"kiinlam":true,"rafegoldberg":true,"ccd3v":true,"kostya.fokin":true,"wangchaofan":true,"adammacias":true},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"versions":{"1.0.2":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"1.0.2","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"event-stream":"3.3.4","mocha":"^5.2.0","should":"*"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"license":"MIT","gitHead":"48eca52168362c79783fe350debd8c3f558cb2cc","_id":"lazypipe@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"b66f64ed7fd8b04869f1f1bcb795dbbaa80e418c","size":4019,"noattachment":false,"key":"/lazypipe/-/lazypipe-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-1.0.2.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lazypipe_1.0.2_1544620737236_0.6814127422061449"},"_hasShrinkwrap":false,"publish_time":1544620737407,"_cnpm_publish_time":1544620737407},"1.0.1":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"1.0.1","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"license":"MIT","gitHead":"7632bf93d622e850ea5423edcf01203f6e40d45d","_id":"lazypipe@1.0.1","_shasum":"1471aef6b37a340d51c34df44699dcef064c1940","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"1471aef6b37a340d51c34df44699dcef064c1940","size":3471,"noattachment":false,"key":"/lazypipe/-/lazypipe-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-1.0.1.tgz"},"publish_time":1435867004021,"_cnpm_publish_time":1435867004021,"_hasShrinkwrap":false},"1.0.0":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"1.0.0","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner2":"*"},"devDependencies":{"mocha":"*","should":"*","through2":"^2.0.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":"MIT","gitHead":"d8620ba702666b40748ca7a7345ed6338adff906","_id":"lazypipe@1.0.0","_shasum":"c210b1fd04d29730228c0fc9d7c5db9250e1a8e9","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"c210b1fd04d29730228c0fc9d7c5db9250e1a8e9","size":3448,"noattachment":false,"key":"/lazypipe/-/lazypipe-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-1.0.0.tgz"},"publish_time":1435866516115,"_cnpm_publish_time":1435866516115,"_hasShrinkwrap":false},"0.2.4":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.2.4","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":"MIT","gitHead":"980bc33fb55562cfa258870db551d1e15d634b59","_id":"lazypipe@0.2.4","_shasum":"6f0a689db1207fb88a5ed4a2c9e577e25d17a34d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"6f0a689db1207fb88a5ed4a2c9e577e25d17a34d","size":3319,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.2.4.tgz"},"publish_time":1434589665385,"_cnpm_publish_time":1434589665385,"_hasShrinkwrap":false},"0.2.3":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.2.3","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"gitHead":"64a58d2717d0de7ee67436afdf8b32b878862249","_id":"lazypipe@0.2.3","_shasum":"454b4abe65b8f8c3f88af235d0098b5dd5dc6e4e","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"454b4abe65b8f8c3f88af235d0098b5dd5dc6e4e","size":3340,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.2.3.tgz"},"publish_time":1428449033570,"_cnpm_publish_time":1428449033570,"_hasShrinkwrap":false},"0.2.2":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.2.2","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"gitHead":"4dfddb73f1cd55dc0b8bc974e0157b5c7c3bf899","_id":"lazypipe@0.2.2","_shasum":"1cf1792b5e76b3b31f549c72876f73358940353a","_from":".","_npmVersion":"1.4.20","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"dist":{"shasum":"1cf1792b5e76b3b31f549c72876f73358940353a","size":3278,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.2.2.tgz"},"publish_time":1406040428092,"_cnpm_publish_time":1406040428092,"_hasShrinkwrap":false},"0.2.1":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.2.1","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"_id":"lazypipe@0.2.1","dist":{"shasum":"c4347db1d5afa47f75ef5251a2312a9525698cc6","size":2886,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.2.1.tgz"},"_from":".","_npmVersion":"1.3.26","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1392667992258,"_cnpm_publish_time":1392667992258,"_hasShrinkwrap":false},"0.2.0":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.2.0","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"_id":"lazypipe@0.2.0","dist":{"shasum":"cee05e9b8ecfa44975a67bb371ac2a2ec0d65bfd","size":3276,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.2.0.tgz"},"_from":".","_npmVersion":"1.3.26","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1391891522612,"_cnpm_publish_time":1391891522612,"_hasShrinkwrap":false},"0.1.4":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.1.4","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"_id":"lazypipe@0.1.4","dist":{"shasum":"1185ccbe95d3da92814f4536b121d0baabda6466","size":3004,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.1.4.tgz"},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1391531215077,"_cnpm_publish_time":1391531215077,"_hasShrinkwrap":false},"0.1.3":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.1.3","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpfriendly","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"_id":"lazypipe@0.1.3","_from":".","dist":{"shasum":"6388b74bf3a9244d3702d686701a4cfff6e5fbfe","size":3241,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.1.3.tgz"},"_npmVersion":"1.3.24","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1390454060429,"_cnpm_publish_time":1390454060429,"_hasShrinkwrap":false},"0.1.2":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.1.2","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpplugin","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"_id":"lazypipe@0.1.2","_from":".","dist":{"shasum":"e0921cebd8d5d7266df4bfdcc0d4cb34b58b92bf","size":3234,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.1.2.tgz"},"_npmVersion":"1.3.23","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1390276121669,"_cnpm_publish_time":1390276121669,"_hasShrinkwrap":false},"0.1.1":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.1.1","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpplugin","stream","streams","combine","lazy","pipeline","gulp"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"readmeFilename":"README.md","bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"_id":"lazypipe@0.1.1","_from":".","dist":{"shasum":"c18354f02d283317bc2027f36b46981ef73e8999","size":3197,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.1.1.tgz"},"_npmVersion":"1.3.23","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1390184966559,"_cnpm_publish_time":1390184966559,"_hasShrinkwrap":false},"0.1.0":{"name":"lazypipe","description":"Use to create an immutable, lazily initialized pipeline from a series of streams.","version":"0.1.0","homepage":"https://github.com/OverZealous/lazypipe","repository":{"type":"git","url":"git://github.com/OverZealous/lazypipe.git"},"author":{"name":"Phil DeJarnett","url":"http://overzealous.com/"},"main":"./index.js","keywords":["gulpplugin"],"dependencies":{"stream-combiner":"*"},"devDependencies":{"mocha":"*","should":"*","event-stream":"~3.1.0"},"directories":{"test":"test"},"scripts":{"test":"mocha --reporter spec"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"http://github.com/OverZealous/lazypipe/raw/master/LICENSE"}],"readmeFilename":"README.md","bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"_id":"lazypipe@0.1.0","_from":".","dist":{"shasum":"591720bea641f3fdfe927e474dff7a1b80d17031","size":3173,"noattachment":false,"key":"/lazypipe/-/lazypipe-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/lazypipe/download/lazypipe-0.1.0.tgz"},"_npmVersion":"1.3.23","_npmUser":{"name":"overzealous","email":"phil@overzealous.com"},"maintainers":[{"name":"npm:overzealous","email":""},{"name":"overzealous","email":"phil@overzealous.com"}],"publish_time":1390184633291,"_cnpm_publish_time":1390184633291,"_hasShrinkwrap":false}},"readme":"# lazypipe\r\n\r\n[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Support via Gratipay][gratipay-image]][gratipay-url]\r\n\r\nLazypipe allows you to create an immutable, lazily-initialized pipeline.  It's designed to be used in an environment where you want to reuse partial pipelines, such as with [gulp](http://gulpjs.com).\r\n\r\nThis module returns a function that can be used to start building a lazypipe.  Individual steps are added via the `.pipe()` method.  At any point, a new lazypipe can be built by adding to an existing one, without affecting the previous lazypipe.  Lazypipes can even be used as steps within another lazypipe.\r\n\r\nOnce the partial pipeline is ready to use, call the last result from `.pipe()` directly as a function (e.g.: `.pipe()()`).\r\n\r\n[Changelog][]\r\n\r\n## Usage\r\n\r\nInstall using:\r\n\r\n    npm i --save-dev lazypipe\r\n\r\nThen create lazypipes like so:\r\n\r\n```js\r\n// Example usage within a gulpfile\r\nvar lazypipe = require('lazypipe');\r\n\r\n...\r\n\r\n// initialize a lazypipe\r\nvar jsHintTasks = lazypipe()\r\n    // adding a pipeline step, notice the stream function has not been called!\r\n    .pipe(jshint)\r\n    // adding a step with an argument\r\n    .pipe(jshint.reporter, 'jshint-stylish');\r\n \r\n// this is OK, because lazypipes are immutable\r\n// jsHintTasks will _not_ be affected by the addition.\r\nvar jsTasks = jsHintTasks\r\n    .pipe(gulp.dest, 'build/js');\r\n \r\n// Create another pipe\r\nvar cssTasks = lazypipe()\r\n    .pipe(recess, recessConfig)\r\n    .pipe(less)\r\n    .pipe(autoprefixer);\r\n\r\n\r\n// now using the lazypipes\r\ngulp.task('jsHint', function() {\r\n    gulp.src('js/**/*.js').pipe(jsHintTasks());\r\n});\r\n\r\ngulp.task('build', function() {\r\n    // for example only!\r\n    return gulp.src('js/**/*.js').pipe(jsTasks());\r\n});\r\n\r\ngulp.task('default', ['build'], function() {\r\n\t// using gulp-watch\r\n\twatch('js/**/*.js').pipe(jsTasks());\r\n});\r\n```\r\n\r\nYou can combine lazypipes in various ways:\r\n\r\n```js\r\n// streamA -> streamB\r\nvar foo = lazypipe().pipe(streamA).pipe(streamB);\r\n\r\n// streamA -> streamB -> streamC\r\nvar bar = foo.pipe(streamC);\r\n\r\n// streamD -> streamA -> streamB -> streamE\r\nvar baz = lazypipe().pipe(streamD).pipe(foo).pipe(streamE);\r\n\r\n```\r\n\r\n### Using with more complex function arguments (such as [gulp-if](https://github.com/robrich/gulp-if))\r\n\r\nLazypipe assumes that all function parameters are static, gulp-if arguments need to be instantiated inside each lazypipe.  This difference can be easily solved by passing a function on the lazypipe step\r\n\r\n```js\r\nvar gulpif = require('gulp-if');\r\nvar jshint = require('gulp-jshint');\r\nvar uglify = require('gulp-uglify');\r\nvar concat = require('gulp-concat');\r\n\r\nvar compressing = false;\r\n\r\nvar jsChannel = lazypipe()\r\n  // adding a pipeline step\r\n  .pipe(jshint) // notice the stream function has not been called!\r\n  .pipe(jshint.reporter)\r\n  // adding a step with an argument\r\n  .pipe(jshint.reporter, 'fail')\r\n  // adding a step with multiple arguments\r\n  .pipe(concat, 'bundle.js', {newLine: ';'})\r\n  // you can't say: .pipe(gulpif, compressing, uglify)\r\n  // because uglify needs to be instantiated separately in each lazypipe instance\r\n  // you can say this instead:\r\n  .pipe(function () {\r\n    return gulpif(compressing, uglify());\r\n  });\r\n  // why does this work? lazypipe calls the function, passing in the no arguments to it,\r\n  // it instantiates a new gulp-if pipe and returns it to lazypipe.\r\n\r\ngulp.task('scripts', function () {\r\n  return gulp.src(paths.scripts.src)\r\n    .pipe(jsChannel())\r\n    .pipe(gulp.dest(paths.scripts.dest));\r\n});\r\n```\r\n\r\n[source](https://github.com/robrich/gulp-if/issues/32)\r\n\r\n\r\n## API\r\n\r\n### `lazypipe()`\r\n\r\nInitializes a lazypipe.  Returns a function that can be used to create the pipeline.  The returned function has a function (`pipe`) which can be used to create new lazypipes with an additional step.\r\n\r\n### `lazypipe().pipe(fn[, arg1[, arg2[, ...]]])`\r\n\r\nCreates a new lazy pipeline with all the previous steps, and the new step added to the end.  Returns the new lazypipe.\r\n\r\n* `fn` - a stream creation function to call when the pipeline is created later.  You can either provide existing functions (such as gulp plugins), or provide your own custom functions if you want to manipulate the stream before creation.\r\n* `arg1, arg2, ...` - Any remaining arguments are saved and passed into `fn` when the pipeline is created.\r\n\r\nThe arguments allows you to pass in configuration arguments when the pipeline is created, like this:\r\n\r\n```js\r\nvar pipeline = lazypipe().pipe(jsHint, jsHintOptions);\r\n\r\n// now, when gulp.src().pipe(pipeline()) is called later, it's as if you did:\r\ngulp.src().pipe(jsHint(jsHintOptions));\r\n```\r\n\r\n### `lazypipe()()`  *\"build\"*\r\n\r\nCalling the result of `pipe()` as a function builds the pipeline at that time.  This can be used multiple times, and can even be called if the lazypipe was used to create different pipelines.\r\n\r\nIt returns a stream created using `stream-combiner`, where all the internal steps are processed sequentially, and the final result is passed on.\r\n\r\n## Help Support This Project\r\n\r\nIf you'd like to support this and other OverZealous Creations (Phil DeJarnett) projects, [donate via Gratipay][gratipay-url]!\r\n\r\n[![Support via Gratipay][gratipay-image]][gratipay-url]\r\n\r\n\r\n## LICENSE\r\n\r\n[MIT License](http://en.wikipedia.org/wiki/MIT_License)\r\n\r\n[npm-url]: https://npmjs.org/package/lazypipe\r\n[npm-image]: https://badge.fury.io/js/lazypipe.png\r\n\r\n[travis-url]: http://travis-ci.org/OverZealous/lazypipe\r\n[travis-image]: https://secure.travis-ci.org/OverZealous/lazypipe.png?branch=master\r\n\r\n\r\n[gratipay-url]: https://www.gratipay.com/OverZealous/\r\n[gratipay-image]: https://img.shields.io/gratipay/OverZealous.svg\r\n\r\n[Changelog]: https://github.com/OverZealous/lazypipe/blob/master/CHANGELOG.md","_attachments":{},"homepage":"https://github.com/OverZealous/lazypipe","bugs":{"url":"https://github.com/OverZealous/lazypipe/issues"},"license":"MIT"}