Package Exports
- @nxus/pipeliner
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nxus/pipeliner) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@nxus/pipeliner
A framework for creating and running data pipelines. Data pipelines have stages, which are made of an arbitrary number of tasks. Stages and tasks are run in serial: once a task completes, the next task in the pipeline is executed.
Pipelines take a data object as input, and each task operates on the object in some way.
For an example of the Pipeliner in action, checkout the nxus-static-site module.
Installation
> npm install @nxus/pipeliner --saveUsage
Step 1: Define a pipeline
app.get('pipeliner').pipeline('my-pipeline')Step 1a: Define stages
By default, every pipeline is pre-configured with three stages: 'collect', 'process', 'generate'. However, you can define your own stages:
app.get('pipliner').stages('my-pipeline', ['stage1', 'stage2', 'stage3'])Step 2: Define tasks
A task is a javascript function that accepts any objects passed into the pipeline when it is run.
let myTask = (word) => {
word.toUpperCase();
}
app.get('pipeliner').task('my-pipeline', 'process', myTask)Step 3: Run a pipeline
Once all the tasks for a pipeline have been defined, the last step is to run the pipeline.
app.get('pipeliner').run('my-pipeline', someData)API
Pipeliner
Examples
let myTask = (data) => {
data.word.toUpperCase()
}
let data = {word: 'hello'}
let pipeliner = app.get('pipeliner')
pipeliner.pipeline('capitalize')
pipeliner.task('capitalize', 'process', myTask)
pipeliner.run('capitalize', data).then(() => {
console.log('data') // {word: 'HELLO'}
})getPipeline
Returns a specific pipeline
Parameters
pipelinestring The name of a pipeline to return.
Returns object The pipeline object.
getPipelines
Returns all pipelines which have been defined
Returns object A hash of the pipelines.
pipeline
Create a new pipeline.
Parameters
pipelinestring The name of the pipeline to create
run
Runs the specified pipeline, passing the arguments to each task.
Parameters
Returns Promise A promise that is executed when the pipeline completes.
stages
Define stages for a pipeline
Parameters
stagesarray An array of strings, each string being the name of a stage. Stages are executed in the order in the array.pipelinestring The name of the pipeline to use the stages.
Returns [type] [description]
task
Defintes a task for a pipeline and a stage.
Parameters