0.0.1 • Published 3 years ago

data-merger v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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.
0.0.1

3 years ago

0.0.0

3 years ago