k-pipeline
Executes a bunch of callback styled functions serially
This is an adhoc/opinionated version of the popular async.<waterfall|serial>
install
With npm do:
npm install k-pipeline
example - flow control
const Pipeline = const assert = let pipeline = Pipeline pipeline
example - pipeline callback api is available as both functions or methods of the first parameter
const Pipeline = let pipeline = Pipeline // override constructor statepipeline
example - custom state
const Pipeline = let aState = foo: 'bar' let pipeline = Pipeline // override constructor statepipeline
example - reuse the pipeline
const Pipeline = let aState = foo: 'bar' let pipeline = Pipeline // state will reset to a new javascript object each run()pipeline
example - error in the pipe
const Pipeline = let error = let pipeline = Pipeline pipeline
example - stopping the pipeline
const Pipeline = const assert = let aState = foo: 'bar' let pipeline = Pipeline // state will reset to a new javascript object each run()pipeline
example - loops inside the pipeline
const Pipeline = const assert = let aState = foo: 'bar' let pipeline = Pipeline // state will reset to a new javascript object each run()pipeline
example - save results of an operation to the pipeline state
const Pipeline = const assert = { } let pipeline = Pipeline // state will reset to a new javascript object each run()pipeline
stuff you can't do
call a callback twice
const Pipeline = let pipeline = Pipeline pipeline
call run() twice in the same tick
const Pipeline = let pipeline = Pipeline pipelinepipeline // throws an error
Changelog
3.3.0
- add save() to callback api
- expose all callback functions as method of the first parameter:
(state, next, stop, loop, save) => {}
can now be written as(state, ops) => { ops.save(); ops.stop() ...}
license
MIT © yaniv kessler