🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

libnested

Package Overview
Dependencies
Maintainers
2
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

libnested

basic functions (map, each, get, set, keys) for nested objects.

1.4.0
Source
npm
Version published
Weekly downloads
3.1K
-40.01%
Maintainers
2
Weekly downloads
 
Created
Source

libnested

basic functions (map, each, get, set, keys) for nested objects.

api

each (object, iter(value, path), includeArrays?) => boolean

iterate over an object (depth first) and call iter with each value. path is an array with one or more items, which is the path to value. value will be any item which is not a {} object. Arrays are treated as values.

if iter returns false then each will stop traversing the object and return false also.

if includeArrays is true (defaults to false) then arrays encounted will be treated like objects. If includeArrays is not true, arrays will be treated like values.

map (object, iter(value, path) => nextValue, output, includeArrays?) => output

map over a nested object (depth first). A new object is returned (unless output is given), containing values returned by iter.

if includeArrays is true, the contents of arrays will be mapped, otherwise only the arrays themselves will be.

paths (object) => [path...]

return an array of paths into an object.

get(object, path, default) => value

get the value at path within object. if path does not exist in the object, return default.

path may be an array of strings or numbers, or a single string or number.

set(object, path, value)

set value at location path within object. If path is deeper than object goes, intermediate {}'s are added.

path may be an array of strings or numbers, or a single string or number.

object will be mutated.

clone (object)

return a new object with the same structure and primitive values as object

cyclic objects are not supported - will produce a RangeError (stackoverflow)

License

MIT

FAQs

Package last updated on 11 Nov 2018

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