README
firefly-utils
Common Object utility to make life easier.
APIs
Setup
$ npm i --save firefly-utils
ObjectUtils
const utils = require('firefly-utils').ObjectUtils;
flatten
Converts a nested obeject structure to one level.
const data = {
name:{
firstName:'John',
lastName:'Doe'
},
email:'john@doe.com',
contact:{
code:'+91',
number:1231231230
}
};
utils.flatten(data);
/* output
{
name.firstName:'John',
name.lastName:'Doe',
email:'john@doe.com',
contact.code:'+91',
contact.number:1231231230
}
*/
// you can provide your own separator
utils.flatten(data, '#');
/* output
{
name#firstName:'John',
name#lastName:'Doe',
email:'john@doe.com',
contact#code:'+91',
contact#number:1231231230
}
*/
unFlatten
Converts an object from flatten state to its normal form.
const data = {
'name.firstName':'John',
'name.lastName':'Doe',
'email':'john@doe.com',
'contact.code':'+91',
'contact.number':1231231230
};
utils.unFlatten(data);
/* output
{
name:{
firstName:'John',
lastName:'Doe'
},
email:'john@doe.com',
contact:{
code:'+91',
number:1231231230
}
}
*/
// you can provide your own separator
const data = {
'name$firstName':'John',
'name$lastName':'Doe',
'email':'john@doe.com',
'contact$code':'+91',
'contact$number':1231231230
};
utils.unFlatten(data, '