ob-j
v0.4.0
Published
Abstract object management and transformations
Downloads
4
Readme
ob-j
Abstract object management and transformations
Installation
$ npm install --save ob-j
var obj = require('ob-j');
Testing
$ npm test
Usage
Main function
obj(x);
Pass an object into obj
to start transforming it. Methods chained onto the obj
constructor function are what do all of the modification. By default, this object will be transformed in place.
Methods
copy
obj(x).copy();
Copies the object passed into obj
so that it does not get modified in place.
each
obj(x).each(f);
Takes a function f
that gets passed a single argument: the value of a property of object x
. The function is applied to each one of the values in object x
.
end
var o = obj(x).end();
Just returns whatever object is at the end of the current chain. In the above example it returns object o
. No methods can be chained on after this one.
exclude
obj(x).exclude('prop');
Deletes the properties in object x
that match the value passed into .exclude()
. This method can also take an array of values to exclude.
filter
obj(x).filter('prop');
Deletes all properties in object x
except those that match the value passed into .filter()
. This method can also take an array of values to filter by.
map
obj(x).map(o);
Maps the property names of object x
using the key-value pairs of object o
. Properties not in the mapping object will remain.
mapX
obj(x).mapX(o);
Maps the property names of object x
using the key-value pairs of object o
exclusively. Only properties specified in the mapping object are kept.
modify
obj(x).modify(f);
Takes a function that gets passed a single argument: the current object in the chain (in this case it's object x
). In this function f
you are able to do custom modifications to any of the object's properties.
to
var o = {};
obj(x).to(o);
Gives all properties and values of object x
to object o
. Object o
becomes the function affected by further chaining.