barnard59-core

Core component of Barnard59 Linked Data pipelines

Usage no npm install needed!

<script type="module">
  import barnard59Core from 'https://cdn.skypack.dev/barnard59-core';
</script>

README

barnard59-core

The core component of Barnard59 Linked Data pipelines to create and run pipelines.

Usage

The package exports multiple functions which can be imported like this:

import { createPipeline, run } from 'barnard59-core' 

createPipeline(ptr, { basePath, context, logger, variables })

Creates a new Pipeline object based on the definition given as graph pointer in ptr. The function accepts the following arguments:

  • ptr: A graph pointer to the pipeline definition.
  • basePath: Optional an alternative base path given as string, which is used by the code loaders.
  • context: Additional optional properties which will be merged into the loader context.
  • logger: An optional alternative winston logger instance that should be used. See defaultLogger() if you want to create a logger based on the default logger settings.
  • variables: Additional optional variables which will be merged into the pipeline variables.

defaultLoaderRegistry()

Creates an instance of a loader registry that contains all default loaders. The function can be used to create custom registry instances based on the defaults.

defaultLogger({ console, errorFilename, filename, level })

The function accepts the following arguments:

  • console (default: true)
  • errorFilename (default: null)
  • filename: (default: null)
  • level: (default: error)

async run(pipeline, { end = false, resume = false } = {})

Wait for a pipeline to finish. Optional calls .end() or .resume() on the stream of the pipeline to trigger processing.

The function accepts the following arguments:

  • pipeline: The pipeline as Pipeline object.
  • end: An optional flag, if true calls .end() on the stream of the pipeline. (default = false)
  • resume: An optional flag, if true calls .resume() on the stream of the pipeline. (default = false)