{"_id":"utils-deep-get","_rev":"4-85aa380a31c6ec66f9c979bd4efcdcc2","name":"utils-deep-get","description":"Deep get a nested property.","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.0":{"name":"utils-deep-get","version":"0.0.0","description":"Deep get a nested property.","author":{"name":"Athan Reines","email":"kgryte@gmail.com"},"contributors":[{"name":"Athan Reines","email":"kgryte@gmail.com"}],"scripts":{"test":"mocha","test-cov":"istanbul cover ./node_modules/.bin/_mocha --dir ./reports/coverage -- -R spec","coveralls":"istanbul cover ./node_modules/.bin/_mocha --dir ./reports/coveralls/coverage --report lcovonly -- -R spec && cat ./reports/coveralls/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./reports/coveralls"},"main":"./lib","repository":{"type":"git","url":"git://github.com/kgryte/utils-deep-get.git"},"keywords":["utilities","utility","utils","util","deep","get","object","array","nested","property"],"bugs":{"url":"https://github.com/kgryte/utils-deep-get/issues"},"dependencies":{"validate.io-array":"^1.0.6","validate.io-object":"^1.0.4","validate.io-string-primitive":"^1.0.0"},"devDependencies":{"chai":"3.x.x","mocha":"2.x.x","coveralls":"^2.11.1","istanbul":"^0.3.0","jshint":"2.x.x","jshint-stylish":"^1.0.0"},"license":"MIT","gitHead":"cc478b8ce43eb13cdf1bbacf4e06b2e5decf18db","homepage":"https://github.com/kgryte/utils-deep-get#readme","_id":"utils-deep-get@0.0.0","_shasum":"51bbae76093a7f9dd89418ca796a764fa04c801b","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.29","_npmUser":{"name":"kgryte","email":"kgryte@gmail.com"},"dist":{"shasum":"51bbae76093a7f9dd89418ca796a764fa04c801b","tarball":"https://registry.npmjs.org/utils-deep-get/-/utils-deep-get-0.0.0.tgz","integrity":"sha512-UY8Pj9wNdeWLO35Zw6vx+1H48rVXKVvYlQ1kqqtcgHBe6ZFYrxJtSPM5zPDcADggApzXJ6JtnJfzoqMrZPi7uw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGT6+r8Mrms6U7KXY+fW+JinWSTBVplDAAFNYuBU/CrkAiAOpAUsI6V6b4fCSmz7CHicN12BM99KfFKd11ETZdpO2w=="}]},"maintainers":[{"name":"kgryte","email":"kgryte@gmail.com"}]},"1.0.0":{"name":"utils-deep-get","version":"1.0.0","description":"Deep get a nested property.","author":{"name":"Athan Reines","email":"kgryte@gmail.com"},"contributors":[{"name":"Athan Reines","email":"kgryte@gmail.com"}],"scripts":{"test":"mocha","test-cov":"istanbul cover ./node_modules/.bin/_mocha --dir ./reports/coverage -- -R spec","coveralls":"istanbul cover ./node_modules/.bin/_mocha --dir ./reports/coveralls/coverage --report lcovonly -- -R spec && cat ./reports/coveralls/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./reports/coveralls"},"main":"./lib","repository":{"type":"git","url":"git://github.com/kgryte/utils-deep-get.git"},"keywords":["utilities","utility","utils","util","deep","get","object","array","nested","property"],"bugs":{"url":"https://github.com/kgryte/utils-deep-get/issues"},"dependencies":{"validate.io-array":"^1.0.6","validate.io-object":"^1.0.4","validate.io-string-primitive":"^1.0.0"},"devDependencies":{"chai":"3.x.x","mocha":"2.x.x","coveralls":"^2.11.1","istanbul":"^0.3.0","jshint":"2.x.x","jshint-stylish":"^1.0.0"},"license":"MIT","gitHead":"7655d12f0ce5b7c732ea75d60a62902ab45a1769","homepage":"https://github.com/kgryte/utils-deep-get#readme","_id":"utils-deep-get@1.0.0","_shasum":"48404a77fa26f84e696e485a6389c2becdf0a0c9","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.10.29","_npmUser":{"name":"kgryte","email":"kgryte@gmail.com"},"dist":{"shasum":"48404a77fa26f84e696e485a6389c2becdf0a0c9","tarball":"https://registry.npmjs.org/utils-deep-get/-/utils-deep-get-1.0.0.tgz","integrity":"sha512-rcncuyrnqHQWCgX8Ij+euyOrXPO2IkORD9dovUj0BSQNFkhI/aNBkWFeoUM90b6EEbVLIl+/6j+o5kmKHosv3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjVtmpIV1Hw76r4+7hdYm7ufs2pooAHOCoVfWJ1yvZBwIgLCMCLHa1c+vFTC6NSPEP+ByBaqYWbr+YqX49bpUGPew="}]},"maintainers":[{"name":"kgryte","email":"kgryte@gmail.com"}]}},"readme":"Deep Get\n===\n[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Dependencies][dependencies-image]][dependencies-url]\n\n> Deep get a nested property.\n\n\n## Installation\n\n``` bash\n$ npm install utils-deep-get\n```\n\nFor use in the browser, use [browserify](https://github.com/substack/node-browserify).\n\n\n## Usage\n\n``` javascript\nvar deepGet = require( 'utils-deep-get' );\n```\n\n#### deepGet( obj, path[, options] )\n\nDeep get a nested property.\n\n``` javascript\nvar obj = { 'a': { 'b': { 'c': 'd' } } };\n\nvar val = deepGet( obj, 'a.b.c' );\n// returns 'd'\n```\n\nFor `paths` including `arrays`, specify the numeric index.\n\n``` javascript\nvar arr = [\n\t{ 'a': [ {'x': 5} ] },\n\t{ 'a': [ {'x': 10} ] }\n];\n\nvar val = deepGet( arr, '1.a.0.x' );\n// returns 10\n```\n\nThe key `path` may be specified as either a delimited `string` or a key `array`.\n\n``` javascript\nvar obj = { 'a': { 'b': { 'c': 'd' } } };\n\nvar val = deepGet( obj, ['a','b','c'] );\n// returns 'd'\n```\n\nThe function accepts the following `options`:\n\n*\t__sep__: key path separator. Default: `'.'`.\n\nBy default, the function assumes `dot` separated key values. To specify an alternative separator, set the `sep` option.\n\n``` javascript\nvar obj = { 'a': { 'b': { 'c': 'd' } } };\n\nvar val = deepGet( obj, 'a/b/c', {\n\t'sep': '/'\t\n});\n// returns 'd'\n```\n\n\n#### deepGet.factory( path[, options] )\n\nCreates a reusable deep get factory. The factory method ensures a `deepGet` function is configured identically by using the same set of provided `options`.\n\n``` javascript\nvar dget = deepGet.factory( 'a/b/c', {\n\t'sep': '/'\n});\n```\n\n\n#### dget( obj )\n\nDeep get a nested property.\n\n``` javascript\nvar obj = { 'a': { 'b': { 'c': 'd' } } };\n\nvar val = dget( obj );\n// returns 'd'\n```\n\n\n\n## Examples\n\n``` javascript\nvar deepGet = require( 'utils-deep-get' );\n\nvar data,\n\tkeys,\n\tval,\n\ti;\n\ndata = new Array( 100 );\nfor ( i = 0; i < data.length; i++ ) {\n\tdata[ i ] = {\n\t\t'x': Date.now(),\n\t\t'y': [ Math.random(), Math.random(), i ]\n\t};\n}\n\nkeys = [ 0, 'y', 2 ];\nfor ( i = 0; i < data.length; i++ ) {\n\tkeys[ 0 ] = i;\n\tval = deepGet( data, keys );\n\tconsole.log( val );\n}\n```\n\nTo run the example code from the top-level application directory,\n\n``` bash\n$ node ./examples/index.js\n```\n\n\n## Tests\n\n### Unit\n\nUnit tests use the [Mocha](http://mochajs.org/) test framework with [Chai](http://chaijs.com) assertions. To run the tests, execute the following command in the top-level application directory:\n\n``` bash\n$ make test\n```\n\nAll new feature development should have corresponding unit tests to validate correct functionality.\n\n\n### Test Coverage\n\nThis repository uses [Istanbul](https://github.com/gotwarlost/istanbul) as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:\n\n``` bash\n$ make test-cov\n```\n\nIstanbul creates a `./reports/coverage` directory. To access an HTML version of the report,\n\n``` bash\n$ make view-cov\n```\n\n\n---\n## License\n\n[MIT license](http://opensource.org/licenses/MIT). \n\n\n## Copyright\n\nCopyright &copy; 2015. Athan Reines.\n\n\n[npm-image]: http://img.shields.io/npm/v/utils-deep-get.svg\n[npm-url]: https://npmjs.org/package/utils-deep-get\n\n[travis-image]: http://img.shields.io/travis/kgryte/utils-deep-get/master.svg\n[travis-url]: https://travis-ci.org/kgryte/utils-deep-get\n\n[coveralls-image]: https://img.shields.io/coveralls/kgryte/utils-deep-get/master.svg\n[coveralls-url]: https://coveralls.io/r/kgryte/utils-deep-get?branch=master\n\n[dependencies-image]: http://img.shields.io/david/kgryte/utils-deep-get.svg\n[dependencies-url]: https://david-dm.org/kgryte/utils-deep-get\n\n[dev-dependencies-image]: http://img.shields.io/david/dev/kgryte/utils-deep-get.svg\n[dev-dependencies-url]: https://david-dm.org/dev/kgryte/utils-deep-get\n\n[github-issues-image]: http://img.shields.io/github/issues/kgryte/utils-deep-get.svg\n[github-issues-url]: https://github.com/kgryte/utils-deep-get/issues\n","maintainers":[{"name":"kgryte","email":"kgryte@gmail.com"}],"time":{"modified":"2022-06-28T07:24:39.412Z","created":"2015-06-08T07:23:32.560Z","0.0.0":"2015-06-08T07:23:32.560Z","1.0.0":"2015-06-08T07:23:53.628Z"},"homepage":"https://github.com/kgryte/utils-deep-get#readme","keywords":["utilities","utility","utils","util","deep","get","object","array","nested","property"],"repository":{"type":"git","url":"git://github.com/kgryte/utils-deep-get.git"},"contributors":[{"name":"Athan Reines","email":"kgryte@gmail.com"}],"author":{"name":"Athan Reines","email":"kgryte@gmail.com"},"bugs":{"url":"https://github.com/kgryte/utils-deep-get/issues"},"license":"MIT","readmeFilename":"README.md"}