unwrap-value

1.0.0 • Public • Published

unwrap-value

Safely and quickly access deep properties

NPM version

Usage

const unwrap = require('unwrap-value');

const cat = {
	name: 'Captain Nikko',
	owner: {
		name: 'Sean',
	},
};

// Get deep properties on objects
unwrap(() => cat.name) // returns 'Captain Nikko'
unwrap(() => cat.owner.name) // returns 'sean'
unwrap(() => cat.owner.phone) // returns undefined

// With arrays
const dogs = [
	{ name: 'Leela' },
	{ name: 'Raven' }
]

unwrap(() => dogs[1].name) // returns 'Raven'
unwrap(() => dogs[3].name) // returns undefined

// without arrow functions (ugly)
unwrap(function() { return cat.owner.name }) // returns 'sean'

What it tries to solve

// We've all been here before
if (cat && cat.owner && cat.owner.address) {
	var zip = cat.owner.address.zip;
}

// with unwrap
var zip = unwrap(() => cat.owner.address.zip);

Performance

This table shows how it performs compared to the manual approach or by using the popular object-path module.

10,000 iterations

method time in ms
manual 1.046ms
unwrap-value 2.867ms
object-path 9.322ms

Readme

Keywords

none

Package Sidebar

Install

npm i unwrap-value

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

2.63 kB

Total Files

4

Last publish

Collaborators

  • sean256