pax_global_header00006660000000000000000000000064135024771510014517gustar00rootroot0000000000000052 comment=e909d1f064fb7ce5c110ff107aa2393715c4eb7c set-value-3.0.1/000077500000000000000000000000001350247715100134255ustar00rootroot00000000000000set-value-3.0.1/.editorconfig000066400000000000000000000004411350247715100161010ustar00rootroot00000000000000# http://editorconfig.org/ root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true [{**/{actual,fixtures,expected,templates}/**,*.md}] trim_trailing_whitespace = false insert_final_newline = false set-value-3.0.1/.eslintrc.json000066400000000000000000000073251350247715100162300ustar00rootroot00000000000000{ "extends": [ "eslint:recommended" ], "env": { "browser": false, "es6": true, "node": true, "mocha": true }, "parserOptions":{ "ecmaVersion": 9, "sourceType": "module", "ecmaFeatures": { "modules": true, "experimentalObjectRestSpread": true } }, "globals": { "document": false, "navigator": false, "window": false }, "rules": { "accessor-pairs": 2, "arrow-spacing": [2, { "before": true, "after": true }], "block-spacing": [2, "always"], "brace-style": [2, "1tbs", { "allowSingleLine": true }], "comma-dangle": [2, "never"], "comma-spacing": [2, { "before": false, "after": true }], "comma-style": [2, "last"], "constructor-super": 2, "curly": [2, "multi-line"], "dot-location": [2, "property"], "eol-last": 2, "eqeqeq": [2, "allow-null"], "generator-star-spacing": [2, { "before": true, "after": true }], "handle-callback-err": [2, "^(err|error)$" ], "indent": [2, 2, { "SwitchCase": 1 }], "key-spacing": [2, { "beforeColon": false, "afterColon": true }], "keyword-spacing": [2, { "before": true, "after": true }], "new-cap": [2, { "newIsCap": true, "capIsNew": false }], "new-parens": 2, "no-array-constructor": 2, "no-caller": 2, "no-class-assign": 2, "no-cond-assign": 2, "no-const-assign": 2, "no-control-regex": 2, "no-debugger": 2, "no-delete-var": 2, "no-dupe-args": 2, "no-dupe-class-members": 2, "no-dupe-keys": 2, "no-duplicate-case": 2, "no-empty-character-class": 2, "no-eval": 2, "no-ex-assign": 2, "no-extend-native": 2, "no-extra-bind": 2, "no-extra-boolean-cast": 2, "no-extra-parens": [2, "functions"], "no-fallthrough": 2, "no-floating-decimal": 2, "no-func-assign": 2, "no-implied-eval": 2, "no-inner-declarations": [2, "functions"], "no-invalid-regexp": 2, "no-irregular-whitespace": 2, "no-iterator": 2, "no-label-var": 2, "no-labels": 2, "no-lone-blocks": 2, "no-mixed-spaces-and-tabs": 2, "no-multi-spaces": 2, "no-multi-str": 2, "no-multiple-empty-lines": [2, { "max": 1 }], "no-native-reassign": 0, "no-negated-in-lhs": 2, "no-new": 2, "no-new-func": 2, "no-new-object": 2, "no-new-require": 2, "no-new-wrappers": 2, "no-obj-calls": 2, "no-octal": 2, "no-octal-escape": 2, "no-proto": 0, "no-redeclare": 2, "no-regex-spaces": 2, "no-return-assign": 2, "no-self-compare": 2, "no-sequences": 2, "no-shadow-restricted-names": 2, "no-spaced-func": 2, "no-sparse-arrays": 2, "no-this-before-super": 2, "no-throw-literal": 2, "no-trailing-spaces": 0, "no-undef": 2, "no-undef-init": 2, "no-unexpected-multiline": 2, "no-unneeded-ternary": [2, { "defaultAssignment": false }], "no-unreachable": 2, "no-unused-vars": [2, { "vars": "all", "args": "none" }], "no-useless-call": 0, "no-with": 2, "one-var": [0, { "initialized": "never" }], "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }], "padded-blocks": [0, "never"], "quotes": [2, "single", "avoid-escape"], "radix": 2, "semi": [2, "always"], "semi-spacing": [2, { "before": false, "after": true }], "space-before-blocks": [2, "always"], "space-before-function-paren": [2, "never"], "space-in-parens": [2, "never"], "space-infix-ops": 2, "space-unary-ops": [2, { "words": true, "nonwords": false }], "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], "use-isnan": 2, "valid-typeof": 2, "wrap-iife": [2, "any"], "yoda": [2, "never"] } } set-value-3.0.1/.gitattributes000066400000000000000000000001771350247715100163250ustar00rootroot00000000000000# Enforce Unix newlines * text eol=lf # binaries *.ai binary *.psd binary *.jpg binary *.gif binary *.png binary *.jpeg binaryset-value-3.0.1/.gitignore000066400000000000000000000004561350247715100154220ustar00rootroot00000000000000# always ignore files *.DS_Store .idea .vscode *.sublime-* # test related, or directories generated by tests test/actual actual coverage .nyc* # npm node_modules npm-debug.log # yarn yarn.lock yarn-error.log # misc _gh_pages _draft _drafts bower_components vendor temp tmp TODO.md package-lock.jsonset-value-3.0.1/.travis.yml000066400000000000000000000002151350247715100155340ustar00rootroot00000000000000sudo: false os: - linux - osx - windows language: node_js node_js: - node - '12' - '11' - '10' - '9' - '8' - '7' - '6' set-value-3.0.1/.verb.md000066400000000000000000000061471350247715100147730ustar00rootroot00000000000000## Heads up! [Please update][update] to version 3.0.1 or later, a critical bug was fixed in that version. ## Usage ```js const set = require('{%= name %}'); set(object, prop, value); ``` ### Params - `object` **{object}**: The object to set `value` on - `prop` **{string}**: The property to set. Dot-notation may be used. - `value` **{any}**: The value to set on `object[prop]` ## Examples Updates and returns the given object: ```js const obj = {}; set(obj, 'a.b.c', 'd'); console.log(obj); //=> { a: { b: { c: 'd' } } } ``` ### Escaping **Escaping with backslashes** Prevent set-value from splitting on a dot by prefixing it with backslashes: ```js console.log(set({}, 'a\\.b.c', 'd')); //=> { 'a.b': { c: 'd' } } console.log(set({}, 'a\\.b\\.c', 'd')); //=> { 'a.b.c': 'd' } ``` ## Benchmarks _(benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3)_. set-value is more reliable and has more features than dot-prop, without sacrificing performance. ``` {%= include("./benchmark/stats.md") %} ``` ### Running the benchmarks Clone this library into a local directory: ```sh $ git clone https://github.com/jonschlinkert/set-value.git ``` Then install devDependencies and run benchmarks: ```sh $ npm install && node benchmark ``` ## Comparisons to other libs, or _"the list of shame"_ These are just a few of the duplicate libraries on NPM. - [bury][] fails all of the tests. I even wrapped it to have it return the object instead of the value, but with all of that work it still fails the vast majority of tests. - [deep-get-set][] fails 22 of 26 unit tests. - [deep-object][] fails 25 of 26 unit tests, completely butchered given objects. - [deep-property][] fails 17 of 26 unit tests. - [deep-set][] fails 13 of 26 unit tests. - [deephas][] fails 17 of 26 unit tests. - [dot-prop][] fails 9 of 26 unit tests. - [dot2val][] fails 17 of 26 unit tests. - [es5-dot-prop][] fails 15 of 26 unit tests. - [getsetdeep][] fails all unit tests due to `this` being used improperly in the methods. I was able to patch it by binding the (plain) object to the methods, but it still fails 17 of 26 unit tests. - [lodash.set][] fails 11 of 26 unit tests. - [object-path-set][] fails 12 of 26 unit tests. - [object-path][] fails 16 of 26 unit tests. - [object-set][] fails 13 of 26 unit tests. - [set-nested-prop][] fails 24 of 26 unit tests. - [setvalue][] (this library is almost identical to a previous version of this library) - Many dozens of others **Others that do the same thing, but use a completely different API** - [deep-set-in][] - [set-deep][] - [set-deep-prop][] - [bury][] - Many dozens of others ## History ### v3.0.0 - Added support for a custom `split` function to be passed on the options. - Removed support for splitting on brackets, since a [custom function][split-string] can be passed to do this now. ### v2.0.0 - Adds support for escaping with double or single quotes. See [escaping](#escaping) for examples. - Will no longer split inside brackets or braces. See [bracket support](#bracket-support) for examples. If there are any regressions please create a [bug report](../../issues/new). Thanks!set-value-3.0.1/FUNDING.yml000066400000000000000000000000561350247715100152430ustar00rootroot00000000000000github: jonschlinkert tidelift: npm/set-value set-value-3.0.1/LICENSE000066400000000000000000000021031350247715100144260ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2014-present, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. set-value-3.0.1/README.md000066400000000000000000000264421350247715100147140ustar00rootroot00000000000000# set-value [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/set-value.svg?style=flat)](https://www.npmjs.com/package/set-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![NPM total downloads](https://img.shields.io/npm/dt/set-value.svg?style=flat)](https://npmjs.org/package/set-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/set-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/set-value) > Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. ## Install Install with [npm](https://www.npmjs.com/): ```sh $ npm install --save set-value ``` ## Heads up! [Please update](https://github.com/update/update) to version 3.0.1 or later, a critical bug was fixed in that version. ## Usage ```js const set = require('set-value'); set(object, prop, value); ``` ### Params * `object` **{object}**: The object to set `value` on * `prop` **{string}**: The property to set. Dot-notation may be used. * `value` **{any}**: The value to set on `object[prop]` ## Examples Updates and returns the given object: ```js const obj = {}; set(obj, 'a.b.c', 'd'); console.log(obj); //=> { a: { b: { c: 'd' } } } ``` ### Escaping **Escaping with backslashes** Prevent set-value from splitting on a dot by prefixing it with backslashes: ```js console.log(set({}, 'a\\.b.c', 'd')); //=> { 'a.b': { c: 'd' } } console.log(set({}, 'a\\.b\\.c', 'd')); //=> { 'a.b.c': 'd' } ``` ## Benchmarks _(benchmarks were run on a MacBook Pro 2.5 GHz Intel Core i7, 16 GB 1600 MHz DDR3)_. set-value is more reliable and has more features than dot-prop, without sacrificing performance. ``` # deep (194 bytes) deep-object x 629,744 ops/sec ±0.85% (88 runs sampled) deep-property x 1,470,427 ops/sec ±0.94% (89 runs sampled) deep-set x 1,401,089 ops/sec ±1.02% (91 runs sampled) deephas x 590,005 ops/sec ±1.73% (86 runs sampled) dot-prop x 1,261,408 ops/sec ±0.94% (90 runs sampled) dot2val x 1,672,729 ops/sec ±1.12% (89 runs sampled) es5-dot-prop x 1,313,018 ops/sec ±0.79% (91 runs sampled) lodash-set x 1,074,464 ops/sec ±0.97% (93 runs sampled) object-path-set x 961,198 ops/sec ±2.07% (74 runs sampled) object-set x 258,438 ops/sec ±0.69% (90 runs sampled) set-value x 1,976,843 ops/sec ±2.07% (89 runs sampled) fastest is set-value (by 186% avg) # medium (98 bytes) deep-object x 3,249,287 ops/sec ±1.04% (93 runs sampled) deep-property x 3,409,307 ops/sec ±1.28% (88 runs sampled) deep-set x 3,240,776 ops/sec ±1.13% (93 runs sampled) deephas x 960,504 ops/sec ±1.39% (89 runs sampled) dot-prop x 2,776,388 ops/sec ±0.80% (94 runs sampled) dot2val x 3,889,791 ops/sec ±1.28% (91 runs sampled) es5-dot-prop x 2,779,604 ops/sec ±1.32% (91 runs sampled) lodash-set x 2,791,304 ops/sec ±0.75% (90 runs sampled) object-path-set x 2,462,084 ops/sec ±1.51% (91 runs sampled) object-set x 838,569 ops/sec ±0.87% (90 runs sampled) set-value x 4,767,287 ops/sec ±1.21% (91 runs sampled) fastest is set-value (by 181% avg) # shallow (101 bytes) deep-object x 4,793,168 ops/sec ±0.75% (88 runs sampled) deep-property x 4,669,218 ops/sec ±1.17% (90 runs sampled) deep-set x 4,648,247 ops/sec ±0.73% (91 runs sampled) deephas x 1,246,414 ops/sec ±1.67% (92 runs sampled) dot-prop x 3,913,694 ops/sec ±1.23% (89 runs sampled) dot2val x 5,428,829 ops/sec ±0.76% (92 runs sampled) es5-dot-prop x 3,897,931 ops/sec ±1.19% (92 runs sampled) lodash-set x 6,128,638 ops/sec ±0.95% (87 runs sampled) object-path-set x 5,429,978 ops/sec ±3.31% (87 runs sampled) object-set x 1,529,485 ops/sec ±2.37% (89 runs sampled) set-value x 7,150,921 ops/sec ±1.58% (89 runs sampled) fastest is set-value (by 172% avg) ``` ### Running the benchmarks Clone this library into a local directory: ```sh $ git clone https://github.com/jonschlinkert/set-value.git ``` Then install devDependencies and run benchmarks: ```sh $ npm install && node benchmark ``` ## Comparisons to other libs, or _"the list of shame"_ These are just a few of the duplicate libraries on NPM. * [bury](https://github.com/kalmbach/bury) fails all of the tests. I even wrapped it to have it return the object instead of the value, but with all of that work it still fails the vast majority of tests. * [deep-get-set](https://github.com/acstll/deep-get-set) fails 22 of 26 unit tests. * [deep-object](https://github.com/ayushgp/deep-object) fails 25 of 26 unit tests, completely butchered given objects. * [deep-property](https://github.com/mikattack/node-deep-property) fails 17 of 26 unit tests. * [deep-set](https://github.com/klaemo/deep-set) fails 13 of 26 unit tests. * [deephas](https://github.com/sharpred/deepHas) fails 17 of 26 unit tests. * [dot-prop](https://github.com/sindresorhus/dot-prop) fails 9 of 26 unit tests. * [dot2val](https://github.com/yangg/dot2val) fails 17 of 26 unit tests. * [es5-dot-prop](https://github.com/sindresorhus/dot-prop) fails 15 of 26 unit tests. * [getsetdeep](https://github.com/bevry/getsetdeep) fails all unit tests due to `this` being used improperly in the methods. I was able to patch it by binding the (plain) object to the methods, but it still fails 17 of 26 unit tests. * [lodash.set](https://lodash.com/) fails 11 of 26 unit tests. * [object-path-set](https://github.com/skratchdot/object-path-set) fails 12 of 26 unit tests. * [object-path](https://github.com/mariocasciaro/object-path) fails 16 of 26 unit tests. * [object-set](https://github.com/gearcase/object-set) fails 13 of 26 unit tests. * [set-nested-prop](https://github.com/tiaanduplessis/set-nested-prop) fails 24 of 26 unit tests. * [setvalue](https://github.com/blakeembrey/setvalue) (this library is almost identical to a previous version of this library) * Many dozens of others **Others that do the same thing, but use a completely different API** * [deep-set-in](https://github.com/KulikovskyIgor/deep-set-in) * [set-deep](https://github.com/radubrehar/set-deep) * [set-deep-prop](https://github.com/mmckelvy/set-deep-prop) * [bury](https://github.com/kalmbach/bury) * Many dozens of others ## History ### v3.0.0 * Added support for a custom `split` function to be passed on the options. * Removed support for splitting on brackets, since a [custom function](https://github.com/jonschlinkert/split-string) can be passed to do this now. ### v2.0.0 * Adds support for escaping with double or single quotes. See [escaping](#escaping) for examples. * Will no longer split inside brackets or braces. See [bracket support](#bracket-support) for examples. If there are any regressions please create a [bug report](../../issues/new). Thanks! ## About
Contributing Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
Running Tests Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: ```sh $ npm install && npm test ```
Building docs _(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ To generate the readme, run the following command: ```sh $ npm install -g verbose/verb#dev verb-generate-readme && verb ```
### Related projects You might also be interested in these projects: * [assign-value](https://www.npmjs.com/package/assign-value): Assign a value or extend a deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/assign-value) | [homepage](https://github.com/jonschlinkert/assign-value "Assign a value or extend a deeply nested property of an object using object path notation.") * [get-value](https://www.npmjs.com/package/get-value): Use property paths like 'a.b.c' to get a nested value from an object. Even works… [more](https://github.com/jonschlinkert/get-value) | [homepage](https://github.com/jonschlinkert/get-value "Use property paths like 'a.b.c' to get a nested value from an object. Even works when keys have dots in them (no other dot-prop library can do this!).") * [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://github.com/jonschlinkert/has-value) | [homepage](https://github.com/jonschlinkert/has-value "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.") * [merge-value](https://www.npmjs.com/package/merge-value): Similar to assign-value but deeply merges object values or nested values using object path/dot notation. | [homepage](https://github.com/jonschlinkert/merge-value "Similar to assign-value but deeply merges object values or nested values using object path/dot notation.") * [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value "Omit properties from an object or deeply nested property of an object using object path notation.") * [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.") * [union-value](https://www.npmjs.com/package/union-value): Set an array of unique values as the property of an object. Supports setting deeply… [more](https://github.com/jonschlinkert/union-value) | [homepage](https://github.com/jonschlinkert/union-value "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.") * [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.") ### Contributors | **Commits** | **Contributor** | | --- | --- | | 71 | [jonschlinkert](https://github.com/jonschlinkert) | | 2 | [mbelsky](https://github.com/mbelsky) | | 1 | [vadimdemedes](https://github.com/vadimdemedes) | | 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | ### Author **Jon Schlinkert** * [GitHub Profile](https://github.com/jonschlinkert) * [Twitter Profile](https://twitter.com/jonschlinkert) * [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) ### License Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). Released under the [MIT License](LICENSE). *** _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on June 19, 2019._set-value-3.0.1/benchmark/000077500000000000000000000000001350247715100153575ustar00rootroot00000000000000set-value-3.0.1/benchmark/code/000077500000000000000000000000001350247715100162715ustar00rootroot00000000000000set-value-3.0.1/benchmark/code/deep-object.js000066400000000000000000000002361350247715100210110ustar00rootroot00000000000000const set = require('deep-object').set; module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/deep-property.js000066400000000000000000000002401350247715100214220ustar00rootroot00000000000000const set = require('deep-property').set; module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/deep-set.js000066400000000000000000000002271350247715100203360ustar00rootroot00000000000000const set = require('deep-set'); module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/deephas.js000066400000000000000000000002321350247715100202350ustar00rootroot00000000000000const set = require('deephas').set; module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/dot-prop.js000066400000000000000000000000521350247715100203700ustar00rootroot00000000000000module.exports = require('dot-prop').set; set-value-3.0.1/benchmark/code/dot2val.js000066400000000000000000000002321350247715100201770ustar00rootroot00000000000000const set = require('dot2val').set; module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/es5-dot-prop.js000066400000000000000000000002371350247715100210670ustar00rootroot00000000000000const set = require('es5-dot-prop').set; module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/lodash-set.js000066400000000000000000000000501350247715100206650ustar00rootroot00000000000000module.exports = require('lodash.set'); set-value-3.0.1/benchmark/code/object-path-set.js000066400000000000000000000002361350247715100216210ustar00rootroot00000000000000const set = require('object-path-set'); module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/object-set.js000066400000000000000000000002311350247715100206620ustar00rootroot00000000000000const set = require('object-set'); module.exports = function(obj, path, value) { try { set(obj, path, value); } catch (err) {} return obj; }; set-value-3.0.1/benchmark/code/set-value.js000066400000000000000000000000431350247715100205310ustar00rootroot00000000000000module.exports = require('../..'); set-value-3.0.1/benchmark/fixtures/000077500000000000000000000000001350247715100172305ustar00rootroot00000000000000set-value-3.0.1/benchmark/fixtures/deep.js000066400000000000000000000003021350247715100204760ustar00rootroot00000000000000/** * Deeply nested values */ module.exports = [{}, 'a.b.c.d.e.f.g.h.i.j.k.l.m.n.o', 'LAST VALUE!', {a: {b: {c: {d: {e: {f: {g: {h: {i: {j: {k: {l: {m: {n: {o: 'LAST VALUE!'}}}}}}}}}}}}}}}]; set-value-3.0.1/benchmark/fixtures/medium.js000066400000000000000000000001421350247715100210430ustar00rootroot00000000000000/** * Deeply nested values */ module.exports = [{}, 'x.y.z', 'foooo', {x: {y: {z: 'foooo'}}}]; set-value-3.0.1/benchmark/fixtures/shallow.js000066400000000000000000000001451350247715100212370ustar00rootroot00000000000000/** * Deeply nested values */ module.exports = [{}, 'foo', {i: {k: 'L'}}, { foo: {i: {k: 'L'}}}]; set-value-3.0.1/benchmark/index.js000066400000000000000000000007131350247715100170250ustar00rootroot00000000000000'use strict'; const path = require('path'); const argv = require('minimist')(process.argv.slice(2)); const bench = require('benchmarked'); const write = require('write'); bench.run({ fixtures: 'fixtures/*.js', code: 'code/*.js', dry: argv.dry }) .then(function(stats) { write.sync(path.join(__dirname, 'stats.json'), JSON.stringify(stats, null, 2)); write.sync(path.join(__dirname, 'stats.md'), bench.render(stats)); }) .catch(console.error); set-value-3.0.1/benchmark/stats.json000066400000000000000000005364711350247715100174300ustar00rootroot00000000000000[ { "name": "deep", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/deep.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep", "content": [ { "a": { ".": { "b": { ".": { "c": { ".": { "d": { ".": { "e": { ".": { "f": { ".": { "g": { ".": { "h": { ".": { "i": { ".": { "j": { ".": { "k": { ".": { "l": { ".": { "m": { ".": { "n": { ".": { "o": "LAST VALUE!" } } } } } } } } } } } } } } } } } } } } } } } } } } }, "b": { "c": { "d": { "e": { "f": { "g": { "h": { "i": { "j": { "k": { "l": { "m": { "n": { "o": "LAST VALUE!" } } } } } } } } } } } } } } }, "a.b.c.d.e.f.g.h.i.j.k.l.m.n.o", "LAST VALUE!", { "a": { "b": { "c": { "d": { "e": { "f": { "g": { "h": { "i": { "j": { "k": { "l": { "m": { "n": { "o": "LAST VALUE!" } } } } } } } } } } } } } } } ], "bytes": "(194 bytes)", "suite": { "0": { "name": "deep-object", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 1, "stats": { "moe": 1.3418798919818402e-8, "rme": 0.8450405076177558, "sem": 6.846325979499185e-9, "deviation": 6.422423054226311e-8, "mean": 0.0000015879474177690236, "sample": [ 0.000001604446560509554, 0.0000019212816878980894, 0.000001588360343846786, 0.0000015999949606495164, 0.0000016126595638784335, 0.0000015785348244004106, 0.0000015747140146802686, 0.0000017240407128638965, 0.00000156288105767459, 0.000001615178428843437, 0.000001543798538173331, 0.0000015948501318937487, 0.00000157925961597448, 0.0000015920999325194774, 0.0000015437054168455925, 0.0000015520891352957392, 0.0000016456609489386467, 0.0000015433365393451157, 0.0000015464572855086226, 0.0000015834586026281128, 0.000001549860158710928, 0.0000017742642355221711, 0.000001547041949357887, 0.0000015246143082141992, 0.0000015416449903077295, 0.0000015681779440271384, 0.0000015308245093288102, 0.0000015645900169614733, 0.000001522731705839593, 0.000001580462169857039, 0.0000015385144475405863, 0.0000015818125454325176, 0.0000015561619820692998, 0.0000015382547552701722, 0.0000015874891264841289, 0.0000015929029258541315, 0.0000016466240913496487, 0.0000015799787981584687, 0.0000015393242670220498, 0.000001691953961715532, 0.000001577051308456506, 0.0000015696349648655198, 0.0000015500391628301429, 0.0000015816687666585897, 0.0000015784569602616912, 0.0000015452145626362974, 0.0000015481463229949117, 0.0000015747479403925369, 0.0000015471437181972377, 0.0000015404990307729584, 0.0000016221623152410953, 0.000001593809425732978, 0.0000015758517991276957, 0.0000015528801187303125, 0.0000015716612551490188, 0.0000015510339835231404, 0.0000015847481826992972, 0.0000018191537436394475, 0.0000015634846438090624, 0.0000015431940877150472, 0.0000016478199055003636, 0.0000016094700448267505, 0.0000015581611339956384, 0.0000015489854010176884, 0.0000015493808153622486, 0.0000015788881754300943, 0.0000015789120426459898, 0.000001562910043615217, 0.000001588796068572813, 0.000001659727616913012, 0.0000015568705476132784, 0.0000015239565059365156, 0.0000015663570087230435, 0.000001552152047492125, 0.0000017524893687908892, 0.0000016699565968015507, 0.0000015436204870365885, 0.000001560229070753574, 0.0000016309871123884436, 0.0000016470810769928906, 0.000001572074905460596, 0.0000015512624716381788, 0.000001566424292845258, 0.0000016097441839358644, 0.0000016070588413250643, 0.0000015344182120707913, 0.0000015601941007411889, 0.0000015968252004235366 ], "variance": 4.124751788745762e-15 }, "times": { "cycle": 0.05248960189435507, "elapsed": 5.538, "period": 0.0000015879474177690236, "timeStamp": 1520291970143 }, "running": false, "count": 33055, "cycles": 5, "hz": 629743.7741389092 }, "1": { "name": "deep-property", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 2, "stats": { "moe": 6.401700026211611e-9, "rme": 0.9413229392829998, "sem": 3.266173482761026e-9, "deviation": 3.0813019010391124e-8, "mean": 6.800747925135818e-7, "sample": [ 6.746411231786656e-7, 7.820479595677188e-7, 6.78847756828746e-7, 6.541201885412858e-7, 6.572771321878102e-7, 6.790783151407532e-7, 6.664893427260388e-7, 6.672641375298908e-7, 6.636854779292962e-7, 6.714023007820074e-7, 6.580199573450527e-7, 6.614569508175532e-7, 6.592794028307374e-7, 6.685536612163123e-7, 6.711909649066115e-7, 6.664321278927351e-7, 7.196590730355186e-7, 6.484901179655773e-7, 6.6803457745117e-7, 6.550447237800554e-7, 6.549306903887062e-7, 6.791593631148069e-7, 6.792099400502805e-7, 6.449570682653258e-7, 6.693786888416167e-7, 6.776137819892992e-7, 6.764016373364275e-7, 6.744678011989943e-7, 6.956007735447689e-7, 6.481941998764287e-7, 6.519719261662033e-7, 6.70506062712388e-7, 6.493183631963753e-7, 7.450808361651735e-7, 6.655083925445371e-7, 6.616949207084749e-7, 6.718610724951086e-7, 7.116586216661517e-7, 7.33636983832767e-7, 6.999242096591494e-7, 7.03192140356297e-7, 7.963674183915148e-7, 6.810268896097209e-7, 6.620390536504994e-7, 7.266678766347442e-7, 6.788719879518072e-7, 7.23503874472248e-7, 6.569076176500875e-7, 6.899242482751519e-7, 7.10192063124292e-7, 7.287180516939553e-7, 6.760428122747401e-7, 6.630846334054165e-7, 6.752226469982494e-7, 6.668100864998455e-7, 6.511805684275563e-7, 6.553182216043662e-7, 6.570332741221296e-7, 6.768216069405828e-7, 7.007075798383994e-7, 6.732134667179684e-7, 6.713682954982685e-7, 6.457195203283315e-7, 6.579997434910863e-7, 6.915616390919584e-7, 6.631910093625754e-7, 6.704942157239964e-7, 7.58360112863922e-7, 6.635536616647428e-7, 6.634936514043863e-7, 6.554919840964474e-7, 6.707182249583173e-7, 6.68537937668334e-7, 6.854935616262666e-7, 6.729748108246762e-7, 7.081205848403232e-7, 6.663836347313069e-7, 6.764274464537643e-7, 6.722687700397589e-7, 6.787780813133256e-7, 6.678434782608696e-7, 6.766416313966911e-7, 6.656640374503014e-7, 6.46866936001026e-7, 7.983672309862768e-7, 6.753646530716942e-7, 6.859875464922406e-7, 6.901571886623061e-7, 6.938902013594973e-7 ], "variance": 9.49442140534725e-16 }, "times": { "cycle": 0.053025431572283975, "elapsed": 5.453, "period": 6.800747925135818e-7, "timeStamp": 1520291975682 }, "running": false, "count": 77970, "cycles": 6, "hz": 1470426.5045671854 }, "2": { "name": "deep-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 3, "stats": { "moe": 7.279250786634382e-9, "rme": 1.0198878458787548, "sem": 3.713903462568562e-9, "deviation": 3.542838103222283e-8, "mean": 7.137305161591019e-7, "sample": [ 7.212277598699617e-7, 6.982321128467918e-7, 6.961137421825494e-7, 6.920993883792049e-7, 7.104382007053367e-7, 7.007912669987512e-7, 6.897758840722902e-7, 7.080828839213426e-7, 6.882790882768652e-7, 8.143445995087344e-7, 6.983678179847132e-7, 7.095140587048701e-7, 7.217028666309882e-7, 6.963034045531267e-7, 6.99842753832009e-7, 6.904762394851318e-7, 7.081802607889137e-7, 7.268489279284194e-7, 6.972428255769545e-7, 7.36641237928965e-7, 6.949056686125812e-7, 6.872434393583938e-7, 6.850146489170167e-7, 7.156783103278957e-7, 6.922750422827213e-7, 6.979539527524688e-7, 7.677026706312401e-7, 7.070012821212287e-7, 7.00282830487206e-7, 6.894600632876862e-7, 7.167947378471274e-7, 6.947233755251242e-7, 7.029527251895902e-7, 7.014206448796988e-7, 7.107906050521033e-7, 7.101237928965027e-7, 6.931252243188863e-7, 6.983015933438469e-7, 7.078543966501713e-7, 7.022534531513405e-7, 6.921474930665071e-7, 6.86692887052042e-7, 8.357619364837675e-7, 7.253905187884061e-7, 7.110343275871445e-7, 6.991318587198869e-7, 7.043509570939148e-7, 7.034224536407635e-7, 7.434553537440861e-7, 7.091663222578715e-7, 7.237288052640166e-7, 7.056771575398336e-7, 7.030808635597368e-7, 6.976197998803632e-7, 7.168287427266301e-7, 7.414338191310023e-7, 7.012241285551144e-7, 7.021975501658601e-7, 6.912666131926696e-7, 6.874542661373647e-7, 7.792728941214857e-7, 7.158607455544075e-7, 6.989726602860406e-7, 7.093784327587145e-7, 7.006269916798086e-7, 7.025832019141878e-7, 7.188401218119528e-7, 7.077490891293707e-7, 7.026324704986677e-7, 7.07966012289956e-7, 7.199025096525096e-7, 6.869902931100114e-7, 7.12278508891185e-7, 6.927637718201099e-7, 7.199863777258143e-7, 7.010487519712872e-7, 6.902394910000544e-7, 6.867666403828377e-7, 8.323686442982217e-7, 7.290804557072163e-7, 7.238211566697483e-7, 7.088532274729458e-7, 7.243385719723748e-7, 7.141382484093752e-7, 7.107469818913481e-7, 7.107155636521833e-7, 7.247882293762575e-7, 6.984201696666486e-7, 7.273931018543694e-7, 6.994843520582957e-7, 9.300396704551634e-7 ], "variance": 1.2551701825643665e-15 }, "times": { "cycle": 0.0524991618465989, "elapsed": 5.478, "period": 7.137305161591019e-7, "timeStamp": 1520291981135 }, "running": false, "count": 73556, "cycles": 7, "hz": 1401089.0348102814 }, "3": { "name": "deephas", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 4, "stats": { "moe": 2.9257146179517104e-8, "rme": 1.72618561281093, "sem": 1.4927115397712808e-8, "deviation": 1.384283734366282e-7, "mean": 0.0000016949015194185643, "sample": [ 0.0000018809542372881356, 0.0000019131987742869648, 0.0000017791870896050106, 0.0000016865210290601743, 0.0000018121572886150116, 0.0000020053506414789373, 0.0000019595147321278246, 0.000002363116846819544, 0.0000017852792201232449, 0.0000017008579991244906, 0.0000016848429410625525, 0.0000016382744819572655, 0.0000016919501646117102, 0.0000016862371376928539, 0.0000017165220127816151, 0.000001637590919351198, 0.0000016701938989390862, 0.0000019361307278062624, 0.000001735971687465738, 0.000001794610073844765, 0.0000017193820579794268, 0.0000017083005707652123, 0.0000017019473090193803, 0.0000016350921930927736, 0.0000016714591918996486, 0.0000017094379413756409, 0.0000016261590080939022, 0.0000016728754312985715, 0.0000016654216245848249, 0.0000016418287059430525, 0.0000016489246203904555, 0.0000016339272680872782, 0.0000016837574326910807, 0.0000018085599719280337, 0.0000016689396771723876, 0.0000016018456679851984, 0.0000016624830655052046, 0.0000017059454699833328, 0.0000016187415642001321, 0.0000016099471681014951, 0.0000016067004682072194, 0.000001593012656698384, 0.000001613082736746715, 0.0000016690250717414287, 0.0000016234657302522278, 0.0000016459916326838846, 0.0000016769373508533454, 0.0000015836807128832503, 0.000001604417459598248, 0.0000018401769521220359, 0.000001633606675728742, 0.000001630467391632684, 0.0000016190539797613652, 0.0000015805026733121884, 0.0000015624455520314153, 0.0000015773379549916932, 0.0000015779797311584352, 0.0000016756760006041383, 0.0000016229454463072045, 0.000001702864491768615, 0.0000015917574384534059, 0.000001704115299803655, 0.000001630326929466848, 0.0000016473876755777074, 0.0000016395044253133969, 0.0000016967758948799275, 0.0000020651817550218998, 0.0000022401799728137746, 0.000001606695635100438, 0.000001609490288476061, 0.000001674814227458088, 0.000001766443407340281, 0.0000016428476061017973, 0.0000017211380456124452, 0.00000159300715903942, 0.0000015768461259628457, 0.0000016217533605195589, 0.0000015682192115994564, 0.0000016166809847455067, 0.0000016011117051804864, 0.0000015986325328500226, 0.0000015611460806524695, 0.0000015949404017520012, 0.0000018521723304636762, 0.0000015706060111765593, 0.0000016569476514121734 ], "variance": 1.9162414572310595e-14 }, "times": { "cycle": 0.05610971480035157, "elapsed": 5.446, "period": 0.0000016949015194185643, "timeStamp": 1520291986613 }, "running": false, "count": 33105, "cycles": 4, "hz": 590004.7811291419 }, "4": { "name": "dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 5, "stats": { "moe": 7.414710587823082e-9, "rme": 0.9352975969619083, "sem": 3.783015606032185e-9, "deviation": 3.588883721707176e-8, "mean": 7.927648495952524e-7, "sample": [ 7.955971977631538e-7, 7.581670489181278e-7, 7.56323430002716e-7, 7.688457162688235e-7, 7.837978241844464e-7, 7.756901348945288e-7, 7.941608926577542e-7, 7.812330325617889e-7, 8.079914747864925e-7, 7.616633370552555e-7, 7.579112623351541e-7, 7.989328696019555e-7, 8.613814014545674e-7, 7.760122068986329e-7, 7.988263270664212e-7, 7.621614392111613e-7, 8.1486306214503e-7, 8.177140159745845e-7, 7.648907404354798e-7, 7.913129297458893e-7, 9.354070553064275e-7, 7.608171748878924e-7, 7.639108221225709e-7, 7.910804633781764e-7, 7.696697757847534e-7, 7.841560837070254e-7, 8.270549775784754e-7, 9.119649925261584e-7, 8.28356576980568e-7, 7.650242301943199e-7, 7.610063976083707e-7, 7.70492735426009e-7, 8.168708669656204e-7, 7.669225112107624e-7, 7.501392526158445e-7, 7.751998654708521e-7, 7.879023916292975e-7, 7.981544095665172e-7, 7.794851270553064e-7, 7.934994170403587e-7, 7.860422272047833e-7, 7.671214200298953e-7, 7.653695923090617e-7, 7.971995133819951e-7, 9.037788855260816e-7, 7.860678298023856e-7, 7.624149605364667e-7, 7.737950121654501e-7, 8.261561480030858e-7, 8.05365823986707e-7, 8.646980742982612e-7, 8.094623316123672e-7, 8.001300664648981e-7, 7.650082932763634e-7, 8.010116313571895e-7, 7.645278915197911e-7, 7.774589786956264e-7, 7.628792653254999e-7, 7.601461189246929e-7, 7.723755266749748e-7, 7.899692896564002e-7, 8.960554121417127e-7, 8.003886564595573e-7, 7.906565930805294e-7, 7.825051183906e-7, 7.938863568927659e-7, 7.92339697940775e-7, 7.67925108302178e-7, 7.571364755800844e-7, 7.766809833244318e-7, 8.049399887247047e-7, 7.73797549106878e-7, 7.782713192095425e-7, 7.696258827369296e-7, 7.672512017090974e-7, 7.81672170791051e-7, 7.756372025399086e-7, 8.099051985045398e-7, 8.137164114889324e-7, 8.921461634324373e-7, 8.008430656934307e-7, 8.044549878345499e-7, 8.197222420034419e-7, 8.162678772773129e-7, 8.018704824639487e-7, 7.853390303246099e-7, 7.699445285146282e-7, 7.789651059284316e-7, 7.698858524716634e-7, 7.714354489347813e-7 ], "variance": 1.2880086367934753e-15 }, "times": { "cycle": 0.053435521922118395, "elapsed": 5.434, "period": 7.927648495952524e-7, "timeStamp": 1520291992060 }, "running": false, "count": 67404, "cycles": 5, "hz": 1261408.0966260699 }, "5": { "name": "dot2val", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 6, "stats": { "moe": 6.7220116987784645e-9, "rme": 1.1244104457474562, "sem": 3.4295978054992166e-9, "deviation": 3.235476098762234e-8, "mean": 5.978254403631035e-7, "sample": [ 5.885101430932039e-7, 5.897890102436971e-7, 6.049883413630198e-7, 7.055709107067683e-7, 6.030639412507601e-7, 5.87767458721175e-7, 5.941401680203577e-7, 5.822107458663041e-7, 6.037151757848358e-7, 5.972531324582339e-7, 5.908173272648263e-7, 5.916387713560369e-7, 5.779275552912655e-7, 5.921800311049104e-7, 5.908588614687922e-7, 5.830271253116209e-7, 5.947724081147222e-7, 6.064714909772889e-7, 6.74797623676326e-7, 5.829731377078425e-7, 5.771044530338723e-7, 5.855293209523592e-7, 5.887664958946092e-7, 5.826250829083092e-7, 5.886296914667338e-7, 5.975216362097751e-7, 5.865682478329483e-7, 6.026571369759623e-7, 5.882005466230588e-7, 6.016879788669578e-7, 5.976759943279281e-7, 6.078523431603504e-7, 5.935583445783684e-7, 5.829462868513139e-7, 5.754429819545777e-7, 5.778538183564714e-7, 6.810667840724561e-7, 5.90821112457974e-7, 6.075399103446698e-7, 5.769459268639823e-7, 5.854432764398023e-7, 5.844401833443534e-7, 5.850001344824109e-7, 6.026756396319665e-7, 5.965420985980209e-7, 6.05913471775504e-7, 5.814649729354149e-7, 5.727278188073652e-7, 5.680677343075837e-7, 5.824209411527384e-7, 5.654854815030651e-7, 5.814087480808239e-7, 5.703740179982293e-7, 6.516358776658336e-7, 5.743208077910144e-7, 5.737295558718383e-7, 5.659587138998779e-7, 5.808377581782116e-7, 5.805166590086404e-7, 5.786166130604835e-7, 5.885527339153433e-7, 5.868639822483217e-7, 5.811952796673802e-7, 5.740465197072766e-7, 5.878640943169974e-7, 5.8351329694837e-7, 5.883738162746131e-7, 5.810499265950174e-7, 5.995813674619808e-7, 6.360800282413063e-7, 7.423337181024531e-7, 5.723485111676436e-7, 5.754409902388184e-7, 6.156499086640293e-7, 5.864601427754928e-7, 5.859715345563762e-7, 5.905538433952326e-7, 5.887796169492665e-7, 5.889316044872298e-7, 6.710024318902624e-7, 7.114787461756564e-7, 5.919459492777174e-7, 5.944737815333237e-7, 5.822882966681983e-7, 6.162613441516962e-7, 5.922489157355627e-7, 6.045916777801437e-7, 6.818848606426018e-7, 5.856493147000482e-7 ], "variance": 1.0468305585661686e-15 }, "times": { "cycle": 0.05334456186904009, "elapsed": 5.463, "period": 5.978254403631035e-7, "timeStamp": 1520291997494 }, "running": false, "count": 89231, "cycles": 6, "hz": 1672729.0819083012 }, "6": { "name": "es5-dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 7, "stats": { "moe": 5.989138677117367e-9, "rme": 0.7863845069575909, "sem": 3.0556829985292692e-9, "deviation": 2.914935799400349e-8, "mean": 7.616043581896709e-7, "sample": [ 7.552244331048643e-7, 7.50361604670309e-7, 7.65657331038096e-7, 7.513229044819877e-7, 7.434110191450613e-7, 7.478712705628026e-7, 7.637880124968537e-7, 7.585478330396672e-7, 7.505170647200793e-7, 7.518807320431764e-7, 7.581133008573078e-7, 8.653393547240771e-7, 7.547531427217673e-7, 7.569712453914151e-7, 7.501376282630262e-7, 7.921743784888284e-7, 7.664132105364468e-7, 7.56759805736115e-7, 7.720744603160693e-7, 7.379508953349107e-7, 7.534615137440481e-7, 7.360648789180031e-7, 7.375655069669618e-7, 7.499884468203196e-7, 7.657322612683668e-7, 7.490559109631058e-7, 7.785774983203343e-7, 7.777426751964479e-7, 8.044702772178891e-7, 7.600882773931587e-7, 7.880012543574335e-7, 7.650603550123248e-7, 7.64590991963361e-7, 7.813004331908811e-7, 7.447588716617319e-7, 7.62519756129578e-7, 7.794490937700332e-7, 7.289897721312431e-7, 7.421950579870622e-7, 7.352295588320998e-7, 7.440324319599044e-7, 7.38250262253045e-7, 7.476051780406783e-7, 7.461106562153971e-7, 9.235331750101988e-7, 7.635980534996211e-7, 7.667635206014337e-7, 7.455895448452707e-7, 7.487731802552596e-7, 7.775406637915963e-7, 7.435296345940906e-7, 7.415669036657148e-7, 7.485108106533014e-7, 7.358292586980594e-7, 7.493224983973425e-7, 7.678495541698234e-7, 7.552377178157235e-7, 7.581223410455155e-7, 7.383994259572236e-7, 7.807460953435515e-7, 7.411499067544729e-7, 7.566338801794977e-7, 8.436862433708258e-7, 7.452828544786992e-7, 7.451942129494726e-7, 7.418229791945918e-7, 7.768296083687861e-7, 7.557209627600677e-7, 7.625919051226762e-7, 7.691700856693281e-7, 7.56059050643977e-7, 7.567018328573926e-7, 7.379604289294248e-7, 7.612720001165569e-7, 7.51153636575558e-7, 7.495821289119413e-7, 7.679936185092371e-7, 7.813116586048138e-7, 7.696970103152864e-7, 8.756894195465936e-7, 7.586847718398508e-7, 7.637420886998077e-7, 7.508769741826448e-7, 7.461009989220267e-7, 7.549109306503773e-7, 7.566540567732662e-7, 7.517390729428673e-7, 7.478270068271649e-7, 7.559160905497664e-7, 7.590233848365074e-7, 7.399948688465684e-7 ], "variance": 8.496850714625752e-16 }, "times": { "cycle": 0.05298862322104635, "elapsed": 5.597, "period": 7.616043581896709e-7, "timeStamp": 1520292002958 }, "running": false, "count": 69575, "cycles": 7, "hz": 1313017.6964546188 }, "7": { "name": "lodash-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 8, "stats": { "moe": 8.985234267768134e-9, "rme": 0.9654310471533234, "sem": 4.584303197840885e-9, "deviation": 4.4209419022480685e-8, "mean": 9.306966348619155e-7, "sample": [ 0.0000010947250451752801, 9.371947235272859e-7, 0.0000011071602096132996, 9.14466642573184e-7, 9.271065761245368e-7, 8.94306714419957e-7, 9.576719561709898e-7, 9.251422315207178e-7, 9.381953334160741e-7, 9.197478058899664e-7, 9.139939717380897e-7, 9.085051683480788e-7, 9.232846758036205e-7, 8.966802007056612e-7, 8.995159837591533e-7, 9.187803585042818e-7, 9.103035761777274e-7, 9.024062339320225e-7, 9.396214783425826e-7, 0.0000011130410099111717, 9.066827715820642e-7, 9.207541887555185e-7, 9.445783585397422e-7, 9.145726671512916e-7, 9.139722168046665e-7, 8.970330490594138e-7, 9.245223666247053e-7, 9.224768177869186e-7, 8.890300349284587e-7, 9.34383025123668e-7, 9.306936756440489e-7, 9.139814364993529e-7, 9.086922217691176e-7, 9.138714916402191e-7, 8.900383326536764e-7, 9.018917572383469e-7, 9.246872573181326e-7, 9.843285580042907e-7, 9.251196432687364e-7, 9.20276395808585e-7, 9.406711051222496e-7, 9.007169376429496e-7, 9.386016914593713e-7, 9.193074236272407e-7, 9.340164713391607e-7, 9.16254889097711e-7, 9.271337742238613e-7, 9.506792964663747e-7, 8.946189251963617e-7, 9.176174713214304e-7, 9.183315898654278e-7, 9.005301501746422e-7, 9.684729703374053e-7, 9.156982145706636e-7, 0.0000010288759951064698, 9.269553022109536e-7, 9.017349337777699e-7, 9.178101452101913e-7, 9.207903051364337e-7, 8.931783301714508e-7, 9.361555646176486e-7, 9.56802733994078e-7, 9.200654421020903e-7, 9.260859736529494e-7, 8.952933104022978e-7, 9.026884452403325e-7, 9.088449140972678e-7, 9.513608092055106e-7, 9.578761192177443e-7, 9.149713302955622e-7, 9.270574103296041e-7, 9.18146859098243e-7, 0.0000010412346944203117, 9.418387085335367e-7, 8.981258133721033e-7, 9.092668569706211e-7, 8.952337192602969e-7, 9.551948369709758e-7, 9.086372759348239e-7, 9.69390188117232e-7, 9.180243790003723e-7, 9.331280296448645e-7, 9.052870871083845e-7, 9.101712026382511e-7, 9.034573855073491e-7, 9.490287228949841e-7, 9.066748816510346e-7, 9.177397918476622e-7, 8.979523412705449e-7, 9.442071594475276e-7, 0.0000010832264144252761, 9.027338167762984e-7, 8.934527401996418e-7 ], "variance": 1.9544727303052772e-15 }, "times": { "cycle": 0.0524922209028469, "elapsed": 5.462, "period": 9.306966348619155e-7, "timeStamp": 1520292008556 }, "running": false, "count": 56401, "cycles": 7, "hz": 1074463.9687542943 }, "8": { "name": "object-path-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 9, "stats": { "moe": 2.151186805239727e-8, "rme": 2.067716700446938, "sem": 1.0975442883876158e-8, "deviation": 9.441432963695107e-8, "mean": 0.0000010403682500483491, "sample": [ 7.832926776058468e-7, 8.054399385655999e-7, 7.905209995994207e-7, 0.000001324929944843312, 0.0000013202436600622439, 9.977485132345238e-7, 0.0000010096191877484363, 9.959473084152466e-7, 0.0000010198233907496996, 0.0000011218407697285305, 0.000001015137383292762, 0.0000010145008011585987, 0.0000010669602810217854, 0.0000010442308569315626, 0.000001105855776045358, 0.0000011155259914337659, 0.0000010181944812498074, 0.0000010272695898684252, 0.0000010153391828182295, 0.0000010151433149477706, 0.000001011612115983114, 0.0000010137347702831786, 0.0000010062268665454658, 0.0000011897006902289464, 0.0000010300332634887375, 0.0000010186093427418112, 0.0000010217000431393091, 0.0000010342717930545712, 0.0000010110784056943888, 0.0000010354519304840846, 0.000001013532107971528, 0.0000010086023171971774, 0.0000010257848272886943, 0.0000010160919945767725, 0.0000010125801620805472, 0.0000011188179521153668, 0.0000010336622500231105, 0.0000011337665238960957, 0.0000010104929128277818, 0.0000010436943271808461, 0.0000014734636859458294, 9.994200844297908e-7, 0.000001051053400301975, 0.0000010348641419899546, 0.0000010163410624595569, 0.0000010262248944627615, 0.0000010123371491079408, 0.0000010455776353495824, 0.0000010191906141188796, 0.0000010101273842171757, 0.0000010404344898776692, 0.0000011828860197824545, 0.0000010660214463994083, 0.0000010081667488367794, 0.0000010125211228545896, 0.0000010017695898684252, 0.0000010266581517887405, 0.0000010538106184328105, 9.991832650294273e-7, 0.0000010874443811049827, 0.000001008272517178689, 0.0000010037726866545467, 0.0000010400420608264258, 0.0000010246931716636366, 0.0000010462199334422088, 0.0000011333356700459126, 0.0000010052889563368564, 0.0000010244453517394385, 0.00000101907466181863, 0.0000010183366560872648, 0.000001010342541521585, 0.0000010306443780236032, 0.0000010388913967892029, 0.0000010193859889686624 ], "variance": 8.914065640794856e-15 }, "times": { "cycle": 0.06752614163763815, "elapsed": 5.485, "period": 0.0000010403682500483491, "timeStamp": 1520292014019 }, "running": false, "count": 64906, "cycles": 5, "hz": 961198.1141807499 }, "9": { "name": "object-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 10, "stats": { "moe": 2.657092709524813e-8, "rme": 0.6866928455410857, "sem": 1.355659545675925e-8, "deviation": 1.2860915688254977e-7, "mean": 0.000003869404970181586, "sample": [ 0.000004041539668631512, 0.000003808679052520055, 0.0000038457507189344635, 0.000004054021113970032, 0.000004078755486605116, 0.000003940613790504898, 0.000003859118764129616, 0.000003818487090963675, 0.000003812737916541579, 0.0000038159823626538575, 0.000003973882167517262, 0.000003815135319723807, 0.000004076333758631041, 0.0000038113710597418194, 0.00000385501651155809, 0.000003816828880216151, 0.0000038097536025217655, 0.000003827179150405284, 0.0000037900779795857104, 0.000004072639597718403, 0.000003841185830081056, 0.000003812728384869408, 0.000003934630216151306, 0.000003936694843366321, 0.0000038037505766798123, 0.000003879374581442071, 0.000003819126423096957, 0.0000038113328372646777, 0.000003899892923580624, 0.0000038010732941439094, 0.000003829649676315202, 0.000003826799389835554, 0.0000037537996130664486, 0.0000038672627427635985, 0.000003767237211374267, 0.000003872142623802807, 0.00000387567599673324, 0.0000037619394906823077, 0.0000038629712673546664, 0.000003858066597371743, 0.000003809956789665157, 0.000003861880317766724, 0.000003937068750464029, 0.000003953853218501745, 0.000003903211003044027, 0.000003823876382804959, 0.0000037651847947137875, 0.000003813244190363056, 0.0000037438517336105134, 0.000003829066374638058, 0.00000384320833023981, 0.000003863739995545326, 0.000003825612220654837, 0.000004293643923082634, 0.0000039829524092360235, 0.000003839978023609771, 0.000003851029252357265, 0.0000037775447323483557, 0.000003863845571311902, 0.000003811848541094365, 0.000003902482515405746, 0.0000037637803845868294, 0.0000037386749573093767, 0.000003712285544583859, 0.000003841953597149009, 0.0000037969999257554385, 0.0000038604261637835026, 0.000003747893013586755, 0.0000037393652832430024, 0.000004311131190140323, 0.000003792028509911649, 0.000004218099264978841, 0.00000402306503823595, 0.000003861200757294528, 0.0000037855175588388154, 0.0000038212211745489645, 0.000003957864086275669, 0.0000037790726842960558, 0.000003771306249076673, 0.00000385185123356478, 0.000003769606219530211, 0.0000037950235633032942, 0.000003956467720490471, 0.0000038213485743832176, 0.0000037304160880484564, 0.0000038035843551484713, 0.0000039233036637612645, 0.000003858970601270498, 0.000004464765844290146, 0.0000037129064854483673 ], "variance": 1.6540315234040302e-14 }, "times": { "cycle": 0.05238400448631831, "elapsed": 5.461, "period": 0.000003869404970181586, "timeStamp": 1520292019504 }, "running": false, "count": 13538, "cycles": 5, "hz": 258437.66876462955 }, "10": { "name": "set-value", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 11, "stats": { "moe": 1.0473373404159303e-8, "rme": 2.07042106589812, "sem": 5.343557859264951e-9, "deviation": 5.041102402235832e-8, "mean": 5.058571696678568e-7, "sample": [ 4.860771418414503e-7, 4.858021636994264e-7, 4.851472410910733e-7, 5.095856208145579e-7, 4.906637426619651e-7, 4.846320365868891e-7, 5.002442616808063e-7, 5.007586495133597e-7, 5.319923328945725e-7, 5.003796081897753e-7, 4.838475129946868e-7, 6.026403282059165e-7, 4.973327024144656e-7, 5.998976470249133e-7, 5.286715923175219e-7, 5.095783284172904e-7, 4.870681968851183e-7, 5.01226352552339e-7, 4.837831688780853e-7, 4.841233270241446e-7, 4.869737704288006e-7, 4.898819477137999e-7, 5.130390849434575e-7, 4.945369087537591e-7, 4.942265831419759e-7, 4.858951650818933e-7, 4.947383540745148e-7, 4.860939639434049e-7, 4.922837174806025e-7, 5.143223984481971e-7, 5.152326277955271e-7, 4.921749296363913e-7, 4.909215540848928e-7, 4.846691198843754e-7, 4.900430454130533e-7, 4.820659896546478e-7, 4.810340597900502e-7, 4.906969705613874e-7, 4.808385155180283e-7, 4.900725410771338e-7, 4.824076335006846e-7, 5.060434447740757e-7, 7.035069507835083e-7, 4.810958561539632e-7, 4.861473832344439e-7, 4.832952989502511e-7, 4.761129050661798e-7, 5.560884299406664e-7, 4.80714561463563e-7, 4.858543948729652e-7, 4.875084341244485e-7, 4.857468336376084e-7, 4.82427592043207e-7, 4.852524912520919e-7, 4.8682601171459e-7, 4.908206393579797e-7, 4.924378898524266e-7, 4.954480925756884e-7, 4.821539441655256e-7, 4.844749733759319e-7, 4.839750684618895e-7, 4.917574071961052e-7, 4.803415012171002e-7, 4.7552547352806936e-7, 5.577850957605845e-7, 7.308751868671199e-7, 7.887435289914347e-7, 5.754644740924604e-7, 4.912737238973664e-7, 4.865850562716836e-7, 4.929196494889948e-7, 4.913914008217452e-7, 4.95587641854474e-7, 5.01680920279431e-7, 5.032684963190703e-7, 4.946826126608938e-7, 4.911951503868972e-7, 5.021830216530806e-7, 4.902087928619111e-7, 4.779086678137252e-7, 5.311040626557226e-7, 5.136056939234103e-7, 4.906109497080642e-7, 4.888221307082616e-7, 5.055823954719394e-7, 4.835552139452233e-7, 4.880644609294935e-7, 4.834071305672298e-7, 5.156262281518254e-7 ], "variance": 2.5412713429827877e-15 }, "times": { "cycle": 0.053802462708703584, "elapsed": 5.377, "period": 5.058571696678568e-7, "timeStamp": 1520292024965 }, "running": false, "count": 106359, "cycles": 6, "hz": 1976842.595028543 }, "name": "(194 bytes)", "options": { "name": "deep" }, "events": { "start": [ null ], "complete": [ null, null ] }, "length": 11, "running": false } }, "results": [ { "name": "deep-object", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, "runs": 88, "hz": 629743.7741389092, "ops": "629,744", "rme": "0.85" }, { "name": "deep-property", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, "runs": 89, "hz": 1470426.5045671854, "ops": "1,470,427", "rme": "0.94" }, { "name": "deep-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-set" }, "runs": 91, "hz": 1401089.0348102814, "ops": "1,401,089", "rme": "1.02" }, { "name": "deephas", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deephas" }, "runs": 86, "hz": 590004.7811291419, "ops": "590,005", "rme": "1.73" }, { "name": "dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, "runs": 90, "hz": 1261408.0966260699, "ops": "1,261,408", "rme": "0.94" }, { "name": "dot2val", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, "runs": 89, "hz": 1672729.0819083012, "ops": "1,672,729", "rme": "1.12" }, { "name": "es5-dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, "runs": 91, "hz": 1313017.6964546188, "ops": "1,313,018", "rme": "0.79" }, { "name": "lodash-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, "runs": 93, "hz": 1074463.9687542943, "ops": "1,074,464", "rme": "0.97" }, { "name": "object-path-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, "runs": 74, "hz": 961198.1141807499, "ops": "961,198", "rme": "2.07" }, { "name": "object-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-set" }, "runs": 90, "hz": 258437.66876462955, "ops": "258,438", "rme": "0.69" }, { "name": "set-value", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "set-value" }, "runs": 89, "hz": 1976842.595028543, "ops": "1,976,843", "rme": "2.07" } ], "fastest": [ "set-value" ] }, { "name": "medium", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/medium.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "medium", "content": [ { "x": { ".": { "y": { ".": { "z": "foooo" } } }, "y": { "z": "foooo" } } }, "x.y.z", "foooo", { "x": { "y": { "z": "foooo" } } } ], "bytes": "(98 bytes)", "suite": { "0": { "name": "deep-object", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 12, "stats": { "moe": 3.213177792122247e-9, "rme": 1.0440536250699, "sem": 1.6393764245521668e-9, "deviation": 1.5809573704186413e-8, "mean": 3.0775984249919374e-7, "sample": [ 3.116084651692322e-7, 3.000907295842129e-7, 3.094510863119945e-7, 3.1144564882237136e-7, 3.07608121249496e-7, 3.0245687824341956e-7, 2.985289750355423e-7, 3.0885277581133027e-7, 3.466973256963662e-7, 2.975178179648146e-7, 3.0038471709483217e-7, 3.048825377509171e-7, 3.0139174950123743e-7, 3.130019891998151e-7, 3.0086208994693515e-7, 2.995665065555835e-7, 3.151366755790619e-7, 2.991487979967588e-7, 2.976463378246345e-7, 3.0031555729773055e-7, 3.009601399460576e-7, 3.025614048431165e-7, 3.0788920742088545e-7, 3.0655640259064024e-7, 2.991661917939657e-7, 3.0641764420236013e-7, 3.642574024560767e-7, 3.0322487903909947e-7, 3.0182204852477434e-7, 3.023555051104883e-7, 2.975271379510072e-7, 3.0351007763729865e-7, 2.93341931747044e-7, 2.9852750653803175e-7, 3.0143723196995134e-7, 2.970247304341721e-7, 3.093395330060905e-7, 2.996221280927669e-7, 3.1058667353135624e-7, 3.113252107674216e-7, 3.0348892776279377e-7, 3.0342676526857125e-7, 2.960774734822113e-7, 3.126627136195831e-7, 3.0263144222837183e-7, 3.0771785540857577e-7, 3.0270145036068875e-7, 3.032892296531187e-7, 3.1038452402543836e-7, 3.08357143275042e-7, 3.1790528483586176e-7, 2.9685381721593934e-7, 3.024484007418545e-7, 2.9397202248965906e-7, 3.047341492952967e-7, 3.2027277780053005e-7, 3.100629757259117e-7, 3.0878174967675506e-7, 2.966238423149605e-7, 2.994884187616646e-7, 3.101960063888417e-7, 4.099832029627376e-7, 3.1300714356757135e-7, 3.046572257683284e-7, 2.97519877371682e-7, 3.1459668973748414e-7, 2.9990124793035463e-7, 3.174879331628862e-7, 2.9880166507725703e-7, 3.0174907414449783e-7, 3.109570274334057e-7, 2.9768878383833656e-7, 3.1523020307389875e-7, 3.103102157111682e-7, 2.953549024999561e-7, 2.9982101882134057e-7, 3.160100805625925e-7, 3.1456524867922986e-7, 3.0901486049273647e-7, 3.6043033412706304e-7, 2.9994157603131234e-7, 3.073386144638229e-7, 3.029569338240026e-7, 3.09830760049847e-7, 3.0032455550160014e-7, 2.9418685021910447e-7, 3.137103900586814e-7, 3.315355452455199e-7, 3.115194736811313e-7, 2.968964855519737e-7, 3.012618957074238e-7, 2.959532304019939e-7, 3.129975661555203e-7 ], "variance": 2.4994262070810245e-16 }, "times": { "cycle": 0.05260323555948969, "elapsed": 5.324, "period": 3.0775984249919374e-7, "timeStamp": 1520292030347 }, "running": false, "count": 170923, "cycles": 3, "hz": 3249286.8201367753 }, "1": { "name": "deep-property", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 13, "stats": { "moe": 3.768150908658016e-9, "rme": 1.284678247768561, "sem": 1.9225259738051102e-9, "deviation": 1.803489225241075e-8, "mean": 2.9331475917827336e-7, "sample": [ 2.8915799877232207e-7, 2.966866492839484e-7, 3.4276736066136925e-7, 2.9509310641940404e-7, 2.847313243716598e-7, 2.9627429591543664e-7, 2.8918345901076187e-7, 2.9526437875554006e-7, 2.855453649526105e-7, 2.8960976172911113e-7, 2.858704630823727e-7, 2.820074167516092e-7, 2.8608985138339033e-7, 2.83259828462981e-7, 2.9428886510348496e-7, 2.9833454601921073e-7, 2.8393731005568e-7, 2.813126566694026e-7, 2.855745801814592e-7, 3.2087476984848823e-7, 3.006059306994388e-7, 3.006535526520109e-7, 2.9492631269549015e-7, 2.8864694758091354e-7, 2.840142705488162e-7, 2.94965236233714e-7, 2.782010950172854e-7, 2.8027277288591637e-7, 2.861133447650344e-7, 2.803483268731357e-7, 2.9298463888138417e-7, 2.854920685681519e-7, 2.8291256954131677e-7, 3.044784749249567e-7, 2.803476200556922e-7, 2.782315838612147e-7, 2.792737220928528e-7, 2.77596264391213e-7, 2.8104401634939505e-7, 2.770958328583758e-7, 2.988936095143491e-7, 3.204562577689481e-7, 4.040425019134003e-7, 2.9050307501072047e-7, 2.817194710872999e-7, 2.8058298729285065e-7, 2.769063546602832e-7, 2.8230301204492287e-7, 2.943508171983477e-7, 3.036338104620929e-7, 3.032785042366211e-7, 3.249788304645899e-7, 2.877874687206544e-7, 2.9374555846862836e-7, 2.884903841456464e-7, 2.999956141065099e-7, 2.9247062591259697e-7, 2.946474186737015e-7, 3.0839433959191646e-7, 3.0066769800300714e-7, 2.920725192289947e-7, 2.764961650572392e-7, 2.9189670895145663e-7, 2.728127581733405e-7, 2.939321055002796e-7, 2.934139404104719e-7, 2.835956673017527e-7, 3.0313570757815085e-7, 3.5440035391120735e-7, 2.8482291955033735e-7, 2.8715095507173215e-7, 3.0159719259391947e-7, 2.925368539899146e-7, 3.012884430620919e-7, 2.9645447735673923e-7, 2.864311420150141e-7, 2.923820069805186e-7, 2.893270041850543e-7, 2.820778550375352e-7, 2.9479816747816554e-7, 2.8480557681555907e-7, 2.816293974281728e-7, 2.9131203895194514e-7, 2.784367872244568e-7, 2.8226011930933034e-7, 3.2131301057933964e-7, 2.8318708441216543e-7, 2.9621494134953075e-7 ], "variance": 3.252573385560653e-16 }, "times": { "cycle": 0.05403649813913577, "elapsed": 5.349, "period": 2.9331475917827336e-7, "timeStamp": 1520292035671 }, "running": false, "count": 184227, "cycles": 5, "hz": 3409306.7897487264 }, "2": { "name": "deep-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 14, "stats": { "moe": 3.4754767409608667e-9, "rme": 1.1263242629815275, "sem": 1.773202418857585e-9, "deviation": 1.7100144856010498e-8, "mean": 3.0856804343012424e-7, "sample": [ 3.0626920970646936e-7, 3.0626686243316624e-7, 3.071657658389889e-7, 2.9949299560519943e-7, 3.199959245046415e-7, 2.9527220477332236e-7, 3.0574437006891185e-7, 3.003362748114648e-7, 2.96032470435242e-7, 3.059202956185522e-7, 3.0039211838675404e-7, 2.96996597948319e-7, 3.4140616781519775e-7, 3.888149249052244e-7, 2.983210642732323e-7, 3.131674610592805e-7, 3.010415735359857e-7, 3.1196316379195233e-7, 3.050581890170625e-7, 3.120340901833973e-7, 3.0127576938037376e-7, 3.15562418359468e-7, 3.116246538441442e-7, 3.099874135698901e-7, 2.949734686413274e-7, 3.028215722587649e-7, 3.007818623039901e-7, 3.009046903029916e-7, 2.996161545204907e-7, 3.3799307978565913e-7, 3.0227475921485755e-7, 3.047565443050468e-7, 3.0359456948951806e-7, 3.0049416252053713e-7, 3.083369134218486e-7, 3.185717362655226e-7, 2.9798222921468337e-7, 3.067475979541245e-7, 3.115412339113725e-7, 3.121708805276083e-7, 3.098825073004778e-7, 2.981098467915634e-7, 3.017109649402899e-7, 3.0491163954507715e-7, 2.996722767621292e-7, 2.970889119820725e-7, 3.029249400577072e-7, 3.178826814669461e-7, 3.116613042746257e-7, 4.035924214364089e-7, 3.306607759696718e-7, 3.184180633849834e-7, 3.2476748195925664e-7, 3.105450365459306e-7, 3.508652125701746e-7, 3.124652915256402e-7, 3.0009317906054605e-7, 3.0459603248785193e-7, 3.110462179751406e-7, 3.03543759325163e-7, 3.083208843012151e-7, 2.9415236082647795e-7, 2.9967061637513135e-7, 3.441909445047577e-7, 2.9965306039512567e-7, 2.9824458777699726e-7, 2.994828649222927e-7, 2.9198466754523975e-7, 2.974086642012436e-7, 3.074948649919593e-7, 3.0615931587411247e-7, 3.0076455596258905e-7, 3.1541353505680727e-7, 2.964204842988929e-7, 3.0254074043971227e-7, 3.0357784370301133e-7, 2.938218160918206e-7, 3.003018130729351e-7, 2.9358506000034834e-7, 2.9639817357430234e-7, 2.971934350852545e-7, 3.292292843499817e-7, 3.0897678360977424e-7, 3.0291311996005784e-7, 3.0562097312611393e-7, 3.049543393575579e-7, 2.9722880829496836e-7, 2.9659962612264806e-7, 3.098806553303648e-7, 3.018711574522929e-7, 3.0028126142967446e-7, 3.116442069329866e-7, 3.127055541686744e-7 ], "variance": 2.9241495409654226e-16 }, "times": { "cycle": 0.05315053691279547, "elapsed": 5.494, "period": 3.0856804343012424e-7, "timeStamp": 1520292041021 }, "running": false, "count": 172249, "cycles": 5, "hz": 3240776.2932406566 }, "3": { "name": "deephas", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 15, "stats": { "moe": 1.4452918223067683e-8, "rme": 1.3882089711337, "sem": 7.373937868912083e-9, "deviation": 6.956559072427427e-8, "mean": 0.0000010411197826552372, "sample": [ 0.0000010409388582782, 0.0000010392742877040618, 0.0000010091522749486366, 0.0000010212468035026828, 0.0000010999888097660223, 9.986847385953364e-7, 0.0000010074918061987887, 0.0000011294799707081504, 0.0000011909769821478052, 0.0000012744893520167835, 0.000001045880180501128, 0.0000010523423979733207, 0.0000011164162609349642, 0.0000010991847365712703, 0.0000010700395242053597, 0.000001021903732731663, 0.0000010134119859082453, 0.0000010182517713652378, 9.947710485690537e-7, 0.0000010415219688873055, 0.000001209707200253335, 0.0000010145943474646716, 0.0000010137973518584492, 0.000001040460772671496, 0.0000010081638562324346, 0.0000010186568146417445, 0.0000010294690809968848, 9.980758761682243e-7, 9.97367231308411e-7, 0.000001059365031152648, 9.83927686915888e-7, 9.949777063862928e-7, 0.0000010026564252336449, 9.974082165109035e-7, 0.0000010671136292834891, 0.0000010670044392523364, 0.0000010706681658878504, 0.000001282563804517134, 0.0000010231591900311526, 0.0000010042247079439253, 9.754992211838007e-7, 0.000001074408566978193, 0.0000010524259540498443, 0.0000010386389797507788, 0.0000011305617406542056, 0.0000010931265381619939, 0.0000010068543029595016, 9.99523773364486e-7, 0.00000102555628894081, 9.9909976635514e-7, 0.0000010181908489096574, 0.0000010151514602803738, 0.0000010199252336448596, 0.000001023416140965732, 0.000001141067426012461, 0.0000010395703271028038, 0.0000010216193535825546, 0.0000010174853777258566, 0.0000010182869742990653, 0.000001044792328660436, 0.0000010207766549844236, 9.941223325545172e-7, 0.0000010287919003115265, 0.000001031413687694704, 0.0000010302853777258567, 9.90538427847812e-7, 9.69607971207678e-7, 0.0000010072384697414024, 9.797235213466885e-7, 0.0000010812433255893666, 0.0000013005263548767947, 0.0000012517905701336787, 9.820817686712114e-7, 9.701666222340709e-7, 9.875040560612409e-7, 9.92994249152607e-7, 9.674094146322886e-7, 0.0000010294609437483339, 0.0000010295035228700916, 9.950559279430248e-7, 9.880481205011997e-7, 9.91674010739993e-7, 9.758118787370986e-7, 9.97519785200137e-7, 0.0000010057559698366149, 0.0000010044262101534829, 9.8903747572076e-7, 0.0000010036788856304985, 0.000001139463590661538 ], "variance": 4.8393714128172354e-15 }, "times": { "cycle": 0.054673364266357126, "elapsed": 5.385, "period": 0.0000010411197826552372, "timeStamp": 1520292046516 }, "running": false, "count": 52514, "cycles": 4, "hz": 960504.2730526485 }, "4": { "name": "dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 16, "stats": { "moe": 2.8902719439884943e-9, "rme": 0.802451621130885, "sem": 1.4746285428512726e-9, "deviation": 1.4297054168702614e-8, "mean": 3.6018021122759655e-7, "sample": [ 3.531394563339562e-7, 3.5954292971938417e-7, 3.5675271612389913e-7, 3.565264204779281e-7, 3.5785098356607864e-7, 3.4467799528107763e-7, 3.4693913413262364e-7, 3.563009821942989e-7, 3.481209566791956e-7, 3.500202543279651e-7, 3.501006200444457e-7, 3.5008768416143103e-7, 4.019294836621032e-7, 3.5640051853274435e-7, 3.547099440313863e-7, 3.482613514774068e-7, 3.495913262366594e-7, 3.475864907130511e-7, 3.4676159839776126e-7, 3.5503206535158717e-7, 3.530873960876842e-7, 3.510059603830009e-7, 3.482797813383083e-7, 3.5039128645504675e-7, 3.5147477297045185e-7, 3.515655162007188e-7, 3.531970424428654e-7, 3.6139094351011004e-7, 3.896272600071333e-7, 3.5381040632116107e-7, 4.0778295014952394e-7, 3.504141746001262e-7, 3.5421787291832423e-7, 3.49275179017257e-7, 3.506626656424045e-7, 3.4949522620648026e-7, 3.565645765315921e-7, 3.4816484677220226e-7, 3.6427231885648436e-7, 3.622493415457214e-7, 3.548964786413893e-7, 3.5829838267167826e-7, 3.5131507723119974e-7, 3.5467855771077394e-7, 3.5462578534390517e-7, 3.4645255699744847e-7, 3.544752256577684e-7, 3.491284123021208e-7, 4.211438036708826e-7, 3.594242228867733e-7, 3.6450591237070976e-7, 3.520579851299075e-7, 3.518582814343329e-7, 3.581220678207907e-7, 3.609966391396197e-7, 3.584283588027106e-7, 3.68828047408708e-7, 3.8817915443496394e-7, 3.724822148755796e-7, 3.6615269966254216e-7, 3.7296360668331093e-7, 3.7561800735273945e-7, 3.614582293067025e-7, 3.547269266646547e-7, 3.6046542429147576e-7, 4.1236914592992947e-7, 3.61157884989986e-7, 3.634077889654037e-7, 3.646029657878131e-7, 3.6673617931904854e-7, 3.672425786715685e-7, 3.6508505720321544e-7, 3.593925004801229e-7, 3.663914236330215e-7, 3.8773181705945294e-7, 3.830070921012922e-7, 3.671619454580372e-7, 3.5311196466295373e-7, 3.5165092320776973e-7, 3.5633107218305026e-7, 3.4572738621086997e-7, 3.5457870586298666e-7, 3.534451013745233e-7, 3.828082114735658e-7, 3.5750384784219046e-7, 3.5810507832862354e-7, 3.5310307553019285e-7, 3.600011111415951e-7, 3.6352597464951024e-7, 3.5196449148124777e-7, 3.610899201624187e-7, 3.611569316030618e-7, 3.580171952591292e-7, 3.5198799692721335e-7 ], "variance": 2.0440575790281676e-16 }, "times": { "cycle": 0.052512834076138666, "elapsed": 5.592, "period": 3.6018021122759655e-7, "timeStamp": 1520292051901 }, "running": false, "count": 145796, "cycles": 7, "hz": 2776387.9547732947 }, "5": { "name": "dot2val", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 17, "stats": { "moe": 3.296470915061446e-9, "rme": 1.2822584228641207, "sem": 1.6818729158476765e-9, "deviation": 1.6044045062285223e-8, "mean": 2.570831944857319e-7, "sample": [ 2.5297607586213786e-7, 2.5496888513817176e-7, 2.540382174359075e-7, 2.514751017282763e-7, 3.131590936980008e-7, 2.4722744430100773e-7, 2.4551879281703157e-7, 2.894413810602107e-7, 2.414895850787283e-7, 2.5202402301767015e-7, 2.422323980410086e-7, 2.468272142778493e-7, 2.5052759678863285e-7, 2.480197814087312e-7, 2.4858511223986637e-7, 2.490362738949555e-7, 2.603800117769278e-7, 2.647858418349028e-7, 2.5668767683344267e-7, 2.4550779144305664e-7, 2.5821132883001487e-7, 2.6782946434128196e-7, 2.649396552136842e-7, 2.477775836233681e-7, 2.5253654916867336e-7, 2.6659828229200077e-7, 2.485724161372634e-7, 2.522262893581574e-7, 2.5832059574019905e-7, 2.4932862415802147e-7, 2.5534738585715447e-7, 2.4537891068205645e-7, 2.4837060938420073e-7, 2.559473485156762e-7, 2.6322611222550424e-7, 2.509290847029198e-7, 2.546934121015114e-7, 2.454575384306047e-7, 2.9364445646605997e-7, 2.6139583403149134e-7, 2.4875357975517393e-7, 2.6400053139795964e-7, 2.503595361996907e-7, 2.4852470521775346e-7, 2.557167218011997e-7, 2.5741384890105947e-7, 2.6626415744699183e-7, 2.6183696614851375e-7, 2.439994877515164e-7, 2.4249307507073337e-7, 2.618570635235993e-7, 2.500446853022984e-7, 2.5345494367660364e-7, 2.5279860974804076e-7, 2.5099825739768196e-7, 2.6549073404728963e-7, 2.6829645303830377e-7, 2.516380366042234e-7, 2.499192227227683e-7, 2.4894303988357116e-7, 2.49852515523044e-7, 2.5754318446211515e-7, 2.6327504392411065e-7, 3.595428972199748e-7, 2.8087264162234364e-7, 2.521906043095896e-7, 2.4796061910255983e-7, 2.5603812181939174e-7, 2.5374403852874574e-7, 2.55887511190475e-7, 2.49011106696093e-7, 2.4391778651206656e-7, 2.5373164881775926e-7, 2.543118731538708e-7, 2.434393033420623e-7, 2.4393335982344186e-7, 2.430342009641761e-7, 2.669938721676728e-7, 2.5268682468175966e-7, 2.4911879856187436e-7, 2.489191987859232e-7, 2.474204506829182e-7, 2.545787785506719e-7, 2.530593729504076e-7, 2.562717597889728e-7, 2.6605290042751205e-7, 2.690807581277557e-7, 2.5959560136535766e-7, 2.59705864048295e-7, 2.600506503640794e-7, 2.9430597511525594e-7 ], "variance": 2.574113819606388e-16 }, "times": { "cycle": 0.05370030891376314, "elapsed": 5.422, "period": 2.570831944857319e-7, "timeStamp": 1520292057493 }, "running": false, "count": 208883, "cycles": 5, "hz": 3889791.403908745 }, "6": { "name": "es5-dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 18, "stats": { "moe": 4.7387247838919854e-9, "rme": 1.3171778310008324, "sem": 2.417716726475503e-9, "deviation": 2.306354763306433e-8, "mean": 3.5976347857990867e-7, "sample": [ 5.253019356842742e-7, 3.6393598255458635e-7, 3.5617986415911994e-7, 3.641180760042224e-7, 3.6284971387299293e-7, 3.676556267014834e-7, 3.616798086004778e-7, 3.6511824268014893e-7, 3.618036071448414e-7, 3.5942223179065503e-7, 3.6319351769542756e-7, 3.5495314323017946e-7, 3.631433829657203e-7, 3.48756910106117e-7, 4.2609119256625366e-7, 3.5043484360242237e-7, 3.519777765431413e-7, 3.574824365242514e-7, 3.6825159036613145e-7, 3.676874965275849e-7, 3.5280952414023e-7, 3.543997722095672e-7, 3.5099277043169064e-7, 3.583736457580977e-7, 3.5035474887493747e-7, 3.481657522640147e-7, 3.525638507694872e-7, 3.5301981560764406e-7, 3.558803386290228e-7, 3.466805295228346e-7, 3.577531452522081e-7, 3.8074638788792594e-7, 3.5020496185581985e-7, 3.4981267507244974e-7, 3.5500635621061947e-7, 3.6230479113525917e-7, 3.524161464921922e-7, 3.530579622985836e-7, 3.5680591443561933e-7, 3.4642782190332014e-7, 3.7216752037494033e-7, 3.498621347545675e-7, 3.5218287329863196e-7, 3.4760101753731085e-7, 3.548833772284551e-7, 3.498726350207033e-7, 3.5047583694517604e-7, 3.505740998043729e-7, 4.0478167188569294e-7, 3.62226989624161e-7, 3.6673403817673193e-7, 3.4973434671713016e-7, 3.545825585541111e-7, 4.085023174812133e-7, 3.568494391421206e-7, 3.501151952717898e-7, 3.45461638143821e-7, 3.6680925346936534e-7, 3.5358577809808066e-7, 3.4680006526926974e-7, 3.503438330738426e-7, 3.522172990760319e-7, 3.4010281269759253e-7, 3.521873499996601e-7, 4.009723081525397e-7, 3.50943392506272e-7, 3.4997181863301677e-7, 3.52960947220277e-7, 3.5797952856550383e-7, 3.49696783448801e-7, 3.6062575552579155e-7, 3.499725937055948e-7, 3.5578777289013687e-7, 3.5146151492694604e-7, 3.5323494217550637e-7, 3.5012826091390574e-7, 3.5031563810909486e-7, 3.4785245745599426e-7, 3.6062325353711847e-7, 3.5293810977475304e-7, 3.4448245548431833e-7, 3.4720139649041696e-7, 4.201032274294106e-7, 3.475302448277503e-7, 3.4674192122815005e-7, 3.448380370267128e-7, 3.5609573506115594e-7, 3.5043376188954535e-7, 3.5163833345797947e-7, 3.5912125126629185e-7, 3.5835673735237927e-7 ], "variance": 5.319272294226273e-16 }, "times": { "cycle": 0.05291509171996871, "elapsed": 5.453, "period": 3.5976347857990867e-7, "timeStamp": 1520292062915 }, "running": false, "count": 147083, "cycles": 5, "hz": 2779603.9885629625 }, "7": { "name": "lodash-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 19, "stats": { "moe": 2.695934045324985e-9, "rme": 0.7525170608850612, "sem": 1.3754765537372374e-9, "deviation": 1.3048916333905971e-8, "mean": 3.582555380411182e-7, "sample": [ 3.661964283168176e-7, 3.676508287602195e-7, 3.502428743420316e-7, 3.552384715533654e-7, 3.5889186219061485e-7, 3.518466723597267e-7, 3.6769486364654495e-7, 3.540656708477993e-7, 3.639462215813641e-7, 3.5064558329743075e-7, 3.466275225844395e-7, 3.6060957128886886e-7, 3.586766715220647e-7, 3.626824706453576e-7, 3.868894952437615e-7, 3.6236591237032326e-7, 3.5718715165938357e-7, 3.439862612751233e-7, 3.434758785193441e-7, 3.47912171850684e-7, 3.4832490434995345e-7, 3.4712839192394206e-7, 3.5230226094284105e-7, 3.833669292087719e-7, 3.4175826192142764e-7, 3.624195282396994e-7, 3.57710338359916e-7, 3.608584855012878e-7, 3.5393766946877696e-7, 3.636138932117349e-7, 3.4732284524060316e-7, 3.7809043091790064e-7, 3.491487451665296e-7, 3.523540920550999e-7, 3.477146740423103e-7, 3.5608589815903393e-7, 3.606243654477374e-7, 3.59689740470673e-7, 3.6242987815237406e-7, 3.615620009378122e-7, 3.9828735788407825e-7, 3.812224925416749e-7, 3.552584284170682e-7, 3.5698210001970766e-7, 3.487158353745525e-7, 3.642897701273182e-7, 3.609827662781621e-7, 3.579321417996824e-7, 3.5984908212430356e-7, 3.675410486931711e-7, 3.607031237382574e-7, 3.547416287583107e-7, 3.6383363839465966e-7, 3.4702871389733786e-7, 3.5311094586955937e-7, 3.593899423972437e-7, 3.447014885198245e-7, 4.0958956690264057e-7, 3.4768029797313664e-7, 3.5232989017792256e-7, 3.3774368119296926e-7, 3.5145956367257947e-7, 3.53442255928508e-7, 3.4433827487819975e-7, 3.552190452477726e-7, 3.7710354364620064e-7, 3.5990585717746495e-7, 3.528600441441684e-7, 3.520088624801486e-7, 3.416347204651288e-7, 3.4637422276654736e-7, 3.5064645635379935e-7, 3.5394235013862346e-7, 3.521612473419289e-7, 4.1406505881402923e-7, 3.7488922236278974e-7, 3.5340873731528087e-7, 3.633272792118651e-7, 3.515571855400931e-7, 3.6514301768458456e-7, 3.4714009717100484e-7, 3.5329812791041965e-7, 3.6137663858307986e-7, 3.546456757556997e-7, 3.562415143603133e-7, 3.5805530133778363e-7, 3.484008909585206e-7, 3.634195311027967e-7, 3.5437782293881724e-7, 3.473660197572071e-7 ], "variance": 1.7027421748927806e-16 }, "times": { "cycle": 0.053238205975062326, "elapsed": 5.368, "period": 3.582555380411182e-7, "timeStamp": 1520292068368 }, "running": false, "count": 148604, "cycles": 3, "hz": 2791303.675214161 }, "8": { "name": "object-path-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 20, "stats": { "moe": 6.137075038834122e-9, "rme": 1.5109991684374107, "sem": 3.1311607340990417e-9, "deviation": 2.986936970194537e-8, "mean": 4.061600540244331e-7, "sample": [ 4.372844933615062e-7, 3.998440269324166e-7, 3.9495036898041563e-7, 3.965098946671292e-7, 3.9447878362609986e-7, 4.0052238323504365e-7, 4.129259737580143e-7, 3.990960805141412e-7, 4.061990233763058e-7, 3.9107088545686575e-7, 4.0361414958084656e-7, 3.8697310081843817e-7, 3.9746539405008447e-7, 3.945442804851023e-7, 3.9978818422882647e-7, 4.121321575130484e-7, 4.3214145759940085e-7, 4.0964370047149987e-7, 3.8783961362993754e-7, 4.5525390687686744e-7, 5.951449116988514e-7, 3.878955593424984e-7, 3.9685573785524876e-7, 3.966603901909689e-7, 4.247496312825255e-7, 4.031088729090089e-7, 4.1896748408592454e-7, 3.9980066330936353e-7, 3.922243254189624e-7, 3.8879967751549375e-7, 4.0092605781795676e-7, 3.875676338654582e-7, 3.975141335330394e-7, 3.99337179712515e-7, 4.4392112884860804e-7, 3.8849728333549854e-7, 4.2475167164658145e-7, 3.9645096630724674e-7, 3.9792437661910914e-7, 4.1544498276771185e-7, 3.8861092473578433e-7, 4.0073356054990487e-7, 3.8841974185955876e-7, 3.953551532565586e-7, 4.0798554933172345e-7, 3.964325877471171e-7, 3.82638931980223e-7, 3.9988551035847745e-7, 3.9306275456789365e-7, 4.0232676392147273e-7, 3.9867929603619166e-7, 4.236485759481579e-7, 4.014783851320887e-7, 3.8780508791905795e-7, 4.0570528584201316e-7, 5.189670637862126e-7, 4.891826928220451e-7, 4.753206733965566e-7, 4.071364445701098e-7, 4.0821472730190506e-7, 3.9746670844191074e-7, 3.9553694434467633e-7, 3.8234985748018863e-7, 3.894052224149657e-7, 3.8578526505628194e-7, 3.9477069976081127e-7, 4.029961408844634e-7, 3.8409320719247435e-7, 4.1261210921679063e-7, 4.1967442055953355e-7, 3.9928484093566356e-7, 3.88371254556431e-7, 4.041580556171146e-7, 4.0107806111921994e-7, 4.0178268212350696e-7, 3.898177198358539e-7, 3.956383359188134e-7, 3.9658839667122627e-7, 3.9227402777034825e-7, 3.943957618505414e-7, 3.909161005356911e-7, 3.9256786311984654e-7, 3.9450179964694826e-7, 3.910085970395617e-7, 3.920189134870357e-7, 3.9926419275708964e-7, 4.537830565723412e-7, 3.908062494746253e-7, 3.942233014160279e-7, 3.859068921510939e-7, 4.070779999847164e-7 ], "variance": 8.92179246391492e-16 }, "times": { "cycle": 0.053149698509583294, "elapsed": 5.374, "period": 4.061600540244331e-7, "timeStamp": 1520292073736 }, "running": false, "count": 130859, "cycles": 5, "hz": 2462083.580331225 }, "9": { "name": "object-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 21, "stats": { "moe": 1.0422148771173075e-8, "rme": 0.8739688096511541, "sem": 5.317422842435243e-9, "deviation": 5.044550239290604e-8, "mean": 0.0000011925080913737747, "sample": [ 0.000001165272489042462, 0.0000012051505823627287, 0.0000012277596598262156, 0.0000011958362451469773, 0.0000011812434599741171, 0.000001166246724390691, 0.0000011715974436503573, 0.0000013001264083539434, 0.000001198868691032335, 0.0000011749655125034351, 0.000001182703849408751, 0.0000012086797648727157, 0.000001150815603485739, 0.00000120909359346767, 0.0000011749603165526865, 0.0000012109704032387183, 0.000001192501543880515, 0.000001186869627867615, 0.0000012521116168431646, 0.0000011493245351204228, 0.0000011599741314242585, 0.0000011923129617346354, 0.0000012593162096017932, 0.0000011661083689760069, 0.000001298619359118044, 0.0000012332761601976168, 0.0000011579703574941102, 0.0000011363203053990185, 0.0000011971546991456099, 0.0000012237475686238866, 0.0000012180554444646429, 0.0000011628964960916196, 0.0000012120675558989274, 0.0000011603145337211416, 0.0000011759010179967278, 0.000001239092074168333, 0.0000011660272904926376, 0.0000011652272995818942, 0.0000011501342255953464, 0.0000011940649654608253, 0.0000011429855026358844, 0.0000013584816624250136, 0.0000011705820078167605, 0.000001164680103617524, 0.000001279699600072714, 0.0000011887805853481186, 0.0000012150832803126703, 0.0000011716226822395928, 0.000001228716437920378, 0.0000012208940874386475, 0.0000011771560625340848, 0.0000011643234411925103, 0.0000011511309534630067, 0.0000011884008816578804, 0.0000011468902017814943, 0.000001150109820941647, 0.0000011913833848391202, 0.0000011607770632612253, 0.0000011694361252499546, 0.0000013380978912924924, 0.0000011832809261952373, 0.0000011657186875113615, 0.000001174462484093801, 0.0000011854796173423012, 0.000001159650381748773, 0.0000011428230548991092, 0.0000011836355662606797, 0.0000012155994137429558, 0.0000011856256816942373, 0.0000011636179558262133, 0.0000012119792083257589, 0.000001145234639156517, 0.0000011560116569714597, 0.0000011804856162515907, 0.0000012125887111434286, 0.0000012909563488456644, 0.0000011450110207235048, 0.0000014418387793128521, 0.0000011450948918378476, 0.0000011631307262315943, 0.0000011633035584439193, 0.0000011704917742228686, 0.0000011488659561897835, 0.0000011439263770223596, 0.0000012072794719141974, 0.0000011372826758771133, 0.0000011726901699690966, 0.0000011659840483548446, 0.0000012067773359389202, 0.000001203990615342665 ], "variance": 2.5447487116726892e-15 }, "times": { "cycle": 0.05247989608517708, "elapsed": 5.482, "period": 0.0000011925080913737747, "timeStamp": 1520292079110 }, "running": false, "count": 44008, "cycles": 6, "hz": 838568.7336074973 }, "10": { "name": "set-value", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 22, "stats": { "moe": 2.5278818187641008e-9, "rme": 1.2051136956316841, "sem": 1.2897356218184187e-9, "deviation": 1.2303293691164502e-8, "mean": 2.097629317405659e-7, "sample": [ 2.0731833611414765e-7, 2.1089283454017934e-7, 2.2297675622806514e-7, 2.3562105172314595e-7, 2.0702998064197368e-7, 2.034020273280254e-7, 2.1451246433579962e-7, 2.0784648755552366e-7, 2.0578824852269192e-7, 2.0807292040479436e-7, 2.1865444946848808e-7, 2.067097817332153e-7, 2.0706251744459595e-7, 2.068970390041229e-7, 2.0650841327942455e-7, 1.9973675606274473e-7, 2.0620331028653e-7, 2.446184039490578e-7, 2.1323587486144006e-7, 2.0505234973723453e-7, 2.1011695255867364e-7, 2.0770616521926362e-7, 2.053178265827731e-7, 2.0826184836957823e-7, 2.000874582326531e-7, 2.0768816239622958e-7, 2.0575986267614057e-7, 2.104337743327193e-7, 2.0843597932964903e-7, 2.0883175833552637e-7, 2.05703110919719e-7, 2.0595987144828026e-7, 2.036392856288428e-7, 2.0337057904096588e-7, 2.0720088598610814e-7, 2.2822246544973165e-7, 2.0990632551017966e-7, 2.0321821096198472e-7, 2.0763213234766382e-7, 2.1676147355997352e-7, 3.012332352448623e-7, 2.067856288427953e-7, 2.0592402529566098e-7, 2.0768003620501288e-7, 2.133129939312743e-7, 2.124722321905628e-7, 2.0490595867524741e-7, 2.0431549797842053e-7, 2.0665329712832045e-7, 2.0852973755353e-7, 2.0880685343349523e-7, 2.0461300110847947e-7, 2.2907362616330536e-7, 2.1544503855754124e-7, 2.1599095273411647e-7, 2.0501428662567684e-7, 2.0974264137100567e-7, 2.0433289073901288e-7, 2.084967782323341e-7, 2.0795593594743096e-7, 2.033013309728303e-7, 2.0940872987392044e-7, 2.0168149557006947e-7, 2.0921754108949974e-7, 2.0072066317376016e-7, 2.0264073701922693e-7, 2.0164694928905794e-7, 2.0407286458208728e-7, 2.061073111796933e-7, 2.0576117849709322e-7, 2.313496216017927e-7, 2.0544462387457434e-7, 2.0684500426644974e-7, 2.043613244335989e-7, 2.023072083064188e-7, 2.0364799397114765e-7, 2.050415839294401e-7, 2.032592167276729e-7, 2.0741290860227917e-7, 2.0655270461015811e-7, 2.0689932374777708e-7, 2.061068765600453e-7, 2.0314269878864726e-7, 2.030951657535667e-7, 2.076475553641634e-7, 2.0407625780521066e-7, 2.0202927502252846e-7, 2.0230645071253698e-7, 2.1305845833632382e-7, 2.219174023301993e-7, 2.1368755233378788e-7 ], "variance": 1.5137103565104823e-16 }, "times": { "cycle": 0.052607284702943485, "elapsed": 5.409, "period": 2.097629317405659e-7, "timeStamp": 1520292084592 }, "running": false, "count": 250794, "cycles": 6, "hz": 4767286.534862111 }, "name": "(98 bytes)", "options": { "name": "medium" }, "events": { "start": [ null ], "complete": [ null, null ] }, "length": 11, "running": false } }, "results": [ { "name": "deep-object", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, "runs": 93, "hz": 3249286.8201367753, "ops": "3,249,287", "rme": "1.04" }, { "name": "deep-property", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, "runs": 88, "hz": 3409306.7897487264, "ops": "3,409,307", "rme": "1.28" }, { "name": "deep-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-set" }, "runs": 93, "hz": 3240776.2932406566, "ops": "3,240,776", "rme": "1.13" }, { "name": "deephas", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deephas" }, "runs": 89, "hz": 960504.2730526485, "ops": "960,504", "rme": "1.39" }, { "name": "dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, "runs": 94, "hz": 2776387.9547732947, "ops": "2,776,388", "rme": "0.80" }, { "name": "dot2val", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, "runs": 91, "hz": 3889791.403908745, "ops": "3,889,791", "rme": "1.28" }, { "name": "es5-dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, "runs": 91, "hz": 2779603.9885629625, "ops": "2,779,604", "rme": "1.32" }, { "name": "lodash-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, "runs": 90, "hz": 2791303.675214161, "ops": "2,791,304", "rme": "0.75" }, { "name": "object-path-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, "runs": 91, "hz": 2462083.580331225, "ops": "2,462,084", "rme": "1.51" }, { "name": "object-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-set" }, "runs": 90, "hz": 838568.7336074973, "ops": "838,569", "rme": "0.87" }, { "name": "set-value", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "set-value" }, "runs": 91, "hz": 4767286.534862111, "ops": "4,767,287", "rme": "1.21" } ], "fastest": [ "set-value" ] }, { "name": "shallow", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/fixtures/shallow.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "shallow", "content": [ { "f": { "o": { "o": { "i": { "k": "L" } } } }, "foo": { "i": { "k": "L" } } }, "foo", { "i": { "k": "L" } }, { "foo": { "i": { "k": "L" } } } ], "bytes": "(101 bytes)", "suite": { "0": { "name": "deep-object", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 23, "stats": { "moe": 1.5684158402474638e-9, "rme": 0.751768014575761, "sem": 8.002121633915632e-10, "deviation": 7.50665548474838e-9, "mean": 2.0863029682535173e-7, "sample": [ 2.1001871123299773e-7, 2.0228023780162337e-7, 2.0287815059542434e-7, 2.0376368555704846e-7, 2.134299607958624e-7, 2.370926358800685e-7, 2.0695637113250262e-7, 2.0259238004086065e-7, 2.0473958513555796e-7, 2.1804920947525355e-7, 2.086555410355046e-7, 2.0646582613977287e-7, 1.9894581362389794e-7, 2.09704544366936e-7, 2.245628904308774e-7, 2.0852786438681415e-7, 2.0662200217187242e-7, 2.0427380685060095e-7, 2.041167915186542e-7, 2.050432202609928e-7, 2.0515246176216156e-7, 2.0400057057665053e-7, 2.066074911192505e-7, 2.0277566030443023e-7, 2.0519106955513426e-7, 2.0515149730356518e-7, 2.1409967790027793e-7, 2.142690287312952e-7, 2.1188141208518158e-7, 2.0705600485910437e-7, 2.2556370764388654e-7, 2.0955087150981945e-7, 2.1875296975943753e-7, 2.0765057149693545e-7, 2.0400598553312106e-7, 2.128643647273196e-7, 2.0844899596915207e-7, 2.076155859454087e-7, 2.033919640720767e-7, 2.0808783935506433e-7, 2.0522173344867573e-7, 2.0635268263054242e-7, 2.106671292632199e-7, 2.1349054499272974e-7, 2.0570560821630377e-7, 2.103270324492463e-7, 2.1310034418656014e-7, 2.2170824759345493e-7, 2.038322688704423e-7, 2.0200877215585945e-7, 2.0411618781174652e-7, 2.0069851834127846e-7, 2.0902646739430525e-7, 2.0984629033148661e-7, 2.092147945003773e-7, 2.1092921168393736e-7, 2.032365942095673e-7, 2.0279073089028365e-7, 2.0626000257679778e-7, 2.0265158749148736e-7, 2.0494582834845667e-7, 2.0673083874767627e-7, 2.0447247427803648e-7, 2.42355340413392e-7, 2.0907090979367212e-7, 2.023403103200751e-7, 2.011511512764352e-7, 2.0230278110102888e-7, 2.0540886418435147e-7, 2.1229734037658058e-7, 2.0376400949734037e-7, 2.052456792622996e-7, 2.0293004362150524e-7, 2.0364533691630928e-7, 2.0558373304375034e-7, 2.0465264397857576e-7, 2.1719588080469713e-7, 2.083361616756548e-7, 2.0437366144558355e-7, 2.0551067714564428e-7, 2.3378643131913642e-7, 2.0548479137140857e-7, 2.052059965765401e-7, 2.1455118072555264e-7, 2.1013096390642543e-7, 2.1332611952660543e-7, 2.0491554361230237e-7, 2.077297196812133e-7 ], "variance": 5.634987656670292e-17 }, "times": { "cycle": 0.05667546328409093, "elapsed": 5.329, "period": 2.0863029682535173e-7, "timeStamp": 1520292090005 }, "running": false, "count": 271655, "cycles": 3, "hz": 4793167.70007339 }, "1": { "name": "deep-property", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 24, "stats": { "moe": 2.4989043859622564e-9, "rme": 1.1667929264637027, "sem": 1.2749512173276819e-9, "deviation": 1.2095249257079426e-8, "mean": 2.1416862660762743e-7, "sample": [ 2.163913258808547e-7, 2.2068229301059606e-7, 2.0854853482094068e-7, 2.17649661944492e-7, 2.1453447024377512e-7, 2.0640576447848107e-7, 2.0896476311647214e-7, 2.5133540081394304e-7, 2.1415317299144461e-7, 2.0922290050810272e-7, 2.0589550863285296e-7, 2.085482942265502e-7, 2.1326882141371634e-7, 2.1142348690595612e-7, 2.2014336571162927e-7, 2.0528059014949474e-7, 2.149784729188585e-7, 2.0584287555153208e-7, 2.080409010463817e-7, 2.0905740419042029e-7, 2.1194301990816633e-7, 2.0697709052058102e-7, 2.1458487680751633e-7, 2.1110652214691755e-7, 2.161319925293403e-7, 2.366606925856149e-7, 2.0652377806594733e-7, 2.1388690024711897e-7, 2.1129074812621825e-7, 2.1983524177697306e-7, 2.0802464257460464e-7, 2.138103993866882e-7, 2.0775035273584367e-7, 2.3654797207473924e-7, 2.909719727924445e-7, 2.089656276251295e-7, 2.1348414523745441e-7, 2.1966130018839765e-7, 2.0529854093774723e-7, 2.0800702617177625e-7, 2.0929202449984912e-7, 2.1364874034564034e-7, 2.42185897906421e-7, 2.1345415249606484e-7, 2.169430769983607e-7, 2.1400893053754495e-7, 2.1277365369088108e-7, 2.1283505827277694e-7, 2.1958833076427457e-7, 2.0897833427124367e-7, 2.0545533507866213e-7, 2.063055711873945e-7, 2.14037540880657e-7, 2.0968526991428314e-7, 2.071605906388393e-7, 2.0426822604454667e-7, 2.1371066944501988e-7, 2.2116768011568346e-7, 2.2673056066680476e-7, 2.414025525104696e-7, 2.050353062078322e-7, 2.0546768133425946e-7, 2.0984777142764298e-7, 2.090950388620448e-7, 2.0966594842425447e-7, 2.0676913636750248e-7, 2.152035245181228e-7, 2.1741544113179883e-7, 2.1051922446020438e-7, 2.072957363132293e-7, 2.1284939995706747e-7, 2.0637531541237508e-7, 2.075410998019433e-7, 2.0602856633684217e-7, 2.0942947521051118e-7, 2.1265474951295874e-7, 2.391562136744175e-7, 2.1528636000955855e-7, 2.153236465113265e-7, 2.0471565700954642e-7, 2.1246710598260828e-7, 2.0943400742813865e-7, 2.0668174435700427e-7, 2.2010486286509942e-7, 2.1354362978434039e-7, 2.0263051292014765e-7, 2.0576583851434491e-7, 2.1337095638235865e-7, 2.0988423811126603e-7, 2.1015515859659245e-7 ], "variance": 1.462950545908804e-16 }, "times": { "cycle": 0.053448779130705934, "elapsed": 5.404, "period": 2.1416862660762743e-7, "timeStamp": 1520292095334 }, "running": false, "count": 249564, "cycles": 4, "hz": 4669217.970156166 }, "2": { "name": "deep-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 25, "stats": { "moe": 1.5637331399373802e-9, "rme": 0.7268618201717163, "sem": 7.97823030580296e-10, "deviation": 7.61074664663815e-9, "mean": 2.1513485734715832e-7, "sample": [ 2.096954305428991e-7, 2.1239783286045706e-7, 2.2495514108691238e-7, 2.134083303156797e-7, 2.1301442106812998e-7, 2.0931965905156806e-7, 2.0793904074429265e-7, 2.115170931838169e-7, 2.1615908141297817e-7, 2.1253526675394652e-7, 2.1734824651112818e-7, 2.0964314223295754e-7, 2.0655755096518488e-7, 2.1352460614646298e-7, 2.1297584948607038e-7, 2.1600592521259534e-7, 2.0991217633178006e-7, 2.104397072809681e-7, 2.1221419106323543e-7, 2.5137103211711945e-7, 2.091874141958384e-7, 2.090002944699342e-7, 2.120423002081186e-7, 2.2416623623651506e-7, 2.180445644431534e-7, 2.1841129093231567e-7, 2.2172974822820624e-7, 2.1860802072431644e-7, 2.2079243053096113e-7, 2.1980438839788457e-7, 2.1521567933020027e-7, 2.1786615545624933e-7, 2.1376061186077145e-7, 2.0923904989673655e-7, 2.141346443877612e-7, 2.1361707368513205e-7, 2.363616050999009e-7, 2.226019840906649e-7, 2.0565003442114773e-7, 2.2095110207362543e-7, 2.1880024990151175e-7, 2.139830759374291e-7, 2.167399074409369e-7, 2.119256582795793e-7, 2.1847441891929535e-7, 2.1129596218051006e-7, 2.0646428358250528e-7, 2.1319153677491755e-7, 2.1410423041874422e-7, 2.2269243809167567e-7, 2.1777800548350769e-7, 2.0642196745709295e-7, 2.1229642776135202e-7, 2.1314173554212312e-7, 2.4088526416738626e-7, 2.121525951157784e-7, 2.1725617292547922e-7, 2.2428705645466158e-7, 2.0983607575040092e-7, 2.2354923417920484e-7, 2.154979247828284e-7, 2.1543236144990627e-7, 2.119313606500623e-7, 2.1072990740114365e-7, 2.0574420113092372e-7, 2.1255419241620538e-7, 2.1560698610022322e-7, 2.125716138942057e-7, 2.051254242953613e-7, 2.1005197394339016e-7, 2.173178245834643e-7, 2.1951880429289412e-7, 2.0769255349205528e-7, 2.1777972057190836e-7, 2.0850226224537302e-7, 2.1110664984739297e-7, 2.1469968046032814e-7, 2.1313052976732896e-7, 2.1441856513555565e-7, 2.0998343009721488e-7, 2.224690667292747e-7, 2.0549439910226464e-7, 2.1911027501104264e-7, 2.102765589994389e-7, 2.160030322444578e-7, 2.100838881173423e-7, 2.118062308246352e-7, 2.0826058201584566e-7, 2.397008702780353e-7, 2.0868748781332198e-7, 2.185890114962654e-7 ], "variance": 5.792346451931385e-17 }, "times": { "cycle": 0.054063174516483535, "elapsed": 5.267, "period": 2.1513485734715832e-7, "timeStamp": 1520292100738 }, "running": false, "count": 251299, "cycles": 3, "hz": 4648247.2079655705 }, "3": { "name": "deephas", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 26, "stats": { "moe": 1.3395794506372815e-8, "rme": 1.6696702367359029, "sem": 6.834589033863681e-9, "deviation": 6.555507507498173e-8, "mean": 8.023018085631522e-7, "sample": [ 8.021073797430534e-7, 7.679972512697938e-7, 8.056580968031072e-7, 7.720044965640872e-7, 7.900122647146698e-7, 8.308593516582013e-7, 7.930219300866447e-7, 7.82281894233642e-7, 7.655855691664176e-7, 7.775527786077083e-7, 8.105889752016731e-7, 7.804058858679415e-7, 7.783021810576636e-7, 7.497318643561398e-7, 7.803980729011055e-7, 8.519738870630415e-7, 7.829311174185837e-7, 7.950567373767553e-7, 7.508155960561696e-7, 0.0000011193320585599045, 8.410944278458322e-7, 9.376705109052884e-7, 7.840644607110846e-7, 8.095936510307738e-7, 7.735841948013146e-7, 7.648704212727816e-7, 7.802251717956378e-7, 7.688251120406334e-7, 7.703336868837765e-7, 7.983011353450852e-7, 7.906710038840752e-7, 7.8926959964147e-7, 9.032550194203764e-7, 7.684624887959367e-7, 7.725113086345982e-7, 7.748829847624738e-7, 7.911257693456826e-7, 7.503979533910965e-7, 7.632597848819838e-7, 7.830132656109949e-7, 7.902792948909471e-7, 8.030216761278757e-7, 7.847512996713474e-7, 7.796695697639678e-7, 7.637313265610995e-7, 7.897946818046012e-7, 7.697942037645652e-7, 7.672419928293994e-7, 7.542876008365701e-7, 7.894933821332537e-7, 8.683033612190021e-7, 7.679015685688676e-7, 7.813208843740664e-7, 7.878093516582014e-7, 7.963016582013743e-7, 7.681341649238124e-7, 8.176308037048102e-7, 7.873840752913057e-7, 7.782390498954287e-7, 8.053539139527935e-7, 8.030183298476247e-7, 7.919014191813565e-7, 7.799569166417687e-7, 8.166486555123992e-7, 8.136703316402749e-7, 7.812615177771139e-7, 8.139883776516283e-7, 0.0000010723801912160143, 0.000001152501374365103, 7.811713922916045e-7, 7.861896773229758e-7, 7.84098625634897e-7, 7.88363907977293e-7, 7.896726322079474e-7, 7.946841948013146e-7, 8.321028831789662e-7, 7.903808186435613e-7, 7.841121153271586e-7, 7.721093217806992e-7, 7.977207798028085e-7, 7.86574320286824e-7, 7.625934568270093e-7, 7.652535255452644e-7, 7.756806244397968e-7, 8.454303854197789e-7, 8.376563788467284e-7, 8.731561846429639e-7, 7.916419778906484e-7, 7.732573648043024e-7, 7.745952942933971e-7, 7.724299521959965e-7, 7.750902599342694e-7 ], "variance": 4.2974678680864905e-15 }, "times": { "cycle": 0.05370608306521741, "elapsed": 5.298, "period": 8.023018085631522e-7, "timeStamp": 1520292106005 }, "running": false, "count": 66940, "cycles": 3, "hz": 1246413.7427172286 }, "4": { "name": "dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 27, "stats": { "moe": 3.1351276739495408e-9, "rme": 1.2269930540392353, "sem": 1.5995549356885413e-9, "deviation": 1.5090171082973713e-8, "mean": 2.555130743103041e-7, "sample": [ 2.523754149163281e-7, 2.451490163671005e-7, 2.483692078139706e-7, 2.4400454055046714e-7, 2.4456339095103645e-7, 2.460862061841471e-7, 2.4976433211670454e-7, 2.5249136652663954e-7, 2.482910543351009e-7, 2.980423570461171e-7, 2.4265251245322867e-7, 2.4696411174620666e-7, 2.4714896586552806e-7, 2.444716479581296e-7, 2.526262562266143e-7, 2.4928876799118515e-7, 2.464773546358148e-7, 2.4962804214585773e-7, 2.53528655051305e-7, 2.389983196749535e-7, 2.438074742327204e-7, 2.502911507471937e-7, 2.5018095631613986e-7, 2.518100360397585e-7, 2.518790257787572e-7, 2.5765027201983334e-7, 2.84877845878383e-7, 2.4940595459449536e-7, 2.4192438996396026e-7, 2.4726864541009574e-7, 2.485035006771802e-7, 2.622827583040654e-7, 2.548346624428988e-7, 2.5216571402336845e-7, 2.8040963661823104e-7, 2.690042696783968e-7, 2.6873808966324634e-7, 2.571672152973854e-7, 2.5754026123086106e-7, 2.5744752197966166e-7, 2.7370170098478067e-7, 3.2599296191722336e-7, 3.130413470146684e-7, 2.970754998507908e-7, 2.6795291417028215e-7, 2.607317999219521e-7, 2.70091063517205e-7, 2.5269269334067903e-7, 2.4850865642862063e-7, 2.480353970112251e-7, 2.541109381814843e-7, 2.502542065514313e-7, 2.485202626081767e-7, 2.499671877510732e-7, 2.439952941716594e-7, 2.4670399651080046e-7, 2.427456648991116e-7, 2.542952597387691e-7, 2.4459248444781124e-7, 2.7619460092280147e-7, 2.513821499896701e-7, 2.531185731010261e-7, 2.5925962858388997e-7, 2.530060464155361e-7, 2.551204646144664e-7, 2.533416110001607e-7, 2.4682511305465644e-7, 2.5288124784794435e-7, 2.5006454100957233e-7, 2.4681083029176136e-7, 2.545998760415949e-7, 2.482774189105433e-7, 2.573970571356426e-7, 2.4632065284760007e-7, 2.526423065445447e-7, 2.5045855427771275e-7, 2.9097171452838417e-7, 2.4609707320432477e-7, 2.5432731446410944e-7, 2.498519385717237e-7, 2.5276324403737116e-7, 2.490386796134334e-7, 2.534196634758855e-7, 2.431418130064504e-7, 2.423404081445263e-7, 2.6297771962445193e-7, 2.6201067878704404e-7, 2.500178775566421e-7, 2.4488458554277714e-7 ], "variance": 2.2771326331341604e-16 }, "times": { "cycle": 0.05565458028089888, "elapsed": 5.312, "period": 2.555130743103041e-7, "timeStamp": 1520292111304 }, "running": false, "count": 217815, "cycles": 3, "hz": 3913694.055379588 }, "5": { "name": "dot2val", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 28, "stats": { "moe": 1.3958039355205796e-9, "rme": 0.7577580530085739, "sem": 7.121448650615203e-10, "deviation": 6.830653586054643e-9, "mean": 1.8420179501606517e-7, "sample": [ 1.8582365941777506e-7, 1.806083894879908e-7, 1.8808187224206017e-7, 2.081066540147756e-7, 1.8791889701633477e-7, 1.8957044792629308e-7, 1.8820962152398553e-7, 1.89335783695987e-7, 1.8390497843680865e-7, 1.8210254067602006e-7, 1.8282524013554004e-7, 1.7826983043490437e-7, 1.810239995519337e-7, 1.835809669831135e-7, 1.8211963370578847e-7, 1.7577284788148646e-7, 1.8068836987874207e-7, 1.7549790669019016e-7, 1.8211674927889328e-7, 2.1468320661457894e-7, 1.833839858299028e-7, 1.7944520289002773e-7, 1.8153439259010333e-7, 1.7930124758464254e-7, 1.8300151922484526e-7, 1.835715680920776e-7, 1.9255177266235402e-7, 1.8365458287826597e-7, 1.8667262804895125e-7, 1.807411611918564e-7, 1.7791221400767313e-7, 1.824208217816237e-7, 1.8082313282365791e-7, 1.8689051079559774e-7, 1.8935785096194237e-7, 1.7941971911842951e-7, 1.9754612282617826e-7, 1.8796275448766417e-7, 1.818397462824498e-7, 1.8077654442857542e-7, 1.8178092357668935e-7, 1.8626457615727126e-7, 1.8527191324316e-7, 1.8137182853062252e-7, 1.789656144109328e-7, 1.933914944411773e-7, 1.9096792475286343e-7, 1.774105092553698e-7, 1.7940436934666332e-7, 1.7747266795485733e-7, 1.8493608404043798e-7, 1.8874853678344396e-7, 1.8386581464056681e-7, 1.8349072712761488e-7, 2.0161204108208015e-7, 1.8584231566271808e-7, 1.8088118891595955e-7, 1.8210772144277353e-7, 1.7829156165112435e-7, 1.784131381444454e-7, 1.8356439203002044e-7, 1.787982826458316e-7, 1.8034286874457421e-7, 1.839528760256518e-7, 1.8076606737797193e-7, 1.9358510459548015e-7, 1.8764329020695064e-7, 1.8681801156571172e-7, 1.825361393486236e-7, 1.8415505194768825e-7, 1.809313513399983e-7, 1.7892795583746396e-7, 1.9450582836259767e-7, 1.8031305483211515e-7, 1.8119220294603603e-7, 1.8432892968159287e-7, 1.794120424822874e-7, 1.8315853846369262e-7, 1.826497031560671e-7, 1.8018301058556666e-7, 1.799618618555546e-7, 1.8228449410512757e-7, 1.7579840516396428e-7, 1.8442480537119495e-7, 1.8468401873477276e-7, 1.8217610756391946e-7, 1.8191802136716234e-7, 1.7918775378756055e-7, 1.8127227029600383e-7, 1.798563002324344e-7, 2.1003894326360303e-7, 1.7765743229998042e-7 ], "variance": 4.665782841268115e-17 }, "times": { "cycle": 0.05262129518582937, "elapsed": 5.347, "period": 1.8420179501606517e-7, "timeStamp": 1520292116616 }, "running": false, "count": 285672, "cycles": 3, "hz": 5428828.7468251055 }, "6": { "name": "es5-dot-prop", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 29, "stats": { "moe": 3.0656578820585916e-9, "rme": 1.19497214904759, "sem": 1.564111164315608e-9, "deviation": 1.5002427255580305e-8, "mean": 2.565463876712077e-7, "sample": [ 2.6473723869713174e-7, 2.532185135275215e-7, 2.552172745536485e-7, 2.8121283226932595e-7, 3.564133972548124e-7, 2.582567085948782e-7, 2.450710510577676e-7, 2.4500432734150506e-7, 2.950904462996368e-7, 2.544215170978611e-7, 2.5582685771798373e-7, 2.4613124486432084e-7, 2.5459446003043727e-7, 3.035723614156728e-7, 2.5425183182686744e-7, 2.480203336428922e-7, 2.580820590366074e-7, 2.6020556817021523e-7, 2.611679397478473e-7, 2.521459189279862e-7, 2.510629117659929e-7, 2.5711461620370594e-7, 2.549218452951101e-7, 2.520097097763883e-7, 2.541662622952414e-7, 2.4856881202320234e-7, 2.567651858082647e-7, 2.5272127544744226e-7, 2.49827684288833e-7, 2.502146798982832e-7, 2.4841984936961816e-7, 2.9009479795204916e-7, 2.459140269073122e-7, 2.527476625062601e-7, 2.5629201289450525e-7, 2.5839946224272983e-7, 2.617402330929795e-7, 2.459027320597659e-7, 2.438729268873773e-7, 2.5778582090640785e-7, 2.4797347680010115e-7, 2.439190592651299e-7, 2.4446247611453356e-7, 2.5408346420705114e-7, 2.565467036840749e-7, 2.574900835808994e-7, 2.5925038775897193e-7, 2.4643278680676893e-7, 2.73662782737739e-7, 2.4485650207041814e-7, 2.502058689772374e-7, 2.566226046578424e-7, 2.6117572464635344e-7, 2.5771288925058045e-7, 2.513197156466167e-7, 2.542488810167787e-7, 2.46584968524857e-7, 2.5099200555302905e-7, 2.4673898369994495e-7, 2.451003231288446e-7, 2.8119764953684863e-7, 2.576880490198425e-7, 2.55507053783001e-7, 2.4876781636707437e-7, 2.591589219464324e-7, 2.806951099834845e-7, 2.5597638526532466e-7, 2.5438446587998753e-7, 2.5867670839416933e-7, 2.5235561406448217e-7, 2.5167509035639914e-7, 2.558002441417937e-7, 2.5007731635510663e-7, 2.5801644366787144e-7, 2.5207236171282227e-7, 2.4929587591852365e-7, 2.544986572201345e-7, 2.46615036262237e-7, 2.5363989564135093e-7, 2.5392872017042055e-7, 2.4746350558893224e-7, 2.5255432633619764e-7, 2.507553172646545e-7, 2.7037945857966923e-7, 2.395385193518275e-7, 2.500245003470643e-7, 2.5434509203188204e-7, 2.4798323559683097e-7, 2.613143349529668e-7, 2.559910624955121e-7, 2.522719787453027e-7, 2.49054840948802e-7 ], "variance": 2.2507282355897877e-16 }, "times": { "cycle": 0.053591257652576926, "elapsed": 5.405, "period": 2.565463876712077e-7, "timeStamp": 1520292121963 }, "running": false, "count": 208895, "cycles": 3, "hz": 3897930.5422207294 }, "7": { "name": "lodash-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 30, "stats": { "moe": 1.5422960467691598e-9, "rme": 0.9452174007979461, "sem": 7.868857381475306e-10, "deviation": 7.3395815511716075e-9, "mean": 1.6316839337354179e-7, "sample": [ 1.649815325486428e-7, 1.6130792217151092e-7, 1.6039236448074305e-7, 1.6231678317234367e-7, 1.5905124555160144e-7, 1.6251418085917642e-7, 1.686540289781393e-7, 1.6814670183019828e-7, 1.7099837315709204e-7, 1.7022563908148975e-7, 1.6246730415547876e-7, 1.660202905226856e-7, 1.5934451558283505e-7, 1.6103955080100722e-7, 1.564611666350227e-7, 1.5738353725531698e-7, 1.6411051627381467e-7, 1.5930621290264348e-7, 1.9434341890821931e-7, 1.7015043023639125e-7, 1.60068951812908e-7, 1.5721503809432853e-7, 1.5740029391014481e-7, 1.5590312056169495e-7, 1.596494366722224e-7, 1.599341320870393e-7, 1.6412535853032605e-7, 1.6252489763978448e-7, 1.6356348181854592e-7, 1.594632535298485e-7, 1.592853978415781e-7, 1.644795787904088e-7, 1.6444341921630124e-7, 1.584620489295694e-7, 1.5902745626007043e-7, 1.5466906765170723e-7, 1.6024257753651542e-7, 1.992612965935383e-7, 1.643886391713829e-7, 1.5915590177116292e-7, 1.6657967460388368e-7, 1.6219144826226396e-7, 1.6161488528569975e-7, 1.6711937249875997e-7, 1.5797827714432712e-7, 1.684586045737841e-7, 1.6076060186882488e-7, 1.645395685004729e-7, 1.6654396791018796e-7, 1.573581267387373e-7, 1.6960866819269908e-7, 1.564809682398356e-7, 1.6094038614986952e-7, 1.6498778763297585e-7, 1.6361045814861255e-7, 1.771440529407959e-7, 1.682217357951132e-7, 1.6448082960297485e-7, 1.593151092612504e-7, 1.580136480287379e-7, 1.6269185338997932e-7, 1.6395870778122486e-7, 1.6449681905425016e-7, 1.644552742083065e-7, 1.5928278838777654e-7, 1.605104208707011e-7, 1.5959374470484213e-7, 1.5932431782962453e-7, 1.5918211029948642e-7, 1.5864328735724253e-7, 1.6267394766920628e-7, 1.590459350132013e-7, 1.9206492210148834e-7, 1.5980343449716411e-7, 1.5905472459017404e-7, 1.6111034261789525e-7, 1.6885032456429517e-7, 1.625337519139589e-7, 1.609828182717221e-7, 1.6074991142645007e-7, 1.5970561540902495e-7, 1.6015645323778687e-7, 1.5733773496731823e-7, 1.5768048632330184e-7, 1.6255396656298362e-7, 1.6524563417083587e-7, 1.5553366137466002e-7 ], "variance": 5.3869457346298624e-17 }, "times": { "cycle": 0.053454128837565666, "elapsed": 5.414, "period": 1.6316839337354179e-7, "timeStamp": 1520292127368 }, "running": false, "count": 327601, "cycles": 5, "hz": 6128637.901769969 }, "8": { "name": "object-path-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 31, "stats": { "moe": 6.099465386016257e-9, "rme": 3.311996490605757, "sem": 3.11197213572258e-9, "deviation": 2.9026543712534858e-8, "mean": 1.8416279737363726e-7, "sample": [ 1.9629315119666378e-7, 1.7969498043496754e-7, 1.8112658788669295e-7, 1.72213497390774e-7, 1.7892463911132126e-7, 1.7569264585453437e-7, 1.770728081987603e-7, 1.760458319199312e-7, 1.799862223272994e-7, 1.7529649908914113e-7, 1.7427025678359157e-7, 1.7814104470215085e-7, 1.7131666444505967e-7, 1.78802294065575e-7, 1.8073678400169525e-7, 1.9190665490923882e-7, 1.7848864417033233e-7, 1.924325537201664e-7, 1.8388420984274442e-7, 2.0663120640096247e-7, 1.7848567747051245e-7, 2.62349896268042e-7, 4.244256359777292e-7, 1.9307574996325803e-7, 1.8105677402155302e-7, 1.7928481081744874e-7, 1.7080172331454926e-7, 1.765984970459414e-7, 1.776134651857714e-7, 1.9247782750480974e-7, 1.7875614007559115e-7, 1.7459968412722237e-7, 1.7435122937957948e-7, 1.7590638090300043e-7, 1.772565494139639e-7, 1.7534995701947087e-7, 1.8136999072166355e-7, 1.806820054851342e-7, 1.7713291558078295e-7, 1.7643792042462035e-7, 1.7298423365034317e-7, 1.751316432206743e-7, 1.7305910846102416e-7, 1.855615508466482e-7, 1.757063508848531e-7, 1.7682288951957318e-7, 1.714215434785575e-7, 1.960907810176152e-7, 1.7880410088826427e-7, 1.7456764657724897e-7, 1.7325389894800038e-7, 1.8100274938940358e-7, 1.822556659253094e-7, 1.821413888850987e-7, 1.8029103276071443e-7, 1.7834831170508102e-7, 1.739800333683327e-7, 1.7295146640570048e-7, 1.736392040531311e-7, 1.726301415945442e-7, 1.857406240761695e-7, 1.791322738378e-7, 1.761407365211272e-7, 2.020224474751198e-7, 1.755839560365915e-7, 1.8131695204905673e-7, 1.8107004992795632e-7, 1.8193713433636028e-7, 2.2832445464598066e-7, 1.92149783868914e-7, 1.7870018094695573e-7, 1.720707636631706e-7, 1.814165130851456e-7, 1.75829738967262e-7, 1.8251890560600474e-7, 1.771214824246892e-7, 1.812837114231143e-7, 1.7882163656468853e-7, 1.7504656703414536e-7, 1.779364273028851e-7, 2.1452597594075663e-7, 1.8126686660188318e-7, 1.709144690547197e-7, 1.7240844084039808e-7, 1.7646649465536308e-7, 1.7354063264417117e-7, 1.8126240324364173e-7 ], "variance": 8.425402398956968e-16 }, "times": { "cycle": 0.054959703620214566, "elapsed": 5.461, "period": 1.8416279737363726e-7, "timeStamp": 1520292132782 }, "running": false, "count": 298430, "cycles": 4, "hz": 5429978.335804477 }, "9": { "name": "object-set", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 32, "stats": { "moe": 1.548775739343871e-8, "rme": 2.368828687078524, "sem": 7.90191703746873e-9, "deviation": 7.45465362385566e-8, "mean": 6.538150047709764e-7, "sample": [ 6.211795563915284e-7, 6.347862935730513e-7, 6.275934484695996e-7, 6.424828028433935e-7, 6.137090285072184e-7, 7.398727556977795e-7, 6.293607128025991e-7, 6.183204436084716e-7, 7.065242689987053e-7, 6.184190829811662e-7, 6.544486405940836e-7, 6.170795770392749e-7, 6.189973897280967e-7, 6.333816555891239e-7, 6.250634803625378e-7, 6.14626078549849e-7, 6.371390247428144e-7, 6.129531163418219e-7, 6.191002481509144e-7, 6.10459476714771e-7, 6.247636422772063e-7, 6.665940443780567e-7, 6.217782060857204e-7, 6.102253113932589e-7, 8.168109114125328e-7, 9.367165056496494e-7, 0.000001052955911051148, 0.0000010126572505842389, 6.553445322475728e-7, 6.513543257763751e-7, 7.188223552653769e-7, 6.479234707398752e-7, 6.45282687257571e-7, 6.465006866311706e-7, 6.946224733177537e-7, 6.964570313441106e-7, 7.01238598308719e-7, 6.574284578504831e-7, 7.222060857204808e-7, 7.253722866022598e-7, 6.082321536126436e-7, 6.561017177825428e-7, 6.266157154214951e-7, 6.353380995976582e-7, 6.149772688944033e-7, 6.143497000505939e-7, 6.414250487869516e-7, 6.341034644758715e-7, 6.294797624497073e-7, 6.596236899800034e-7, 6.42877779651625e-7, 6.392618714915557e-7, 6.151579492615703e-7, 6.193742621726455e-7, 6.428943551690077e-7, 6.142166983882237e-7, 6.965223094899655e-7, 6.138324379020406e-7, 6.152461753439179e-7, 6.352664851711759e-7, 6.280670489315056e-7, 6.521830293685403e-7, 6.107873009371913e-7, 6.420988748885729e-7, 6.092002553786109e-7, 6.299596694533453e-7, 6.261331823547836e-7, 6.373295588695883e-7, 6.276697424530802e-7, 6.274257715566048e-7, 6.193292456694052e-7, 6.165618449900017e-7, 6.213048642397667e-7, 6.158395089984822e-7, 7.227285999951815e-7, 6.258740573879104e-7, 6.254226997855783e-7, 6.448361963042379e-7, 6.317986725130701e-7, 6.562358276917146e-7, 6.178410870455586e-7, 6.321097405256945e-7, 6.413782253595779e-7, 6.23061917266967e-7, 6.212965644349146e-7, 6.324479244464789e-7, 6.376908232346351e-7, 6.219375647481148e-7, 6.355368251138362e-7 ], "variance": 5.557186065166432e-15 }, "times": { "cycle": 0.05427579880605783, "elapsed": 5.44, "period": 6.538150047709764e-7, "timeStamp": 1520292138244 }, "running": false, "count": 83014, "cycles": 6, "hz": 1529484.6289896453 }, "10": { "name": "set-value", "options": { "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05 }, "async": false, "defer": false, "delay": 0.005, "initCount": 1, "maxTime": 5, "minSamples": 5, "minTime": 0.05, "events": { "abort": [ null ], "complete": [ null ], "cycle": [ null ], "error": [ null ] }, "id": 33, "stats": { "moe": 2.2065705426695688e-9, "rme": 1.5779011260301261, "sem": 1.1258012972803923e-9, "deviation": 1.0620788196988068e-8, "mean": 1.3984212991983374e-7, "sample": [ 1.3410637568761836e-7, 1.5729529907372816e-7, 1.3103341793025262e-7, 1.3429943702253198e-7, 1.3526801077000375e-7, 1.378506602424539e-7, 1.3312404313154606e-7, 1.3204517733146103e-7, 1.3509315795576055e-7, 1.3781609316826197e-7, 1.3657321670123545e-7, 1.3402638908570911e-7, 1.3412668152480579e-7, 1.2990263452842586e-7, 1.3189458536773894e-7, 1.3266578720224674e-7, 1.3515087538487304e-7, 1.3655872615075427e-7, 1.5129425041546965e-7, 1.548661582262989e-7, 1.349316748901743e-7, 1.366230241036806e-7, 1.3350352344021747e-7, 1.3314940674799993e-7, 1.329254447779653e-7, 1.3318484469809208e-7, 1.333798281437203e-7, 1.3758407946098452e-7, 1.3395304999806758e-7, 1.308658490395888e-7, 1.3126799015755638e-7, 1.3131884621826005e-7, 1.541323293353774e-7, 1.3323809180268734e-7, 1.3672750602269944e-7, 1.3247189106321581e-7, 1.6288399056980534e-7, 1.3070637311106244e-7, 1.3427672725867335e-7, 1.3401277456423998e-7, 1.349786425506107e-7, 1.2862771862212975e-7, 1.3506649572518342e-7, 1.3948066544346265e-7, 1.345585896815831e-7, 1.4132172313109524e-7, 1.3831880330725708e-7, 1.3084448419431032e-7, 1.393182505623412e-7, 1.424130002533414e-7, 1.8242821609255406e-7, 1.6038247645076348e-7, 1.599186339011764e-7, 1.3800939410456603e-7, 1.3927663603538593e-7, 1.3522119520852046e-7, 1.4775475271062524e-7, 1.3796032008025038e-7, 1.3861426081883018e-7, 1.46777957761076e-7, 1.4147493839197292e-7, 1.4817583685836167e-7, 1.4505930236426402e-7, 1.4916288317889743e-7, 1.3500431704015335e-7, 1.4803779905163304e-7, 1.3419845077883294e-7, 1.3883712193911104e-7, 1.3835134360517637e-7, 1.4700963720996885e-7, 1.3068948018946868e-7, 1.514538394020119e-7, 1.3991485681091774e-7, 1.3730996450661118e-7, 1.346408053698145e-7, 1.3353940226778954e-7, 1.3780333284712254e-7, 1.4361416357666904e-7, 1.4236390575699185e-7, 1.411456917884113e-7, 1.376481829790392e-7, 1.3511204855966446e-7, 1.3398048247465946e-7, 1.4162676667255237e-7, 1.3984886009156118e-7, 1.4820362508540677e-7, 1.359982777901463e-7, 1.4170830678366433e-7, 1.9663550055402443e-7 ], "variance": 1.1280114192528108e-16 }, "times": { "cycle": 0.05464708800368287, "elapsed": 5.393, "period": 1.3984212991983374e-7, "timeStamp": 1520292143684 }, "running": false, "count": 390777, "cycles": 6, "hz": 7150920.831749792 }, "name": "(101 bytes)", "options": { "name": "shallow" }, "events": { "start": [ null ], "complete": [ null, null ] }, "length": 11, "running": false } }, "results": [ { "name": "deep-object", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-object.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-object" }, "runs": 88, "hz": 4793167.70007339, "ops": "4,793,168", "rme": "0.75" }, { "name": "deep-property", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-property.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-property" }, "runs": 90, "hz": 4669217.970156166, "ops": "4,669,218", "rme": "1.17" }, { "name": "deep-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deep-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deep-set" }, "runs": 91, "hz": 4648247.2079655705, "ops": "4,648,247", "rme": "0.73" }, { "name": "deephas", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/deephas.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "deephas" }, "runs": 92, "hz": 1246413.7427172286, "ops": "1,246,414", "rme": "1.67" }, { "name": "dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot-prop" }, "runs": 89, "hz": 3913694.055379588, "ops": "3,913,694", "rme": "1.23" }, { "name": "dot2val", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/dot2val.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "dot2val" }, "runs": 92, "hz": 5428828.7468251055, "ops": "5,428,829", "rme": "0.76" }, { "name": "es5-dot-prop", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/es5-dot-prop.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "es5-dot-prop" }, "runs": 92, "hz": 3897930.5422207294, "ops": "3,897,931", "rme": "1.19" }, { "name": "lodash-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/lodash-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "lodash-set" }, "runs": 87, "hz": 6128637.901769969, "ops": "6,128,638", "rme": "0.95" }, { "name": "object-path-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-path-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-path-set" }, "runs": 87, "hz": 5429978.335804477, "ops": "5,429,978", "rme": "3.31" }, { "name": "object-set", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/object-set.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "object-set" }, "runs": 89, "hz": 1529484.6289896453, "ops": "1,529,485", "rme": "2.37" }, { "name": "set-value", "file": { "stat": null, "_contents": null, "history": [ "/Users/jonschlinkert/dev/js-utils/objects/set-value/benchmark/code/set-value.js" ], "_cwd": "/Users/jonschlinkert/dev/js-utils/objects/set-value", "_isVinyl": true, "_symlink": null, "key": "set-value" }, "runs": 89, "hz": 7150920.831749792, "ops": "7,150,921", "rme": "1.58" } ], "fastest": [ "set-value" ] } ]set-value-3.0.1/benchmark/stats.md000066400000000000000000000041001350247715100170320ustar00rootroot00000000000000# deep (194 bytes) deep-object x 629,744 ops/sec ±0.85% (88 runs sampled) deep-property x 1,470,427 ops/sec ±0.94% (89 runs sampled) deep-set x 1,401,089 ops/sec ±1.02% (91 runs sampled) deephas x 590,005 ops/sec ±1.73% (86 runs sampled) dot-prop x 1,261,408 ops/sec ±0.94% (90 runs sampled) dot2val x 1,672,729 ops/sec ±1.12% (89 runs sampled) es5-dot-prop x 1,313,018 ops/sec ±0.79% (91 runs sampled) lodash-set x 1,074,464 ops/sec ±0.97% (93 runs sampled) object-path-set x 961,198 ops/sec ±2.07% (74 runs sampled) object-set x 258,438 ops/sec ±0.69% (90 runs sampled) set-value x 1,976,843 ops/sec ±2.07% (89 runs sampled) fastest is set-value (by 186% avg) # medium (98 bytes) deep-object x 3,249,287 ops/sec ±1.04% (93 runs sampled) deep-property x 3,409,307 ops/sec ±1.28% (88 runs sampled) deep-set x 3,240,776 ops/sec ±1.13% (93 runs sampled) deephas x 960,504 ops/sec ±1.39% (89 runs sampled) dot-prop x 2,776,388 ops/sec ±0.80% (94 runs sampled) dot2val x 3,889,791 ops/sec ±1.28% (91 runs sampled) es5-dot-prop x 2,779,604 ops/sec ±1.32% (91 runs sampled) lodash-set x 2,791,304 ops/sec ±0.75% (90 runs sampled) object-path-set x 2,462,084 ops/sec ±1.51% (91 runs sampled) object-set x 838,569 ops/sec ±0.87% (90 runs sampled) set-value x 4,767,287 ops/sec ±1.21% (91 runs sampled) fastest is set-value (by 181% avg) # shallow (101 bytes) deep-object x 4,793,168 ops/sec ±0.75% (88 runs sampled) deep-property x 4,669,218 ops/sec ±1.17% (90 runs sampled) deep-set x 4,648,247 ops/sec ±0.73% (91 runs sampled) deephas x 1,246,414 ops/sec ±1.67% (92 runs sampled) dot-prop x 3,913,694 ops/sec ±1.23% (89 runs sampled) dot2val x 5,428,829 ops/sec ±0.76% (92 runs sampled) es5-dot-prop x 3,897,931 ops/sec ±1.19% (92 runs sampled) lodash-set x 6,128,638 ops/sec ±0.95% (87 runs sampled) object-path-set x 5,429,978 ops/sec ±3.31% (87 runs sampled) object-set x 1,529,485 ops/sec ±2.37% (89 runs sampled) set-value x 7,150,921 ops/sec ±1.58% (89 runs sampled) fastest is set-value (by 172% avg) set-value-3.0.1/examples.js000066400000000000000000000010021350247715100155720ustar00rootroot00000000000000var set = require('./'); console.log(set({}, 'a.b.c', 'd')); //=> { a: { b: { c: 'd' } } } console.log(set({}, 'a\\.b.c', 'd')); //=> { 'a.b': { c: 'd' } } console.log(set({}, 'a\\.b\\.c', 'd')); //=> { 'a.b.c': 'd' } console.log(set({}, '"a.b".c', 'd')); //=> { 'a.b': { c: 'd' } } console.log(set({}, "'a.b'.c", "d")); //=> { 'a.b': { c: 'd' } } console.log(set({}, "{a..b}.c", "d")); //=> { '{a..b}': { c: 'd' } } console.log(set({}, '"this/is/a/.file.path"', 'd')); //=> { 'this/is/a/.file.path': 'd' } set-value-3.0.1/index.js000066400000000000000000000045241350247715100150770ustar00rootroot00000000000000/*! * set-value * * Copyright (c) 2014-2018, Jon Schlinkert. * Released under the MIT License. */ 'use strict'; const isPlain = require('is-plain-object'); function set(target, path, value, options) { if (!isObject(target)) { return target; } let opts = options || {}; const isArray = Array.isArray(path); if (!isArray && typeof path !== 'string') { return target; } let merge = opts.merge; if (merge && typeof merge !== 'function') { merge = Object.assign; } const keys = (isArray ? path : split(path, opts)).filter(isValidKey); const len = keys.length; const orig = target; if (!options && keys.length === 1) { result(target, keys[0], value, merge); return target; } for (let i = 0; i < len; i++) { let prop = keys[i]; if (!isObject(target[prop])) { target[prop] = {}; } if (i === len - 1) { result(target, prop, value, merge); break; } target = target[prop]; } return orig; } function result(target, path, value, merge) { if (merge && isPlain(target[path]) && isPlain(value)) { target[path] = merge({}, target[path], value); } else { target[path] = value; } } function split(path, options) { const id = createKey(path, options); if (set.memo[id]) return set.memo[id]; const char = (options && options.separator) ? options.separator : '.'; let keys = []; let res = []; if (options && typeof options.split === 'function') { keys = options.split(path); } else { keys = path.split(char); } for (let i = 0; i < keys.length; i++) { let prop = keys[i]; while (prop && prop.slice(-1) === '\\' && keys[i + 1]) { prop = prop.slice(0, -1) + char + keys[++i]; } res.push(prop); } set.memo[id] = res; return res; } function createKey(pattern, options) { let id = pattern; if (typeof options === 'undefined') { return id + ''; } const keys = Object.keys(options); for (let i = 0; i < keys.length; i++) { const key = keys[i]; id += ';' + key + '=' + String(options[key]); } return id; } function isValidKey(key) { return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'; } function isObject(val) { return val !== null && (typeof val === 'object' || typeof val === 'function'); } set.memo = {}; module.exports = set; set-value-3.0.1/package.json000066400000000000000000000051701350247715100157160ustar00rootroot00000000000000{ "name": "set-value", "description": "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.", "version": "3.0.1", "homepage": "https://github.com/jonschlinkert/set-value", "author": "Jon Schlinkert (https://github.com/jonschlinkert)", "contributors": [ "Jon Schlinkert (http://twitter.com/jonschlinkert)", "(https://github.com/wtgtybhertgeghgtwtg)", "Vadim Demedes (https://vadimdemedes.com)" ], "repository": "jonschlinkert/set-value", "bugs": { "url": "https://github.com/jonschlinkert/set-value/issues" }, "license": "MIT", "files": [ "index.js" ], "main": "index.js", "engines": { "node": ">=6.0" }, "scripts": { "test": "mocha" }, "dependencies": { "is-plain-object": "^2.0.4" }, "devDependencies": { "benchmarked": "^2.0.0", "deep-object": "^1.0.0", "deep-property": "^1.1.0", "deep-set": "^1.0.1", "deephas": "^1.0.5", "dot-prop": "^4.2.0", "dot2val": "^1.2.2", "es5-dot-prop": "^4.1.1", "gulp-format-md": "^2.0.0", "lodash.set": "^4.3.2", "minimist": "^1.2.0", "mocha": "^3.5.3", "object-path-set": "^1.0.0", "object-set": "^1.0.1", "split-string": "^5.0.4", "write": "^1.0.3" }, "keywords": [ "bury", "deep-get-set", "deep-object", "deep-property", "deep-set", "deep-set-in", "deephas", "dot-prop", "dot2val", "es5-dot-prop", "get", "getsetdeep", "has", "hasown", "key", "keys", "lodash.set", "nested", "notation", "object", "object-path", "object-path-set", "object-set", "prop", "properties", "property", "props", "set", "set-deep", "set-deep-prop", "set-nested-prop", "setvalue", "value", "values" ], "verb": { "toc": false, "layout": "default", "tasks": [ "readme" ], "plugins": [ "gulp-format-md" ], "related": { "list": [ "assign-value", "get-value", "has-value", "merge-value", "omit-value", "set-value", "union-value", "unset-value" ] }, "lint": { "reflinks": true }, "reflinks": [ "bury", "deep-get-set", "deep-object", "deep-property", "deep-set", "deep-set-in", "deephas", "dot-prop", "dot2val", "es5-dot-prop", "getsetdeep", "lodash.set", "object-path", "object-path-set", "object-set", "set-deep", "set-deep-prop", "set-nested-prop", "setvalue", "split-string", "update" ] } } set-value-3.0.1/test.js000066400000000000000000000140171350247715100147450ustar00rootroot00000000000000/*! * set-value * * Copyright (c) 2014-2018, Jon Schlinkert. * Released under the MIT License. */ 'use strict'; require('mocha'); const split = require('split-string'); const assert = require('assert'); const set = require('./'); describe('set', function() { it('should return non-objects', function() { var res = set('foo', 'a.b', 'c'); assert.equal(res, 'foo'); res = set(null, 'a.b', 'c'); assert.equal(res, null); }); it('should create a nested property if it does not already exist', function() { const o = {}; set(o, 'a.b', 'c'); assert.equal(o.a.b, 'c'); }); it('should merge an existing value with the given value', function() { var o = {a: {b: {c: 'd'}}}; set(o, 'a.b', {y: 'z'}, { merge: true }); assert.deepEqual(o.a.b, {c: 'd', y: 'z'}); }); it('should update an object value', function() { var o = {}; set(o, 'a', {b: 'c'}); set(o, 'a', {c: 'd'}, { merge: true }); assert.deepEqual(o, {a: {b: 'c', c: 'd'}}); set(o, 'a', 'b'); assert.equal(o.a, 'b'); }); it('should extend an array', function() { const o = {a: []}; set(o, 'a.0', {y: 'z'}); assert(Array.isArray(o.a)); assert.deepEqual(o.a[0], {y: 'z'}); }); it('should extend a function', function() { function log() {} const warning = function() {}; const o = {}; set(o, 'helpers.foo', log); set(o, 'helpers.foo.warning', warning); assert.equal(typeof o.helpers.foo, 'function'); assert.equal(typeof o.helpers.foo.warning, 'function'); }); it('should extend an object in an array', function() { var o = {a: [{}, {}, {}]}; set(o, 'a.0.a', {y: 'z'}); set(o, 'a.1.b', {y: 'z'}); set(o, 'a.2.c', {y: 'z'}); assert(Array.isArray(o.a)); assert.deepEqual(o.a[0].a, {y: 'z'}); assert.deepEqual(o.a[1].b, {y: 'z'}); assert.deepEqual(o.a[2].c, {y: 'z'}); }); it('should create a deeply nested property if it does not already exist', function() { var o = {}; set(o, 'a.b.c.d.e', 'c'); assert.equal(o.a.b.c.d.e, 'c'); }); it('should not create a nested property if it does already exist', function() { var first = {name: 'Halle'}; var o = {a: first }; set(o, 'a.b', 'c'); assert.equal(o.a.b, 'c'); assert.equal(o.a, first); assert.equal(o.a.name, 'Halle'); }); it('should support immediate properties', function() { var o = {}; set(o, 'a', 'b'); assert.equal(o.a, 'b'); }); it('should use property paths to set nested values from the source object.', function() { var o = {}; set(o, 'a.locals.name', {first: 'Brian'}); set(o, 'b.locals.name', {last: 'Woodward'}); set(o, 'b.locals.name.last', 'Woodward'); assert.deepEqual(o, { a: {locals: {name: { first: 'Brian' }} }, b: {locals: {name: { last: 'Woodward' }} }}); }); it('should add the property even if a value is not defined', function() { var fixture = {}; assert.deepEqual(set(fixture, 'a.locals.name'), {a: {locals: { name: undefined }}}); assert.deepEqual(set(fixture, 'b.locals.name'), {b: {locals: { name: undefined }}, a: {locals: { name: undefined }}}); }); it('should set the specified property.', function() { assert.deepEqual(set({a: 'aaa', b: 'b'}, 'a', 'bbb'), {a: 'bbb', b: 'b'}); }); it('should support passing an array as the key', function() { var actual = set({a: 'a', b: {c: 'd'}}, ['b', 'c', 'd'], 'eee'); assert.deepEqual(actual, {a: 'a', b: {c: {d: 'eee'}}}); }); it('should set a deeply nested value.', function() { var actual = set({a: 'a', b: {c: 'd'}}, 'b.c.d', 'eee'); assert.deepEqual(actual, {a: 'a', b: {c: {d: 'eee'}}}); }); it('should return the entire object if no property is passed.', function() { assert.deepEqual(set({a: 'a', b: {c: 'd'}}), {a: 'a', b: {c: 'd'}}); }); it('should set a value only.', function() { assert.deepEqual(set({a: 'a', b: {c: 'd'}}, 'b.c'), {a: 'a', b: {c: undefined}}); }); it('should set non-plain objects', function(done) { var o = {}; set(o, 'a.b', new Date()); var firstDate = o.a.b.getTime(); setTimeout(function() { set(o, 'a.b', new Date()); var secondDate = o.a.b.getTime(); assert.notDeepEqual(firstDate, secondDate); done(); }, 10); }); }); describe('escaping', function() { it('should not split escaped dots', function() { var o = {}; set(o, 'a\\.b.c.d.e', 'c', { escape: true }); assert.equal(o['a.b'].c.d.e, 'c'); }); it('should work with multiple escaped dots', function() { var obj1 = {}; set(obj1, 'e\\.f\\.g', 1, { escape: true }); assert.equal(obj1['e.f.g'], 1); var obj2 = {}; set(obj2, 'e\\.f.g\\.h\\.i.j', 1, { escape: true }); assert.deepEqual(obj2, { 'e.f': { 'g.h.i': { j: 1 } } }); }); }); describe('options', function() { const options = { split: function(segment) { return split(segment, { separator: '.', brackets: true }); } }; it('should use a custom function to not split inside double quotes', function() { var o = {}; set(o, 'a."b.c.d".e', 'c', options); assert.equal(o.a['b.c.d'].e, 'c'); }); it('should use a custom function to not split inside single quotes', function() { var o = {}; set(o, "a.'b.c.d'.e", 'c', options); assert.equal(o.a['b.c.d'].e, 'c'); }); it('should use a custom function to not split inside square brackets', function() { var o = {}; set(o, "a.[b.c.d].e", 'c', options); assert.equal(o.a['[b.c.d]'].e, 'c'); }); it('should use a custom function to not split inside parens', function() { var o = {}; set(o, "a.(b.c.d).e", 'c', options); assert.equal(o.a['(b.c.d)'].e, 'c'); }); it('should use a custom function to not split inside angle brackets', function() { var o = {}; set(o, "a..e", 'c', options); assert.equal(o.a[''].e, 'c'); }); it('should use a custom function to not split inside curly braces', function() { var o = {}; set(o, "a.{b.c.d}.e", 'c', options); assert.equal(o.a['{b.c.d}'].e, 'c'); }); });