smart-mapper

0.9.1 • Public • Published

smart-mapper

Smart Mapper is useful when you want transform data that you have received.

The lastest version of this document is available on Github > smart-mapper

Installation

npm install smart-mapper --save

OR

yarn add smart-mapper --save

Without installation

<script src="https://cdn.jsdelivr.net/npm/smart-mapper/distrib/smart-mapper.min.js"></script>

References for Nodejs

const SmartMapper = require('smart-mapper');

References in browser

<script src="node_modules/passthrough-object/distrib/passthrough-object.min.js"></script>

<script src="./node_modules/smart-mapper/distrib/smart-mapper.min.js"></script>

How it works

SmartMapper.mapping(template, entryData);

Arguments

entryData: json data to transform

template: json object contain this structure :
    mappings: json object that contain in keys the destination, and in values the path in   the specific object to extract
    rules: array that contains methods to execute on a particular field during the transformation.
    rules is an optional value in the template object.
    validate: predicate called before insert item, only insert if predicate is true. Optional parameter.
    childrenPropertyName : name of property to map children
    
    each rule is composed of the "on" , "execute"  and postCondition properties.
    
    The value of the "on" property is the name of a field in the object mapping.
    
    The value of the "execute" property is a function that can take up to 4 parameters: (value, item, array, index) where:

value: value extracted from the field value
item: the current object in the table
array: the entire array
index; the position of the current item in the table

the value of the "postCondition" is a function with 1 parameter :(the current transformed key). If the function return false, the transformed key is not insert in the curernt item.

Returns

json data tranformed

Notes See examples on GitHub

Package Sidebar

Install

npm i smart-mapper

Weekly Downloads

2

Version

0.9.1

License

MIT

Unpacked Size

22 kB

Total Files

10

Last publish

Collaborators

  • sylvain59