Skip to content

Latest commit

 

History

History
107 lines (75 loc) · 2.81 KB

README.md

File metadata and controls

107 lines (75 loc) · 2.81 KB

Build Status

#Objector

##A set of useful utilities to work with Objects in Node.js

###Introduction Objector makes working with javascript objects a bit easier. Especially nested / multilevel objects.

With objector you can easily:

  • create an empty object structure
  • assign values to elements in an existing object
  • retrieve values from (nested) elements in an object
  • get the size of an object

###Instalation

Install Objector through NPM

npm install objector --save

This will install Objector as a dependency and update your package.json automatically.

Next require Objector in your Node.js script, like this:

var objector = require('objector');

###Usage

Objector has an easy to use interface:

####Creating an empty object structure

With the objector.make method, using a dot-notation, you can create an empty, nested object structure.

var obj = {};
obj = objector.make(obj, 'foo.bar.foobar');
obj = objector.make(obj, 'foo.bar.foobar2');
obj = objector.make(obj, 'foo.bar.foobar3');

Will produce the following object:

{
	foo: {
		bar: {
			foobar: null,
			foobar2: null,
			foobar3: null
		}
	}
}

####Assigning values to an existing object

Once an object structure is created, you can easily assign values to it, using the objector.assign method. Assigning data to nested elements in an object is easy using a dot-notation.

Considering the object structure created before:

objector.assign(obj, 'foo.bar.foobar', 'value 1');
objector.assign(obj, 'foo.bar.foobar2', 'value 2');
objector.assign(obj, 'foo.bar.foobar2', 'value 3');

Will modify the object to:

{
	foo: {
		bar: {
			foobar: 'value 1',
			foobar2: 'value 2',
			foobar3: 'value 3'
		}
	}
}

When you try to assign a value to an element in an object doesn't exist yet, it will automatically be created, similar to objector.make.

####Retrieving a value from an object

Retrieving a value from a multilevel object structure is easy with the objector.grab method. Simply pass the path to the element using a dot-notation, and it will return the value. If the element doesn't exist, it will return false.

objector.grab(obj, 'foo.bar.foobar'); // returns 'value 1'
objector.grab(obj, 'foo.bar.nothing'); // returns 'false'

####Getting the size of an object

In Javascript there doesn't exist a method to get the size of an object, like we have length() for arrays. But still, often it is handy to know how many elements an object has. The objector.size method does exactly that. Pass the path to the element using a dot-notation, and it will return the size of the object.

objector.grab(obj, 'foo'); // returns 1
objector.grab(obj, 'foo.bar'); // returns 3