{"_id":"mergee","_rev":"2740164","name":"mergee","description":"Utilities for objects","dist-tags":{"latest":"1.0.0"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"time":{"modified":"2022-01-28T15:56:38.000Z","created":"2015-03-25T21:34:42.152Z","1.0.0":"2019-10-26T05:36:50.800Z","0.2.5":"2018-06-04T20:04:27.286Z","0.2.4":"2017-01-20T18:52:51.065Z","0.2.3":"2015-12-27T08:09:12.258Z","0.2.2":"2015-06-08T15:38:52.189Z","0.2.1":"2015-05-17T12:59:07.325Z","0.2.0":"2015-05-17T10:10:26.119Z","0.1.2":"2015-04-18T04:16:44.342Z","0.1.1":"2015-04-09T07:04:38.267Z","0.1.0":"2015-03-25T21:34:42.152Z"},"users":{},"author":{"name":"commenthol","email":"commenthol@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/commenthol/mergee.git"},"versions":{"1.0.0":{"name":"mergee","version":"1.0.0","description":"Utilities for objects","keywords":["clone","extend","merge","object"],"homepage":"https://github.com/commenthol/mergee","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"repository":{"type":"git","url":"git+https://github.com/commenthol/mergee.git"},"license":"MIT","author":{"name":"commenthol","email":"commenthol@gmail.com"},"main":"index.js","directories":{"doc":"doc","test":"test"},"scripts":{"all":"npm run lint && npm t","clean":"rm -rf doc coverage","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","doc":"mkdir -p doc && jsdox -o doc index.js","lint":"eslint '*.js' '**/*.js'","prepublishOnly":"npm run all","test":"mocha test/*.mocha.js"},"eslintConfig":{"extends":"standard","plugins":["standard"],"rules":{}},"dependencies":{},"devDependencies":{"mocha":"~6.2.2"},"engines":{"node":">=0.8.0"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"gitHead":"fbd4fa490312a7b2991b6031750e4c2d71b96240","_id":"mergee@1.0.0","_nodeVersion":"13.0.1","_npmVersion":"6.12.0","dist":{"shasum":"027c5addc650f6ecbe4bf56100bd00dae763fda7","size":8245,"noattachment":false,"key":"/mergee/-/mergee-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-1.0.0.tgz"},"_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mergee_1.0.0_1572068210586_0.7092983339512169"},"_hasShrinkwrap":false,"publish_time":1572068210800,"_cnpm_publish_time":1572068210800},"0.2.5":{"name":"mergee","version":"0.2.5","description":"Utilities for objects","keywords":["clone","extend","merge","object"],"homepage":"https://github.com/commenthol/mergee","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"license":"MIT","author":{"name":"commenthol","email":"commenthol@gmail.com"},"main":"index.js","directories":{"doc":"doc","test":"test"},"repository":{"type":"git","url":"git+https://github.com/commenthol/mergee.git"},"scripts":{"clean":"rm -rf doc coverage","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","doc":"mkdir -p doc && jsdox -o doc index.js","lint":"eslint '*.js' '**/*.js'","test":"mocha test/*.mocha.js"},"eslintConfig":{"extends":"standard","plugins":["standard"],"rules":{}},"dependencies":{},"devDependencies":{"mocha":"~5.2.0"},"engines":{"node":">=0.8.0"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"gitHead":"056ee2261434745fb7369fac619e1538807e3329","_id":"mergee@0.2.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"1139f9fb120450f9fc730ea32780f6de22923acb","size":8227,"noattachment":false,"key":"/mergee/-/mergee-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.5.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mergee_0.2.5_1528142667070_0.5409794476732321"},"_hasShrinkwrap":false,"publish_time":1528142667286,"_cnpm_publish_time":1528142667286},"0.2.4":{"name":"mergee","description":"Utilities for objects","version":"0.2.4","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"~3.2.0"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"eslint '*.js' '**/*.js'","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","eslintConfig":{"extends":"standard","plugins":["standard"],"rules":{}},"gitHead":"3a160f369aa6107b5a4c04e0900bb9cf84ec9731","_id":"mergee@0.2.4","_shasum":"7b3e7e5900abac102de0e78a6ce87a73890299df","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"7b3e7e5900abac102de0e78a6ce87a73890299df","size":8184,"noattachment":false,"key":"/mergee/-/mergee-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.4.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mergee-0.2.4.tgz_1484938368515_0.7001057497691363"},"publish_time":1484938371065,"_cnpm_publish_time":1484938371065,"_hasShrinkwrap":false},"0.2.3":{"name":"mergee","description":"Utilities for objects","version":"0.2.3","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"~2.2.5"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"ed0344278e791ccf9d92554a7074244fdbf9f2b7","_id":"mergee@0.2.3","_shasum":"0ead6a8549ec65969b96d3e4d8093a0b413c2f39","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"0ead6a8549ec65969b96d3e4d8093a0b413c2f39","size":10798,"noattachment":false,"key":"/mergee/-/mergee-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.3.tgz"},"publish_time":1451203752258,"_cnpm_publish_time":1451203752258,"_hasShrinkwrap":false},"0.2.2":{"name":"mergee","description":"Utilities for objects","version":"0.2.2","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"~2.2.5"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"c138962b9b64398566814e178014c0e79e2881d6","_id":"mergee@0.2.2","_shasum":"0e1d4873d7d23d8cf38ca36436fa5a684d8a5a33","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"0e1d4873d7d23d8cf38ca36436fa5a684d8a5a33","size":10687,"noattachment":false,"key":"/mergee/-/mergee-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.2.tgz"},"publish_time":1433777932189,"_cnpm_publish_time":1433777932189,"_hasShrinkwrap":false},"0.2.1":{"name":"mergee","description":"Utilities for objects","version":"0.2.1","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"~2.2.5"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"77a9de8682e811654793f4af8315ec9c1dd9e597","_id":"mergee@0.2.1","_shasum":"a1f9acb1ce6991411a46a13340ef35ad20f8997a","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"a1f9acb1ce6991411a46a13340ef35ad20f8997a","size":10652,"noattachment":false,"key":"/mergee/-/mergee-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.1.tgz"},"publish_time":1431867547325,"_cnpm_publish_time":1431867547325,"_hasShrinkwrap":false},"0.2.0":{"name":"mergee","description":"Utilities for objects","version":"0.2.0","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"~2.2.5"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"589770822df4c5b9f03cb06428e0f6d394af126a","_id":"mergee@0.2.0","_shasum":"7670ad6aa7db8713742642f169e198e7456ac420","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"7670ad6aa7db8713742642f169e198e7456ac420","size":9867,"noattachment":false,"key":"/mergee/-/mergee-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.2.0.tgz"},"publish_time":1431857426119,"_cnpm_publish_time":1431857426119,"_hasShrinkwrap":false},"0.1.2":{"name":"mergee","description":"Utilities for objects","version":"0.1.2","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"latest","jshint":"latest","istanbul":"latest","jsdoc":"latest"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"https://github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"dadcdacd1283ae11bebe19424d49b0072ab339e8","_id":"mergee@0.1.2","_shasum":"f04426ae09702d6d5dbeb5c0cc7ea92e7e435f2d","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"f04426ae09702d6d5dbeb5c0cc7ea92e7e435f2d","size":9576,"noattachment":false,"key":"/mergee/-/mergee-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.1.2.tgz"},"publish_time":1429330604342,"_cnpm_publish_time":1429330604342,"_hasShrinkwrap":false},"0.1.1":{"name":"mergee","description":"Utilities for objects","version":"0.1.1","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"latest","jshint":"latest","istanbul":"latest","jsdoc":"latest"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"mkdir -p doc && jsdox -o doc index.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"c5f7ce8a0ad05f5224dee6e684fc281aa76fe668","_id":"mergee@0.1.1","_shasum":"a6c17f7bccda7c2c4979facc38876352848ed19c","_from":".","_npmVersion":"2.7.4","_nodeVersion":"1.6.3","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"a6c17f7bccda7c2c4979facc38876352848ed19c","size":9451,"noattachment":false,"key":"/mergee/-/mergee-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.1.1.tgz"},"publish_time":1428563078267,"_cnpm_publish_time":1428563078267,"_hasShrinkwrap":false},"0.1.0":{"name":"mergee","description":"Utilities for objects","version":"0.1.0","main":"index.js","engines":{"node":">=0.8.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"devDependencies":{"mocha":"latest","jshint":"latest","istanbul":"latest","jsdoc":"latest"},"scripts":{"test":"mocha test/*.mocha.js","cover":"istanbul cover _mocha --report lcov --report text -- -R dot --check-leaks test/*.mocha.js","lint":"jshint --show-non-errors *.js */*.js","doc":"jsdoc -d doc -c jsdoc.json index.js lib/*.js","clean":"rm -rf doc coverage"},"repository":{"type":"git","url":"github.com/commenthol/mergee"},"keywords":["merge","extend","clone","object"],"author":{"name":"commenthol","email":"commenthol@gmail.com"},"maintainers":[{"name":"commenthol","email":"commenthol@gmail.com"}],"license":"MIT","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"homepage":"https://github.com/commenthol/mergee","gitHead":"06c5c0ae0cdab48d6873774aa9f861010f7e880b","_id":"mergee@0.1.0","_shasum":"0d6992715009a2a39b06106c7d9d9892438fd86d","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.1","_npmUser":{"name":"commenthol","email":"commenthol@gmail.com"},"dist":{"shasum":"0d6992715009a2a39b06106c7d9d9892438fd86d","size":8130,"noattachment":false,"key":"/mergee/-/mergee-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/mergee/download/mergee-0.1.0.tgz"},"publish_time":1427319282152,"_cnpm_publish_time":1427319282152,"_hasShrinkwrap":false}},"readme":"# mergee\n\n> Utilities for objects\n\n[![NPM version](https://badge.fury.io/js/mergee.svg)](https://www.npmjs.com/package/mergee/)\n[![Build Status](https://secure.travis-ci.org/commenthol/mergee.svg?branch=master)](https://travis-ci.org/commenthol/mergee)\n\nThis is a selection of utilities for objects and contains:\n\n* assign - assigns multiple sources to a target object\n* extend - (same as assign) extends a target object with multiple sources\n* merge - merge multiple sources into a target object\n* mergeExt - same as merge but with options\n* clone - deep clone of an object or array.\n* pick - pick properties from an object\n* omit - omit properties from an object\n* select - select properties from an object\n* isCircular - check object for circular structures\n* deepEqual - deep comparison\n\n## Table of Contents\n\n<!-- !toc (minlevel=2 omit=\"Table of Contents\") -->\n\n* [Methods](#methods)\n  * [assign(target, source)](#assigntarget-source)\n  * [extend(target, source)](#extendtarget-source)\n  * [merge(target, source)](#mergetarget-source)\n  * [mergeExt(opts, opts.ignoreNull, opts.ignoreCircular, target, source)](#mergeextopts-optsignorenull-optsignorecircular-target-source)\n  * [clone(obj)](#cloneobj)\n  * [pick(obj, props)](#pickobj-props)\n  * [omit(obj, props)](#omitobj-props)\n  * [get(obj, keys)](#getobj-keys)\n  * [set(obj, keys, value)](#setobj-keys-value)\n  * [isCircular(obj)](#iscircularobj)\n  * [deepEqual(actual, expected)](#deepequalactual-expected)\n* [Contribution and License Agreement](#contribution-and-license-agreement)\n* [License](#license)\n\n<!-- toc! -->\n\n## Methods\n\n### assign(target, source)\n\nassign multiple `source` objects to object `target`\n\n#### Example\n\n````js\nvar assign  = require('mergee').assign,\n    target  = { a:{A:1}, b:{A:1} },\n    source1 = { b:{B:2}, c:{B:2} },\n    source2 = { d:{C:3} };\nassign(target, source1, source2);\n// target === { a:{A:1}, b:{B:2}, c:{B:2}, d:{C:3} };\n````\n\n**Parameters**\n\n**target**: `Object | Array | function`, assign multiple `source` objects to object `target`\n\n#### Example\n\n````js\nvar assign  = require('mergee').assign,\n    target  = { a:{A:1}, b:{A:1} },\n    source1 = { b:{B:2}, c:{B:2} },\n    source2 = { d:{C:3} };\nassign(target, source1, source2);\n// target === { a:{A:1}, b:{B:2}, c:{B:2}, d:{C:3} };\n````\n\n**source**: `Any`, arguments 2 ... n\n\n**Returns**: `Object`, assigned target\n\n### extend(target, source)\n\nSame as `assign`.\n\nextend object `target` with multiple `source` objects\n\n#### Example\n\n````js\nvar extend  = require('mergee').extend,\n    target  = { a:{A:1}, b:{A:1} },\n    source1 = { b:{B:2}, c:{B:2} },\n    source2 = { d:{C:3} };\nextend(target, source1, source2);\n// target === { a:{A:1}, b:{B:2}, c:{B:2}, d:{C:3} };\n````\n\n**Parameters**\n\n**target**: `Object | Array | function`, extend object `target` with multiple `source` objects\n\n#### Example\n\n````js\nvar extend  = require('mergee').extend,\n    target  = { a:{A:1}, b:{A:1} },\n    source1 = { b:{B:2}, c:{B:2} },\n    source2 = { d:{C:3} };\nextend(target, source1, source2);\n// target === { a:{A:1}, b:{B:2}, c:{B:2}, d:{C:3} };\n````\n\n**source**: `Any`, arguments 2 ... n\n\n**Returns**: `Object`, extended target\n\n\n### merge(target, source)\n\nmerge multiple objects into `target`\n\n#### Example\n\n````js\nvar merge = require('mergee').merge,\n    target  = { t: 1, x: { y: 'z' } },\n    source1 = { t: { s1: /source1/ } },\n    source2 = { t: { s2: new Date(100), x: null } };\nmerge(target, source1, source2);\n// target === { t: { s1: /source1/, s2: Wed Dec 31 1969 17:00:00 GMT-0700 (MST) }, x: null }\n````\n\n**Parameters**\n\n**target**: `Object | function | Array`, target object\n\n**source**: `Any`, arguments 2 ... n\n\n**Returns**: `Object`, merged target\n\n\n### mergeExt(opts, opts.ignoreNull, opts.ignoreCircular, target, source)\n\nextended merge\n\n#### Example\n\n````js\nvar merge = require('mergee').merge,\n    target  = { t: 1, x: { y: 'z' } },\n    source1 = { t: { s1: /source1/ } },\n    source2 = { t: { s2: new Date(100), x: null } };\nmergeExt({ ignoreNull: true }, target, source1, source2);\n// target === { t: { s1: /source1/, s2: Wed Dec 31 1969 17:00:00 GMT-0700 (MST) }, x: { y: 'z' } }\n````\n\n**Parameters**\n\n**opts**: `Object`, options\n\n**opts.ignoreNull**: `Boolean`, treat `source === null` as undefined - target does not get deleted\n\n**opts.ignoreCircular**: `Boolean`, ignore cirular structures - no error gets thrown\n\n**target**: `Object | function | Array`, target object\n\n**source**: `Any`, arguments 3 ... n\n\n**Returns**: `Object`, merged target\n\n\n### clone(obj)\n\nperform a deep clone of `obj`\n\n#### Example\n\n```js\nvar clone = require('mergee').clone,\n    obj = { a: { b: { c: 1 } } };\nvar cloned = clone(obj);\n// (cloned !== obj)\n// (cloned.a !== obj.a)\n// (cloned.a.b !== obj.a.b)\n```\n\n**Parameters**\n\n**obj**: `Object | Array`, object to get cloned\n\n**Returns**: `Object | Array`, deep cloned object\n\n\n### pick(obj, props)\n\npick properties from `obj` into a new object\n\n#### Example\n\n```js\nvar r,\n    pick = require('mergee').pick,\n    obj = { a: 1, b: [ 1, 2 ], c: { cc:3, 'c-d':4 }, '0d': { '0d0': 5 } };\nr = pick(obj, ['a', 'b[1]', 'c[\"c-d\"]', '0d.0d0']);\n//> r = { a: 1, b: { '1': 2 }, c: { 'c-d': 4 }, '0d': { '0d0': 5 } }\nr = pick(obj, 'a, b[1], c[\"c-d\"], 0d.0d0');\n//> r = { a: 1, b: { '1': 2 }, c: { 'c-d': 4 }, '0d': { '0d0': 5 } }\n```\n\n**Parameters**\n\n**obj**: `Object`, object to pick properties from\n\n**props**: `Array | String`, Array of properties or comma separated string of properties\n\n**Returns**: `Object`, object with picked properties\n\n\n### omit(obj, props)\n\nomit properties from `obj` into a new object\n\n#### Example\n\n```js\nvar r,\n    omit = require('mergee').omit,\n    obj = { a: 1, b: [ 1, 2 ], c: { cc:3, 'c-d':4 }, '0d': { '0d0': 5 } };\nr = omit(obj, ['a', 'b[1]', 'c[\"c-d\"]', '0d.0d0']);\n// r = { b: [ 1,  ], c: { cc: 3 }, '0d': {} }\nr = omit(obj, 'a, b[1], c[\"c-d\"], 0d.0d0');\n// r = { b: [ 1,  ], c: { cc: 3 }, '0d': {} }\n```\n\n**Parameters**\n\n**obj**: `Object`, object\n\n**props**: `Array | String`, Array of properties or comma separated string of properties\n\n**Returns**: `Object`, object with omitted properties\n\n\n### get(obj, keys)\n\nget properties from `obj`\n\n\n#### Example\n\n```js\nvar r,\n    get = require('mergee').get,\n    obj = { a: { b: { c: 1 } } };\nr = get(obj, ['a', 'b', 'c']);\n// r = 1\nr = get(obj, 'a.b');\n// r = { c: 1 }\nr = get(obj, 'there.is.no.such.property'); // this will not throw!\n// r = undefined\n```\n\n**Parameters**\n\n**obj**: `Object`, object to select from\n\n**keys**: `Array | String`, Array of properties or dot separated string of properties; If using a String avoid using property names containing a `.`\n\n**Returns**: `Object`, selected object\n\n\n### set(obj, keys, value)\n\nset a property in `obj`\n\n#### Example\n\n```js\nvar r,\n    set = require('mergee').set,\n    obj = {};\nr = set(obj, ['a', 'b'], { c:1 });\n//> r = { a: { b: { c: 1 } } }\nr = set(obj, 'a.b.d', 2);\n//> r = { a: { b: { c:1, d:2 } } }\n```\n\n**Parameters**\n\n**obj**: `Object`, object to select from\n\n**keys**: `Array | String`, Array of properties or dot separated string of properties; If using a String avoid using property names containing a `.`\n\n**value**: `Any`, The value to set\n\n**Returns**: `Object`, set object\n\n\n### isCircular(obj)\n\ncheck if an object `obj` contains circular structures\n\n#### Example\n\n````js\nvar isCircular  = require('mergee').isCircular,\n    obj = { a: {} };\nobj.a.c = { c: 1 };\n// isCircular(obj) === true\n````\n\n**Parameters**\n\n**obj**: `Object`, Object to check\n\n**Returns**: `Boolean`, true if `obj` contains circularities\n\n\n### deepEqual(actual, expected)\n\ndeep comparison of `actual` and `expected`\n\n**Parameters**\n\n**actual**: `Any`, deep comparison of `actual` and `expected`\n\n**expected**: `Any`, deep comparison of `actual` and `expected`\n\n**Returns**: `Boolean`, true if `actual` equals `expected`\n\n\n## Contribution and License Agreement\n\nIf you contribute code to this project, you are implicitly allowing your\ncode to be distributed under the MIT license. You are also implicitly\nverifying that all code is your original work or correctly attributed\nwith the source of its origin and licence.\n\n## License\n\nThis module contains code from other MIT licensed sources:\n\n* `lib/deepequal.js` is from [node v0.12 assert.js](https://github.com/joyent/node/blob/v0.12.0-release/lib/assert.js) - MIT licensed\n* `lib/util.js` is from [node v0.12 util.js](https://github.com/joyent/node/blob/v0.12.0-release/lib/util.js) - MIT licensed\n\nCopyright (c) 2015 commenthol (MIT License)\n\nSee [LICENSE][] for more info.\n\n[LICENSE]: ./LICENSE\n","_attachments":{},"homepage":"https://github.com/commenthol/mergee","bugs":{"url":"https://github.com/commenthol/mergee/issues"},"license":"MIT"}