{"_id":"@destinationstransfers/object-properties","_rev":"4-0a4383e145cff4845661a2b4f17cb130","name":"@destinationstransfers/object-properties","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@destinationstransfers/object-properties","version":"1.0.0","description":"Browser / node lightweight, fast and well tested library to check, get and set object properties via dot notation","main":"index.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/destinationstransfers/object-properties.git"},"engines":{"node":">=8"},"keywords":["object","access","dot","path","mongodb","mongoose","node","browser"],"author":{"name":"Tino Vyatkin","email":"tino@vtkn.io"},"license":"MIT","bugs":{"url":"https://github.com/destinationstransfers/object-properties/issues"},"homepage":"https://github.com/destinationstransfers/object-properties#readme","files":["index.js"],"devDependencies":{"@destinationstransfers/eslint-config":"latest","eslint":"latest","eslint-plugin-node":"latest","jest":"latest"},"directories":{"test":"__tests__"},"jest":{"collectCoverage":true,"testEnvironment":"node","verbose":true},"eslintConfig":{"plugins":["node"],"extends":["@destinationstransfers","plugin:node/recommended"],"env":{"node":true},"parserOptions":{"sourceType":"script"}},"gitHead":"884946f47af7861b948c1461690faf5aeeb5051b","_id":"@destinationstransfers/object-properties@1.0.0","_npmVersion":"6.0.0","_nodeVersion":"10.0.0","_npmUser":{"name":"tinovyatkin","email":"tino@vtkn.io"},"dist":{"integrity":"sha512-xPkwugviUQzZw5t0WWH470AdGOp1mJ4mL6ih8bbN1NtoiHZynLZL+pIC/Zo3vCGHvxa+R7LhY6gEoBnFQhIhRw==","shasum":"1110d02852901438dfe346084b59fe095f629641","tarball":"https://registry.npmjs.org/@destinationstransfers/object-properties/-/object-properties-1.0.0.tgz","fileCount":4,"unpackedSize":6347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6G9iCRA9TVsSAnZWagAAiP0P/RExVSGjU/82PmlGYKu1\nKNYKrN0L3Uas2uCfbjyOXz5hLsx+7Q32qLO+AxodZsKfn4FcgKtkFuKS9NtK\ncjudjy5bmoXj8GK6w/CH62C/b77AHnrjNWTSJEys8ypfFxHQdKYqN2NJbbmD\nIA5YIoTkIIMomOI6U6zqVBT4vkkX8RqoKFk6CDxroCLU86FEyw/NTB9ELHNf\nc3l6Gfxfk7hQeI4uu1NHurzyWLc59xb3Z/ac8tSfjMVk9GHP8HaB+Fz4DYt9\nunuBwpcsa5d4ffe+h7/ye2gyE1GO48NRIU8HSfhOOV3yawxdwpjfN7Dyiiji\nmAMcP8T1+4jirba1V0E+4JqCldB0ysPzV7upE24tCOhgGLNKUMb5cVvPAdQk\nA/zR36uSq5T+TLWkLQgCz+5ZawSPdBasLF62iAQJeGR4zHEOxwH/NwDItYMU\nKxDy4BqCC2XAN/VO+coleaVAuNXPoIizvIN2W0XEhtNH/rAh7jROGC29ZGK6\naRnGicinqaRSmI3248degDlSl6pwLSzA6qSrXgztqqE2x+jhlzQ6LEmfz9Y7\n4wxJx0PohWdUSGm35yQ1CK30qxnM926jriE+a6KmJ6Zgz+EYiOwcKbvzO0O7\nPjpUlsT5CoO1qwiAw8iaf4moppac8q6DH36oISV1yKC4zQ3/pQo/cHgRu1Ey\nW4R1\r\n=53Xn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID+vQvCIORAytVU7PtM+WvnZP+d5rzu2FVkcwIjKtmTNAiB9UCDHsoUy39593lxFQxAOJJqGmK/Lw3do9bca2H23nQ=="}]},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-properties_1.0.0_1525182305623_0.4257657325823685"},"_hasShrinkwrap":false},"1.1.0":{"name":"@destinationstransfers/object-properties","version":"1.1.0","description":"Browser / node lightweight, fast and well tested library to check, get and set object properties via dot notation","main":"index.js","typings":"index.d.ts","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/destinationstransfers/object-properties.git"},"engines":{"node":">=8"},"keywords":["object","access","dot","path","mongodb","mongoose","node","browser"],"author":{"name":"Tino Vyatkin","email":"tino@vtkn.io"},"license":"MIT","bugs":{"url":"https://github.com/destinationstransfers/object-properties/issues"},"homepage":"https://github.com/destinationstransfers/object-properties#readme","files":["index.js","index.d.ts"],"devDependencies":{"@destinationstransfers/eslint-config":"latest","eslint":"latest","eslint-plugin-node":"latest","jest":"latest"},"directories":{"test":"__tests__"},"jest":{"collectCoverage":true,"testEnvironment":"node","verbose":true},"eslintConfig":{"plugins":["node"],"extends":["@destinationstransfers","plugin:node/recommended"],"env":{"node":true},"parserOptions":{"sourceType":"script"}},"gitHead":"d2379e1e8b8c1a46e011c098a2add520dee787e2","_id":"@destinationstransfers/object-properties@1.1.0","_npmVersion":"6.0.0","_nodeVersion":"10.0.0","_npmUser":{"name":"tinovyatkin","email":"tino@vtkn.io"},"dist":{"integrity":"sha512-ZR6UN71lJ4O0m3tssA0CPYsPgiSIqI72NNa9Xf3MjRL4RAw5bCNDz+QKFtrJXI8EYluwJCjgsMuLgZY2kN7XDw==","shasum":"e46eb71f739878d8717ef20ef157692fd63cba81","tarball":"https://registry.npmjs.org/@destinationstransfers/object-properties/-/object-properties-1.1.0.tgz","fileCount":5,"unpackedSize":6714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6IlXCRA9TVsSAnZWagAAFvAP/1Fw6dIfts9MPgZz0vEo\nvASg8jEsNoUVRZVYFP9CeMYvO6vT0LmwKz8FSQPfD288mDyECHkSUr/nOVaZ\nwv+LkS2amceEAYldneGW/VBV850Q3r7lMPa/axX5y9xe1vsEuKrnEFmfeBRJ\nG1GrCoLF7oUSP09oW1NU/2d4A1eJqjJLrFKNheNK98G3JYPycE80hV17f5IZ\n9sXOvT5CqU/n1lq8Nbo7tcaF4cXTba6p/mYh+B2793ZKFapM8koptzxCC+Lz\n/uN8tXBISqg48qR4oB9ldxfVGX31AH74PQTXnFsHQ/F/Q4CfpQh3BqkXvLzR\nohiPzLjzjMhsjf/hKkwFZcbP4LkafZTHOxn7H/8/dkfqno8J3cV8/WsmNnnj\nj5a+V6MgO5ygMtWhbAJEJ5pMFeRnkahH7yXECClTOnnbzOWhTSTO+LMmD0tS\n3WOvqFZLrjpdzo/+BQFDD5hhrLFQSzAPAOex0/fpcw7YMc48B4vMPkBjoplm\n0aEA4VUOlu3TCIjtnJVDpwO84biAMZxbYFTCG3ypueI1OTb/o15LMNChytWP\n+x0FX3EU4HUj3YgwG8jXjO17GQafAf6SQFa69PP6CP+jDJBQ5StL6j3aeW0Y\nQ8aKfVQsaLPBrdm28LblUoPj1ldgMDFJQlUB0Tb1G4ROj3duGEhjn/EIvAgA\ndshM\r\n=ODcQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmiwsLd5Uw9P8PrsfpwbNi+J3XlomvYYQOX11zJQ21jAiEA1O1EZmqK4qiS0IxWCZ2XPOPsfXWjz/kfwo1wdnYu1Qs="}]},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-properties_1.1.0_1525188951185_0.6122530473641845"},"_hasShrinkwrap":false},"1.2.0":{"name":"@destinationstransfers/object-properties","version":"1.2.0","description":"Browser / node lightweight, fast and well tested library to check, get and set object properties via dot notation","main":"index.js","typings":"index.d.ts","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/destinationstransfers/object-properties.git"},"engines":{"node":">=8"},"keywords":["object","access","dot","path","mongodb","mongoose","node","browser"],"author":{"name":"Tino Vyatkin","email":"tino@vtkn.io"},"license":"MIT","bugs":{"url":"https://github.com/destinationstransfers/object-properties/issues"},"homepage":"https://github.com/destinationstransfers/object-properties#readme","devDependencies":{"@destinationstransfers/eslint-plugin":"2.6.7","@types/jest":"24.0.18","eslint":"latest","jest":"latest"},"directories":{"test":"__tests__"},"jest":{"collectCoverage":true,"testEnvironment":"node","verbose":true},"eslintConfig":{"plugins":["@destinationstransfers","node"],"extends":["plugin:@destinationstransfers/recommended","plugin:node/recommended"],"env":{"node":true},"parserOptions":{"sourceType":"script"}},"gitHead":"b84468606390bdf17d0aa0a15d5ec0f2957a7f24","_id":"@destinationstransfers/object-properties@1.2.0","_nodeVersion":"12.8.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-wzAh+WeuA52s61Q2+BjFsxpmLoftJyIwKqAJJs6CbM3g0ys6/Ao9t+tcdfg/Fq/IhtA4wR7iuWX+92C96B+T9g==","shasum":"4be68a7cb34ad60889487ff3eecbe158088287ff","tarball":"https://registry.npmjs.org/@destinationstransfers/object-properties/-/object-properties-1.2.0.tgz","fileCount":5,"unpackedSize":6897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdW1+wCRA9TVsSAnZWagAA+f4QAIVL/SW1/j46yeURnRv8\nBEI4QPEEL72fjm089kTMS6kaXB0+qXCmISn7j3WZniR5+nJyEPaj6Bv9lu8E\nPY9Bj4OcUwmAc0Mi5TaD8Y4rEHU66qxuBmDHOfFJ1eLcXcZtB+qjLEL271fp\n3dUCBaL7jhCbINJPEhJbyvf+jhTMYD55cT6tNlkeotXpgEYfy3wNbh5E3RZr\n/w2gr5unG7iXiP5uZd5tK9LzVfOPAyULlESnDAoddp9STc9Jhf+STRHc4Bgp\nCLGnoVmyZ0YRNheGvQR+uZ/pw2Ve8w8vB4RKk1RpFXkqcXvWVaQZgOqWaW85\nwB6bi+kvdk08wy3JQFNujDhm6bV44Q9lMAILtIz1ysNnE0bLCsl/vIfX2v7r\nqpEae61ZuMZ/qqjJHkc7ttWnu4fUB/oYYGLy6KmhPerRD65B12U2Qs9XQPkk\nCR75N5uaChCzABZbnjEQf87rqKprwTDTd4tcp+dniQzu7J78ebEKyURIOrEt\nr29bOGABrQl+7JxhGaUXhBk8WcDxp8CDyU3JD3kkCNbdNVN/hKoDtJxcXSM2\ntmh/XMJ77tKSQUy2KKaGa1P7uNSSaOSf4d9OyEmZgao9E3835ndl7O/nngK9\nl0e+g3tPNJS2Qh7iqZ6VetHZ6YdIcSEZuLjay7rdn8XeRDxeuTyDF6Ps9fFc\nZcM3\r\n=9/Md\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA79CNwRrYZp29m4qMh+/OO6J/xW0HdtGxGr/IE5nAk7AiEA9c00IRdTTy+3tAS98ZSL/rfseY6PAZFwOSmEQp9I+Yg="}]},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"_npmUser":{"name":"tinovyatkin","email":"tino@vtkn.io"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-properties_1.2.0_1566269359447_0.7070502813931065"},"_hasShrinkwrap":false},"1.3.0":{"name":"@destinationstransfers/object-properties","version":"1.3.0","description":"Browser / node lightweight, fast and well tested library to check, get, set, peek and remove object properties via dot notation","main":"index.js","typings":"index.d.ts","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/destinationstransfers/object-properties.git"},"engines":{"node":">=8"},"keywords":["object","access","dot","path","mongodb","mongoose","node","browser"],"author":{"name":"Konstantin Vyatkin","email":"tino@vtkn.io"},"license":"MIT","bugs":{"url":"https://github.com/destinationstransfers/object-properties/issues"},"homepage":"https://github.com/destinationstransfers/object-properties#readme","devDependencies":{"@destinationstransfers/eslint-plugin":"2.9.3","@types/jest":"24.0.18","eslint":"latest","jest":"latest"},"directories":{"test":"__tests__"},"jest":{"collectCoverage":true,"testEnvironment":"node","verbose":true},"eslintConfig":{"plugins":["@destinationstransfers"],"extends":["plugin:@destinationstransfers/recommended"],"env":{"node":true},"parserOptions":{"sourceType":"script"}},"dependencies":{},"gitHead":"cf30f96bbb34c6e0445c7f6efc9b3adfc25b8ead","_id":"@destinationstransfers/object-properties@1.3.0","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-OgZLQZoCylqvEjMIrhevrrlRHEt8aYVSs0g6BBZjY3cd9uk/3eSLdzbyY5Oy1p3FpqHImRiJK1rP6iFzLetEdA==","shasum":"6c9c1f7e8f1aaeb31618420356dad27b766ffd82","tarball":"https://registry.npmjs.org/@destinationstransfers/object-properties/-/object-properties-1.3.0.tgz","fileCount":5,"unpackedSize":8139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg1J3CRA9TVsSAnZWagAAXBoP/AoGd+KXnxsP5jxNyVcp\nrLBtUHfBDS3cEzUXRB32m2WR1ThSBn1ZPpfC4GyhDPYdINBgGzfpHD2u7Sut\negjtNPeE152DQmpkFh6RedMaUbMHQS2gAyM5ukG+SrCZLe1c6A7GZtNVoXm1\nMYQh8dH8CwNdEOG+jt4QbPJS5qROfhjsL0YHlRqRjTlhjsTiTKnAtTA8aHOD\nyhqR/y9I1wjsXR9gyTAY+CaSW6iz7PyHa1bwa4MUpOCmqjgVoPrahRLeKjFb\nEkXD52ALC6K6SjdkBlJ9eFQrdQZz9hVZ3UiaAy0WId58ctiIfAU04HONTTMh\nYwiT5izn2IfhNTyV2bflj7pL07TjlxNk+Zr0HMqOuPvN4guahVpWfmuAd6N6\nNQOgeuPeLitQp0rKkoLZqnsDPMtwBEn6mq8zUaMlKyyCHEqbOnNxx8fDwGBj\nIKcDJXHaLxcHC+JxawoO3tROjFVeBynjE5+qurij1LdS1UCzzfwv1EYrRTaw\nWvPXf1jWtgfCnGWkdKOsofpAWfak87pM6a7Sqgwh5SI/vEbYpduCuD7N20qG\nDpx5IYNAzx+CHcktRffn2aJj5PwAiMmVIbDwRIL5NqW6kpUuqepUTXssI45P\nV2RjeiYmfseoFBgStL9KW3r2I2DATD/VlBeRuRK0DoMGyrhzaYDWtMCiDC+Y\nqhfG\r\n=6sy7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+4q9scrQKwtxUsq4H6WuR4l1RUdnSwDTNMWVZsLOuKwIgNMFhhTnxofYObOV5LBte9s3GXhsDyZXTkWXP2g24rTg="}]},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"_npmUser":{"name":"tinovyatkin","email":"tino@vtkn.io"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-properties_1.3.0_1568887414712_0.4125343554032854"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-01T13:45:05.569Z","1.0.0":"2018-05-01T13:45:05.767Z","modified":"2022-04-05T04:01:14.502Z","1.1.0":"2018-05-01T15:35:51.280Z","1.2.0":"2019-08-20T02:49:19.581Z","1.3.0":"2019-09-19T10:03:34.845Z"},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"description":"Browser / node lightweight, fast and well tested library to check, get, set, peek and remove object properties via dot notation","homepage":"https://github.com/destinationstransfers/object-properties#readme","keywords":["object","access","dot","path","mongodb","mongoose","node","browser"],"repository":{"type":"git","url":"git+https://github.com/destinationstransfers/object-properties.git"},"author":{"name":"Konstantin Vyatkin","email":"tino@vtkn.io"},"bugs":{"url":"https://github.com/destinationstransfers/object-properties/issues"},"license":"MIT","readme":"# object-properties [![codecov](https://codecov.io/gh/destinationstransfers/object-properties/branch/master/graph/badge.svg)](https://codecov.io/gh/destinationstransfers/object-properties) \nBrowser / Node (>=8) lightweight, fast and well tested library to check, get and set object properties via dot notation\n\n## Motivation\n\nThere are bunch of libraries like this on NPM, but most of them either offer too much functionality (array support, a lot of methods), not tree-shaking compatible, has a bad name choice for named import (always do like this ``import { get as getDeepProperty } from 'dotty'`` is a pain and error-prone) or little outdated. So, we've created our own to use on our production apps.\n\n## Requirements\n\nLibrary is designed to be browser / tree-shaking compatible, but uses modern ES7 features\n(`Array.isArray`, `Object.entries`, default arguments and array destruction assignment), so, must be polyfilled/transpilled\nfor browser use if target browsers are below that level of language support.\n\n## Usage\n\n```js\n\nimport { hasDeepProperty, getDeepProperty, setDeepProperty } from '@destinationstransfers/object-properties';\n\nconst obj = {};\n\nsetDeepProperty(obj, 'a.b.c.d', 'test1');\n// obj is now { a: { b: { c: { d: 'test1' }} } }\n\n// also supports Mongoose-like set\nsetDeepProperty(obj, { e: 1, 'a.b.f': 2 });\n// obj is now { a: { b: { c: { d: 'test1' }, f: 2 } }, e: 1 }\n\n// DEPRECATED since TypeScript 3.7/babel - use optional chaining operator\nhasDeepProperty(obj, 'a.b.c'); // => true\nhasDeepProperty(obj, 'a.d'); // => false\n\n// DEPRECATED since TypeScript 3.7/babel - use optional chaining operator\ngetDeepProperty(obj, 'a.b.f'); // => 2\ngetDeepProperty(obj, 'a.b.f.g'); // => undefined\n\n// mutates object in place\ndeleteDeepProperty(obj, 'a.b.c'); // { a: { b: { f: 2 }}, e: 1 }\ndeleteDeepProperty(obj, 'a.b.f'); // trims all empty objects way up too -> { e: 1 }\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}