{"_id":"dot-prop","_rev":"4104834","name":"dot-prop","description":"Get, set, or delete a property from a nested object using a dot path","dist-tags":{"latest":"10.1.0","legacy":"4.2.1"},"maintainers":[{"name":"sindresorhus","email":""}],"time":{"modified":"2026-01-11T18:51:18.000Z","created":"2015-01-08T06:19:18.574Z","10.1.0":"2025-10-05T12:00:55.181Z","10.0.0":"2025-09-13T17:45:20.954Z","9.0.0":"2024-05-09T20:31:34.528Z","8.0.2":"2023-07-18T13:29:03.736Z","8.0.1":"2023-06-29T18:14:34.167Z","8.0.0":"2023-04-22T06:40:06.480Z","7.2.0":"2022-02-17T03:46:08.069Z","7.1.1":"2022-01-22T17:39:14.269Z","7.1.0":"2022-01-22T07:34:04.346Z","7.0.0":"2022-01-21T09:55:53.337Z","6.0.1":"2020-11-19T10:00:04.839Z","6.0.0":"2020-10-07T21:06:04.374Z","5.3.0":"2020-09-06T14:14:50.395Z","4.2.1":"2020-08-16T11:13:03.636Z","5.2.0":"2019-11-01T14:59:45.673Z","5.1.1":"2019-10-23T09:05:50.892Z","5.1.0":"2019-06-11T17:00:04.463Z","5.0.1":"2019-06-07T07:15:14.421Z","5.0.0":"2019-04-06T15:48:28.290Z","4.2.0":"2017-07-24T20:08:50.144Z","4.1.1":"2017-02-18T18:25:51.926Z","4.1.0":"2016-11-27T16:45:58.307Z","4.0.0":"2016-09-04T16:16:51.651Z","3.0.0":"2016-05-19T18:27:16.011Z","2.4.0":"2016-03-02T09:14:20.082Z","2.3.0":"2016-02-25T08:48:11.743Z","2.2.0":"2015-06-16T17:22:16.000Z","2.1.0":"2015-06-04T12:54:25.273Z","2.0.0":"2015-04-28T15:33:37.795Z","1.0.1":"2015-01-24T07:27:06.884Z","1.0.0":"2015-01-08T06:19:18.574Z"},"users":{"fahad19":true,"sbruchmann":true,"josmardias":true,"gmaclennan":true,"roryrjb":true,"akiva":true,"vonthar":true,"steel1990":true,"ubenzer":true,"rocket0191":true,"tur-nr":true,"itonyyo":true,"mysticatea":true,"kostya.fokin":true,"raybenefield":true,"lamansky":true,"isayme":true,"evocateur":true},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"versions":{"10.1.0":{"name":"dot-prop","version":"10.1.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js","coverage":"c8 ava"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty","dottie","unflatten","expand"],"dependencies":{"type-fest":"^5.0.0"},"devDependencies":{"ava":"^6.4.1","benchmark":"^2.1.4","c8":"^10.1.3","expect-type":"^1.2.2","typescript":"^5.9.2","xo":"^1.2.2"},"gitHead":"8e81843270e42051ea8fda6035de1d638856fad5","types":"./index.d.ts","_id":"dot-prop@10.1.0","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_nodeVersion":"20.19.5","_npmVersion":"11.6.1","dist":{"shasum":"91dbeb6771a9d2c31eab11ade3fdb1d83c4376c4","size":7389,"noattachment":false,"key":"/dot-prop/-/dot-prop-10.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-10.1.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dot-prop_10.1.0_1759665654968_0.7098329536409285"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-05T12:00:55.181Z","publish_time":1759665655181,"_source_registry_name":"default","_cnpm_publish_time":1759665655181},"10.0.0":{"name":"dot-prop","version":"10.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js","coverage":"c8 ava"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty","dottie","unflatten","expand"],"dependencies":{"type-fest":"^5.0.0"},"devDependencies":{"ava":"^6.4.1","benchmark":"^2.1.4","c8":"^10.1.3","expect-type":"^1.2.2","typescript":"^5.9.2","xo":"^1.2.2"},"_id":"dot-prop@10.0.0","gitHead":"66a5f1f5e444569c0532c1531de38ef39da178ea","types":"./index.d.ts","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_nodeVersion":"20.19.1","_npmVersion":"10.9.2","dist":{"shasum":"a7380cb4a91986324fe18529d23efbd7cfcc91d4","size":5505,"noattachment":false,"key":"/dot-prop/-/dot-prop-10.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-10.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dot-prop_10.0.0_1757785520753_0.29304471604848925"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-13T17:45:20.954Z","publish_time":1757785520954,"_source_registry_name":"default","_cnpm_publish_time":1757785520954},"9.0.0":{"name":"dot-prop","version":"9.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^4.18.2"},"devDependencies":{"ava":"^6.1.3","benchmark":"^2.1.4","expect-type":"^0.19.0","typescript":"^5.4.5","xo":"^0.58.0"},"_id":"dot-prop@9.0.0","gitHead":"35eda392c035264bed686463ff625a750f6a82df","types":"./index.d.ts","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_nodeVersion":"20.12.2","_npmVersion":"10.6.0","dist":{"shasum":"bae5982fe6dc6b8fddb92efef4f2ddff26779e92","size":4591,"noattachment":false,"key":"/dot-prop/-/dot-prop-9.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-9.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_9.0.0_1715286694326_0.2765758420428339"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-09T20:31:34.528Z","publish_time":1715286694528,"_source_registry_name":"default","_cnpm_publish_time":1715286694528},"8.0.2":{"name":"dot-prop","version":"8.0.2","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":">=16"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^3.8.0"},"devDependencies":{"ava":"^5.2.0","benchmark":"^2.1.4","expect-type":"^0.15.0","typescript":"^5.0.4","xo":"^0.54.1"},"types":"./index.d.ts","gitHead":"3dd188c8ae7e5a5fe01a38d13cb7bcd5e038d28e","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@8.0.2","_nodeVersion":"16.20.0","_npmVersion":"9.2.0","dist":{"shasum":"afda6866610684dd155a96538f8efcdf78a27f18","size":4530,"noattachment":false,"key":"/dot-prop/-/dot-prop-8.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-8.0.2.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_8.0.2_1689686943567_0.8270773326948548"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-18T13:29:03.736Z","publish_time":1689686943736,"_source_registry_name":"default","_cnpm_publish_time":1689686943736},"8.0.1":{"name":"dot-prop","version":"8.0.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":">=16"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^3.8.0"},"devDependencies":{"ava":"^5.2.0","benchmark":"^2.1.4","expect-type":"^0.15.0","typescript":"^5.0.4","xo":"^0.54.1"},"types":"./index.d.ts","gitHead":"7251fb6ce2226bf9b192d21fd6e7678a4ac2d063","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@8.0.1","_nodeVersion":"16.20.0","_npmVersion":"9.2.0","dist":{"shasum":"5c1552816b2a311e1721e8e54f02732770211381","size":4481,"noattachment":false,"key":"/dot-prop/-/dot-prop-8.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-8.0.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_8.0.1_1688062473948_0.006410909325073488"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-29T18:14:34.167Z","publish_time":1688062474167,"_source_registry_name":"default","_cnpm_publish_time":1688062474167},"8.0.0":{"name":"dot-prop","version":"8.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":">=16"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^3.8.0"},"devDependencies":{"ava":"^5.2.0","benchmark":"^2.1.4","expect-type":"^0.15.0","typescript":"^5.0.4","xo":"^0.54.1"},"types":"./index.d.ts","gitHead":"bf6224b074cd46e7a384f987062c31e8c688eb90","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@8.0.0","_nodeVersion":"16.16.0","_npmVersion":"9.2.0","dist":{"shasum":"bfd2dcfd1b0e836c961b033d840a2918736490d5","size":4448,"noattachment":false,"key":"/dot-prop/-/dot-prop-8.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-8.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_8.0.0_1682145606239_0.34851274544028077"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-22T06:40:06.480Z","publish_time":1682145606480,"_cnpm_publish_time":1682145606480},"7.2.0":{"name":"dot-prop","version":"7.2.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"scripts":{"test":"xo && ava && tsc","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^2.11.2"},"devDependencies":{"ava":"^4.0.1","benchmark":"^2.1.4","expect-type":"^0.13.0","typescript":"^4.5.5","xo":"^0.48.0"},"types":"./index.d.ts","gitHead":"aff8acb5076257d14dd5f9cfefbbe5526b81aa04","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@7.2.0","_nodeVersion":"14.17.5","_npmVersion":"8.3.2","dist":{"shasum":"468172a3529779814d21a779c1ba2f6d76609809","size":4596,"noattachment":false,"key":"/dot-prop/-/dot-prop-7.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-7.2.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_7.2.0_1645069567912_0.1744364434258252"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-17T03:46:25.617Z","publish_time":1645069568069,"_cnpm_publish_time":1645069568069},"7.1.1":{"name":"dot-prop","version":"7.1.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"scripts":{"test":"xo && ava && tsd","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^2.10.0"},"devDependencies":{"ava":"^4.0.1","benchmark":"^2.1.4","tsd":"^0.19.1","xo":"^0.47.0"},"types":"./index.d.ts","gitHead":"bf3c2a63bf35bbdcb43b6eba3c1e677167b48f11","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@7.1.1","_nodeVersion":"16.13.2","_npmVersion":"8.3.2","dist":{"shasum":"15b7247eb35f0720bc82e17abcc40ad42ef1b30e","size":4062,"noattachment":false,"key":"/dot-prop/-/dot-prop-7.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-7.1.1.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_7.1.1_1642873154138_0.8109496694470641"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-22T17:39:21.301Z","publish_time":1642873154269,"_cnpm_publish_time":1642873154269},"7.1.0":{"name":"dot-prop","version":"7.1.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"scripts":{"test":"xo && ava && tsd","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^2.10.0"},"devDependencies":{"ava":"^4.0.1","benchmark":"^2.1.4","tsd":"^0.19.1","xo":"^0.47.0"},"types":"./index.d.ts","gitHead":"0289e193f002f55608087c8d9322256bff59e7d2","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@7.1.0","_nodeVersion":"16.13.2","_npmVersion":"8.3.2","dist":{"shasum":"b0a279f0f503a158fa19516aecc9a173138cb228","size":4062,"noattachment":false,"key":"/dot-prop/-/dot-prop-7.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-7.1.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_7.1.0_1642836844136_0.6740433859472563"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-22T07:44:16.270Z","publish_time":1642836844346,"_cnpm_publish_time":1642836844346},"7.0.0":{"name":"dot-prop","version":"7.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":"./index.js","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"scripts":{"test":"xo && ava && tsd","bench":"node benchmark.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"type-fest":"^2.10.0"},"devDependencies":{"ava":"^4.0.1","benchmark":"^2.1.4","tsd":"^0.19.1","xo":"^0.47.0"},"types":"./index.d.ts","gitHead":"aa1be1eca4307079e1cb271c16238df8d39cbe53","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@7.0.0","_nodeVersion":"12.22.1","_npmVersion":"8.3.2","dist":{"shasum":"3939ec2f37f445b729f8769075d3a7888ccc3680","size":3846,"noattachment":false,"key":"/dot-prop/-/dot-prop-7.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-7.0.0.tgz"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_7.0.0_1642758953211_0.6112951624043297"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-21T10:15:51.266Z","publish_time":1642758953337,"_cnpm_publish_time":1642758953337},"6.0.1":{"name":"dot-prop","version":"6.0.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"engines":{"node":">=10"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.13.1","xo":"^0.33.1"},"xo":{"rules":{"@typescript-eslint/method-signature-style":"off"}},"gitHead":"badea8a415fe6d53d88711bb586c2b9966bfd9db","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@6.0.1","_nodeVersion":"15.1.0","_npmVersion":"6.14.8","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"fc26b3cf142b9e59b74dbd39ed66ce620c681083","size":3411,"noattachment":false,"key":"/dot-prop/-/dot-prop-6.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-6.0.1.tgz"},"directories":{},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_6.0.1_1605780004657_0.40248611333264805"},"_hasShrinkwrap":false,"publish_time":1605780004839,"_cnpm_publish_time":1605780004839},"6.0.0":{"name":"dot-prop","version":"6.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"engines":{"node":">=10"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.13.1","xo":"^0.33.1"},"xo":{"rules":{"@typescript-eslint/method-signature-style":"off"}},"gitHead":"0f8abf46dc35ea806ad046a3f1512455077752b2","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@6.0.0","_nodeVersion":"14.11.0","_npmVersion":"6.14.8","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"bd579fd704d970981c4b05de591db648959f2ebb","size":3409,"noattachment":false,"key":"/dot-prop/-/dot-prop-6.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-6.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_6.0.0_1602104764275_0.07480599647640318"},"_hasShrinkwrap":false,"publish_time":1602104764374,"_cnpm_publish_time":1602104764374},"5.3.0":{"name":"dot-prop","version":"5.3.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.25.3"},"gitHead":"614e74abdfb49d59637155e77ea651af8f7988e3","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.3.0","_nodeVersion":"10.22.0","_npmVersion":"6.14.7","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88","size":3267,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.3.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.3.0_1599401690231_0.3119363844218699"},"_hasShrinkwrap":false,"publish_time":1599401690395,"_cnpm_publish_time":1599401690395},"4.2.1":{"name":"dot-prop","version":"4.2.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"1.4.1","matcha":"^0.7.0","xo":"0.24.0"},"xo":{"esnext":true},"readmeFilename":"readme.md","gitHead":"c914124f418f55edea27928e89c94d931babe587","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@4.2.1","_nodeVersion":"6.17.1","_npmVersion":"6.14.7","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"45884194a71fc2cda71cbb4bceb3a4dd2f433ba4","size":2606,"noattachment":false,"key":"/dot-prop/-/dot-prop-4.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-4.2.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_4.2.1_1597576383498_0.5643396673277659"},"_hasShrinkwrap":false,"publish_time":1597576383636,"_cnpm_publish_time":1597576383636},"5.2.0":{"name":"dot-prop","version":"5.2.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.25.3"},"gitHead":"282e984eed35b62321966f21b8db96ab70221ebc","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.2.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb","size":3232,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.2.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.2.0_1572620385525_0.4753573366381234"},"_hasShrinkwrap":false,"publish_time":1572620385673,"_cnpm_publish_time":1572620385673},"5.1.1":{"name":"dot-prop","version":"5.1.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"0efd03e2bffa6da4ebd69a3e5d43d6656b9b518e","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.1.1","_nodeVersion":"10.16.3","_npmVersion":"6.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"85783b39f2a54e04ae1981489a0ef2b9719bbd7d","size":3162,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.1.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.1.1_1571821550659_0.5116922757574385"},"_hasShrinkwrap":false,"publish_time":1571821550892,"_cnpm_publish_time":1571821550892},"5.1.0":{"name":"dot-prop","version":"5.1.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^2.0.0"},"devDependencies":{"ava":"^2.1.0","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"b8b7124920b909bd829d689242324607e41fddc1","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.1.0","_nodeVersion":"8.16.0","_npmVersion":"6.9.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"bdd8c986a77b83e3fca524e53786df916cabbd8a","size":2972,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.1.0_1560272404118_0.561897408858369"},"_hasShrinkwrap":false,"publish_time":1560272404463,"_cnpm_publish_time":1560272404463},"5.0.1":{"name":"dot-prop","version":"5.0.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"^1.4.1","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"e7b1edff89e80d83521b3b84fae5ecd223ee8b22","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.0.1","_nodeVersion":"8.16.0","_npmVersion":"6.9.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"e26c283bd1f10aab01e782371a751fb52cc3cb1c","size":2975,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.0.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.0.1_1559891714147_0.8264957384453273"},"_hasShrinkwrap":false,"publish_time":1559891714421,"_cnpm_publish_time":1559891714421},"5.0.0":{"name":"dot-prop","version":"5.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=8"},"scripts":{"test":"xo && ava && tsd","bench":"node bench.js"},"keywords":["object","prop","property","dot","path","get","set","delete","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"^1.4.1","benchmark":"^2.1.4","tsd":"^0.7.2","xo":"^0.24.0"},"gitHead":"3de4456a52fa1bb4b6a06c74e8053e4c40ac0f34","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@5.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"64b7968af349c3a9f966aa12658dbd5829f6b953","size":2763,"noattachment":false,"key":"/dot-prop/-/dot-prop-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-5.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop_5.0.0_1554565708132_0.6366489959099464"},"_hasShrinkwrap":false,"publish_time":1554565708290,"_cnpm_publish_time":1554565708290},"4.2.0":{"name":"dot-prop","version":"4.2.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.7.0","xo":"*"},"xo":{"esnext":true},"gitHead":"70f7ed8e5dfe72c726bebe9cef5c85c1fb3cd767","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@4.2.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"1f19e0c2e1aa0e32797c49799f2837ac6af69c57","size":2466,"noattachment":false,"key":"/dot-prop/-/dot-prop-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-4.2.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dot-prop-4.2.0.tgz_1500926929238_0.7274610283784568"},"directories":{},"publish_time":1500926930144,"_hasShrinkwrap":false,"_cnpm_publish_time":1500926930144},"4.1.1":{"name":"dot-prop","version":"4.1.1","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.7.0","xo":"*"},"xo":{"esnext":true},"gitHead":"49f0809db1201f2cf13735de4f3631191a692658","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@4.1.1","_shasum":"a8493f0b7b5eeec82525b5c7587fa7de7ca859c1","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.6.2","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"a8493f0b7b5eeec82525b5c7587fa7de7ca859c1","size":2413,"noattachment":false,"key":"/dot-prop/-/dot-prop-4.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-4.1.1.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/dot-prop-4.1.1.tgz_1487442351691_0.9279007718432695"},"directories":{},"publish_time":1487442351926,"_cnpm_publish_time":1487442351926,"_hasShrinkwrap":false},"4.1.0":{"name":"dot-prop","version":"4.1.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.7.0","xo":"*"},"xo":{"esnext":true},"gitHead":"d49fb11519d5cbb7974ec3d3b5b57719f3c17514","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@4.1.0","_shasum":"eb29eac57dfa31fda1edef50ea462ee3d38ff3ab","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"eb29eac57dfa31fda1edef50ea462ee3d38ff3ab","size":2405,"noattachment":false,"key":"/dot-prop/-/dot-prop-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-4.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/dot-prop-4.1.0.tgz_1480265156334_0.7113023274578154"},"directories":{},"publish_time":1480265158307,"_cnpm_publish_time":1480265158307,"_hasShrinkwrap":false},"4.0.0":{"name":"dot-prop","version":"4.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=4"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.7.0","xo":"*"},"xo":{"esnext":true},"gitHead":"e03af43093bb2d44dcac99426767619c9aa2e773","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@4.0.0","_shasum":"9cbe8b4c47a12033d8c4e20be33db9a8f80bd188","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"9cbe8b4c47a12033d8c4e20be33db9a8f80bd188","size":2411,"noattachment":false,"key":"/dot-prop/-/dot-prop-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-4.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/dot-prop-4.0.0.tgz_1473005808069_0.715334446169436"},"directories":{},"publish_time":1473005811651,"_cnpm_publish_time":1473005811651,"_hasShrinkwrap":false},"3.0.0":{"name":"dot-prop","version":"3.0.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/dot-prop.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"xo && ava","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.7.0","xo":"*"},"gitHead":"e50dd5becf66fda1e2307506eeb3162c0f9f3bb8","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop#readme","_id":"dot-prop@3.0.0","_shasum":"1b708af094a49c9a0e7dbcad790aba539dac1177","_from":".","_npmVersion":"2.15.0","_nodeVersion":"4.4.2","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"1b708af094a49c9a0e7dbcad790aba539dac1177","size":2319,"noattachment":false,"key":"/dot-prop/-/dot-prop-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-3.0.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/dot-prop-3.0.0.tgz_1463682431324_0.5166875969152898"},"directories":{},"publish_time":1463682436011,"_cnpm_publish_time":1463682436011,"_hasShrinkwrap":false},"2.4.0":{"name":"dot-prop","version":"2.4.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"ava && xo","bench":"matcha bench.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","matcha":"^0.6.1","xo":"*"},"gitHead":"c06a56f902db988af75da9955512556542d9fbe4","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@2.4.0","_shasum":"848e28f7f1d50740c6747ab3cb07670462b6f89c","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"848e28f7f1d50740c6747ab3cb07670462b6f89c","size":2077,"noattachment":false,"key":"/dot-prop/-/dot-prop-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-2.4.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/dot-prop-2.4.0.tgz_1456910059548_0.3175659680273384"},"directories":{},"publish_time":1456910060082,"_cnpm_publish_time":1456910060082,"_hasShrinkwrap":false},"2.3.0":{"name":"dot-prop","version":"2.3.0","description":"Get, set, or delete a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"ava && xo"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","set","delete","del","access","notation","dotty"],"dependencies":{"is-obj":"^1.0.0"},"devDependencies":{"ava":"*","xo":"*"},"gitHead":"21870dfacd2c4b1f47937d4503b605fc6c8eeb84","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@2.3.0","_shasum":"271fc1eff8c6302b65bf1b4659324e1f36725013","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"271fc1eff8c6302b65bf1b4659324e1f36725013","size":2029,"noattachment":false,"key":"/dot-prop/-/dot-prop-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-2.3.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/dot-prop-2.3.0.tgz_1456390089590_0.9987524345051497"},"directories":{},"publish_time":1456390091743,"_cnpm_publish_time":1456390091743,"_hasShrinkwrap":false},"2.2.0":{"name":"dot-prop","version":"2.2.0","description":"Get or set a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","access","notation","dotty"],"devDependencies":{"ava":"0.0.4"},"gitHead":"04e07dda49c69a407fb033e9a107acd718afd841","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@2.2.0","_shasum":"2adc26ec8fb4913282c074ec2eb189781394e89d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"2adc26ec8fb4913282c074ec2eb189781394e89d","size":1793,"noattachment":false,"key":"/dot-prop/-/dot-prop-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-2.2.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"publish_time":1434475336000,"_cnpm_publish_time":1434475336000,"_hasShrinkwrap":false},"2.1.0":{"name":"dot-prop","version":"2.1.0","description":"Get or set a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","access","notation"],"devDependencies":{"ava":"0.0.4"},"gitHead":"c91819235c4c2afb394b2d7b1a2df4605c7e2282","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@2.1.0","_shasum":"6bd199d80792d2323a2b7eb8175f4b32d76a7e72","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"6bd199d80792d2323a2b7eb8175f4b32d76a7e72","size":1719,"noattachment":false,"key":"/dot-prop/-/dot-prop-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-2.1.0.tgz"},"maintainers":[{"name":"sindresorhus","email":""}],"directories":{},"publish_time":1433422465273,"_cnpm_publish_time":1433422465273,"_hasShrinkwrap":false},"2.0.0":{"name":"dot-prop","version":"2.0.0","description":"Get or set a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","access","notation"],"devDependencies":{"ava":"0.0.4"},"gitHead":"dca46707135af1ec7155cf953a8bea7145728ff1","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@2.0.0","_shasum":"2f753317b5cd3a038bbee7bba865bdc7ca1b3ba8","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":""}],"dist":{"shasum":"2f753317b5cd3a038bbee7bba865bdc7ca1b3ba8","size":1703,"noattachment":false,"key":"/dot-prop/-/dot-prop-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-2.0.0.tgz"},"directories":{},"publish_time":1430235217795,"_cnpm_publish_time":1430235217795,"_hasShrinkwrap":false},"1.0.1":{"name":"dot-prop","version":"1.0.1","description":"Get a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","access"],"devDependencies":{"ava":"0.0.4"},"gitHead":"d6bcff06ba32485cc6b2be901f70c0abc49920b5","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@1.0.1","_shasum":"bff7c4ec7108efb3c8cb5b87f4b1426821b32139","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":""}],"dist":{"shasum":"bff7c4ec7108efb3c8cb5b87f4b1426821b32139","size":842,"noattachment":false,"key":"/dot-prop/-/dot-prop-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-1.0.1.tgz"},"directories":{},"publish_time":1422084426884,"_cnpm_publish_time":1422084426884,"_hasShrinkwrap":false},"1.0.0":{"name":"dot-prop","version":"1.0.0","description":"Get a property from a nested object using a dot path","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/dot-prop"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["obj","object","prop","property","dot","path","get","access"],"devDependencies":{"ava":"0.0.4"},"gitHead":"49293242e30040a5e2a6b1379a841f8825984b7e","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"homepage":"https://github.com/sindresorhus/dot-prop","_id":"dot-prop@1.0.0","_shasum":"63338710356aefecd03cbf426411e8e2742bfac5","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.32","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":""}],"dist":{"shasum":"63338710356aefecd03cbf426411e8e2742bfac5","size":1502,"noattachment":false,"key":"/dot-prop/-/dot-prop-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/dot-prop/download/dot-prop-1.0.0.tgz"},"directories":{},"publish_time":1420697958574,"_cnpm_publish_time":1420697958574,"_hasShrinkwrap":false}},"readme":"# dot-prop\n\n> Get, set, or delete a property from a nested object using a dot path\n\n## Install\n\n```sh\nnpm install dot-prop\n```\n\n## Usage\n\n```js\nimport {getProperty, setProperty, hasProperty, deleteProperty} from 'dot-prop';\n\n// Getter\ngetProperty({foo: {bar: 'unicorn'}}, 'foo.bar');\n//=> 'unicorn'\n\ngetProperty({foo: {bar: 'a'}}, 'foo.notDefined.deep');\n//=> undefined\n\ngetProperty({foo: {bar: 'a'}}, 'foo.notDefined.deep', 'default value');\n//=> 'default value'\n\ngetProperty({foo: {'dot.dot': 'unicorn'}}, 'foo.dot\\\\.dot');\n//=> 'unicorn'\n\ngetProperty({foo: [{bar: 'unicorn'}]}, 'foo[0].bar');\n//=> 'unicorn'\n\ngetProperty({foo: [{bar: 'unicorn'}]}, 'foo.0.bar');\n//=> 'unicorn'\n\n// Setter\nconst object = {foo: {bar: 'a'}};\nsetProperty(object, 'foo.bar', 'b');\nconsole.log(object);\n//=> {foo: {bar: 'b'}}\n\nconst foo = setProperty({}, 'foo.bar', 'c');\nconsole.log(foo);\n//=> {foo: {bar: 'c'}}\n\nsetProperty(object, 'foo.baz', 'x');\nconsole.log(object);\n//=> {foo: {bar: 'b', baz: 'x'}}\n\nsetProperty(object, 'foo.biz[0]', 'a');\nconsole.log(object);\n//=> {foo: {bar: 'b', baz: 'x', biz: ['a']}}\n\nsetProperty(object, 'foo.items.0', 'first');\nconsole.log(object);\n//=> {foo: {bar: 'b', baz: 'x', biz: ['a'], items: ['first']}}\n\n// Has\nhasProperty({foo: {bar: 'unicorn'}}, 'foo.bar');\n//=> true\n\n// Deleter\nconst object = {foo: {bar: 'a'}};\ndeleteProperty(object, 'foo.bar');\nconsole.log(object);\n//=> {foo: {}}\n\nobject.foo.bar = {x: 'y', y: 'x'};\ndeleteProperty(object, 'foo.bar.x');\nconsole.log(object);\n//=> {foo: {bar: {y: 'x'}}}\n```\n\n### Array paths\n\nFor improved performance and interoperability with other libraries, you can also pass paths as arrays instead of strings. This avoids the overhead of parsing string paths.\n\n```js\nimport {getProperty, setProperty} from 'dot-prop';\n\nconst object = {\n\tusers: [\n\t\t{name: 'Alice', role: 'admin'},\n\t\t{name: 'Bob', role: 'user'}\n\t]\n};\n\n// Using array paths - no parsing overhead\ngetProperty(object, ['users', 0, 'name']);\n//=> 'Alice'\n\nsetProperty(object, ['users', 1, 'role'], 'moderator');\nconsole.log(object.users[1].role);\n//=> 'moderator'\n\n// Useful for interoperability with libraries that return paths as arrays\nconst pathFromOtherLib = ['users', 0, 'profile', 'settings'];\nsetProperty(object, pathFromOtherLib, {theme: 'dark'});\n```\n\nArray paths:\n- Avoid the parse/stringify cycle when you already have path segments\n- Work with all functions: `getProperty`, `setProperty`, `hasProperty`, `deleteProperty`\n- Numeric strings are automatically normalized to numbers for simplicity\n\n## API\n\n### getProperty(object, path, defaultValue?)\n\nGet the value of the property at the given path.\n\nReturns the value if any.\n\n### setProperty(object, path, value)\n\nSet the property at the given path to the given value.\n\nReturns the object.\n\n### hasProperty(object, path)\n\nCheck whether the property at the given path exists.\n\nReturns a boolean.\n\n### deleteProperty(object, path)\n\nDelete the property at the given path.\n\nReturns a boolean of whether the property existed before being deleted.\n\n### escapePath(path)\n\nEscape special characters in a path. Useful for sanitizing user input.\n\n```js\nimport {getProperty, escapePath} from 'dot-prop';\n\nconst object = {\n\tfoo: {\n\t\tbar: '???????? You found me Mario!',\n\t},\n\t'foo.bar' : '???? The princess is in another castle!',\n};\nconst escapedPath = escapePath('foo.bar');\n\nconsole.log(getProperty(object, escapedPath));\n//=> '???? The princess is in another castle!'\n```\n\n### parsePath(path)\n\nParse a dot path into an array of path segments.\n\nReturns an array of path segments where numbers represent array indices and strings represent object keys.\n\n```js\nimport {parsePath} from 'dot-prop';\n\nparsePath('foo.bar');\n//=> ['foo', 'bar']\n\nparsePath('foo[0].bar');\n//=> ['foo', 0, 'bar']\n\nparsePath('foo.0.bar');\n//=> ['foo', 0, 'bar']\n\nparsePath('foo\\\\.bar');\n//=> ['foo.bar']\n\n// Use case: Iterate over path segments to build up a nested object\nconst path = 'users[0].profile.settings.theme';\nconst segments = parsePath(path);\n//=> ['users', 0, 'profile', 'settings', 'theme']\n```\n\n### stringifyPath(pathSegments, options?)\n\nConvert an array of path segments back into a path string.\n\nReturns a string path that can be used with other dot-prop functions.\n\n```js\nimport {stringifyPath} from 'dot-prop';\n\nstringifyPath(['foo', 'bar']);\n//=> 'foo.bar'\n\nstringifyPath(['foo', 0, 'bar']);\n//=> 'foo[0].bar'\n\nstringifyPath(['foo', '0', 'bar']);\n//=> 'foo[0].bar'\n\n// With preferDotForIndices option\nstringifyPath(['foo', 0, 'bar'], {preferDotForIndices: true});\n//=> 'foo.0.bar'\n```\n\n#### pathSegments\n\nType: `Array<string | number>`\n\nArray of path segments where numbers represent array indices and strings represent object keys.\n\n#### options\n\nType: `object`\n\n##### preferDotForIndices\n\nType: `boolean`\\\nDefault: `false`\n\nWhen `true`, numeric indices will use dot notation instead of bracket notation when not the first segment.\n\n### deepKeys(object)\n\nReturns an array of every path. Non-empty plain objects and arrays are deeply recursed and are not themselves included.\n\nThis can be useful to help flatten an object for an API that only accepts key-value pairs or for a tagged template literal.\n\n```js\nimport {getProperty, deepKeys} from 'dot-prop';\n\nconst user = {\n\tname: {\n\t\tfirst: 'Richie',\n\t\tlast: 'Bendall',\n\t},\n\tactiveTasks: [],\n\tcurrentProject: null\n};\n\nfor (const property of deepKeys(user)) {\n\tconsole.log(`${property}: ${getProperty(user, property)}`);\n\t//=> name.first: Richie\n\t//=> name.last: Bendall\n\t//=> activeTasks: []\n\t//=> currentProject: null\n}\n```\n\nSparse arrays are supported. In general, [avoid using sparse arrays](https://github.com/sindresorhus/dot-prop/issues/109#issuecomment-1614819869).\n\n#### object\n\nType: `object | array`\n\nObject or array to get, set, or delete the `path` value.\n\nYou are allowed to pass in `undefined` as the object to the `get` and `has` functions.\n\n#### path\n\nType: `string | Array<string | number>`\n\nPath of the property in the object.\n\n**String paths**: Use `.` to separate each nested key. Use `\\\\.` if you have a `.` in the key. Array indices can be accessed using bracket notation (like `'users[0].name'`) or dot notation (like `'users.0.name'`). Both syntaxes are equivalent and will create arrays when setting values. Numeric strings in dot notation (like `'users.0.name'`) are automatically coerced to numbers.\n\n**Array paths**: Pass an array of path segments for better performance and interoperability. Numbers create arrays (like `['users', 0, 'name']`). Numeric strings are normalized to numbers for simplicity. No parsing overhead.\n\nThe following path components are invalid and results in `undefined` being returned: `__proto__`, `prototype`, `constructor`.\n\n#### value\n\nType: `unknown`\n\nValue to set at `path`.\n\n#### defaultValue\n\nType: `unknown`\n\nDefault value.\n\n### unflatten(object)\n\nConvert an object with dot paths into a nested object.\n\nUses the same path rules and escaping as the rest of the API.\n\n```js\nimport {unflatten} from 'dot-prop';\n\nconst flat = {\n\t'unicorn.name': 'Rainbow Dash',\n\t'unicorn.color': '????',\n\t'unicorn.treasures[0]': 'sparkles',\n\t'unicorn.treasures[1]': 'glitter',\n};\n\nunflatten(flat);\n/*\n{\n\tunicorn: {\n\t\tname: 'Rainbow Dash',\n\t\tcolor: '????',\n\t\ttreasures: ['sparkles', 'glitter']\n\t}\n}\n*/\n```\n","_attachments":{},"homepage":"https://github.com/sindresorhus/dot-prop#readme","bugs":{"url":"https://github.com/sindresorhus/dot-prop/issues"},"license":"MIT"}