New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

boardwalk

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

boardwalk

A lightweight Javascript library for handling rich properties.

latest
Source
npmnpm
Version
0.0.2
Version published
Maintainers
1
Created
Source

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.

FAQs

Package last updated on 18 Aug 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts