Socket
Socket
Sign inDemoInstall

libnested

Package Overview
Dependencies
0
Maintainers
2
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    libnested

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


Version published
Weekly downloads
404
decreased by-11.01%
Maintainers
2
Created
Weekly downloads
 

Readme

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

Last updated on 07 Mar 2022

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc