1.2.0 • Published 5 years ago

@prof-itgroup/data-converter v1.2.0

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
5 years ago

DataConverter

DataConverter is a toolkit for converting data between any formats.

Install

First make sure you have installed the latest version of node.js (You may need to restart your computer after this step).

From NPM:

mpm install @prof-itgroup/data-converter

Model

The model configuration allows to configure the data scheme that can be handled by converter and the data format that will be received on output.

The model is a array of fields which are named Node. A Node contains next fields:

{
    "to": "position.coordinates.2",
    "from": "height",
    "defaultValue": 0,
    "type": "number",
  }

key - String, required

type: 'string', 'number' or 'boolean', required

from: String, optional

defaultValue: String, Number, Boolean or null, optional

Example

const { converter } = require('@prof-itgroup/data-converter');

const model = [
  {
    to: 'position.coordinates.0',
    from: 'lat',
    type: 'number',
  },
  {
    to: 'position.coordinates.1',
    from: 'lon',
    type: 'number',
  },
  {
    to: 'position.coordinates.2',
    from: 'height',
    defaultValue: 0,
    type: 'number',
  },
  {
    to: 'position.type',
    defaultValue: 'Point',
    type: 'string',
  },
  {
    to: 'speed',
    from: 'speed',
    type: 'number',
  },
];

console.log(converter(model, { lat: 52.123234, lon: 32.434345, speed: 100 })); // { position: { type: 'Point', coordinates: [52.123234, 32.434345, 0], }, speed: 100 };

You can get prebuilt function using factory function:

const { converter, factory } = require('@prof-itgroup/data-converter');

const model = [
  {
    to: 'position.coordinates.0',
    from: 'lat',
    type: 'number',
  },
  {
    to: 'position.coordinates.1',
    from: 'lon',
    type: 'number',
  },
  {
    to: 'position.coordinates.2',
    from: 'height',
    defaultValue: 0,
    type: 'number',
  },
  {
    to: 'position.type',
    defaultValue: 'Point',
    type: 'string',
  },
  {
    to: 'speed',
    from: 'speed',
    type: 'number',
  },
];

const handler = factory(converter, model); // prebuilt converter

console.log(handler({ lat: 52.123234, lon: 32.434345, speed: 100 })); // { position: { type: 'Point', coordinates: [52.123234, 32.434345, 0], }, speed: 100 };
1.2.0

5 years ago

1.1.0

5 years ago

1.0.8-0

5 years ago

1.0.8

5 years ago

1.0.7-0

5 years ago

1.0.6-0

5 years ago

1.0.5

5 years ago