0.0.1 • Published 3 years ago
data-merger v0.0.1
Install
Install with npm:
npm i data-merger
Get started
const { DataContainer } = require('data-merger');
const home = new DataManager();
home.mergeRoot({
address: 'xxx xx-th St, Chicago, Illinois',
rooms: ['living-room', 'bedroom', 'bathroom', 'bedroom']
});
console.log(home.container); // get data container
Console prints:
{
address: 'xxx xx-th St, Chicago, Illinois',
rooms: [ 'living-room', 'bedroom', 'bathroom', 'bedroom' ]
}
Use branch
method to create a branch:
home.branch('pets');
home.container
becomes:
{
address: 'xxx xx-th St, Chicago, Illinois',
rooms: [ 'living-room', 'bedroom', 'bathroom', 'bedroom' ],
pets: {}
}
Use merge
method to assgin values to specified branch.
home.merge('pets', {
meme: { type: 'cat', age: 2 },
king: { type: 'dog' }
});
home.container
becomes:
{
address: 'xxx xx-th St, Chicago, Illinois',
rooms: [ 'living-room', 'bedroom', 'bathroom', 'bedroom' ],
pets: { meme: { type: 'cat', age: 2 }, king: { type: 'dog' } }
}
Use get
and set
method to get or set values of certain key:
home.set('pets.king.age', 3.5);
console.log(home.get('pets'));
Console prints:
{ meme: { type: 'cat', age: 2 }, king: { type: 'dog', age: 3.5 } }
If you merge with nested object, it will merge in a deep copy way:
home.merge('pets', {
meme: { age: 2.5 },
cc: { type: 'hamster', age: 0.5 }
});
console.log(home.get('pets'));
Console prints:
{
meme: { type: 'cat', age: 3 },
king: { type: 'dog', age: 3.5 },
cc: { type: 'hamster', age: 0.5 }
}
Method prune
allows to prune a specified branch:
home.prune('rooms');
Process function
const { DataManager, processFunction } = require('data-merger');
const person = new DataManager();
person.mergeRoot({
info: {
name: 'Bob',
age: 23
},
greeting: 'My name is { info.name }. I am { info.age } years old.'
});
person.bindProcessFunction(processFunction.patternReplace);
console.log(person.get('greeting'));
Console prints:
My name is Bob. I am 23 years old.