New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

deep-lib

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deep-lib - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

123

API.md

@@ -5,6 +5,6 @@ ## Objects

<dd><p>Enables to manipulate data and its substructures using dot separated property paths.</p>
<p>All provided methods accept a <code>path</code> and/or an <code>offset</code> arguments referencing some substructure/value in the data.</p>
<p>All provided methods accept a <code>path</code> and/or an <code>offset</code> arguments referencing some substructure or value in the data.</p>
<ul>
<li>If <code>offset</code> is provided, object will be rebased to the referenced subobject that will become the processing subject.</li>
<li>If <code>path</code> is provided, it references the object that will be processed. If <code>offset</code> was also provided, it is the starting point of the <code>path</code>.</li>
<li>If <code>path</code> is provided, it references the object that will be processed.</li>
<li>If <code>offset</code> is provided, it sets the root point in the object for the resolving of the <code>path</code> argument.</li>
</ul>

@@ -23,8 +23,26 @@ </dd>

All provided methods accept a `path` and/or an `offset` arguments referencing some substructure/value in the data.
- If `offset` is provided, object will be rebased to the referenced subobject that will become the processing subject.
- If `path` is provided, it references the object that will be processed. If `offset` was also provided, it is the starting point of the `path`.
All provided methods accept a `path` and/or an `offset` arguments referencing some substructure or value in the data.
- If `path` is provided, it references the object that will be processed.
- If `offset` is provided, it sets the root point in the object for the resolving of the `path` argument.
**Kind**: global namespace
**Example**
```js
// path: 'foo'
// |root |referenced substructure
{foo: {hello: 'world'}, hello: 'Mundo'};
// path: 'hello'
// |root |referenced value
{foo: {hello: 'world'}, hello: 'Mundo'};
// path: 'foo.hello'
// |root |referenced value
{foo: {hello: 'world'}, hello: 'Mundo'};
// path: 'hello' & offset: 'foo'
// |root |referenced value
{foo: {hello: 'world'}, hello: 'Mundo'};
```
* [deep-lib](#deep-lib) : <code>object</code>

@@ -35,13 +53,13 @@ * [.tools](#deep-lib.tools) : <code>object</code>

* [.clone(object, [offset])](#deep-lib.clone) ⇒ <code>\*</code> &#124; <code>undefined</code>
* [.create(object, path, value, [force])](#deep-lib.create) ⇒ <code>string</code>
* [.createPath(object, path, [force], [offset])](#deep-lib.createPath)
* [.create(object, path, value, [offset], [force])](#deep-lib.create) ⇒ <code>string</code>
* [.createPath(object, path, [offset], [force])](#deep-lib.createPath)
* [.define(object, path, value, [options], [offset])](#deep-lib.define)
* [.delete(object, path)](#deep-lib.delete) ⇒ <code>\*</code> &#124; <code>undefined</code>
* [.delete(object, path, [offset])](#deep-lib.delete) ⇒ <code>\*</code> &#124; <code>undefined</code>
* [.diff(object1, object2, [offset])](#deep-lib.diff) ⇒ <code>Array.&lt;object&gt;</code> &#124; <code>undefined</code>
* [.equal(object1, object2, [offset])](#deep-lib.equal) ⇒ <code>boolean</code>
* [.getPaths(object, [offset])](#deep-lib.getPaths) ⇒ <code>Array.&lt;string&gt;</code>
* [.move(object, oldPath, newPath)](#deep-lib.move)
* [.move(object, oldPath, newPath, [offset])](#deep-lib.move)
* [.search(object, regex, [offset])](#deep-lib.search) ⇒ <code>Array.&lt;string&gt;</code>
* [.select(object, [path])](#deep-lib.select) ⇒ <code>\*</code> &#124; <code>undefined</code>
* [.update(object, path, value, [ignoreUnknownProperties])](#deep-lib.update)
* [.select(object, [path], [offset])](#deep-lib.select) ⇒ <code>\*</code> &#124; <code>undefined</code>
* [.update(object, path, value, [offset], [ignoreUnknownProperties])](#deep-lib.update)

@@ -99,3 +117,3 @@ <a name="deep-lib.tools"></a>

Returns a deep clone of the provided object.
If a path is provided, the method will return
If a `offset` is provided, the method will return
a clone of the referenced substructure, property value or undefined

@@ -111,3 +129,3 @@ should the path be unknown.

| object | <code>object</code> | object to be cloned |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -119,8 +137,8 @@ **Example**

var b = deep.clone(a); // => {foo: {hello: 'world'}}
var c = deep.clone(a,'foo'); // => {hello: 'world'}
var b = deep.clone(a); // => {foo: {hello: 'world'}}
var c = deep.clone(a,'foo'); // => {hello: 'world'}
var d = deep.clone(a,'foo.world'); // => 'world'
```
<a name="deep-lib.create"></a>
### deep-lib.create(object, path, value, [force]) ⇒ <code>string</code>
### deep-lib.create(object, path, value, [offset], [force]) ⇒ <code>string</code>
Creates/updates a new property/value pair in the parent object,

@@ -141,2 +159,3 @@ if the path elements do not exist, the method will take

| value | <code>\*</code> | | value to be assigned to the created property |
| [offset] | <code>string</code> | | path used to rebase processing to the referenced substructure |
| [force] | <code>boolean</code> | <code>false</code> | forces the method to change objects in arrays or vice versa to comply to the provided path |

@@ -154,3 +173,3 @@

<a name="deep-lib.createPath"></a>
### deep-lib.createPath(object, path, [force], [offset])
### deep-lib.createPath(object, path, [offset], [force])
Creates, if needed, all objects that are part of the provided path hierarchy.

@@ -160,3 +179,3 @@ Paths can combine objects and arrays. On each path depth an Object

Arrays are referenced using either: one of the wildcards "*+" (push), "*" (push), or an integer.
Arrays are referenced using either: one of the wildcards "\*+" (push), "\*" (push), or an integer.
If they are the last depth in the path, a null value will be placed at the specified index or added per push to the array.

@@ -175,4 +194,4 @@

| path | <code>string</code> | | the object hierarchy to be created |
| [offset] | <code>string</code> | | path used to rebase processing to the referenced substructure |
| [force] | <code>boolean</code> | <code>false</code> | forces the method to change objects in arrays or vice versa to comply to the provided path |
| [offset] | <code>string</code> | | path used to rebase the processed object to the referenced subobject |

@@ -198,3 +217,3 @@ **Example**

deep.createPath(a, 'bar.*.*.world', 'foo'); // => {foo: {hello: 'world', bar:[[{world:{}}]]}}
deep.createPath(a.foo, 'bar.*.*.world'); // => {foo: {hello: 'world', bar:[[{world:{}}]]}}
deep.createPath(a.foo, 'bar.*.*.world'); // => same as above
```

@@ -218,3 +237,3 @@ <a name="deep-lib.define"></a>

| [options] | <code>[DefinePropertyOptions](#DefinePropertyOptions)</code> | Object.defineProperty options |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -226,16 +245,16 @@ **Example**

deep.defineProperty(a, 'bar', 42); // => {foo: {hello: 'world'}, bar:42}
deep.defineProperty(a, 'bar.*', 42); // => {foo: {hello: 'world'}, bar:[42]}
deep.defineProperty(a, 'bar.0', 42); // => {foo: {hello: 'world'}, bar:[42]}
deep.defineProperty(a, 'bar.*.world', 42); // => {foo: {hello: 'world'}, bar:[{world:42}]}
deep.defineProperty(a, 'bar.*.*.world', 42); // => {foo: {hello: 'world'}, bar:[[{world:42}]]}
deep.define(a, 'bar', 42); // => {foo: {hello: 'world'}, bar:42}
deep.define(a, 'bar.*', 42); // => {foo: {hello: 'world'}, bar:[42]}
deep.define(a, 'bar.0', 42); // => {foo: {hello: 'world'}, bar:[42]}
deep.define(a, 'bar.*.world', 42); // => {foo: {hello: 'world'}, bar:[{world:42}]}
deep.define(a, 'bar.*.*.world', 42); // => {foo: {hello: 'world'}, bar:[[{world:42}]]}
// used with offset
deep.defineProperty(a, 'bar.*.*.world', 42, 'foo'); // same as above
deep.define(a, 'bar.*.*.world', 42, 'foo'); // => {foo: {hello: 'world', bar:[[{world:42}]] }}
// used with options
deep.defineProperty(a, 'bar.*.*.world', 42, {writable:true}, 'foo'); // same as above
// used with property options
deep.define(a, 'bar.*.*.world', 42, {writable:true}, 'foo'); // same as above
```
<a name="deep-lib.delete"></a>
### deep-lib.delete(object, path) ⇒ <code>\*</code> &#124; <code>undefined</code>
### deep-lib.delete(object, path, [offset]) ⇒ <code>\*</code> &#124; <code>undefined</code>
Deletes the referenced property and returns its value

@@ -251,2 +270,3 @@

| path | <code>string</code> | path referencing the property to be deleted |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -275,3 +295,3 @@ **Example**

| object2 | | comparison object |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -300,3 +320,3 @@ **Example**

| object2 | | |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -324,3 +344,3 @@ **Example**

| object | | object to be crawled |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -336,3 +356,3 @@ **Example**

<a name="deep-lib.move"></a>
### deep-lib.move(object, oldPath, newPath)
### deep-lib.move(object, oldPath, newPath, [offset])
Moves a property or subobject within the provided object

@@ -348,2 +368,3 @@

| newPath | <code>string</code> | path to the new property |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -371,3 +392,3 @@ **Example**

| regex | <code>RegExp</code> | a regular expression |
| [offset] | <code>string</code> | path used to rebase the processed object to the referenced subobject |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -384,3 +405,3 @@ **Example**

<a name="deep-lib.select"></a>
### deep-lib.select(object, [path]) ⇒ <code>\*</code> &#124; <code>undefined</code>
### deep-lib.select(object, [path], [offset]) ⇒ <code>\*</code> &#124; <code>undefined</code>
Returns the value referenced by the provided path

@@ -397,2 +418,3 @@ or `undefined` if some element of the path does not exist

| [path] | <code>string</code> | path to some substructure, array wildcards are not allowed in it |
| [offset] | <code>string</code> | path used to rebase processing to the referenced substructure |

@@ -408,5 +430,8 @@ **Example**

deep.select(a, 'foo.bad'); // => undefined
// with offset
deep.select(a, 'hello', 'foo'); // => 'world'
```
<a name="deep-lib.update"></a>
### deep-lib.update(object, path, value, [ignoreUnknownProperties])
### deep-lib.update(object, path, value, [offset], [ignoreUnknownProperties])
Updates a property/value pair in the parent object,

@@ -425,2 +450,3 @@ if the path elements does not exist, the method will throw an error.

| value | <code>\*</code> | | value to be assigned to the created property |
| [offset] | <code>string</code> | | path used to rebase processing to the referenced substructure |
| [ignoreUnknownProperties] | <code>boolean</code> | <code>false</code> | if set to true, update will ignore errors caused by unknown properties and fail silently |

@@ -431,11 +457,10 @@

var deep = require('deep-lib');
var a = {foo: {hello: 'world'}};
var a = {foo: {hello: 'world'}, bar: ['one', 'two']};
deep.update(a, 'foo.*.hello', 'mundo'); // array wildcard => error;
deep.update(a, 'ciao', 'mondo'); // unknown property => error;
deep.update(a, 'ciao', 'mondo', true); // unknown property => silent fail, no change;
deep.create(a, 'some.deep.path.hallo', 'Welt'); // unknown property => error;
deep.create(a, 'foo.hallo'); // no value => no change;
deep.create(a, 'foo.hallo', 'developer'); // update => success;
deep.create(a.foo, 'hallo', 'developer'); // update => success;
deep.update(a, 'foo.hallo'); // no value => no change;
deep.update(a, 'foo.hallo', 'developer'); // update => success;
deep.update(a, 'bar.1', 'mundo'); // update => success;
deep.update(a, 'bar.*', 'mundo'); // array wildcard => error;
deep.update(a, 'ciao', 'mondo'); // unknown property => error;
deep.update(a, 'ciao', 'mondo', true); // unknown property => silent fail, no change;
```

@@ -447,7 +472,3 @@ <a name="DefinePropertyOptions"></a>

**Kind**: global typedef
**See**
- [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)
- [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators)
**See**: {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty#Description}
**Properties**

@@ -454,0 +475,0 @@

@@ -9,7 +9,25 @@ /*jslint node: true */

*
* All provided methods accept a `path` and/or an `offset` arguments referencing some substructure/value in the data.
* - If `offset` is provided, object will be rebased to the referenced subobject that will become the processing subject.
* - If `path` is provided, it references the object that will be processed. If `offset` was also provided, it is the starting point of the `path`.
* All provided methods accept a `path` and/or an `offset` arguments referencing some substructure or value in the data.
* - If `path` is provided, it references the object that will be processed.
* - If `offset` is provided, it sets the root point in the object for the resolving of the `path` argument.
*
* @namespace deep-lib
*
* @example
*
* // path: 'foo'
* // |root |referenced substructure
* {foo: {hello: 'world'}, hello: 'Mundo'};
*
* // path: 'hello'
* // |root |referenced value
* {foo: {hello: 'world'}, hello: 'Mundo'};
*
* // path: 'foo.hello'
* // |root |referenced value
* {foo: {hello: 'world'}, hello: 'Mundo'};
*
* // path: 'hello' & offset: 'foo'
* // |root |referenced value
* {foo: {hello: 'world'}, hello: 'Mundo'};
*/

@@ -16,0 +34,0 @@

@@ -9,3 +9,3 @@ /*jslint node: true */

* Returns a deep clone of the provided object.
* If a path is provided, the method will return
* If a `offset` is provided, the method will return
* a clone of the referenced substructure, property value or undefined

@@ -20,3 +20,3 @@ * should the path be unknown.

* @param {object} object object to be cloned
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -29,4 +29,4 @@ * @returns {*|undefined} a structure, a value or undefined

*
* var b = deep.clone(a); // => {foo: {hello: 'world'}}
* var c = deep.clone(a,'foo'); // => {hello: 'world'}
* var b = deep.clone(a); // => {foo: {hello: 'world'}}
* var c = deep.clone(a,'foo'); // => {hello: 'world'}
* var d = deep.clone(a,'foo.world'); // => 'world'

@@ -33,0 +33,0 @@ */

@@ -24,2 +24,3 @@ /*jslint node: true */

* @param {*} value value to be assigned to the created property
* @param {string} [offset] path used to rebase processing to the referenced substructure
* @param {boolean} [force=false] forces the method to change objects in arrays or vice versa to comply to the provided path

@@ -37,3 +38,14 @@ *

*/
exports.create = function create (object, path, value, force) {
exports.create = function create (object, path, value, offset, force) {
if (typeof offset === 'boolean') {
force = offset;
offset = '';
}
if (offset) {
// rebase object using provided offset
object = select(object, offset);
}
if (value !== undefined) {

@@ -45,4 +57,4 @@

return path;
return (offset ? offset + tools.sep + path : path);
}
};

@@ -42,3 +42,3 @@ /*jslint node: true */

*
* Arrays are referenced using either: one of the wildcards "*+" (push), "*" (push), or an integer.
* Arrays are referenced using either: one of the wildcards "\*+" (push), "\*" (push), or an integer.
* If they are the last depth in the path, a null value will be placed at the specified index or added per push to the array.

@@ -53,4 +53,4 @@ *

* @param {string} path the object hierarchy to be created
* @param {string} [offset] path used to rebase processing to the referenced substructure
* @param {boolean} [force=false] forces the method to change objects in arrays or vice versa to comply to the provided path
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
*

@@ -77,9 +77,9 @@ * @todo should return the created path

* deep.createPath(a, 'bar.*.*.world', 'foo'); // => {foo: {hello: 'world', bar:[[{world:{}}]]}}
* deep.createPath(a.foo, 'bar.*.*.world'); // => {foo: {hello: 'world', bar:[[{world:{}}]]}}
* deep.createPath(a.foo, 'bar.*.*.world'); // => same as above
*/
exports.createPath = function createPath (object, path, force, offset) {
exports.createPath = function createPath (object, path, offset, force) {
if (typeof force === 'string') {
offset = force;
force = false;
if (typeof offset === 'boolean') {
force = offset;
offset = null;
}

@@ -86,0 +86,0 @@

@@ -30,4 +30,3 @@ /*jslint node: true */

*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty}
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators}
* @see {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty#Description}
*/

@@ -47,3 +46,3 @@

* @param {DefinePropertyOptions} [options] Object.defineProperty options
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -56,13 +55,13 @@ * @todo should return the created path

*
* deep.defineProperty(a, 'bar', 42); // => {foo: {hello: 'world'}, bar:42}
* deep.defineProperty(a, 'bar.*', 42); // => {foo: {hello: 'world'}, bar:[42]}
* deep.defineProperty(a, 'bar.0', 42); // => {foo: {hello: 'world'}, bar:[42]}
* deep.defineProperty(a, 'bar.*.world', 42); // => {foo: {hello: 'world'}, bar:[{world:42}]}
* deep.defineProperty(a, 'bar.*.*.world', 42); // => {foo: {hello: 'world'}, bar:[[{world:42}]]}
* deep.define(a, 'bar', 42); // => {foo: {hello: 'world'}, bar:42}
* deep.define(a, 'bar.*', 42); // => {foo: {hello: 'world'}, bar:[42]}
* deep.define(a, 'bar.0', 42); // => {foo: {hello: 'world'}, bar:[42]}
* deep.define(a, 'bar.*.world', 42); // => {foo: {hello: 'world'}, bar:[{world:42}]}
* deep.define(a, 'bar.*.*.world', 42); // => {foo: {hello: 'world'}, bar:[[{world:42}]]}
*
* // used with offset
* deep.defineProperty(a, 'bar.*.*.world', 42, 'foo'); // same as above
* deep.define(a, 'bar.*.*.world', 42, 'foo'); // => {foo: {hello: 'world', bar:[[{world:42}]] }}
*
* // used with options
* deep.defineProperty(a, 'bar.*.*.world', 42, {writable:true}, 'foo'); // same as above
* // used with property options
* deep.define(a, 'bar.*.*.world', 42, {writable:true}, 'foo'); // same as above
*/

@@ -69,0 +68,0 @@ exports.define = function define (object, path, value, options, offset) {

@@ -17,2 +17,3 @@ /*jslint node: true */

* @param {string} path path referencing the property to be deleted
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -28,3 +29,9 @@ * @returns {*|undefined} value of the deleted property or false if not found

*/
exports.delete = function deepDelete (object, path) {
exports.delete = function deepDelete (object, path, offset) {
if (offset) {
// rebase object using provided offset
object = select(object, offset);
}
var propertyName = path;

@@ -31,0 +38,0 @@

@@ -19,3 +19,3 @@ /*jslint node: true */

* @param object2 comparison object
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -22,0 +22,0 @@ * @returns {object[]|undefined} returns a diff object or `undefined` if both object are deeply equal

@@ -19,3 +19,3 @@ /*jslint node: true */

* @param object2
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -22,0 +22,0 @@ * @returns {boolean} if objects are equal `true` if unequal `false`

@@ -16,3 +16,3 @@ /*jslint node: true */

* @param object object to be crawled
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -19,0 +19,0 @@ * @returns {string[]} a list of all paths found in the provided object

@@ -19,2 +19,3 @@ /*jslint node: true */

* @param {string} newPath path to the new property
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -28,3 +29,9 @@ * @example

*/
exports.move = function deepMove (object, oldPath, newPath) {
exports.move = function deepMove (object, oldPath, newPath, offset) {
if (offset) {
// rebase object using provided offset
object = deepSelect(object, offset);
}
var value = deepSelect(object, oldPath);

@@ -31,0 +38,0 @@

@@ -18,3 +18,3 @@ /*jslint node: true */

* @param {RegExp} regex a regular expression
* @param {string} [offset] path used to rebase the processed object to the referenced subobject
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -21,0 +21,0 @@ * @returns {string[]} an array of strings or an empty array if no match was found

@@ -21,2 +21,3 @@ /*jslint node: true */

* @param {string} [path] path to some substructure, array wildcards are not allowed in it
* @param {string} [offset] path used to rebase processing to the referenced substructure
*

@@ -33,5 +34,14 @@ * @returns {*|undefined} the referenced value or `undefined`

* deep.select(a, 'foo.bad'); // => undefined
*
* // with offset
* deep.select(a, 'hello', 'foo'); // => 'world'
*
*/
exports.select = function select (object, path) {
exports.select = function select (object, path, offset) {
if (offset) {
// rebase object using provided offset
object = select(object, offset);
}
if (tools.pathIncludesArrayWildcards(path)) {

@@ -38,0 +48,0 @@ // this is an update method: only plain path are allowed, nothing should be created

@@ -26,2 +26,3 @@ /*jslint node: true */

* @param {*} value value to be assigned to the created property
* @param {string} [offset] path used to rebase processing to the referenced substructure
* @param {boolean} [ignoreUnknownProperties=false] if set to true, update will ignore errors caused by unknown properties and fail silently

@@ -31,14 +32,23 @@ *

* var deep = require('deep-lib');
* var a = {foo: {hello: 'world'}};
* var a = {foo: {hello: 'world'}, bar: ['one', 'two']};
*
* deep.update(a, 'foo.*.hello', 'mundo'); // array wildcard => error;
* deep.update(a, 'ciao', 'mondo'); // unknown property => error;
* deep.update(a, 'ciao', 'mondo', true); // unknown property => silent fail, no change;
* deep.create(a, 'some.deep.path.hallo', 'Welt'); // unknown property => error;
* deep.create(a, 'foo.hallo'); // no value => no change;
* deep.create(a, 'foo.hallo', 'developer'); // update => success;
* deep.create(a.foo, 'hallo', 'developer'); // update => success;
* deep.update(a, 'foo.hallo'); // no value => no change;
* deep.update(a, 'foo.hallo', 'developer'); // update => success;
* deep.update(a, 'bar.1', 'mundo'); // update => success;
* deep.update(a, 'bar.*', 'mundo'); // array wildcard => error;
* deep.update(a, 'ciao', 'mondo'); // unknown property => error;
* deep.update(a, 'ciao', 'mondo', true); // unknown property => silent fail, no change;
*/
exports.update = function update (object, path, value, ignoreUnknownProperties) {
exports.update = function update (object, path, value, offset, ignoreUnknownProperties) {
if (typeof offset === 'boolean') {
ignoreUnknownProperties = offset;
offset = null;
}
if (offset) {
// rebase object using provided offset
object = select(object, offset);
}
// convert to boolean

@@ -45,0 +55,0 @@ ignoreUnknownProperties = !!ignoreUnknownProperties;

{
"name": "deep-lib",
"version": "1.0.0",
"version": "1.1.0",
"dependencies": {

@@ -5,0 +5,0 @@ "clone": {

{
"name": "deep-lib",
"license": "MIT",
"version": "1.0.0",
"version": "1.1.0",
"homepage": "https://github.com/CoderSyndicate/deep-lib",
"author": "https://github.com/CoderSyndicate/deep-lib/graphs/contributors",
"description": "Enables to manipulate data and its substructures using dot separated property paths",
"description": "Enables to manipulate data and its substructures using dot separated property paths and methods to create, update, delete, select, move, search, check equality, check diff, ...",
"keywords": [

@@ -9,0 +9,0 @@ "object",

@@ -12,3 +12,4 @@ # deep-lib

Enables to manipulate data and its substructures using dot separated property paths.
Enables to manipulate data and its substructures using dot separated property paths and
methods to create, update, delete, select, move, search, check equality, check diff, ... (see [API.md](API.md))

@@ -24,76 +25,23 @@

## Usage
### Require module
All provided methods accept a `path` and/or an `offset` arguments referencing some substructure or value in the data.
var deep = require('deep-lib');
- If `path` is provided, it references the object that will be processed.
- If `offset` is provided, it sets the root point in the object for the resolving of the `path` argument.
## Usage
All provided methods accept a `path` property referencing some substructure/value in the data.
If `path` is provided, the called method will be applied to the referenced substructure.
The full API documentation can be found in the [API.md](API.md)
### clone
var deep = require('deep-lib');
var a = {foo: {hello: 'world'}, some: 'thing'};
deep.select(a); // => {foo: {hello: 'world'}, some: 'thing'};
deep.select(a, 'foo'); // => {hello: 'world'}
deep.select(a, 'foo.hello'); // => 'world'
deep.select(a, 'foo.bad'); // => undefined
// with offset
deep.select(a, 'hello', 'foo'); // => 'world'
Clones the referenced substructure/value.
If no `path` is provided, the whole object is cloned.
### select
Returns the referenced substructure/value or undefined if it was not found.
### defineProperty
Makes [Object.defineProperty()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty) available to deep referencing.
Adds a new substructure/value to the location specified with the `path`.
If structures in the `path` do not exist, the method will create them in order to fulfil the task.
### create
Adds a new substructure/value to the location specified with the `path`.
If structures in the `path` do not exist, the method will create them in order to fulfil the task.
### update
Adds a new substructure/value to the location specified with the `path`.
### move
Moves a substructure/value to a new `path` without breaking the object reference.
### delete
Deletes the referenced property, returning its value or undefined if it was not found.
### equal
Uses the [deep-equal](https://www.npmjs.com/package/deep-equal) package.
Returns true if the compared objects strictly equals each other.
### diff
Uses the [deep-diff](https://www.npmjs.com/package/deep-diff) package.
### createPaths
Create the object hierarchy if needed.
### getPaths
Returns all available paths to all values in the object.
### tools.parent
Returns the parent part of a path (like unix dirname).
### tools.property
Returns the property part of a path (like unix basename).
-------------------

@@ -100,0 +48,0 @@ Copyright (c) 2015 Luscus (luscus.redbeard@gmail.com)

{
"/Users/lallemant/dev/deep-lib/lib/deep-lib.js":{"path":"/Users/lallemant/dev/deep-lib/lib/deep-lib.js","s":{"1":1,"2":1,"3":1,"4":1},"b":{},"f":{},"fnMap":{},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"2":{"start":{"line":21,"column":0},"end":{"line":24,"column":2}},"3":{"start":{"line":26,"column":0},"end":{"line":41,"column":2}},"4":{"start":{"line":43,"column":0},"end":{"line":43,"column":22}}},"branchMap":{},"l":{"4":1,"21":1,"26":1,"43":1}},
"/Users/lallemant/dev/deep-lib/lib/tools.js":{"path":"/Users/lallemant/dev/deep-lib/lib/tools.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":137,"8":1,"9":2,"10":1,"11":334,"12":50,"13":1,"14":283,"15":1,"16":131,"17":1,"18":4,"19":1,"20":550,"21":1,"22":3,"23":1,"24":43,"25":43,"26":1,"27":40,"28":40,"29":1,"30":40,"31":40},"b":{"1":[136,1],"2":[25,50,1,283],"3":[131,126,126],"4":[4,3],"5":[39,1],"6":[39,1]},"f":{"1":137,"2":2,"3":334,"4":131,"5":4,"6":550,"7":3,"8":43,"9":40,"10":40},"fnMap":{"1":{"name":"split","line":20,"loc":{"start":{"line":20,"column":16},"end":{"line":20,"column":38}}},"2":{"name":"join","line":24,"loc":{"start":{"line":24,"column":15},"end":{"line":24,"column":44}}},"3":{"name":"isArrayIndex","line":28,"loc":{"start":{"line":28,"column":23},"end":{"line":28,"column":59}}},"4":{"name":"isArrayIndex","line":40,"loc":{"start":{"line":40,"column":37},"end":{"line":40,"column":66}}},"5":{"name":"isObject","line":48,"loc":{"start":{"line":48,"column":19},"end":{"line":48,"column":51}}},"6":{"name":"isArray","line":52,"loc":{"start":{"line":52,"column":18},"end":{"line":52,"column":44}}},"7":{"name":"areIdentical","line":56,"loc":{"start":{"line":56,"column":23},"end":{"line":56,"column":64}}},"8":{"name":"isDeep","line":60,"loc":{"start":{"line":60,"column":17},"end":{"line":60,"column":40}}},"9":{"name":"parent","line":84,"loc":{"start":{"line":84,"column":17},"end":{"line":84,"column":40}}},"10":{"name":"property","line":108,"loc":{"start":{"line":108,"column":19},"end":{"line":108,"column":44}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":43}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":31}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":31}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}},"5":{"start":{"line":9,"column":0},"end":{"line":9,"column":32}},"6":{"start":{"line":20,"column":0},"end":{"line":22,"column":2}},"7":{"start":{"line":21,"column":2},"end":{"line":21,"column":47}},"8":{"start":{"line":24,"column":0},"end":{"line":26,"column":2}},"9":{"start":{"line":25,"column":2},"end":{"line":25,"column":40}},"10":{"start":{"line":28,"column":0},"end":{"line":38,"column":2}},"11":{"start":{"line":29,"column":2},"end":{"line":37,"column":3}},"12":{"start":{"line":32,"column":6},"end":{"line":32,"column":20}},"13":{"start":{"line":34,"column":6},"end":{"line":34,"column":19}},"14":{"start":{"line":36,"column":6},"end":{"line":36,"column":42}},"15":{"start":{"line":40,"column":0},"end":{"line":46,"column":2}},"16":{"start":{"line":41,"column":2},"end":{"line":45,"column":4}},"17":{"start":{"line":48,"column":0},"end":{"line":50,"column":2}},"18":{"start":{"line":49,"column":2},"end":{"line":49,"column":67}},"19":{"start":{"line":52,"column":0},"end":{"line":54,"column":2}},"20":{"start":{"line":53,"column":2},"end":{"line":53,"column":69}},"21":{"start":{"line":56,"column":0},"end":{"line":58,"column":2}},"22":{"start":{"line":57,"column":2},"end":{"line":57,"column":29}},"23":{"start":{"line":60,"column":0},"end":{"line":63,"column":2}},"24":{"start":{"line":61,"column":2},"end":{"line":61,"column":51}},"25":{"start":{"line":62,"column":2},"end":{"line":62,"column":29}},"26":{"start":{"line":84,"column":0},"end":{"line":87,"column":2}},"27":{"start":{"line":85,"column":2},"end":{"line":85,"column":51}},"28":{"start":{"line":86,"column":2},"end":{"line":86,"column":70}},"29":{"start":{"line":108,"column":0},"end":{"line":111,"column":2}},"30":{"start":{"line":109,"column":2},"end":{"line":109,"column":51}},"31":{"start":{"line":110,"column":2},"end":{"line":110,"column":71}}},"branchMap":{"1":{"line":21,"type":"cond-expr","locations":[{"start":{"line":21,"column":17},"end":{"line":21,"column":40}},{"start":{"line":21,"column":43},"end":{"line":21,"column":45}}]},"2":{"line":29,"type":"switch","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":34}},{"start":{"line":31,"column":4},"end":{"line":32,"column":20}},{"start":{"line":33,"column":4},"end":{"line":34,"column":19}},{"start":{"line":35,"column":4},"end":{"line":36,"column":42}}]},"3":{"line":42,"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":49}},{"start":{"line":43,"column":6},"end":{"line":43,"column":42}},{"start":{"line":44,"column":6},"end":{"line":44,"column":41}}]},"4":{"line":49,"type":"binary-expr","locations":[{"start":{"line":49,"column":10},"end":{"line":49,"column":41}},{"start":{"line":49,"column":45},"end":{"line":49,"column":65}}]},"5":{"line":86,"type":"cond-expr","locations":[{"start":{"line":86,"column":30},"end":{"line":86,"column":61}},{"start":{"line":86,"column":64},"end":{"line":86,"column":68}}]},"6":{"line":110,"type":"cond-expr","locations":[{"start":{"line":110,"column":30},"end":{"line":110,"column":62}},{"start":{"line":110,"column":65},"end":{"line":110,"column":69}}]}},"l":{"4":1,"6":1,"7":1,"8":1,"9":1,"20":1,"21":137,"24":1,"25":2,"28":1,"29":334,"32":50,"34":1,"36":283,"40":1,"41":131,"48":1,"49":4,"52":1,"53":550,"56":1,"57":3,"60":1,"61":43,"62":43,"84":1,"85":40,"86":40,"108":1,"109":40,"110":40}},
"/Users/lallemant/dev/deep-lib/lib/methods/createPath.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/createPath.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":312,"7":65,"8":0,"9":65,"10":17,"11":48,"12":247,"13":2,"14":245,"15":0,"16":312,"17":1,"18":39,"19":0,"20":0,"21":39,"22":39,"23":1,"24":39,"25":39,"26":39,"27":39,"28":39,"29":39,"30":39,"31":39,"32":39,"33":160,"34":160,"35":121,"36":160,"37":160,"38":160,"39":160,"40":160,"41":160,"42":4,"43":156,"44":156,"45":156,"46":34,"47":22,"48":22,"49":12,"50":122,"51":156,"52":156,"53":35},"b":{"1":[65,247],"2":[0,65],"3":[65,0],"4":[17,48],"5":[65,65],"6":[2,245],"7":[247,196],"8":[0,245],"9":[245,51],"10":[0,39],"11":[1,38],"12":[121,39],"13":[160,148,61],"14":[4,156],"15":[160,160,23],"16":[34,122],"17":[156,34],"18":[22,12],"19":[22]},"f":{"1":312,"2":39,"3":160},"fnMap":{"1":{"name":"initDepthObject","line":13,"loc":{"start":{"line":13,"column":26},"end":{"line":13,"column":82}}},"2":{"name":"createPath","line":77,"loc":{"start":{"line":77,"column":21},"end":{"line":77,"column":71}}},"3":{"name":"pathElementIterator","line":100,"loc":{"start":{"line":100,"column":23},"end":{"line":100,"column":61}}}},"statementMap":{"1":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":33}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":19}},"4":{"start":{"line":9,"column":0},"end":{"line":11,"column":2}},"5":{"start":{"line":13,"column":0},"end":{"line":35,"column":2}},"6":{"start":{"line":15,"column":2},"end":{"line":32,"column":3}},"7":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":17}},"9":{"start":{"line":20,"column":9},"end":{"line":25,"column":5}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":17}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":17}},"12":{"start":{"line":27,"column":7},"end":{"line":32,"column":3}},"13":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"14":{"start":{"line":30,"column":7},"end":{"line":32,"column":3}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":15}},"16":{"start":{"line":34,"column":2},"end":{"line":34,"column":15}},"17":{"start":{"line":77,"column":0},"end":{"line":198,"column":2}},"18":{"start":{"line":79,"column":2},"end":{"line":82,"column":3}},"19":{"start":{"line":80,"column":4},"end":{"line":80,"column":19}},"20":{"start":{"line":81,"column":4},"end":{"line":81,"column":19}},"21":{"start":{"line":84,"column":2},"end":{"line":84,"column":21}},"22":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"23":{"start":{"line":88,"column":4},"end":{"line":88,"column":36}},"24":{"start":{"line":91,"column":2},"end":{"line":91,"column":39}},"25":{"start":{"line":92,"column":2},"end":{"line":92,"column":20}},"26":{"start":{"line":93,"column":2},"end":{"line":93,"column":14}},"27":{"start":{"line":94,"column":2},"end":{"line":94,"column":20}},"28":{"start":{"line":95,"column":2},"end":{"line":95,"column":22}},"29":{"start":{"line":96,"column":2},"end":{"line":96,"column":24}},"30":{"start":{"line":97,"column":2},"end":{"line":97,"column":26}},"31":{"start":{"line":98,"column":2},"end":{"line":98,"column":23}},"32":{"start":{"line":100,"column":2},"end":{"line":195,"column":5}},"33":{"start":{"line":101,"column":4},"end":{"line":101,"column":34}},"34":{"start":{"line":103,"column":4},"end":{"line":103,"column":40}},"35":{"start":{"line":103,"column":18},"end":{"line":103,"column":40}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":48}},"37":{"start":{"line":107,"column":4},"end":{"line":107,"column":50}},"38":{"start":{"line":109,"column":4},"end":{"line":109,"column":53}},"39":{"start":{"line":110,"column":4},"end":{"line":110,"column":54}},"40":{"start":{"line":115,"column":4},"end":{"line":115,"column":86}},"41":{"start":{"line":137,"column":4},"end":{"line":148,"column":5}},"42":{"start":{"line":147,"column":6},"end":{"line":147,"column":76}},"43":{"start":{"line":151,"column":4},"end":{"line":151,"column":68}},"44":{"start":{"line":155,"column":4},"end":{"line":155,"column":113}},"45":{"start":{"line":163,"column":4},"end":{"line":182,"column":5}},"46":{"start":{"line":167,"column":6},"end":{"line":176,"column":7}},"47":{"start":{"line":168,"column":8},"end":{"line":172,"column":9}},"48":{"start":{"line":171,"column":12},"end":{"line":171,"column":52}},"49":{"start":{"line":175,"column":8},"end":{"line":175,"column":39}},"50":{"start":{"line":181,"column":6},"end":{"line":181,"column":37}},"51":{"start":{"line":185,"column":4},"end":{"line":185,"column":20}},"52":{"start":{"line":194,"column":4},"end":{"line":194,"column":30}},"53":{"start":{"line":197,"column":2},"end":{"line":197,"column":18}}},"branchMap":{"1":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":2}},{"start":{"line":15,"column":2},"end":{"line":15,"column":2}}]},"2":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":4}},{"start":{"line":17,"column":4},"end":{"line":17,"column":4}}]},"3":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":15}},{"start":{"line":17,"column":19},"end":{"line":17,"column":31}}]},"4":{"line":20,"type":"if","locations":[{"start":{"line":20,"column":9},"end":{"line":20,"column":9}},{"start":{"line":20,"column":9},"end":{"line":20,"column":9}}]},"5":{"line":20,"type":"binary-expr","locations":[{"start":{"line":20,"column":13},"end":{"line":20,"column":21}},{"start":{"line":20,"column":25},"end":{"line":20,"column":37}}]},"6":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":7},"end":{"line":27,"column":7}},{"start":{"line":27,"column":7},"end":{"line":27,"column":7}}]},"7":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11},"end":{"line":27,"column":19}},{"start":{"line":27,"column":23},"end":{"line":27,"column":35}}]},"8":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":7},"end":{"line":30,"column":7}},{"start":{"line":30,"column":7},"end":{"line":30,"column":7}}]},"9":{"line":30,"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":18}},{"start":{"line":30,"column":22},"end":{"line":30,"column":35}}]},"10":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":79,"column":2}},{"start":{"line":79,"column":2},"end":{"line":79,"column":2}}]},"11":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":2},"end":{"line":86,"column":2}},{"start":{"line":86,"column":2},"end":{"line":86,"column":2}}]},"12":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":103,"column":4}},{"start":{"line":103,"column":4},"end":{"line":103,"column":4}}]},"13":{"line":115,"type":"binary-expr","locations":[{"start":{"line":115,"column":26},"end":{"line":115,"column":31}},{"start":{"line":115,"column":35},"end":{"line":115,"column":60}},{"start":{"line":115,"column":64},"end":{"line":115,"column":85}}]},"14":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":137,"column":4}},{"start":{"line":137,"column":4},"end":{"line":137,"column":4}}]},"15":{"line":138,"type":"binary-expr","locations":[{"start":{"line":139,"column":10},"end":{"line":139,"column":49}},{"start":{"line":140,"column":10},"end":{"line":140,"column":53}},{"start":{"line":142,"column":8},"end":{"line":142,"column":25}}]},"16":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":163,"column":4}},{"start":{"line":163,"column":4},"end":{"line":163,"column":4}}]},"17":{"line":163,"type":"binary-expr","locations":[{"start":{"line":163,"column":8},"end":{"line":163,"column":21}},{"start":{"line":163,"column":25},"end":{"line":163,"column":40}}]},"18":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":167,"column":6}},{"start":{"line":167,"column":6},"end":{"line":167,"column":6}}]},"19":{"line":168,"type":"switch","locations":[{"start":{"line":169,"column":10},"end":{"line":171,"column":52}}]}},"l":{"5":1,"6":1,"7":1,"9":1,"13":1,"15":312,"17":65,"18":0,"20":65,"21":17,"24":48,"27":247,"28":2,"30":245,"31":0,"34":312,"77":1,"79":39,"80":0,"81":0,"84":39,"86":39,"88":1,"91":39,"92":39,"93":39,"94":39,"95":39,"96":39,"97":39,"98":39,"100":39,"101":160,"103":160,"106":160,"107":160,"109":160,"110":160,"115":160,"137":160,"147":4,"151":156,"155":156,"163":156,"167":34,"168":22,"171":22,"175":12,"181":122,"185":156,"194":156,"197":35}},
"/Users/lallemant/dev/deep-lib/lib/methods/select.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/select.js","s":{"1":1,"2":1,"3":1,"4":94,"5":1,"6":93,"7":93,"8":93,"9":93,"10":273,"11":273,"12":256,"13":17,"14":76},"b":{"1":[1,93],"2":[256,17],"3":[273,273,273]},"f":{"1":94},"fnMap":{"1":{"name":"select","line":33,"loc":{"start":{"line":33,"column":17},"end":{"line":33,"column":48}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":6,"column":0},"end":{"line":8,"column":2}},"3":{"start":{"line":33,"column":0},"end":{"line":55,"column":2}},"4":{"start":{"line":35,"column":2},"end":{"line":38,"column":3}},"5":{"start":{"line":37,"column":4},"end":{"line":37,"column":88}},"6":{"start":{"line":40,"column":2},"end":{"line":40,"column":34}},"7":{"start":{"line":41,"column":2},"end":{"line":41,"column":23}},"8":{"start":{"line":42,"column":2},"end":{"line":42,"column":15}},"9":{"start":{"line":44,"column":2},"end":{"line":52,"column":3}},"10":{"start":{"line":45,"column":4},"end":{"line":45,"column":26}},"11":{"start":{"line":47,"column":4},"end":{"line":51,"column":5}},"12":{"start":{"line":48,"column":6},"end":{"line":48,"column":30}},"13":{"start":{"line":50,"column":6},"end":{"line":50,"column":13}},"14":{"start":{"line":54,"column":2},"end":{"line":54,"column":15}}},"branchMap":{"1":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":35,"column":2}},{"start":{"line":35,"column":2},"end":{"line":35,"column":2}}]},"2":{"line":47,"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":47,"column":4}},{"start":{"line":47,"column":4},"end":{"line":47,"column":4}}]},"3":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":9},"end":{"line":47,"column":34}},{"start":{"line":47,"column":38},"end":{"line":47,"column":52}},{"start":{"line":47,"column":56},"end":{"line":47,"column":88}}]}},"l":{"4":1,"6":1,"33":1,"35":94,"37":1,"40":93,"41":93,"42":93,"44":93,"45":273,"47":273,"48":256,"50":17,"54":76}},
"/Users/lallemant/dev/deep-lib/lib/methods/define.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/define.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":5,"7":4,"8":4,"9":4,"10":1,"11":1,"12":4,"13":4,"14":1,"15":4,"16":2,"17":2,"18":2,"19":2,"20":4},"b":{"1":[4,1],"2":[4,1],"3":[1,3],"4":[1,3],"5":[2,2]},"f":{"1":5},"fnMap":{"1":{"name":"define","line":66,"loc":{"start":{"line":66,"column":17},"end":{"line":66,"column":72}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":52}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":37}},"4":{"start":{"line":15,"column":0},"end":{"line":17,"column":2}},"5":{"start":{"line":66,"column":0},"end":{"line":103,"column":2}},"6":{"start":{"line":67,"column":2},"end":{"line":102,"column":3}},"7":{"start":{"line":70,"column":4},"end":{"line":70,"column":24}},"8":{"start":{"line":73,"column":4},"end":{"line":73,"column":48}},"9":{"start":{"line":76,"column":4},"end":{"line":79,"column":5}},"10":{"start":{"line":77,"column":6},"end":{"line":77,"column":23}},"11":{"start":{"line":78,"column":6},"end":{"line":78,"column":39}},"12":{"start":{"line":82,"column":4},"end":{"line":82,"column":26}},"13":{"start":{"line":84,"column":4},"end":{"line":87,"column":5}},"14":{"start":{"line":86,"column":6},"end":{"line":86,"column":38}},"15":{"start":{"line":89,"column":4},"end":{"line":99,"column":5}},"16":{"start":{"line":91,"column":6},"end":{"line":91,"column":38}},"17":{"start":{"line":92,"column":6},"end":{"line":92,"column":36}},"18":{"start":{"line":95,"column":6},"end":{"line":95,"column":31}},"19":{"start":{"line":98,"column":6},"end":{"line":98,"column":36}},"20":{"start":{"line":101,"column":4},"end":{"line":101,"column":53}}},"branchMap":{"1":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":2},"end":{"line":67,"column":2}},{"start":{"line":67,"column":2},"end":{"line":67,"column":2}}]},"2":{"line":73,"type":"binary-expr","locations":[{"start":{"line":73,"column":14},"end":{"line":73,"column":21}},{"start":{"line":73,"column":25},"end":{"line":73,"column":47}}]},"3":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":76,"column":4}},{"start":{"line":76,"column":4},"end":{"line":76,"column":4}}]},"4":{"line":84,"type":"if","locations":[{"start":{"line":84,"column":4},"end":{"line":84,"column":4}},{"start":{"line":84,"column":4},"end":{"line":84,"column":4}}]},"5":{"line":89,"type":"if","locations":[{"start":{"line":89,"column":4},"end":{"line":89,"column":4}},{"start":{"line":89,"column":4},"end":{"line":89,"column":4}}]}},"l":{"4":1,"5":1,"6":1,"15":1,"66":1,"67":5,"70":4,"73":4,"76":4,"77":1,"78":1,"82":4,"84":4,"86":1,"89":4,"91":2,"92":2,"95":2,"98":2,"101":4}},
"/Users/lallemant/dev/deep-lib/lib/methods/diff.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/diff.js","s":{"1":1,"2":1,"3":1,"4":7,"5":1,"6":1,"7":7},"b":{"1":[1,6]},"f":{"1":7},"fnMap":{"1":{"name":"deepDiff","line":31,"loc":{"start":{"line":31,"column":15},"end":{"line":31,"column":60}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":41}},"3":{"start":{"line":31,"column":0},"end":{"line":40,"column":2}},"4":{"start":{"line":33,"column":2},"end":{"line":37,"column":3}},"5":{"start":{"line":35,"column":4},"end":{"line":35,"column":38}},"6":{"start":{"line":36,"column":4},"end":{"line":36,"column":38}},"7":{"start":{"line":39,"column":2},"end":{"line":39,"column":40}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"31":1,"33":7,"35":1,"36":1,"39":7}},
"/Users/lallemant/dev/deep-lib/lib/methods/equal.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/equal.js","s":{"1":1,"2":1,"3":1,"4":1,"5":4,"6":2,"7":2,"8":4},"b":{"1":[2,2]},"f":{"1":4},"fnMap":{"1":{"name":"deepEqual","line":31,"loc":{"start":{"line":31,"column":16},"end":{"line":31,"column":62}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":42}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":38}},"4":{"start":{"line":31,"column":0},"end":{"line":47,"column":2}},"5":{"start":{"line":33,"column":2},"end":{"line":37,"column":3}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":38}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":38}},"8":{"start":{"line":46,"column":2},"end":{"line":46,"column":48}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"6":1,"31":1,"33":4,"35":2,"36":2,"46":4}},
"/Users/lallemant/dev/deep-lib/lib/methods/clone.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/clone.js","s":{"1":1,"2":1,"3":1,"4":45,"5":3,"6":45},"b":{"1":[3,42]},"f":{"1":45},"fnMap":{"1":{"name":"deepClone","line":31,"loc":{"start":{"line":31,"column":16},"end":{"line":31,"column":52}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":42}},"3":{"start":{"line":31,"column":0},"end":{"line":39,"column":2}},"4":{"start":{"line":33,"column":2},"end":{"line":36,"column":3}},"5":{"start":{"line":35,"column":4},"end":{"line":35,"column":36}},"6":{"start":{"line":38,"column":2},"end":{"line":38,"column":26}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"31":1,"33":45,"35":3,"38":45}},
"/Users/lallemant/dev/deep-lib/lib/methods/search.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/search.js","s":{"1":1,"2":1,"3":1,"4":2,"5":1,"6":2,"7":2,"8":2,"9":24,"10":6,"11":2},"b":{"1":[1,1],"2":[6,18]},"f":{"1":2,"2":24},"fnMap":{"1":{"name":"search","line":30,"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}}},"2":{"name":"(anonymous_2)","line":40,"loc":{"start":{"line":40,"column":16},"end":{"line":40,"column":37}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":42}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":46}},"3":{"start":{"line":30,"column":0},"end":{"line":47,"column":2}},"4":{"start":{"line":32,"column":2},"end":{"line":35,"column":3}},"5":{"start":{"line":34,"column":4},"end":{"line":34,"column":36}},"6":{"start":{"line":37,"column":2},"end":{"line":37,"column":33}},"7":{"start":{"line":38,"column":2},"end":{"line":38,"column":19}},"8":{"start":{"line":40,"column":2},"end":{"line":44,"column":5}},"9":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"10":{"start":{"line":42,"column":6},"end":{"line":42,"column":30}},"11":{"start":{"line":46,"column":2},"end":{"line":46,"column":17}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":32,"column":2}},{"start":{"line":32,"column":2},"end":{"line":32,"column":2}}]},"2":{"line":41,"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":41,"column":4}},{"start":{"line":41,"column":4},"end":{"line":41,"column":4}}]}},"l":{"4":1,"5":1,"30":1,"32":2,"34":1,"37":2,"38":2,"40":2,"41":24,"42":6,"46":2}},
"/Users/lallemant/dev/deep-lib/lib/methods/getPaths.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/getPaths.js","s":{"1":1,"2":1,"3":15,"4":15,"5":41,"6":37,"7":13,"8":13,"9":13,"10":24,"11":24,"12":15},"b":{"1":[4,37],"2":[41,8],"3":[13,24],"4":[37,13],"5":[11,2],"6":[23,1]},"f":{"1":15,"2":41},"fnMap":{"1":{"name":"getPaths","line":27,"loc":{"start":{"line":27,"column":19},"end":{"line":27,"column":54}}},"2":{"name":"propertyIterator","line":30,"loc":{"start":{"line":30,"column":45},"end":{"line":30,"column":81}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":27,"column":0},"end":{"line":51,"column":2}},"3":{"start":{"line":28,"column":2},"end":{"line":28,"column":22}},"4":{"start":{"line":30,"column":2},"end":{"line":48,"column":5}},"5":{"start":{"line":32,"column":4},"end":{"line":47,"column":5}},"6":{"start":{"line":36,"column":9},"end":{"line":47,"column":5}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":72}},"8":{"start":{"line":40,"column":6},"end":{"line":40,"column":62}},"9":{"start":{"line":42,"column":6},"end":{"line":42,"column":52}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":63}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":28}},"12":{"start":{"line":50,"column":2},"end":{"line":50,"column":20}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":4}},{"start":{"line":32,"column":4},"end":{"line":32,"column":4}}]},"2":{"line":32,"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":29}},{"start":{"line":32,"column":33},"end":{"line":32,"column":62}}]},"3":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":9},"end":{"line":36,"column":9}},{"start":{"line":36,"column":9},"end":{"line":36,"column":9}}]},"4":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":13},"end":{"line":36,"column":49}},{"start":{"line":36,"column":53},"end":{"line":36,"column":78}}]},"5":{"line":38,"type":"cond-expr","locations":[{"start":{"line":38,"column":30},"end":{"line":38,"column":59}},{"start":{"line":38,"column":62},"end":{"line":38,"column":70}}]},"6":{"line":45,"type":"cond-expr","locations":[{"start":{"line":45,"column":27},"end":{"line":45,"column":50}},{"start":{"line":45,"column":53},"end":{"line":45,"column":61}}]}},"l":{"4":1,"27":1,"28":15,"30":15,"32":41,"36":37,"38":13,"40":13,"42":13,"45":24,"46":24,"50":15}},
"/Users/lallemant/dev/deep-lib/lib/methods/move.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/move.js","s":{"1":1,"2":1,"3":1,"4":1,"5":3,"6":3,"7":3,"8":3},"b":{"1":[3,0]},"f":{"1":3},"fnMap":{"1":{"name":"deepMove","line":27,"loc":{"start":{"line":27,"column":15},"end":{"line":27,"column":60}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"4":{"start":{"line":27,"column":0},"end":{"line":37,"column":2}},"5":{"start":{"line":28,"column":2},"end":{"line":28,"column":42}},"6":{"start":{"line":30,"column":2},"end":{"line":36,"column":3}},"7":{"start":{"line":31,"column":4},"end":{"line":31,"column":36}},"8":{"start":{"line":32,"column":4},"end":{"line":32,"column":32}}},"branchMap":{"1":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":30,"column":2}},{"start":{"line":30,"column":2},"end":{"line":30,"column":2}}]}},"l":{"4":1,"5":1,"6":1,"27":1,"28":3,"30":3,"31":3,"32":3}},
"/Users/lallemant/dev/deep-lib/lib/methods/create.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/create.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":27,"7":26,"8":24,"9":24},"b":{"1":[26,1]},"f":{"1":27},"fnMap":{"1":{"name":"create","line":36,"loc":{"start":{"line":36,"column":17},"end":{"line":36,"column":62}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"5":{"start":{"line":36,"column":0},"end":{"line":45,"column":2}},"6":{"start":{"line":37,"column":2},"end":{"line":44,"column":3}},"7":{"start":{"line":39,"column":4},"end":{"line":39,"column":43}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":32}},"9":{"start":{"line":43,"column":4},"end":{"line":43,"column":16}}},"branchMap":{"1":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":37,"column":2}},{"start":{"line":37,"column":2},"end":{"line":37,"column":2}}]}},"l":{"4":1,"5":1,"6":1,"7":1,"36":1,"37":27,"39":26,"41":24,"43":24}},
"/Users/lallemant/dev/deep-lib/lib/methods/update.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/update.js","s":{"1":1,"2":1,"3":1,"4":1,"5":31,"6":31,"7":1,"8":30,"9":29,"10":29,"11":27,"12":27,"13":29,"14":1,"15":28,"16":1,"17":27,"18":9,"19":18},"b":{"1":[1,30],"2":[29,1],"3":[27,2],"4":[1,28],"5":[29,2],"6":[1,27],"7":[28,1],"8":[9,18]},"f":{"1":31},"fnMap":{"1":{"name":"update","line":40,"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":80}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"3":{"start":{"line":7,"column":0},"end":{"line":10,"column":2}},"4":{"start":{"line":40,"column":0},"end":{"line":77,"column":2}},"5":{"start":{"line":43,"column":2},"end":{"line":43,"column":54}},"6":{"start":{"line":45,"column":2},"end":{"line":48,"column":3}},"7":{"start":{"line":47,"column":4},"end":{"line":47,"column":88}},"8":{"start":{"line":50,"column":2},"end":{"line":76,"column":3}},"9":{"start":{"line":51,"column":4},"end":{"line":51,"column":28}},"10":{"start":{"line":53,"column":4},"end":{"line":60,"column":5}},"11":{"start":{"line":56,"column":6},"end":{"line":56,"column":42}},"12":{"start":{"line":59,"column":6},"end":{"line":59,"column":52}},"13":{"start":{"line":62,"column":4},"end":{"line":75,"column":5}},"14":{"start":{"line":63,"column":6},"end":{"line":63,"column":65}},"15":{"start":{"line":65,"column":9},"end":{"line":75,"column":5}},"16":{"start":{"line":66,"column":6},"end":{"line":66,"column":13}},"17":{"start":{"line":69,"column":6},"end":{"line":74,"column":7}},"18":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"19":{"start":{"line":73,"column":8},"end":{"line":73,"column":37}}},"branchMap":{"1":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":45,"column":2}},{"start":{"line":45,"column":2},"end":{"line":45,"column":2}}]},"2":{"line":50,"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":50,"column":2}},{"start":{"line":50,"column":2},"end":{"line":50,"column":2}}]},"3":{"line":53,"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":53,"column":4}},{"start":{"line":53,"column":4},"end":{"line":53,"column":4}}]},"4":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":4},"end":{"line":62,"column":4}},{"start":{"line":62,"column":4},"end":{"line":62,"column":4}}]},"5":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":8},"end":{"line":62,"column":28}},{"start":{"line":62,"column":32},"end":{"line":62,"column":56}}]},"6":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":9},"end":{"line":65,"column":9}},{"start":{"line":65,"column":9},"end":{"line":65,"column":9}}]},"7":{"line":65,"type":"binary-expr","locations":[{"start":{"line":65,"column":13},"end":{"line":65,"column":33}},{"start":{"line":65,"column":37},"end":{"line":65,"column":60}}]},"8":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":6}},{"start":{"line":69,"column":6},"end":{"line":69,"column":6}}]}},"l":{"4":1,"5":1,"7":1,"40":1,"43":31,"45":31,"47":1,"50":30,"51":29,"53":29,"56":27,"59":27,"62":29,"63":1,"65":28,"66":1,"69":27,"70":9,"73":18}},
"/Users/lallemant/dev/deep-lib/lib/methods/delete.js":{"path":"/Users/lallemant/dev/deep-lib/lib/methods/delete.js","s":{"1":1,"2":1,"3":1,"4":10,"5":10,"6":9,"7":9,"8":10,"9":10,"10":4,"11":6,"12":6,"13":3,"14":3,"15":6},"b":{"1":[9,1],"2":[4,6],"3":[3,3]},"f":{"1":10},"fnMap":{"1":{"name":"deepDelete","line":27,"loc":{"start":{"line":27,"column":17},"end":{"line":27,"column":52}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"3":{"start":{"line":27,"column":0},"end":{"line":51,"column":2}},"4":{"start":{"line":28,"column":2},"end":{"line":28,"column":26}},"5":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"6":{"start":{"line":31,"column":4},"end":{"line":31,"column":40}},"7":{"start":{"line":32,"column":4},"end":{"line":32,"column":38}},"8":{"start":{"line":35,"column":2},"end":{"line":35,"column":32}},"9":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"10":{"start":{"line":38,"column":4},"end":{"line":38,"column":11}},"11":{"start":{"line":41,"column":2},"end":{"line":41,"column":37}},"12":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"13":{"start":{"line":44,"column":4},"end":{"line":44,"column":35}},"14":{"start":{"line":47,"column":4},"end":{"line":47,"column":32}},"15":{"start":{"line":50,"column":2},"end":{"line":50,"column":15}}},"branchMap":{"1":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":30,"column":2}},{"start":{"line":30,"column":2},"end":{"line":30,"column":2}}]},"2":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":37,"column":2}},{"start":{"line":37,"column":2},"end":{"line":37,"column":2}}]},"3":{"line":43,"type":"if","locations":[{"start":{"line":43,"column":2},"end":{"line":43,"column":2}},{"start":{"line":43,"column":2},"end":{"line":43,"column":2}}]}},"l":{"4":1,"5":1,"27":1,"28":10,"30":10,"31":9,"32":9,"35":10,"37":10,"38":4,"41":6,"43":6,"44":3,"47":3,"50":6}}}
"/home/nysos/dev/deep-lib/lib/deep-lib.js":{"path":"/home/nysos/dev/deep-lib/lib/deep-lib.js","s":{"1":1,"2":1,"3":1,"4":1},"b":{},"f":{},"fnMap":{},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"2":{"start":{"line":39,"column":0},"end":{"line":42,"column":2}},"3":{"start":{"line":44,"column":0},"end":{"line":59,"column":2}},"4":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}}},"branchMap":{},"l":{"4":1,"39":1,"44":1,"61":1}},
"/home/nysos/dev/deep-lib/lib/tools.js":{"path":"/home/nysos/dev/deep-lib/lib/tools.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":143,"8":1,"9":2,"10":1,"11":342,"12":52,"13":1,"14":289,"15":1,"16":138,"17":1,"18":4,"19":1,"20":568,"21":1,"22":3,"23":1,"24":49,"25":49,"26":1,"27":46,"28":46,"29":1,"30":46,"31":46},"b":{"1":[142,1],"2":[27,52,1,289],"3":[138,133,133],"4":[4,3],"5":[45,1],"6":[45,1]},"f":{"1":143,"2":2,"3":342,"4":138,"5":4,"6":568,"7":3,"8":49,"9":46,"10":46},"fnMap":{"1":{"name":"split","line":20,"loc":{"start":{"line":20,"column":16},"end":{"line":20,"column":38}}},"2":{"name":"join","line":24,"loc":{"start":{"line":24,"column":15},"end":{"line":24,"column":44}}},"3":{"name":"isArrayIndex","line":28,"loc":{"start":{"line":28,"column":23},"end":{"line":28,"column":59}}},"4":{"name":"isArrayIndex","line":40,"loc":{"start":{"line":40,"column":37},"end":{"line":40,"column":66}}},"5":{"name":"isObject","line":48,"loc":{"start":{"line":48,"column":19},"end":{"line":48,"column":51}}},"6":{"name":"isArray","line":52,"loc":{"start":{"line":52,"column":18},"end":{"line":52,"column":44}}},"7":{"name":"areIdentical","line":56,"loc":{"start":{"line":56,"column":23},"end":{"line":56,"column":64}}},"8":{"name":"isDeep","line":60,"loc":{"start":{"line":60,"column":17},"end":{"line":60,"column":40}}},"9":{"name":"parent","line":84,"loc":{"start":{"line":84,"column":17},"end":{"line":84,"column":40}}},"10":{"name":"property","line":108,"loc":{"start":{"line":108,"column":19},"end":{"line":108,"column":44}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":43}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":31}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":31}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}},"5":{"start":{"line":9,"column":0},"end":{"line":9,"column":32}},"6":{"start":{"line":20,"column":0},"end":{"line":22,"column":2}},"7":{"start":{"line":21,"column":2},"end":{"line":21,"column":47}},"8":{"start":{"line":24,"column":0},"end":{"line":26,"column":2}},"9":{"start":{"line":25,"column":2},"end":{"line":25,"column":40}},"10":{"start":{"line":28,"column":0},"end":{"line":38,"column":2}},"11":{"start":{"line":29,"column":2},"end":{"line":37,"column":3}},"12":{"start":{"line":32,"column":6},"end":{"line":32,"column":20}},"13":{"start":{"line":34,"column":6},"end":{"line":34,"column":19}},"14":{"start":{"line":36,"column":6},"end":{"line":36,"column":42}},"15":{"start":{"line":40,"column":0},"end":{"line":46,"column":2}},"16":{"start":{"line":41,"column":2},"end":{"line":45,"column":4}},"17":{"start":{"line":48,"column":0},"end":{"line":50,"column":2}},"18":{"start":{"line":49,"column":2},"end":{"line":49,"column":67}},"19":{"start":{"line":52,"column":0},"end":{"line":54,"column":2}},"20":{"start":{"line":53,"column":2},"end":{"line":53,"column":69}},"21":{"start":{"line":56,"column":0},"end":{"line":58,"column":2}},"22":{"start":{"line":57,"column":2},"end":{"line":57,"column":29}},"23":{"start":{"line":60,"column":0},"end":{"line":63,"column":2}},"24":{"start":{"line":61,"column":2},"end":{"line":61,"column":51}},"25":{"start":{"line":62,"column":2},"end":{"line":62,"column":29}},"26":{"start":{"line":84,"column":0},"end":{"line":87,"column":2}},"27":{"start":{"line":85,"column":2},"end":{"line":85,"column":51}},"28":{"start":{"line":86,"column":2},"end":{"line":86,"column":70}},"29":{"start":{"line":108,"column":0},"end":{"line":111,"column":2}},"30":{"start":{"line":109,"column":2},"end":{"line":109,"column":51}},"31":{"start":{"line":110,"column":2},"end":{"line":110,"column":71}}},"branchMap":{"1":{"line":21,"type":"cond-expr","locations":[{"start":{"line":21,"column":17},"end":{"line":21,"column":40}},{"start":{"line":21,"column":43},"end":{"line":21,"column":45}}]},"2":{"line":29,"type":"switch","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":34}},{"start":{"line":31,"column":4},"end":{"line":32,"column":20}},{"start":{"line":33,"column":4},"end":{"line":34,"column":19}},{"start":{"line":35,"column":4},"end":{"line":36,"column":42}}]},"3":{"line":42,"type":"binary-expr","locations":[{"start":{"line":42,"column":6},"end":{"line":42,"column":49}},{"start":{"line":43,"column":6},"end":{"line":43,"column":42}},{"start":{"line":44,"column":6},"end":{"line":44,"column":41}}]},"4":{"line":49,"type":"binary-expr","locations":[{"start":{"line":49,"column":10},"end":{"line":49,"column":41}},{"start":{"line":49,"column":45},"end":{"line":49,"column":65}}]},"5":{"line":86,"type":"cond-expr","locations":[{"start":{"line":86,"column":30},"end":{"line":86,"column":61}},{"start":{"line":86,"column":64},"end":{"line":86,"column":68}}]},"6":{"line":110,"type":"cond-expr","locations":[{"start":{"line":110,"column":30},"end":{"line":110,"column":62}},{"start":{"line":110,"column":65},"end":{"line":110,"column":69}}]}},"l":{"4":1,"6":1,"7":1,"8":1,"9":1,"20":1,"21":143,"24":1,"25":2,"28":1,"29":342,"32":52,"34":1,"36":289,"40":1,"41":138,"48":1,"49":4,"52":1,"53":568,"56":1,"57":3,"60":1,"61":49,"62":49,"84":1,"85":46,"86":46,"108":1,"109":46,"110":46}},
"/home/nysos/dev/deep-lib/lib/methods/createPath.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/createPath.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":320,"7":71,"8":0,"9":71,"10":17,"11":54,"12":249,"13":2,"14":247,"15":0,"16":320,"17":1,"18":41,"19":1,"20":1,"21":41,"22":41,"23":1,"24":41,"25":41,"26":41,"27":41,"28":41,"29":41,"30":41,"31":41,"32":41,"33":164,"34":164,"35":123,"36":164,"37":164,"38":164,"39":164,"40":164,"41":164,"42":4,"43":160,"44":160,"45":160,"46":35,"47":23,"48":23,"49":12,"50":125,"51":160,"52":160,"53":37},"b":{"1":[71,249],"2":[0,71],"3":[71,0],"4":[17,54],"5":[71,71],"6":[2,247],"7":[249,196],"8":[0,247],"9":[247,53],"10":[1,40],"11":[1,40],"12":[123,41],"13":[164,152,67],"14":[4,160],"15":[164,164,23],"16":[35,125],"17":[160,35],"18":[23,12],"19":[23]},"f":{"1":320,"2":41,"3":164},"fnMap":{"1":{"name":"initDepthObject","line":13,"loc":{"start":{"line":13,"column":26},"end":{"line":13,"column":82}}},"2":{"name":"createPath","line":77,"loc":{"start":{"line":77,"column":21},"end":{"line":77,"column":71}}},"3":{"name":"pathElementIterator","line":100,"loc":{"start":{"line":100,"column":23},"end":{"line":100,"column":61}}}},"statementMap":{"1":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"2":{"start":{"line":6,"column":0},"end":{"line":6,"column":33}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":19}},"4":{"start":{"line":9,"column":0},"end":{"line":11,"column":2}},"5":{"start":{"line":13,"column":0},"end":{"line":35,"column":2}},"6":{"start":{"line":15,"column":2},"end":{"line":32,"column":3}},"7":{"start":{"line":17,"column":4},"end":{"line":25,"column":5}},"8":{"start":{"line":18,"column":6},"end":{"line":18,"column":17}},"9":{"start":{"line":20,"column":9},"end":{"line":25,"column":5}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":17}},"11":{"start":{"line":24,"column":6},"end":{"line":24,"column":17}},"12":{"start":{"line":27,"column":7},"end":{"line":32,"column":3}},"13":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"14":{"start":{"line":30,"column":7},"end":{"line":32,"column":3}},"15":{"start":{"line":31,"column":4},"end":{"line":31,"column":15}},"16":{"start":{"line":34,"column":2},"end":{"line":34,"column":15}},"17":{"start":{"line":77,"column":0},"end":{"line":198,"column":2}},"18":{"start":{"line":79,"column":2},"end":{"line":82,"column":3}},"19":{"start":{"line":80,"column":4},"end":{"line":80,"column":20}},"20":{"start":{"line":81,"column":4},"end":{"line":81,"column":18}},"21":{"start":{"line":84,"column":2},"end":{"line":84,"column":21}},"22":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"23":{"start":{"line":88,"column":4},"end":{"line":88,"column":36}},"24":{"start":{"line":91,"column":2},"end":{"line":91,"column":39}},"25":{"start":{"line":92,"column":2},"end":{"line":92,"column":20}},"26":{"start":{"line":93,"column":2},"end":{"line":93,"column":14}},"27":{"start":{"line":94,"column":2},"end":{"line":94,"column":20}},"28":{"start":{"line":95,"column":2},"end":{"line":95,"column":22}},"29":{"start":{"line":96,"column":2},"end":{"line":96,"column":24}},"30":{"start":{"line":97,"column":2},"end":{"line":97,"column":26}},"31":{"start":{"line":98,"column":2},"end":{"line":98,"column":23}},"32":{"start":{"line":100,"column":2},"end":{"line":195,"column":5}},"33":{"start":{"line":101,"column":4},"end":{"line":101,"column":34}},"34":{"start":{"line":103,"column":4},"end":{"line":103,"column":40}},"35":{"start":{"line":103,"column":18},"end":{"line":103,"column":40}},"36":{"start":{"line":106,"column":4},"end":{"line":106,"column":48}},"37":{"start":{"line":107,"column":4},"end":{"line":107,"column":50}},"38":{"start":{"line":109,"column":4},"end":{"line":109,"column":53}},"39":{"start":{"line":110,"column":4},"end":{"line":110,"column":54}},"40":{"start":{"line":115,"column":4},"end":{"line":115,"column":86}},"41":{"start":{"line":137,"column":4},"end":{"line":148,"column":5}},"42":{"start":{"line":147,"column":6},"end":{"line":147,"column":76}},"43":{"start":{"line":151,"column":4},"end":{"line":151,"column":68}},"44":{"start":{"line":155,"column":4},"end":{"line":155,"column":113}},"45":{"start":{"line":163,"column":4},"end":{"line":182,"column":5}},"46":{"start":{"line":167,"column":6},"end":{"line":176,"column":7}},"47":{"start":{"line":168,"column":8},"end":{"line":172,"column":9}},"48":{"start":{"line":171,"column":12},"end":{"line":171,"column":52}},"49":{"start":{"line":175,"column":8},"end":{"line":175,"column":39}},"50":{"start":{"line":181,"column":6},"end":{"line":181,"column":37}},"51":{"start":{"line":185,"column":4},"end":{"line":185,"column":20}},"52":{"start":{"line":194,"column":4},"end":{"line":194,"column":30}},"53":{"start":{"line":197,"column":2},"end":{"line":197,"column":18}}},"branchMap":{"1":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":15,"column":2}},{"start":{"line":15,"column":2},"end":{"line":15,"column":2}}]},"2":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":4}},{"start":{"line":17,"column":4},"end":{"line":17,"column":4}}]},"3":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":15}},{"start":{"line":17,"column":19},"end":{"line":17,"column":31}}]},"4":{"line":20,"type":"if","locations":[{"start":{"line":20,"column":9},"end":{"line":20,"column":9}},{"start":{"line":20,"column":9},"end":{"line":20,"column":9}}]},"5":{"line":20,"type":"binary-expr","locations":[{"start":{"line":20,"column":13},"end":{"line":20,"column":21}},{"start":{"line":20,"column":25},"end":{"line":20,"column":37}}]},"6":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":7},"end":{"line":27,"column":7}},{"start":{"line":27,"column":7},"end":{"line":27,"column":7}}]},"7":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11},"end":{"line":27,"column":19}},{"start":{"line":27,"column":23},"end":{"line":27,"column":35}}]},"8":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":7},"end":{"line":30,"column":7}},{"start":{"line":30,"column":7},"end":{"line":30,"column":7}}]},"9":{"line":30,"type":"binary-expr","locations":[{"start":{"line":30,"column":11},"end":{"line":30,"column":18}},{"start":{"line":30,"column":22},"end":{"line":30,"column":35}}]},"10":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":2},"end":{"line":79,"column":2}},{"start":{"line":79,"column":2},"end":{"line":79,"column":2}}]},"11":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":2},"end":{"line":86,"column":2}},{"start":{"line":86,"column":2},"end":{"line":86,"column":2}}]},"12":{"line":103,"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":103,"column":4}},{"start":{"line":103,"column":4},"end":{"line":103,"column":4}}]},"13":{"line":115,"type":"binary-expr","locations":[{"start":{"line":115,"column":26},"end":{"line":115,"column":31}},{"start":{"line":115,"column":35},"end":{"line":115,"column":60}},{"start":{"line":115,"column":64},"end":{"line":115,"column":85}}]},"14":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":4},"end":{"line":137,"column":4}},{"start":{"line":137,"column":4},"end":{"line":137,"column":4}}]},"15":{"line":138,"type":"binary-expr","locations":[{"start":{"line":139,"column":10},"end":{"line":139,"column":49}},{"start":{"line":140,"column":10},"end":{"line":140,"column":53}},{"start":{"line":142,"column":8},"end":{"line":142,"column":25}}]},"16":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":163,"column":4}},{"start":{"line":163,"column":4},"end":{"line":163,"column":4}}]},"17":{"line":163,"type":"binary-expr","locations":[{"start":{"line":163,"column":8},"end":{"line":163,"column":21}},{"start":{"line":163,"column":25},"end":{"line":163,"column":40}}]},"18":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":6},"end":{"line":167,"column":6}},{"start":{"line":167,"column":6},"end":{"line":167,"column":6}}]},"19":{"line":168,"type":"switch","locations":[{"start":{"line":169,"column":10},"end":{"line":171,"column":52}}]}},"l":{"5":1,"6":1,"7":1,"9":1,"13":1,"15":320,"17":71,"18":0,"20":71,"21":17,"24":54,"27":249,"28":2,"30":247,"31":0,"34":320,"77":1,"79":41,"80":1,"81":1,"84":41,"86":41,"88":1,"91":41,"92":41,"93":41,"94":41,"95":41,"96":41,"97":41,"98":41,"100":41,"101":164,"103":164,"106":164,"107":164,"109":164,"110":164,"115":164,"137":164,"147":4,"151":160,"155":160,"163":160,"167":35,"168":23,"171":23,"175":12,"181":125,"185":160,"194":160,"197":37}},
"/home/nysos/dev/deep-lib/lib/methods/select.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/select.js","s":{"1":1,"2":1,"3":1,"4":98,"5":1,"6":98,"7":1,"8":97,"9":97,"10":97,"11":97,"12":267,"13":267,"14":251,"15":16,"16":81},"b":{"1":[1,97],"2":[1,97],"3":[251,16],"4":[267,267,267]},"f":{"1":98},"fnMap":{"1":{"name":"select","line":38,"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":56}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":6,"column":0},"end":{"line":8,"column":2}},"3":{"start":{"line":38,"column":0},"end":{"line":65,"column":2}},"4":{"start":{"line":40,"column":2},"end":{"line":43,"column":3}},"5":{"start":{"line":42,"column":4},"end":{"line":42,"column":36}},"6":{"start":{"line":45,"column":2},"end":{"line":48,"column":3}},"7":{"start":{"line":47,"column":4},"end":{"line":47,"column":88}},"8":{"start":{"line":50,"column":2},"end":{"line":50,"column":34}},"9":{"start":{"line":51,"column":2},"end":{"line":51,"column":23}},"10":{"start":{"line":52,"column":2},"end":{"line":52,"column":15}},"11":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"12":{"start":{"line":55,"column":4},"end":{"line":55,"column":26}},"13":{"start":{"line":57,"column":4},"end":{"line":61,"column":5}},"14":{"start":{"line":58,"column":6},"end":{"line":58,"column":30}},"15":{"start":{"line":60,"column":6},"end":{"line":60,"column":13}},"16":{"start":{"line":64,"column":2},"end":{"line":64,"column":15}}},"branchMap":{"1":{"line":40,"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":40,"column":2}},{"start":{"line":40,"column":2},"end":{"line":40,"column":2}}]},"2":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":2},"end":{"line":45,"column":2}},{"start":{"line":45,"column":2},"end":{"line":45,"column":2}}]},"3":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":57,"column":4}},{"start":{"line":57,"column":4},"end":{"line":57,"column":4}}]},"4":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":9},"end":{"line":57,"column":34}},{"start":{"line":57,"column":38},"end":{"line":57,"column":52}},{"start":{"line":57,"column":56},"end":{"line":57,"column":88}}]}},"l":{"4":1,"6":1,"38":1,"40":98,"42":1,"45":98,"47":1,"50":97,"51":97,"52":97,"54":97,"55":267,"57":267,"58":251,"60":16,"64":81}},
"/home/nysos/dev/deep-lib/lib/methods/define.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/define.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":5,"7":4,"8":4,"9":4,"10":1,"11":1,"12":4,"13":4,"14":1,"15":4,"16":2,"17":2,"18":2,"19":2,"20":4},"b":{"1":[4,1],"2":[4,1],"3":[1,3],"4":[1,3],"5":[2,2]},"f":{"1":5},"fnMap":{"1":{"name":"define","line":65,"loc":{"start":{"line":65,"column":17},"end":{"line":65,"column":72}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":52}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":37}},"4":{"start":{"line":15,"column":0},"end":{"line":17,"column":2}},"5":{"start":{"line":65,"column":0},"end":{"line":102,"column":2}},"6":{"start":{"line":66,"column":2},"end":{"line":101,"column":3}},"7":{"start":{"line":69,"column":4},"end":{"line":69,"column":24}},"8":{"start":{"line":72,"column":4},"end":{"line":72,"column":48}},"9":{"start":{"line":75,"column":4},"end":{"line":78,"column":5}},"10":{"start":{"line":76,"column":6},"end":{"line":76,"column":23}},"11":{"start":{"line":77,"column":6},"end":{"line":77,"column":39}},"12":{"start":{"line":81,"column":4},"end":{"line":81,"column":26}},"13":{"start":{"line":83,"column":4},"end":{"line":86,"column":5}},"14":{"start":{"line":85,"column":6},"end":{"line":85,"column":38}},"15":{"start":{"line":88,"column":4},"end":{"line":98,"column":5}},"16":{"start":{"line":90,"column":6},"end":{"line":90,"column":38}},"17":{"start":{"line":91,"column":6},"end":{"line":91,"column":36}},"18":{"start":{"line":94,"column":6},"end":{"line":94,"column":31}},"19":{"start":{"line":97,"column":6},"end":{"line":97,"column":36}},"20":{"start":{"line":100,"column":4},"end":{"line":100,"column":53}}},"branchMap":{"1":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":2},"end":{"line":66,"column":2}},{"start":{"line":66,"column":2},"end":{"line":66,"column":2}}]},"2":{"line":72,"type":"binary-expr","locations":[{"start":{"line":72,"column":14},"end":{"line":72,"column":21}},{"start":{"line":72,"column":25},"end":{"line":72,"column":47}}]},"3":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":75,"column":4}},{"start":{"line":75,"column":4},"end":{"line":75,"column":4}}]},"4":{"line":83,"type":"if","locations":[{"start":{"line":83,"column":4},"end":{"line":83,"column":4}},{"start":{"line":83,"column":4},"end":{"line":83,"column":4}}]},"5":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":88,"column":4}},{"start":{"line":88,"column":4},"end":{"line":88,"column":4}}]}},"l":{"4":1,"5":1,"6":1,"15":1,"65":1,"66":5,"69":4,"72":4,"75":4,"76":1,"77":1,"81":4,"83":4,"85":1,"88":4,"90":2,"91":2,"94":2,"97":2,"100":4}},
"/home/nysos/dev/deep-lib/lib/methods/diff.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/diff.js","s":{"1":1,"2":1,"3":1,"4":7,"5":1,"6":1,"7":7},"b":{"1":[1,6]},"f":{"1":7},"fnMap":{"1":{"name":"deepDiff","line":31,"loc":{"start":{"line":31,"column":15},"end":{"line":31,"column":60}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":41}},"3":{"start":{"line":31,"column":0},"end":{"line":40,"column":2}},"4":{"start":{"line":33,"column":2},"end":{"line":37,"column":3}},"5":{"start":{"line":35,"column":4},"end":{"line":35,"column":38}},"6":{"start":{"line":36,"column":4},"end":{"line":36,"column":38}},"7":{"start":{"line":39,"column":2},"end":{"line":39,"column":40}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"31":1,"33":7,"35":1,"36":1,"39":7}},
"/home/nysos/dev/deep-lib/lib/methods/equal.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/equal.js","s":{"1":1,"2":1,"3":1,"4":1,"5":4,"6":2,"7":2,"8":4},"b":{"1":[2,2]},"f":{"1":4},"fnMap":{"1":{"name":"deepEqual","line":31,"loc":{"start":{"line":31,"column":16},"end":{"line":31,"column":62}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":42}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":38}},"4":{"start":{"line":31,"column":0},"end":{"line":47,"column":2}},"5":{"start":{"line":33,"column":2},"end":{"line":37,"column":3}},"6":{"start":{"line":35,"column":4},"end":{"line":35,"column":38}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":38}},"8":{"start":{"line":46,"column":2},"end":{"line":46,"column":48}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"6":1,"31":1,"33":4,"35":2,"36":2,"46":4}},
"/home/nysos/dev/deep-lib/lib/methods/clone.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/clone.js","s":{"1":1,"2":1,"3":1,"4":53,"5":3,"6":53},"b":{"1":[3,50]},"f":{"1":53},"fnMap":{"1":{"name":"deepClone","line":31,"loc":{"start":{"line":31,"column":16},"end":{"line":31,"column":52}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":42}},"3":{"start":{"line":31,"column":0},"end":{"line":39,"column":2}},"4":{"start":{"line":33,"column":2},"end":{"line":36,"column":3}},"5":{"start":{"line":35,"column":4},"end":{"line":35,"column":36}},"6":{"start":{"line":38,"column":2},"end":{"line":38,"column":26}}},"branchMap":{"1":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":2},"end":{"line":33,"column":2}},{"start":{"line":33,"column":2},"end":{"line":33,"column":2}}]}},"l":{"4":1,"5":1,"31":1,"33":53,"35":3,"38":53}},
"/home/nysos/dev/deep-lib/lib/methods/search.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/search.js","s":{"1":1,"2":1,"3":1,"4":2,"5":1,"6":2,"7":2,"8":2,"9":24,"10":6,"11":2},"b":{"1":[1,1],"2":[6,18]},"f":{"1":2,"2":24},"fnMap":{"1":{"name":"search","line":30,"loc":{"start":{"line":30,"column":17},"end":{"line":30,"column":57}}},"2":{"name":"(anonymous_2)","line":40,"loc":{"start":{"line":40,"column":16},"end":{"line":40,"column":37}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":42}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":46}},"3":{"start":{"line":30,"column":0},"end":{"line":47,"column":2}},"4":{"start":{"line":32,"column":2},"end":{"line":35,"column":3}},"5":{"start":{"line":34,"column":4},"end":{"line":34,"column":36}},"6":{"start":{"line":37,"column":2},"end":{"line":37,"column":33}},"7":{"start":{"line":38,"column":2},"end":{"line":38,"column":19}},"8":{"start":{"line":40,"column":2},"end":{"line":44,"column":5}},"9":{"start":{"line":41,"column":4},"end":{"line":43,"column":5}},"10":{"start":{"line":42,"column":6},"end":{"line":42,"column":30}},"11":{"start":{"line":46,"column":2},"end":{"line":46,"column":17}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":32,"column":2}},{"start":{"line":32,"column":2},"end":{"line":32,"column":2}}]},"2":{"line":41,"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":41,"column":4}},{"start":{"line":41,"column":4},"end":{"line":41,"column":4}}]}},"l":{"4":1,"5":1,"30":1,"32":2,"34":1,"37":2,"38":2,"40":2,"41":24,"42":6,"46":2}},
"/home/nysos/dev/deep-lib/lib/methods/getPaths.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/getPaths.js","s":{"1":1,"2":1,"3":15,"4":15,"5":41,"6":37,"7":13,"8":13,"9":13,"10":24,"11":24,"12":15},"b":{"1":[4,37],"2":[41,8],"3":[13,24],"4":[37,13],"5":[11,2],"6":[23,1]},"f":{"1":15,"2":41},"fnMap":{"1":{"name":"getPaths","line":27,"loc":{"start":{"line":27,"column":19},"end":{"line":27,"column":54}}},"2":{"name":"propertyIterator","line":30,"loc":{"start":{"line":30,"column":45},"end":{"line":30,"column":81}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"2":{"start":{"line":27,"column":0},"end":{"line":51,"column":2}},"3":{"start":{"line":28,"column":2},"end":{"line":28,"column":22}},"4":{"start":{"line":30,"column":2},"end":{"line":48,"column":5}},"5":{"start":{"line":32,"column":4},"end":{"line":47,"column":5}},"6":{"start":{"line":36,"column":9},"end":{"line":47,"column":5}},"7":{"start":{"line":38,"column":6},"end":{"line":38,"column":72}},"8":{"start":{"line":40,"column":6},"end":{"line":40,"column":62}},"9":{"start":{"line":42,"column":6},"end":{"line":42,"column":52}},"10":{"start":{"line":45,"column":6},"end":{"line":45,"column":63}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":28}},"12":{"start":{"line":50,"column":2},"end":{"line":50,"column":20}}},"branchMap":{"1":{"line":32,"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":4}},{"start":{"line":32,"column":4},"end":{"line":32,"column":4}}]},"2":{"line":32,"type":"binary-expr","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":29}},{"start":{"line":32,"column":33},"end":{"line":32,"column":62}}]},"3":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":9},"end":{"line":36,"column":9}},{"start":{"line":36,"column":9},"end":{"line":36,"column":9}}]},"4":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":13},"end":{"line":36,"column":49}},{"start":{"line":36,"column":53},"end":{"line":36,"column":78}}]},"5":{"line":38,"type":"cond-expr","locations":[{"start":{"line":38,"column":30},"end":{"line":38,"column":59}},{"start":{"line":38,"column":62},"end":{"line":38,"column":70}}]},"6":{"line":45,"type":"cond-expr","locations":[{"start":{"line":45,"column":27},"end":{"line":45,"column":50}},{"start":{"line":45,"column":53},"end":{"line":45,"column":61}}]}},"l":{"4":1,"27":1,"28":15,"30":15,"32":41,"36":37,"38":13,"40":13,"42":13,"45":24,"46":24,"50":15}},
"/home/nysos/dev/deep-lib/lib/methods/move.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/move.js","s":{"1":1,"2":1,"3":1,"4":1,"5":6,"6":1,"7":6,"8":6,"9":5,"10":5},"b":{"1":[1,5],"2":[5,1]},"f":{"1":6},"fnMap":{"1":{"name":"deepMove","line":28,"loc":{"start":{"line":28,"column":15},"end":{"line":28,"column":68}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"4":{"start":{"line":28,"column":0},"end":{"line":44,"column":2}},"5":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"6":{"start":{"line":32,"column":4},"end":{"line":32,"column":40}},"7":{"start":{"line":35,"column":2},"end":{"line":35,"column":42}},"8":{"start":{"line":37,"column":2},"end":{"line":43,"column":3}},"9":{"start":{"line":38,"column":4},"end":{"line":38,"column":36}},"10":{"start":{"line":39,"column":4},"end":{"line":39,"column":32}}},"branchMap":{"1":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":30,"column":2}},{"start":{"line":30,"column":2},"end":{"line":30,"column":2}}]},"2":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":37,"column":2}},{"start":{"line":37,"column":2},"end":{"line":37,"column":2}}]}},"l":{"4":1,"5":1,"6":1,"28":1,"30":6,"32":1,"35":6,"37":6,"38":5,"39":5}},
"/home/nysos/dev/deep-lib/lib/methods/create.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/create.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":29,"7":1,"8":1,"9":29,"10":1,"11":29,"12":28,"13":26,"14":26},"b":{"1":[1,28],"2":[1,28],"3":[28,1],"4":[1,25]},"f":{"1":29},"fnMap":{"1":{"name":"create","line":37,"loc":{"start":{"line":37,"column":17},"end":{"line":37,"column":70}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"5":{"start":{"line":37,"column":0},"end":{"line":57,"column":2}},"6":{"start":{"line":39,"column":2},"end":{"line":42,"column":3}},"7":{"start":{"line":40,"column":4},"end":{"line":40,"column":20}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":16}},"9":{"start":{"line":44,"column":2},"end":{"line":47,"column":3}},"10":{"start":{"line":46,"column":4},"end":{"line":46,"column":36}},"11":{"start":{"line":49,"column":2},"end":{"line":56,"column":3}},"12":{"start":{"line":51,"column":4},"end":{"line":51,"column":43}},"13":{"start":{"line":53,"column":4},"end":{"line":53,"column":32}},"14":{"start":{"line":55,"column":4},"end":{"line":55,"column":55}}},"branchMap":{"1":{"line":39,"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":39,"column":2}},{"start":{"line":39,"column":2},"end":{"line":39,"column":2}}]},"2":{"line":44,"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":44,"column":2}},{"start":{"line":44,"column":2},"end":{"line":44,"column":2}}]},"3":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":2},"end":{"line":49,"column":2}},{"start":{"line":49,"column":2},"end":{"line":49,"column":2}}]},"4":{"line":55,"type":"cond-expr","locations":[{"start":{"line":55,"column":21},"end":{"line":55,"column":46}},{"start":{"line":55,"column":49},"end":{"line":55,"column":53}}]}},"l":{"4":1,"5":1,"6":1,"7":1,"37":1,"39":29,"40":1,"41":1,"44":29,"46":1,"49":29,"51":28,"53":26,"55":26}},
"/home/nysos/dev/deep-lib/lib/methods/update.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/update.js","s":{"1":1,"2":1,"3":1,"4":1,"5":34,"6":1,"7":1,"8":34,"9":1,"10":34,"11":34,"12":1,"13":33,"14":32,"15":32,"16":30,"17":30,"18":32,"19":1,"20":31,"21":1,"22":30,"23":11,"24":19},"b":{"1":[1,33],"2":[1,33],"3":[1,33],"4":[32,1],"5":[30,2],"6":[1,31],"7":[32,2],"8":[1,30],"9":[31,1],"10":[11,19]},"f":{"1":34},"fnMap":{"1":{"name":"update","line":40,"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":88}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"3":{"start":{"line":7,"column":0},"end":{"line":10,"column":2}},"4":{"start":{"line":40,"column":0},"end":{"line":87,"column":2}},"5":{"start":{"line":42,"column":2},"end":{"line":45,"column":3}},"6":{"start":{"line":43,"column":4},"end":{"line":43,"column":38}},"7":{"start":{"line":44,"column":4},"end":{"line":44,"column":18}},"8":{"start":{"line":47,"column":2},"end":{"line":50,"column":3}},"9":{"start":{"line":49,"column":4},"end":{"line":49,"column":36}},"10":{"start":{"line":53,"column":2},"end":{"line":53,"column":54}},"11":{"start":{"line":55,"column":2},"end":{"line":58,"column":3}},"12":{"start":{"line":57,"column":4},"end":{"line":57,"column":88}},"13":{"start":{"line":60,"column":2},"end":{"line":86,"column":3}},"14":{"start":{"line":61,"column":4},"end":{"line":61,"column":28}},"15":{"start":{"line":63,"column":4},"end":{"line":70,"column":5}},"16":{"start":{"line":66,"column":6},"end":{"line":66,"column":42}},"17":{"start":{"line":69,"column":6},"end":{"line":69,"column":52}},"18":{"start":{"line":72,"column":4},"end":{"line":85,"column":5}},"19":{"start":{"line":73,"column":6},"end":{"line":73,"column":65}},"20":{"start":{"line":75,"column":9},"end":{"line":85,"column":5}},"21":{"start":{"line":76,"column":6},"end":{"line":76,"column":13}},"22":{"start":{"line":79,"column":6},"end":{"line":84,"column":7}},"23":{"start":{"line":80,"column":8},"end":{"line":80,"column":47}},"24":{"start":{"line":83,"column":8},"end":{"line":83,"column":37}}},"branchMap":{"1":{"line":42,"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":42,"column":2}},{"start":{"line":42,"column":2},"end":{"line":42,"column":2}}]},"2":{"line":47,"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":47,"column":2}},{"start":{"line":47,"column":2},"end":{"line":47,"column":2}}]},"3":{"line":55,"type":"if","locations":[{"start":{"line":55,"column":2},"end":{"line":55,"column":2}},{"start":{"line":55,"column":2},"end":{"line":55,"column":2}}]},"4":{"line":60,"type":"if","locations":[{"start":{"line":60,"column":2},"end":{"line":60,"column":2}},{"start":{"line":60,"column":2},"end":{"line":60,"column":2}}]},"5":{"line":63,"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":63,"column":4}},{"start":{"line":63,"column":4},"end":{"line":63,"column":4}}]},"6":{"line":72,"type":"if","locations":[{"start":{"line":72,"column":4},"end":{"line":72,"column":4}},{"start":{"line":72,"column":4},"end":{"line":72,"column":4}}]},"7":{"line":72,"type":"binary-expr","locations":[{"start":{"line":72,"column":8},"end":{"line":72,"column":28}},{"start":{"line":72,"column":32},"end":{"line":72,"column":56}}]},"8":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":9},"end":{"line":75,"column":9}},{"start":{"line":75,"column":9},"end":{"line":75,"column":9}}]},"9":{"line":75,"type":"binary-expr","locations":[{"start":{"line":75,"column":13},"end":{"line":75,"column":33}},{"start":{"line":75,"column":37},"end":{"line":75,"column":60}}]},"10":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":6},"end":{"line":79,"column":6}},{"start":{"line":79,"column":6},"end":{"line":79,"column":6}}]}},"l":{"4":1,"5":1,"7":1,"40":1,"42":34,"43":1,"44":1,"47":34,"49":1,"53":34,"55":34,"57":1,"60":33,"61":32,"63":32,"66":30,"69":30,"72":32,"73":1,"75":31,"76":1,"79":30,"80":11,"83":19}},
"/home/nysos/dev/deep-lib/lib/methods/delete.js":{"path":"/home/nysos/dev/deep-lib/lib/methods/delete.js","s":{"1":1,"2":1,"3":1,"4":13,"5":1,"6":13,"7":13,"8":12,"9":12,"10":13,"11":13,"12":4,"13":9,"14":9,"15":5,"16":4,"17":9},"b":{"1":[1,12],"2":[12,1],"3":[4,9],"4":[5,4]},"f":{"1":13},"fnMap":{"1":{"name":"deepDelete","line":28,"loc":{"start":{"line":28,"column":17},"end":{"line":28,"column":60}}}},"statementMap":{"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"3":{"start":{"line":28,"column":0},"end":{"line":58,"column":2}},"4":{"start":{"line":30,"column":2},"end":{"line":33,"column":3}},"5":{"start":{"line":32,"column":4},"end":{"line":32,"column":36}},"6":{"start":{"line":35,"column":2},"end":{"line":35,"column":26}},"7":{"start":{"line":37,"column":2},"end":{"line":40,"column":3}},"8":{"start":{"line":38,"column":4},"end":{"line":38,"column":40}},"9":{"start":{"line":39,"column":4},"end":{"line":39,"column":38}},"10":{"start":{"line":42,"column":2},"end":{"line":42,"column":32}},"11":{"start":{"line":44,"column":2},"end":{"line":46,"column":3}},"12":{"start":{"line":45,"column":4},"end":{"line":45,"column":11}},"13":{"start":{"line":48,"column":2},"end":{"line":48,"column":37}},"14":{"start":{"line":50,"column":2},"end":{"line":55,"column":3}},"15":{"start":{"line":51,"column":4},"end":{"line":51,"column":35}},"16":{"start":{"line":54,"column":4},"end":{"line":54,"column":32}},"17":{"start":{"line":57,"column":2},"end":{"line":57,"column":15}}},"branchMap":{"1":{"line":30,"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":30,"column":2}},{"start":{"line":30,"column":2},"end":{"line":30,"column":2}}]},"2":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":37,"column":2}},{"start":{"line":37,"column":2},"end":{"line":37,"column":2}}]},"3":{"line":44,"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":44,"column":2}},{"start":{"line":44,"column":2},"end":{"line":44,"column":2}}]},"4":{"line":50,"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":50,"column":2}},{"start":{"line":50,"column":2},"end":{"line":50,"column":2}}]}},"l":{"4":1,"5":1,"28":1,"30":13,"32":1,"35":13,"37":13,"38":12,"39":12,"42":13,"44":13,"45":4,"48":9,"50":9,"51":5,"54":4,"57":9}}}

@@ -13,2 +13,1 @@ /* jshint node:true */

var data = require('../object.json');

@@ -51,2 +51,14 @@ /* jshint node:true */

it('should support the "offset" argument', function() {
var clone = deep.clone(data);
var realPath = deep.create(clone, 'sites.*', 'Gibraltar', 'countries.spain');
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"A","path":["countries","spain","sites"],"index":2,"item":{"kind":"N","rhs":"Gibraltar"}}]);
expect(realPath).to.deep.equal('countries.spain.sites.2');
});
var clone = deep.clone(data);

@@ -53,0 +65,0 @@ var paris = {

@@ -36,3 +36,3 @@ /* jshint node:true */

var realPath = deep.createPath(clone, test.path, test.force, test.offset);
var realPath = deep.createPath(clone, test.path, test.offset, test.force);

@@ -39,0 +39,0 @@ var diff = diffLib(data, clone);

@@ -11,2 +11,3 @@ /* jshint node:true */

var expect = require('chai').expect;
var diffLib = require('deep-diff');
var deep = require('../../../lib/deep-lib');

@@ -54,2 +55,14 @@ var data = require('../../object.json');

it('should support the "offset" argument', function() {
var clone = deep.clone(data);
var value = deep.delete(clone, 'sites.1', 'countries.spain');
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"A","path":["countries","spain","sites"],"index":1,"item":{"kind":"D","lhs":"Cabo de Gata"}}]);
expect(value).to.deep.equal('Cabo de Gata');
});
it('should return undefined for unknown deep values', function() {

@@ -56,0 +69,0 @@ var levels = ['fully', 'unknown', 'deep', 'value'];

@@ -11,2 +11,3 @@ /* jshint node:true */

var expect = require('chai').expect;
var diffLib = require('deep-diff');
var deep = require('../../../lib/deep-lib');

@@ -16,57 +17,83 @@ var data = require('../../object.json');

describe('[' + __filename.substring(__filename.indexOf('/test/') + 1) + '] - move ', function() {
var clone = deep.clone(data);
it('should move a deep structure', function() {
var clone = deep.clone(data);
var oldPath = 'countries.germany';
var newPath = 'countries.france';
var moved = deep.select(clone, oldPath);
deep.move(clone, oldPath, newPath);
var empty = deep.select(clone, oldPath);
var control = deep.select(clone, newPath);
var value = deep.select(data, oldPath);
expect(empty).to.equal(undefined);
expect(control).to.deep.equal(value);
expect(control).to.equal(moved);
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"D","path":["countries","germany"],"lhs":{"towns":{"capital":"berlin","berlin":{"name":"Berlin","population":3562166,"area":891.85},"hamburg":{"name":"Hamburg","population":1751775,"area":755}}}},{"kind":"N","path":["countries","france"],"rhs":{"towns":{"capital":"berlin","berlin":{"name":"Berlin","population":3562166,"area":891.85},"hamburg":{"name":"Hamburg","population":1751775,"area":755}}}}]);
});
it('should move an array element to a different array', function() {
var clone = deep.clone(data);
var oldPath = 'countries.spain.sites.0';
var newPath = 'countries.france.sites.0';
var moved = deep.select(clone, oldPath);
deep.move(clone, oldPath, newPath);
var nextElement = deep.select(clone, oldPath);
var control = deep.select(clone, newPath);
var original = deep.select(data, oldPath);
expect(nextElement).to.equal('Cabo de Gata');
expect(control).to.deep.equal(original);
expect(control).to.equal(moved);
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"E","path":["countries","spain","sites",0],"lhs":"Alhambra","rhs":"Cabo de Gata"},{"kind":"A","path":["countries","spain","sites"],"index":1,"item":{"kind":"D","lhs":"Cabo de Gata"}},{"kind":"N","path":["countries","france"],"rhs":{"sites":["Alhambra"]}}]);
});
it('should move an array element to an object', function() {
var clone = deep.clone(data);
var oldPath = 'countries.spain.sites.0';
var newPath = 'countries.spain.bestSite';
var moved = deep.select(clone, oldPath);
deep.move(clone, oldPath, newPath);
var empty = deep.select(clone, oldPath);
var control = deep.select(clone, newPath);
expect(empty).to.equal(undefined);
expect(control).to.equal(moved);
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"E","path":["countries","spain","sites",0],"lhs":"Alhambra","rhs":"Cabo de Gata"},{"kind":"A","path":["countries","spain","sites"],"index":1,"item":{"kind":"D","lhs":"Cabo de Gata"}},{"kind":"N","path":["countries","spain","bestSite"],"rhs":"Alhambra"}]);
});
it('should move a deep value', function() {
deep.create(clone, 'countries.france.towns.capital', 'hamburg');
var control = deep.select(clone, 'countries.france.towns.capital');
var clone = deep.clone(data);
var oldPath = 'countries.germany.towns.capital';
var newPath = 'countries.france.towns.capital';
expect(control).to.equal('hamburg');
deep.move(clone, oldPath, newPath);
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"D","path":["countries","germany","towns","capital"],"lhs":"berlin"},{"kind":"N","path":["countries","france"],"rhs":{"towns":{"capital":"berlin"}}}]);
});
it('should do nothing if "oldPath" does not exist', function() {
var clone = deep.clone(data);
var oldPath = 'countries.usa';
var newPath = 'countries.france.towns.capital';
deep.move(clone, oldPath, newPath);
expect(clone).to.deep.equal(data);
});
it('should support the "offset" argument', function() {
var clone = deep.clone(data);
var oldPath = 'spain.sites.0';
var newPath = 'spain.bestSite';
deep.move(clone, oldPath, newPath, 'countries');
var diff = diffLib(data, clone);
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"E","path":["countries","spain","sites",0],"lhs":"Alhambra","rhs":"Cabo de Gata"},{"kind":"A","path":["countries","spain","sites"],"index":1,"item":{"kind":"D","lhs":"Cabo de Gata"}},{"kind":"N","path":["countries","spain","bestSite"],"rhs":"Alhambra"}]);
});
});

@@ -53,2 +53,9 @@ /* jshint node:true */

it('should support the "offset" argument', function() {
var value = deep.select(clone, 'sites.1', 'countries.spain');
var control = deep.select(data, 'countries.spain.sites.1');
expect(value).to.deep.equal(control);
});
it('should return undefined for unknown deep values', function() {

@@ -55,0 +62,0 @@ var levels = ['fully', 'unknown', 'deep', 'value'];

@@ -100,2 +100,14 @@ /* jshint node:true */

});
it('should support the "offset" argument', function() {
var clone = deep.clone(data);
deep.update(clone, 'sites.1', 'Mojacar', 'countries.spain');
var diff = diffLib(data, clone);
console.log(JSON.stringify(diff));
expect(clone).to.not.deep.equal(data);
expect(diff).to.deep.equal([{"kind":"E","path":["countries","spain","sites",1],"lhs":"Cabo de Gata","rhs":"Mojacar"}]);
});
});

Sorry, the diff of this file is not supported yet

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