README
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