boardwalk

0.0.2 • Public • Published

Description

Boardwalk is a lightweight utility for rich operations with Javascript object properties.

Installation

npm install boardwalk

Examples

  • Find intersection of two rich objects:
/* First example object. */
var object1 = {
	owner: {
		first_name: 'John',
		last_name: 'Adams'
	},
	location: {
		city: 'Philadelphia',
		state: 'Pennsylvania'
	}
};

/* Second example object. */
var object2 = {
	owner: {
		first_name: 'Samuel',
		last_name: 'Adams'
	},
	location: {
		city: 'Philadelphia',
		state: 'Pennsylvania'
	}
};

/* Pass in objects as an array. */
var result = boardwalk.intersect([object1, object2]);

console.log(result);
/* Result object. */
{
	owner: {
		last_name: 'Adams'
	},
	location: {
		city: 'Philadelphia',
		state: 'Pennsylvani'
	}
}
  • Find intersection of multiple objects
var object1 = {
	owner: {
		first_name: 'John',
		last_name: 'Adams'
	}
};

var object2 = {
	owner: {
		first_name: 'John',
		last_name: 'Kennedy'
	}
};

var object3 = {
	owner: {
		first_name: 'John',
		last_name: 'Tyler'
	}
};

var object4 = {
	owner: {
		first_name: 'Ronald',
		last_name: 'Reagan'
	}
};

var result = boardwalk.intersect([object1, object2, object3, object4]);

/* Result object. */
{
	owner: {
		first_name: 'John'
	}
}
  • Find intersection between arrays:
/* First example array. */
var array1 = ['abc', 'def', 'ghi'];

var array2 = ['def', 'jkl', 'mno'];

var result = boardwalk.intersect([array1, array2]);

/* Result array. */
['def']
  • Find intersection between complex objects:
/* First example object. */
var object1 = {
	owner: {
		first_name: 'Theodore',
		last_name: 'Roosevelt',
		children: ['John', 'Jane', 'Jack', { name: 'Jill' }]
	}		
};

var object2 = {
	owner: {
		first_name: 'Franklin',
		last_name: 'Roosevelt',
		children: ['Jane', { name: 'Jill' }]
	}
};

var result = boardwalk.intersect([object1, object2]);

/* Result object. */
{
	owner: {
		last_name: 'Roosevelt',
		children: ['Jane', { name: 'Jill' }]
	}
}
  • Pass a generic property that will match wherever it is found in object graphs:
var object1 = {
	owner: {
		first_name: 'George',
		last_name: 'Washington'
	}
};

var object2 = {
	owner: {
		first_name: 'George',
		last_name: 'Bush'
	}
};

var options = { generic: 'Washington' };

var result = boardwalk.intersect([object1, object2], options);

/* Result object. */
{
	owner: {
		first_name: 'George',
		last_name: 'Washington' // Generic match
	}
}

API

Helper functions

  • isArray(item) - Utility function to determine if item is an Array.

  • isObject(item) - Utility function to determine if item is an Object.

  • isEmpty(object) - Utility function to determine if object is empty.

Object handling functions

  • intersect(items, options) - Utility function to determine the common properties of two items.

  • resolve(path, object) - Utility function to resolve a deep object property.

  • set(path, object, value) - Utility function to set a deep object property.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.2
    2
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.0.2
    2
  • 0.0.1
    1

Package Sidebar

Install

npm i boardwalk

Weekly Downloads

3

Version

0.0.2

License

none

Last publish

Collaborators

  • ilmatic