Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

object-tools

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

object-tools

Useful functions for working with objects

  • 1.6.7
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

view on npm npm module downloads per month Build Status Dependency Status

object-tools

Useful functions for working with objects

Example

var o = require("object-tools");

o.extend(...object) ⇒ object

Merge a list of objects, left to right, into one.

Kind: static method of object-tools

ParamTypeDescription
...objectobjecta sequence of object instances to be extended

Example

> o.extend({ one: 1, three: 3 }, { one: "one", two: 2 }, { four: 4 });
{ one: 'one',
  three: 3,
  two: 2,
  four: 4 }

o.clone(input) ⇒ object | array

Clones an object or array

Kind: static method of object-tools

ParamTypeDescription
inputobject | arraythe input to clone

Example

> date = new Date()
Fri May 09 2014 13:54:34 GMT+0200 (CEST)
> o.clone(date)
{}  // a Date instance doesn't own any properties
> date.clive = "hater"
'hater'
> o.clone(date)
{ clive: 'hater' }
> array = [1,2,3]
[ 1, 2, 3 ]
> newArray = o.clone(array)
[ 1, 2, 3 ]
> array === newArray
false

o.omit(object, toOmit) ⇒ object

Deprecated

Returns a clone of the input object, minus the specified properties

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe object to clone
toOmitArray.<string>an array of property names to omit from the clone

Example

> o.omit({ one: 1, two: 2, three: 3, four: 4 }, [ "two", "four" ]);
{ one: 1, three: 3 }

o.every(object, iterator) ⇒ boolean

Returns true if the supplied iterator function returns true for every property in the object

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe object to inspect
iteratorfunctionthe iterator function to run against each key/value pair, the args are (value, key).

Example

> function aboveTen(input){ return input > 10; }
undefined
> o.every({ eggs: 12, carrots: 30, peas: 100 }, aboveTen)
true
> o.every({ eggs: 6, carrots: 30, peas: 100 }, aboveTen)
false

o.each(object, callback)

Runs the iterator function against every key/value pair in the input object

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe object to iterate
callbackfunctionthe iterator function to run against each key/value pair, the args are (value, key).

Example

> var total = 0;
undefined
> function addToTotal(n){ total += n; }
undefined
> o.each({ eggs: 3, celery: 2, carrots: 1 }, addToTotal)
undefined
> total
6

o.exists(object, query) ⇒ boolean

returns true if the key/value pairs in query also exist identically in object. Also supports RegExp values in query. If the query property begins with ! then test is negated.

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe object to examine
queryobjectthe key/value pairs to look for

Example

> o.exists({ a: 1, b: 2}, {a: 0})
false
> o.exists({ a: 1, b: 2}, {a: 1})
true
> o.exists({ a: 1, b: 2}, {"!a": 1})
false
> o.exists({ name: "clive hater" }, { name: /clive/ })
true
> o.exists({ name: "clive hater" }, { "!name": /ian/ })
true
> o.exists({ a: 1}, { a: function(n){ return n > 0; } })
true
> o.exists({ a: 1}, { a: function(n){ return n > 1; } })
false

o.without(object, toRemove) ⇒ object

Returns a clone of the object minus the specified properties. See also select.

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe input object
toRemovestring | Array.<string>a single property, or array of properties to omit

Example

> o.without({ a: 1, b: 2, c: 3}, "b")
{ a: 1, c: 3 }
> o.without({ a: 1, b: 2, c: 3}, ["b", "a"])
{ c: 3 }

o.where(object, query) ⇒ object

Returns a new object containing the key/value pairs which satisfy the query

Kind: static method of object-tools
Since: 1.2.0

ParamTypeDescription
objectobjectThe input object
queryArray.<string> | functionEither an array of property names, or a function. The function is called with (value, key) and must return true to be included in the output.

Example

> object = { a: 1, b: 0, c: 2 }
{ a: 1, b: 0, c: 2 }
> o.where(object, function(value, key){
      return value > 0;
  });
{ a: 1, c: 2 }
> o.where(object, [ "b" ]);
{ b: 0 }
> object
{ a: 1, b: 0, c: 2 }

o.extract(object, query) ⇒ object

identical to o.where(object, query) with one exception - the found properties are removed from the input object

Kind: static method of object-tools
Since: 1.2.0

ParamTypeDescription
objectobjectThe input object
queryArray.<string> | functionEither an array of property names, or a function. The function is called with (value, key) and must return true to be included in the output.

Example

> object = { a: 1, b: 0, c: 2 }
{ a: 1, b: 0, c: 2 }
> o.where(object, function(value, key){
      return value > 0;
  });
{ a: 1, c: 2 }
> object
{ b: 0 }

o.select(object, fields) ⇒ object

Returns a new object containing only the selected fields. See also without.

Kind: static method of object-tools

ParamTypeDescription
objectobjectthe input object
fieldsarraya list of fields to return

o.get(object, expression) ⇒ *

Returns the value at the given property.

Kind: static method of object-tools
Since: 1.4.0

ParamTypeDescription
objectobjectthe input object
expressionstringthe property accessor expression

© 2015 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.

FAQs

Package last updated on 20 May 2015

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc