do-deep
v1.0.0
Published
Functions to access properties of nested objects
Downloads
2
Readme
do-deep
Functions to access properties of nested objects. Reading and modifying values work very similar to what how things normally work. Things work differently if a property along the path does not exist:
dd.get
will returnundefined
dd.set
will create the objects it needs to assign the value to the final property
There are two ways to address a property:
- By a string, similar to what you'd write in JavaScript. Here, camel-casing is enforced
- With an array of property names. Here you can use any kind of strings.
Usage
var dd = require("do-deep")
var someObject = {} // you probably want some data here, but do-deep can live without
var nestedValue = dd.get(someObject, "a.a.a")
var otherNestedValue = dd.get(someObject, ["b"]["b"]["b"])
dd.set(someObject, "a.b.b", "c")
// returns 3, because 3 properties were changed (two objects created, one string assigned)
var nextLetter = {"a":"b"}
dd.set(nextLetter, "a", "b")
// returns 0, to inform that no change was made to the object at all.
There's also increment
, decrement
.
dd.increment(object, "c.c", 2)
increases the value in object.c.c
by 2
.
License
do-deep is released under the MIT License. Copyright (c) 2017 Braveg1rl