{"_id":"@baublet/ts-object-helpers","_rev":"9-2dd7f67e8348621f2179b85ee30ce864","name":"@baublet/ts-object-helpers","dist-tags":{"latest":"3.0.2"},"versions":{"1.0.0":{"name":"@baublet/ts-object-helpers","version":"1.0.0","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"a05acc1d7a669d1e2210cdf433e2a47469cb2a1a","_id":"@baublet/ts-object-helpers@1.0.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-hMhlSB3oDIZfdYpdz2dOfVIEFvXiCjspUGACbeBw6eUOVmHzA7pcI9oNqeLPShWemjLMFTUGJiF6xVlN9uyYyQ==","shasum":"8096062a1933e88c97a907978edf95e3f3405646","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-1.0.0.tgz","fileCount":82,"unpackedSize":55362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgae8zCRA9TVsSAnZWagAAMugP/Rk0Q9TR/54YpAXNhBHf\n2RwSjSm5BmgonJ4337CNAF0w7+rwSspTtBY4+nqsTdiVVC/9BCz4RIL7bxOc\nuWMYrPZ3tQ94wRGqjtAebV8fam9YUu+lyVe7SeWE1jEhNzpZ4hi6aI/obpFZ\ntZ8y9uncMrL/Bz9/gomUbcOSADMc/cdl8weD4tQytBj4LqSNa6KOkMEdzWue\nu2CNkUm4sDHpVbt6tC/5DRYHont2PCVUK4847o4duAHnh/DIlzM0uTHPzUIF\nPjU5Hmr4E58F/63HGJLJQ3sfmCAPS26BBXnkNqbv0mZt0W1jLDvEY4LEdA3D\n2rQLOKkp6p/xI1s1bzUNCb8uggo/WTL6oCPLT1zxNW8tm1AeEaa6eK3V57vQ\nbJFkMw5rSVo0tmQcJdCKJsgAc8wfY1xmCbFLTJgBLtJ0Yh/JP9/iLDeGcn4c\noTErqepC4xaUdLQuX1X9qwi/IQY3fYPkYCW+RxO5WJpgHjnBdwpr73IUpvWw\neMgM/yw/F6t8IGTfL3B4RlQrWUST/ELA/lE3JSVvGypsqfDrmg5IrLHLeSnm\ngCj9xPiFxOdu9zcTopEDuxeppoJ9ffSbivfGZNqh5zgOgwrnlpDBWA9gORZu\n7c3jPw/yajFogLgY3aKPOSnl5eiT3oItecJ1EQTvKMdbWyPL3yoYKaLUSvSu\ngKZx\r\n=qsrM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICg107OPsilSl1etkL18nDgW8Cy9wd6ySTonYwBoiQsXAiEAysAWeQWV0upu09Gd3yRJkVRoSzdcImvajnP9r7JVyFc="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_1.0.0_1617555251293_0.6915378212449661"},"_hasShrinkwrap":false},"1.0.1":{"name":"@baublet/ts-object-helpers","version":"1.0.1","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"902d7d61736577ff7d5d88aca595015936981d3e","_id":"@baublet/ts-object-helpers@1.0.1","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-YLd9WTRIuT0nocvxPq90h8QVvR3tFwvessciL0rODx29Gm0Z8yhDo9qw6esCG5DtDOf2EoijkNqVIJAmYs1/1Q==","shasum":"6a42d137df38ad6b8bc5ed3a7863dd8378dba64f","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-1.0.1.tgz","fileCount":83,"unpackedSize":56567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgag2uCRA9TVsSAnZWagAAAtkP/ixSjImpkmDRlyRtgCXo\n/TIC4Fe0WxKgOrOOmN+hJY/rxl7I6SLnS++m0El7fRADHsHTF+ZTlcAwYine\nPgCSuVAX+pQnx8LaTOx7qDhBB71yXs6MGLWjpuo5RNdlGtAvLURyHGpdZjYp\nnhext+H/4ecJUPBEftJnnCjqGoCZV/WnVSdP3Nx6UWgDQK4E6qS2E85vRd34\nLyVXNHLmR6MI/hqHC2vA1+2PgS4j46MpMuETZwL15RxuoM0QC6D4Xowskrmd\nw7lTbLSWmpwhsUDFE721Xf3KAVs+nwLZWOKtJ6iUwyEN7wbuKlUc6aSGzyVz\nKaLm5UMUqqGr52UiYF+FjD0ff5FzHVz9Il7JaCs67q5GvKiQ10EMQ8c+RFvg\nXPi5ZHZGuZXQB21z/h3c3fOrr24YFa6jSm46mjYqoGdAU4nNxGNxPJSwTwFu\nZNbe8l8prNsKFkdkxzZQ53N7gEQ3UjMjZOh49+qcdxqxxbKavucaKMFUMfvn\n7LaRjo+kbO+jtYyPsrvZgHc+qgHYD0PbosDoHvkqNDU8efHWJXK1gV/vmKkb\ntglJy3io9nKoAKLO8zPYYQdS4gtJ6xoNqycV+6N6BYL8GG+rHTq10eM0xqqw\n830e/0AXa935E+fnUWMUVV37sBtffPUlJc/0s+HieUVcbVHZoIkJs5j53eWP\n6Z/W\r\n=EM+V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDH1zcMf/24mdffTTpy01fjb+0/Oj8LV+aguguleFRcBAiBuLPHNRB7PzF0EQQWwuPSzO7EacXp5G6JvXhIgH/kb5w=="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_1.0.1_1617563054143_0.6849605542037402"},"_hasShrinkwrap":false},"1.0.3":{"name":"@baublet/ts-object-helpers","version":"1.0.3","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && npm publish","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"267e75f8f4238fd414c904234f008ed2c40f9cc2","_id":"@baublet/ts-object-helpers@1.0.3","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-XLqxrREB65YeZidaIdriy8ec80opm4LtROP/9NgDYkn3ejT6jNwbu8KCMM7cpgyIamVYSQjCSI3NbKQa/fXyJg==","shasum":"0d3b0e5fc0f9bc47cae927ffa4deb8c967524a17","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-1.0.3.tgz","fileCount":140,"unpackedSize":83203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgag6FCRA9TVsSAnZWagAATjMQAIKck85BxLBgMORYAhEl\nOMvPH/5opJUC5WoXFJ858BiVmCuiSO2HV4EbuxBtiLEcpS8E+dsmzKhrWmmp\nN4OrWP0qE9peE3gh1dS9/4fl5Gdp9WwS2zLGnmmKnbVbShJnYMUJu/omcAeQ\nsYKjAiaCTUzKgq8C5XztSK8aLwYRKND6lpXMDf5nwtJP0PYJ8diMV320a+5I\nAWBATbZip9nP9so4LlElXkFiTqdgl7qQlwOgd4Ig5IfYIRumyedPwNou7ys1\nE0Eqd1fV5fXm2+mgCiYtp3IV9D0hYlhRO5RSwjnN/oYDDxpD+mmbL3t1TSoE\nbBGO5yqJlJwqW/5mIBthLni7k14BPLS8oooT3m48kiGD0AY9Ti3xpBXXZ8bC\n1n+AQisWzeWH63KcbqkyvPFXBN0Bfi1vzDuRfaJEJllIFOU5xZ8v36ReNNp1\nWuC/mofWTRShYxUnWPmqv1ge8OJzS9H+7gS+ER6NPRRT4y2bbg9zIxu+MvmN\n6gR5/d3lGdC9EvuEFs66oQ1kiUFmS2g9JXpuwYgoNHKzKjhT9OpmaTWmCx9b\nygxKNwSmYYepzVn0Q7kaNbRd9JhCi1bDsae1IIYcHTh7ijzvW+Mc1QgdcKWB\n+/0GT1jezvv4/4LR3V4P8zm7nLiVWLTERUuFg30U6iK77T5fHROePVhJBg++\nqGoj\r\n=ShEG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeSaZh5rUwiHbacw3B3hMV2SRpmXyPAyV7iww0ExX8WAiBPUCN1GDAlA2Vo0Gmv9ILxbpEOMGy6KXvG67f9utoqVg=="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_1.0.3_1617563268659_0.6403063409242327"},"_hasShrinkwrap":false},"1.0.4":{"name":"@baublet/ts-object-helpers","version":"1.0.4","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"e8d83464e1f0ab63e4ae3d0d445de108db7194a2","_id":"@baublet/ts-object-helpers@1.0.4","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-lsE+NPhk9A+voTThnATO8Y6y9FY0A0qrhV5VdjgynO4H7yPwoUad2S9iCdFaUjAXz47vQ79+OOmPdq+ItiaTzA==","shasum":"26149b6f155700802fc04571d7bed271ec4459f9","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-1.0.4.tgz","fileCount":141,"unpackedSize":84082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgahWuCRA9TVsSAnZWagAAF9AP/jzjmDe3kJ/jhKghsHsf\nWJTrjuQZamR0DVRaoI6GpKImMvxZV6TxkbWh+EVxudhTA1TvyEjARFGUVUew\nu6W+8WLFRNF/c2E9yHt2kXFD8nJZ7cz6RsEwP7g5SvIAO+uF3JLSRFuqL4fH\n4+1NdRpZlit0XW3nNkeEEKqkQIo5gpGMoDeK3dhQKRGADRnEvcS43NxWHdk/\nQCIPbg9IDxtsb1LANp1tLp6/YpA7KCAOGD8LTmmIKdqNDYZgXjxOClxheiZR\nk/t4Y/YSin7VrNb5jDidbO5yfiGvA1j35CWn8JusJzjSJ+HsUYnveR/SHHDM\nlo/5KREhsRkhhP+K+zGKIM63CCBKqAEYsLT314geyiBa29ZDNn2QkZqreTlK\n6EB4beuCmI+3mTXDQcQQJV4DTUlXbS8Zuyi8sW43OqIpw8xcZ3JjB3p9Gr2s\n31C39zXjHbw4SC+J03m1Vvr+Vm3apOftObt50PoBnaXDGrUMZnhWZKasiee2\nAdGApm1AIxhX8qJ6yH5IE++K+O8hSNNh/GgOGLjkAplsXJ3TLb++jbPlaycL\nz2nmCyqYi73qcsc7vx0elb3VQ1LfB7JSKK9HJgPwWF97Hj/QiC/pliREKHCj\nGf2uc/GEULh9aMpwydBYut6B3WcYBsq2oX2IuZThV7gC0O2HzjrOJW55R9Ax\noHwp\r\n=RccR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCto6mKYlIQ7sBpbOIZ2fuPtzkFO5rNufadsmmJYSs2SwIgdMxeoDZTitKeng6OeNHiRjSvIqQ37nhLOHgJNVhLMjE="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_1.0.4_1617565101811_0.025834104574239847"},"_hasShrinkwrap":false},"1.0.6":{"name":"@baublet/ts-object-helpers","version":"1.0.6","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"f58d7373d49a3c2527da44cdbcc85f6964a6434b","_id":"@baublet/ts-object-helpers@1.0.6","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-FpSm18/kew7rc+dfcSnFwoKzrFJ8x8XifrFusxyJ5/CGpp8hbYypLjql9LWVekG8GEmqSVTyjUNYljEffS0EQQ==","shasum":"52c6a8e116725b5adb29235aead40c11e97420ee","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-1.0.6.tgz","fileCount":141,"unpackedSize":84843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgajGrCRA9TVsSAnZWagAAsN4P/RDSL7szaIsH+1yuMdzl\naVk2LjtWzAOlbMbd7/5HxrBqJ6bLtlmO4navxsAZyYlT1Qnh4DcQJmAUjRzT\nQZSvIuCrPCqE67wjuSDgqJGtc0oS5PNS8bQMo82h/t5t4cCxDIsiDMl1sFTI\nIeN/EdIczJw6ARKZ9sTKUZrGUE5MkWu4dC7V5//5jh9lN02HRqT4M79cijVU\nLmB3hswi1wGEohY7g2DxsILHJvjRZirglMgCnyYBNzNIQfe7PWVyXHQNmHiA\n8kRm+a2guqERr9qaJBwShY6jA+2SaE3GEoqcxoWx8IpSFbBfYS8wAUrOrBZG\nI1qKFDwKpc2krBmRTGVfJShy9JXo3eVhVQHoRgfW/JlSRxJxuHTu9VjdY5qd\njFjFiS7U1GzUXkl0YeEvHkBCKPZ34M+aKwmXH2VNmXsIpDs+N0dUaNSVQRIl\nk9tUWf+KW9uzztMFlqMJ1KCIRR45KSJd9g+nTOOKal1QFcanchTWy4pTIfjW\nEaFncyk20MzOKi8gScfzvJ+liB2CY+3fYib2HYiUHDk0001x+3qwGXNDM+W9\nWtiHkEvBPCbzDVjm1QlErq8/CyQDuwL5cxXyuiBXn7sdsT+ytbXnx6pStfX5\n2cf8cZYG7ESrlIeh4Azl5Q3GKE3lX1R04J6YK4U2TkN6gT5MQSttr2s8gUcn\n31FP\r\n=Vf0Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNFZ9wWdsBwqL3lWcS3k1c2wSqQ4rABqX/VTnku/IObAiEA2X6aeNo0cN6i7S9zz8tbDVoVTkcgleTELMkm2S3MnZs="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_1.0.6_1617572266677_0.010599239316810172"},"_hasShrinkwrap":false},"2.0.0":{"name":"@baublet/ts-object-helpers","version":"2.0.0","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"713b21fbe8a28c593016a5ae765c7cb65f636ec1","_id":"@baublet/ts-object-helpers@2.0.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-5ySNV7hry7peusl+Au6FlNr7CnEf0zI2Fggx7YpaN3mxGS0EVkUFHUcz+xPU1jRwahP9OMs+6ysMAcumxkXwbQ==","shasum":"8f354d87f561ae9da32e9f6eadd8ea35619063b2","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-2.0.0.tgz","fileCount":157,"unpackedSize":91165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaovUCRA9TVsSAnZWagAA/5sP/Rl0F11ksFm0Rj+EpSKz\n+rcTFmaPjgrVNQY2+nAh3priH4/3rTyf7+wkpdPKW7nRT4ptcw3mab+tYz+h\nZ3Ev6RpYC+o14BWGeziKUsuLxJJh7XPh1iyN6EwIKVD7wIqVWegccO6X5Sko\nVdghffwK0mCha8F3oRpwSAwEMYdbUs7g/iTy6C48N5swsBXtoNQLCrm7JftT\nzSL7btU6bh5fTDZC7eLaIK7yM7UC4ZDJVvYhsqt3V14/+XKbL1akvj1h1dVF\n98c5LKTg9vXZh4m3zdEa95eBZm3ui0pnb5U/rdr3lLwaIx3+Ix1g62qyq0L1\npK1jfvbQnOEWriNcPIMzEhQPleNK401p0ghKQqPthDkoxdq1A8WmuNgv8r4W\n1ki/zd4vQtWyw3tn4qvR5KPyJc9KN6CEE6hAPVYd0DHsaDFziilDQiiTNxjS\nGy3UOYqTt3pStVWhAgrw0W5wFoNoC1FO+tqKRfFR5wvyoKY05FHkea+RH64D\nniwWHTdnKR0yOy36aM3qOyYT0a06HaCkThJn4SPwippNPTyTNBKTAT1vX+xd\nAhUsXja0uyMbcqEnhosyX8osrJBjuZEL047Kp948rUPi2k4BwLCeA4zmPIr+\nvRznUyv8AFQoczkESIbg83QS8fc0FRhFFRJXf8MRp49mHoG4UENjb6Az+Qpi\nvokE\r\n=m6im\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH5xRPwKFIgOkECoaFpF1SweHBF+j2V/hvlbbfrEGOxaAiBEr4kSvWjQZ18JBLrDINWRgHB5oU9P1ESwFLR2aY+M4A=="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_2.0.0_1617595348080_0.39495948098917766"},"_hasShrinkwrap":false},"3.0.0":{"name":"@baublet/ts-object-helpers","version":"3.0.0","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"864b9fc9022d13be3d6534490ef9022e0da39aba","_id":"@baublet/ts-object-helpers@3.0.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-nr0S6a5ImCPZo/VXqzvmeAQYvQux/bNLYylr6di6Lh6nLVJ23k1YQ9yRo+nPkj/r0yFVrKV/wS7RwmOYEZqdBg==","shasum":"8561495c4203cbca4801d680cebf6adb4f267fc7","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-3.0.0.tgz","fileCount":154,"unpackedSize":87714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgay7zCRA9TVsSAnZWagAAQ6gQAJdugh+J//RvQfslm4Y9\nkyesP292Xwyfsbu9YnTp5hb1cTfVtofheGh/UxsbIzLPVi7H84/Q+/oI2Wnu\nUlBy4WIVUAqyZtuxE1ovQwNeJWLFwq9T3y6ltMlyOliKe7LPOTEm0Oqe2YU6\nqX44/iXb3cp8U/xcccGDLD1N+K1wtYll4I6xx28aYqr9U4JXcNmxXugkow7K\nN25Ie/ZTKd7fJ/BEAPEpU+kvnuB1vJqGUkRh0cJaAAWOybEaV/daPpl3Pd7G\nIQsDZbAM4ylDnTqY91fuOhaQteHPs2FH8NyaJ8yArVbSij7j3no5uWHjVf+w\niK23wZXtwsTEpBAKqQP0FSUYH95YatvAxx8au3qK6c4C2rHCDPVV7o8fNyN9\n5/c9nZFd24yWmL9z8m0zXT1jAifrA+t85Y/SGMQT9Bk/Dx0Ty7bs8TkTa3NW\n/HPpORxx3FkwtQx0sKvKIuFvPAJZg+DeC0j4ZoJb+Y5UTfGkfQnjxSfUZy68\nrKhi6wcV1kpH/PmsHOm4U8fnTKAeWgjBT1eRiSs1a80l/fohl1v1/i2Zcgrk\n1jrKtpSlnwOgrRdS5q25N6RdCUyGGJb0pCpAfb9aiiP2Bfsym4wPxo/jLkyQ\nJ/wzMWjj4iSl7G13X68PCfqFM8KeL4+K+NoIFYCZUCoODReIpSWKb1epRG9H\nqzbc\r\n=VJF8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB62oR9p2QO3v4f4UeN9mul62EtWJzN3ldR1oavmIuv0AiEAqXEa2825ZBf2kSxRSv/IH34+zx4Lys6B73Slkhnb7fk="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_3.0.0_1617637106515_0.7743932195357852"},"_hasShrinkwrap":false},"3.0.1":{"name":"@baublet/ts-object-helpers","version":"3.0.1","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"3a1d4f76b87a042a7c4779552966ce6677a4293f","_id":"@baublet/ts-object-helpers@3.0.1","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-xjPBfepGDw+G82Mk9LLdacF/z3oHzy/sq5n18gJzFawdThliohzD4Ccm+ktPbD/EoQ5Y6GpFUgQ4uRfglwMHZQ==","shasum":"0478c58f862c90c82c1901f0280ac01065d25a0c","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-3.0.1.tgz","fileCount":154,"unpackedSize":88182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgazXnCRA9TVsSAnZWagAAHZ4QAJF2bB4zsZZuFSF+ljh4\ndLIr+H4vJpEJWNjeTyrwP6W+2TYAA/sfE5qHwZ8tEmupqpryxImHSnVTejCv\nkNJCC8UBBZ15aDWHtgVh7x7yHfvuSmcDVrdtaelIplL/jkRvtW9rUSA5dlFY\nKMroBF7TBB0N/OS/bwLJ3Cq0YIJU+ORJPza0q3R+EU0NBZakSXO7mxAHITqF\nWSpcF+Ye5zYZWco2+bhF/FYgQcdRXpdRjITpvhYehRwhaSOiZg4eZ1eDoThP\ntcOpV0kBfi9I/n/ENm2A026+YiWdF2q8CThyArLaG/Ee35Sj2XLdnrIx9ZDH\njtxpKZa0rxNhMHUPAu4dISwGastJzbjAfnQPZ0Rb8jWWkXWcZVqgkyQ8TH7J\neM/ykyWxYNKvdyIexvVs+sAoWDUKhlq/LNDZGR+gXt7oGQZm8nHGBfsrjEi8\nT2bM4nG/OO9mig95W4loQif/h2iUX2FOTw538kxc93GdhCt4oB5z7T9vks03\nQlgJDoreE6iPwFgv5CswOnXFk6o4H6epxTuph90Cz3KDLW7couXSbMgeR5o+\nwrmnP5YWLCrqGe3Jau69ZVN+15ZUeza31LkuezYcUUpdxF37LyTA/gbNOVeF\n2bwWBny534BFQ+qaOZ43rFUnDDX2oApOUS8lH0AAcOIaTeujMq694t+t0NgJ\ny3km\r\n=PW6t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxuoGo7t6tEmrx1WXIhV4wHPo/LqDV79f11Lf8wHASZwIgaur4CIFBknxQnARswQBUgsyfwF+Xecua+IDQh+KQeGk="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_3.0.1_1617638886961_0.8274712294857685"},"_hasShrinkwrap":false},"3.0.2":{"name":"@baublet/ts-object-helpers","version":"3.0.2","description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","main":"build/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"license":"MIT","scripts":{"release":"yarn version && yarn build && yarn coverage && git push && echo 'Run `npm publish` to publish this version!'","build":"yarn tsc","coverage":"yarn test --collectCoverage=true","test":"jest","test:ci":"yarn "},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/jest":"^26.0.22","@types/lodash.get":"^4.4.6","jest":"^26.6.3","ts-jest":"^26.5.4","ts-node":"^9.1.1","typescript":"^4.2.3"},"peerDependencies":{"typescript":"^4.1"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"gitHead":"4404b8ba09b1d967fc815c98ea95adc827709e40","_id":"@baublet/ts-object-helpers@3.0.2","_nodeVersion":"12.20.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-prRnvHFBlTojcL8qm4nmOSBCIbS3W/BSZHJHDcdYz+0poWbS+tJTv7f8SwJA3IJroNEtz/g80UQ9yd4Fw6q8iA==","shasum":"61cb5758babe98886acedb9109326b52779d0d19","tarball":"https://registry.npmjs.org/@baublet/ts-object-helpers/-/ts-object-helpers-3.0.2.tgz","fileCount":154,"unpackedSize":88211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgazeHCRA9TVsSAnZWagAAad4P/0E3aJQAR9Vc/w62Fx6b\nCucy/G9yvvj3ONfyNTnfj1UIhBirx/gg4QaW/Cij1OJqmspuiB9BCjYuJhhD\nEkRW/EpfwDvk9IQ4ltfnAFsfhxFdPdEYuTDk7vUnRJleo74Wx5a8oZvE4qIs\nobCowyp3jfpBGh5IA8PbP2UfJRVAJ4kY9wjPjjmikdTp0Mg0Rm+bxoSHZpF/\niWz0I4tFDSnw94q+v6YOiXHLQESht77dNBe9q7DL7gGZFO6KrT+bDEcXw2S8\nwsv6RhaIUIzuuWfhXtiyVwyQVUfYciOjFKVB1mmq4rHTXsiXck/rIiPx6yHe\nQVjKYe4vAFa0b8AaMjBC1E770kigQrOpOFwLfr1RH+uAA2Ir224wznPcqcik\nTyUNoGcAk1HyG+yntbzfDPlToFoV0BK/oBBU9AZXy3lWUXO3kL/sgReNkhYE\nLMmlcibRwM9N+JHNa3W2FUnvbNjuMA5AJMJNCjT8AjhCLM5NHMdehfaI3V7C\nF5JFtUzcCch4evuEl3FQxr/D8iwynncjDGNSt6lchM/HbhTJxp+wJE0uqdcL\noHYYosVlF5abGUbdsU2L2zH3nkh+p9UlJCATHNLJ18f1skeTsyjPpL7n3yPG\nV3chMuK1iVqo97GonBeh54wYXSzX6L8QW0Ynp+GnGKkyhqdCF4cQS56pcr+k\nv4j1\r\n=GBdS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAXGhm7KiSTKTaLG13NlH8z6VVkM4BGgBz/Qfvvr5ZqDAiEAl+flmq/NWIj87u17VjanKI09xQ2usbPa7zTeSDMRjx0="}]},"_npmUser":{"name":"baublet","email":"baublet@gmail.com"},"directories":{},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-object-helpers_3.0.2_1617639303185_0.9969393712270989"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-04T16:54:11.223Z","1.0.0":"2021-04-04T16:54:11.467Z","modified":"2022-04-04T17:48:06.889Z","1.0.1":"2021-04-04T19:04:14.290Z","1.0.3":"2021-04-04T19:07:48.807Z","1.0.4":"2021-04-04T19:38:21.996Z","1.0.6":"2021-04-04T21:37:46.872Z","2.0.0":"2021-04-05T04:02:28.232Z","3.0.0":"2021-04-05T15:38:26.701Z","3.0.1":"2021-04-05T16:08:07.102Z","3.0.2":"2021-04-05T16:15:03.323Z"},"maintainers":[{"name":"baublet","email":"baublet@gmail.com"}],"description":"Useful helpers for working with objects and their properties in TypeScript in a type safe manner","homepage":"https://github.com/baublet/ts-object-helpers#readme","keywords":["typescript","object","get"],"repository":{"type":"git","url":"git+ssh://git@github.com/baublet/ts-object-helpers.git"},"author":{"name":"Ryan Poe","email":"baublet@gmail.com"},"bugs":{"url":"https://github.com/baublet/ts-object-helpers/issues"},"license":"MIT","readme":"# TypeScript Object Access Helpers ![Main Branch Status](https://github.com/baublet/ts-object-helpers/actions/workflows/test-and-build.yml/badge.svg)\n\nSolves the problem of type-safe, deep-object access (or partial access) that is made possible with recent TypeScript language features.\n\n```ts\nimport { get } from \"@baublet/ts-object-helpers\";\n\nconst show = {\n  name: \"The Fresh Prince\",\n  characters: [\n    {\n      name: \"Will Smith\",\n      parents: [\n        {\n          name: \"Vy Smith\",\n        },\n      ],\n    },\n  ],\n};\n\nconst willsMom = get(\n  show,\n  { path: \"characters.parents.$.name\", slots: [0] },\n  \"Aunt Viv\"\n);\n\nconsole.log(willsMom); // \"Vy Smith\"\n```\n\n- Uses `lodash.get` under the hood (fast, battle-tested, reliable)\n- Adds as much type safety as possible\n- Isomorphic (works both in the browser and in node)\n- 100% test coverage\n\n[@baublet/ts-object-helpers on NPM](https://www.npmjs.com/package/@baublet/ts-object-helpers)\n\n## Requirements\n\n- TypeScript 4.1+ (requires template literal types)\n\n## Documentation\n\n### Installation\n\n```bash\n# npm\n$ npm i --save @baublet/ts-object-helpers\n\n# yarn\n$ yarn add @baublet/ts-object-helpers\n```\n\n### Type Helpers\n\n#### `NestedPropertyTypeOf<T extends object, DotNotationKeyOf<T>>`\n\nTakes an object with a known set of keys and values, and some dot-notation property of that objects, and creates a type that represents the value of the accessed property.\n\n```ts\ntype Model = {\n  id: string;\n  child: {\n    id: string;\n    children: {\n      id: string;\n      name: string;\n    }[];\n  };\n};\n\ntype ChildNameType = NestedPropertyTypeOf<Model, \"id.child.children.$.name\">; // string\n```\n\n#### `DotNotationKeys<T extends object>`\n\nTakes an object with a known set of keys and recursively returns all possible dot notation accessors for the known type.\n\n```ts\ntype Model = {\n  id: string;\n  child: {\n    id: string;\n    children: {\n      id: string;\n      name: string;\n    }[];\n  };\n};\n\ntype ModelKeys = DotNotationKeys<Model>;\n\n// The above type is equivalent to the below:\ntype FlatModelKeys =\n  | \"id\"\n  | \"child\"\n  | \"child.id\"\n  | \"child.children\"\n  | \"child.children.$\"\n  | \"child.children.$.id\"\n  | \"child.children.$.name\";\n```\n\n#### `DotNotationMap<T extends object>`\n\nFlattens an object nested up to 5 levels deep into a record of the nested keys in dot notation, with the values preserved.\n\n**Note:** this generic is best used on known types. For example, `Record<string, KnownType>` won't work well with this type, since we can't infer the infinite possible combination of keys on `Record<string, KnownType>`.\n\n```ts\ntype Model = {\n  id: string;\n  child: {\n    id: string;\n    children: {\n      id: string;\n      name: string;\n    }[];\n  };\n};\n\ntype DotNotatedModel = DotNotationMap<Model>;\n\n// The above type is equivalent to the below:\ntype FlatModel = {\n  id: string;\n  child: { id: string; children: { id: string; name: string }[] };\n  \"child.id\": string;\n  \"child.children\": { id: string; name: string }[];\n  \"child.children.$\": { id: string; name: string };\n  \"child.children.$.id\": string;\n  \"child.children.$.name\": string;\n};\n```\n\n#### `NonObjectKeysOf<T extends object>`\n\nReturns the keys of `T` that are primitive types (that is, they're not objects).\n\n#### `ObjectKeysOf<T extends object>`\n\nReturns the keys of `T` that are objects or object-like.\n\n#### `PrependObjectKeysWith<T extends object, Key extends string>`\n\nCreates a new object from `T` with the keys prepended with `Key`. If `Key` is an empty string, this returns `T`.\n\n#### `UnionToIntersection<T extends object>`\n\nIf `T` is a union of objects, converts `T` to an intersection between all of the objects unioned in `T`. Credit: [S Stefan Baumgartner](https://fettblog.eu/typescript-union-to-intersection/)\n\n#### `ValuesOf<T extends object>`\n\nConstructs a type from all of the values of `T` as a union.\n\n```ts\ntype Model = {\n  id: \"id\";\n  object1: { test: 123 };\n};\n\n// Values = \"id\" | { test: 123 }\ntype Values = ValuesOf<Model>;\n\nconst values: Values[] = [\"id\", { test: 123 }];\n```\n\n### Functions\n\n#### `get`\n\nType-safe accessor function for objects with **known keys and values**. Similar API to `lodash.get`.\n\n```ts\nfunction get(\n  subjectObject: object,\n  optionsOrPath:\n    | string\n    | {\n        path: string;\n        slots?: (string | number)[];\n      },\n  defaultValue?: any\n): ProvidedDefault | object[path];\n```\n\n**Example**\n\n```ts\nconst person = {\n  id: \"a10023b\",\n  name: \"Carlton Banks\",\n  dean: {\n    id: \"p93i\",\n    name: \"Ashley Banks\",\n  },\n  departments: [\n    {\n      id: 1,\n      name: \"History\",\n      chair: {\n        id: \"a43c\",\n        name: \"Vivian Banks\",\n      },\n    },\n    {\n      id: 2,\n      name: \"Literature\",\n      chair: {\n        id: \"a88p\",\n        name: \"Hillary King Banks\",\n      },\n    },\n  ],\n};\n\nconst deanName = get(\n  person,\n  \"dean.name\".\n  \"n/a\"\n); // type: string | \"n/a\". Value: Ashley Banks\n\nconst firstDepartmentName = get(\n  person,\n  { path: \"department.$.name\"), slots: [0] }\n); // type: string. Value: History\n\nconst secondDepartmentName = get(\n  person,\n  { path: \"department.$.name\"), slots: [1] }\n); // type: string. Value: Literature\n\nconst secondDepartmentChair = get(\n  person,\n  { path: \"department.$.chair\"), slots: [1] }\n); // type: undefined | { id: string, name: string }. Value: { id: \"a88p\", name: \"Hillary King Banks\" }\n```\n\n**Limitations**\n\n- This only works on fully known object types (e.g., where properties of the object are all known at compile time)\n- If values aren't fully known at compile time, this may not work properly.\n- If the accessors aren't fully known at compile time, this may not work properly.\n\nFor more complex examples, type safety cannot guaranteed at compile time. Use `lodash.get` and runtime checks for these scenarios.\n","readmeFilename":"README.md"}