JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9923
  • Score
    100M100P100Q124479F

Useful functions for working with objects

Package Exports

  • object-tools

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (object-tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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

#object-tools Useful functions for working with objects

Todo

  • a where function, e.g. o.where({ a:1, b:0 }, function(key, value){ return value > 0; })

Example

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

##o.extend(...object) ⇒ object Merge a list of objects, left to right, into one.

Param Type Description
...object object a 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

Param Type Description
input object | array the 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: Replaced by o.without

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

Param Type Description
object object the object to clone
toOmit Array.<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

Param Type Description
object object the object to inspect
iterator function the 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

Param Type Description
object object the object to iterate
callback function the 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.

Param Type Description
object object the object to examine
query object the 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.without(object, toRemove) ⇒ object returns a clone of the object minus the specified properties.

Param Type Description
object object the input object
toRemove string | 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

Param Type Description
object object The input object
query Array.<string> | function Either 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.

Since: 1.2.0
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

Param Type Description
object object The input object
query Array.<string> | function Either 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.

Since: 1.2.0
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 }

documented by jsdoc-to-markdown.