data-shifter

1.1.0 • Public • Published

data-shifter

This package provides a data validation and transformation pipeline. Due to the functional nature of this package, it's easy to swap the components of the pipeline to dynamically generate different transformations.

Usage

The convert module leverages currying to build this pipeline:

const transformed = await convert(validator, fn=validate)(shifter)(data);

Where the arguments are:

  • validator: A schema validator (yup is used by the provided validators)
    • fn (optional): the name of the validator function to be called
    • Any promise-based validator with a fn that resolves with the validated data and rejects with an error can be used
  • shifter: A function that performs the transformation and returns the transformed data
  • data: An object to be validated and transformed

This package comes with a few predefined validators and shifters which can be obtained using the resolvers module (example), but the real power of this library comes from the fact that the pipeline just acts as a framework that custom validators and shifters can be plugged into (example).

Readme

Keywords

none

Package Sidebar

Install

npm i data-shifter

Weekly Downloads

4

Version

1.1.0

License

ISC

Unpacked Size

11.1 kB

Total Files

14

Last publish

Collaborators

  • chrismeyers