{"_id":"each-props","_rev":"3343397","name":"each-props","description":"Processes each properties of an object deeply.","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"time":{"modified":"2024-07-10T08:45:09.000Z","created":"2016-10-01T16:19:07.889Z","3.0.0":"2022-10-08T23:28:09.344Z","2.0.0":"2021-10-31T21:12:14.491Z","1.3.2":"2018-05-12T22:19:42.073Z","1.3.1":"2017-08-04T20:34:36.475Z","1.3.0":"2017-04-13T15:46:40.851Z","1.2.2":"2017-03-01T14:57:15.327Z","1.2.1":"2017-02-27T21:06:05.207Z","1.2.0":"2017-01-22T09:30:26.414Z","1.1.0":"2017-01-18T15:38:24.541Z","1.0.0":"2016-10-01T16:19:07.889Z"},"users":{},"author":{"name":"Gulp Team","email":"team@gulpjs.com","url":"https://gulpjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gulpjs/each-props.git"},"versions":{"3.0.0":{"name":"each-props","version":"3.0.0","description":"Processes each properties of an object deeply.","author":{"name":"Gulp Team","email":"team@gulpjs.com","url":"https://gulpjs.com/"},"main":"index.js","scripts":{"lint":"eslint .","pretest":"npm run lint","test":"nyc mocha --async-only"},"repository":{"type":"git","url":"git+https://github.com/gulpjs/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"license":"MIT","engines":{"node":">= 10.13.0"},"nyc":{"reporter":["lcov","text-summary"]},"prettier":{"singleQuote":true},"dependencies":{"is-plain-object":"^5.0.0","object.defaults":"^1.1.0"},"devDependencies":{"eslint":"^7.32.0","eslint-config-gulp":"^5.0.1","eslint-plugin-node":"^11.1.0","expect":"^27.5.1","mocha":"^8.4.0","nyc":"^15.1.0"},"gitHead":"6b45a5592f77eb1410859b09edbd71a33c7bd394","bugs":{"url":"https://github.com/gulpjs/each-props/issues"},"homepage":"https://github.com/gulpjs/each-props#readme","_id":"each-props@3.0.0","_nodeVersion":"16.14.2","_npmVersion":"8.11.0","dist":{"shasum":"a88fb17634a4828307610ec68269fba2f7280cd8","size":3095,"noattachment":false,"key":"/each-props/-/each-props-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-3.0.0.tgz"},"_npmUser":{"name":"phated","email":"blaine.bublitz@gmail.com"},"directories":{},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/each-props_3.0.0_1665271689135_0.2445433414370286"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-08T23:28:13.887Z","publish_time":1665271689344,"_cnpm_publish_time":1665271689344},"2.0.0":{"name":"each-props","version":"2.0.0","description":"Processes each properties of an object deeply.","author":{"name":"Gulp Team","email":"team@gulpjs.com","url":"https://gulpjs.com/"},"main":"index.js","scripts":{"lint":"eslint .","pretest":"npm run lint","test":"nyc mocha","web:build":"browserify index.js --standalone eachProps -o web/each-props.js && cd web && uglifyjs each-props.js --compress --mangle -o each-props.min.js --source-map url=each-props.min.js.map","chrome:install":"npm i --no-save mocha-chrome","chrome:test":"mocha-chrome test/web/browser-test.html","build":"npm run lint && npm run test && npm run web:build && node test/web/make.js"},"repository":{"type":"git","url":"git+https://github.com/gulpjs/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"license":"MIT","engines":{"node":">= 10.13.0"},"bugs":{"url":"https://github.com/gulpjs/each-props/issues"},"homepage":"https://github.com/gulpjs/each-props#readme","nyc":{"reporter":["lcov","text-summary"]},"prettier":{"singleQuote":true},"dependencies":{"is-plain-object":"^5.0.0","object.defaults":"^1.1.0"},"devDependencies":{"browserify":"^17.0.0","chai":"^4.3.4","eslint":"^7.32.0","eslint-config-gulp":"^5.0.1","mocha":"^8.4.0","nyc":"^15.1.0","uglify-js":"^3.14.2"},"gitHead":"b99cdcb2a483c343ff5978e059ea3254c39f5471","_id":"each-props@2.0.0","_nodeVersion":"14.18.0","_npmVersion":"7.24.2","dist":{"shasum":"fb21898bd0e1e0e5723c234972751de956f5387e","size":3400,"noattachment":false,"key":"/each-props/-/each-props-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-2.0.0.tgz"},"_npmUser":{"name":"phated","email":"blaine.bublitz@gmail.com"},"directories":{},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/each-props_2.0.0_1635714734337_0.8022793279265152"},"_hasShrinkwrap":false,"publish_time":1635714734491,"_cnpm_publish_time":1635714734491},"1.3.2":{"name":"each-props","version":"1.3.2","description":"Processes each properties of an object deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"nyc --reporter=lcov --reporter=text-summary npm test","coveralls":"nyc --reporter=text-lcov npm test | coveralls","web:build":"browserify index.js --standalone eachProps -o web/each-props.js && cd web && uglifyjs each-props.js --compress --mangle -o each-props.min.js --source-map url=each-props.min.js.map","chrome:install":"npm i --no-save mocha-chrome","chrome:test":"mocha-chrome test/web/browser-test.html","build":"npm run lint && npm run coverage && npm run web:build && node test/web/make.js"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object.defaults":"^1.1.0"},"devDependencies":{"browserify":"^16.2.2","chai":"^3.5.0","coveralls":"^3.0.1","eslint":"^4.19.1","mocha":"^3.2.0","nyc":"^11.7.2","uglify-js":"^3.3.24"},"_id":"each-props@1.3.2","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"sttk","email":"sttk.xslet@gmail.com"},"dist":{"shasum":"ea45a414d16dd5cfa419b1a81720d5ca06892333","size":3226,"noattachment":false,"key":"/each-props/-/each-props-1.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.3.2.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/each-props_1.3.2_1526163581994_0.813549707509617"},"_hasShrinkwrap":false,"publish_time":1526163582073,"_cnpm_publish_time":1526163582073},"1.3.1":{"name":"each-props","version":"1.3.1","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:install":"npm i phantomjs-prebuilt mocha-phantomjs","web:build":"browserify index.js --standalone eachProps | uglifyjs --compress --mangle -o web/each-props.js && node test/web/make.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object.defaults":"^1.1.0"},"devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","eslint":"^3.16.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.2.0","uglify-js":"^2.8.1"},"_id":"each-props@1.3.1","_shasum":"fc138f51e3a2774286d4858e02d6e7de462de158","_resolved":"file:each-props-1.3.1.tar.gz","_from":"each-props-1.3.1.tar.gz","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"sttk","email":"sttk.xslet@gmail.com"},"dist":{"shasum":"fc138f51e3a2774286d4858e02d6e7de462de158","size":8377,"noattachment":false,"key":"/each-props/-/each-props-1.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.3.1.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/each-props-1.3.1.tgz_1501878876269_0.6507412572391331"},"directories":{},"publish_time":1501878876475,"_cnpm_publish_time":1501878876475,"_hasShrinkwrap":false},"1.3.0":{"name":"each-props","version":"1.3.0","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:install":"npm i phantomjs-prebuilt mocha-phantomjs","web:build":"browserify index.js --standalone eachProps | uglifyjs --compress --mangle -o web/each-props.js && node test/web/make.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object-assign":"^4.1.1"},"devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","eslint":"^3.16.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.2.0","uglify-js":"^2.8.1"},"_id":"each-props@1.3.0","_shasum":"7ed8031c927688aedb4a896eb91485b4487b90ea","_resolved":"file:each-props-1.3.0.tar.gz","_from":"each-props-1.3.0.tar.gz","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"7ed8031c927688aedb4a896eb91485b4487b90ea","size":8418,"noattachment":false,"key":"/each-props/-/each-props-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.3.0.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/each-props-1.3.0.tgz_1492098394522_0.9352976649533957"},"directories":{},"publish_time":1492098400851,"_hasShrinkwrap":false,"_cnpm_publish_time":1492098400851},"1.2.2":{"name":"each-props","version":"1.2.2","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:install":"npm i phantomjs-prebuilt mocha-phantomjs","web:build":"browserify index.js --standalone eachProps | uglifyjs --compress --mangle -o web/each-props.js && node test/web/make.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object-assign":"^4.1.1"},"devDependencies":{"browserify":"^14.1.0","chai":"^3.5.0","eslint":"^3.16.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.2.0","uglify-js":"^2.8.1"},"_id":"each-props@1.2.2","_shasum":"3dd63b2de3c2039359397a86a34818c0506df36f","_resolved":"file:each-props-1.2.2.tar.gz","_from":"each-props-1.2.2.tar.gz","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"3dd63b2de3c2039359397a86a34818c0506df36f","size":8359,"noattachment":false,"key":"/each-props/-/each-props-1.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.2.2.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/each-props-1.2.2.tgz_1488380233465_0.6182093764655292"},"directories":{},"publish_time":1488380235327,"_cnpm_publish_time":1488380235327,"_hasShrinkwrap":false},"1.2.1":{"name":"each-props","version":"1.2.1","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:build":"browserify index.js --standalone eachProps | uglifyjs --compress --mangle -o web/each-props.js && node test/web/make.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object-assign":"^4.1.0"},"devDependencies":{"browserify":"^13.3.0","chai":"^3.5.0","eslint":"^3.6.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.1.0","mocha-phantomjs":"^4.1.0","phantomjs":"^2.1.7","uglify-js":"^2.7.5"},"_id":"each-props@1.2.1","_shasum":"671bb71482bcda72789156545ca82e91b9cdbdde","_resolved":"file:each-props-1.2.1.tar.gz","_from":"each-props-1.2.1.tar.gz","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"671bb71482bcda72789156545ca82e91b9cdbdde","size":8361,"noattachment":false,"key":"/each-props/-/each-props-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.2.1.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/each-props-1.2.1.tgz_1488229564941_0.2966465475037694"},"directories":{},"publish_time":1488229565207,"_cnpm_publish_time":1488229565207,"_hasShrinkwrap":false},"1.2.0":{"name":"each-props","version":"1.2.0","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:build":"browserify index.js | uglifyjs --compress --mangle -o web/each-props.js && browserify -o test/web/each-props.test.js test/*.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object-assign":"^4.1.0"},"devDependencies":{"browserify":"^13.3.0","chai":"^3.5.0","eslint":"^3.6.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.1.0","mocha-phantomjs":"^4.1.0","phantomjs":"^2.1.7","uglify-js":"^2.7.5"},"_id":"each-props@1.2.0","_shasum":"32f11afd887bdcfad0151ef55cb9dc3f75ba363e","_resolved":"file:each-props-1.2.0.tar.gz","_from":"each-props-1.2.0.tar.gz","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"32f11afd887bdcfad0151ef55cb9dc3f75ba363e","size":54331,"noattachment":false,"key":"/each-props/-/each-props-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.2.0.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/each-props-1.2.0.tgz_1485077424579_0.10352617572061718"},"directories":{},"publish_time":1485077426414,"_cnpm_publish_time":1485077426414,"_hasShrinkwrap":false},"1.1.0":{"name":"each-props","version":"1.1.0","description":"Process each properties deeply.","main":"index.js","files":["index.js"],"scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha","coveralls":"istanbul cover _mocha && istanbul-coveralls","web:build":"browserify index.js | uglifyjs --compress --mangle -o web/each-props.js && browserify -o test/web/each-props.test.js test/*.js","web:test":"mocha-phantomjs -p node_modules/.bin/phantomjs test/web/each-props.test.html"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["deep","each","object","property","properties","props"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"is-plain-object":"^2.0.1","object-assign":"^4.1.0"},"devDependencies":{"browserify":"^13.3.0","chai":"^3.5.0","eslint":"^3.6.1","istanbul":"^0.4.5","istanbul-coveralls":"^1.0.3","mocha":"^3.1.0","mocha-phantomjs":"^4.1.0","phantomjs":"^2.1.7","uglify-js":"^2.7.5"},"_id":"each-props@1.1.0","_shasum":"8437e5f08fb2d157bd6f0126f9ef66d7a472eaa3","_resolved":"file:each-props-1.1.0.tar.gz","_from":"each-props-1.1.0.tar.gz","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"8437e5f08fb2d157bd6f0126f9ef66d7a472eaa3","size":54065,"noattachment":false,"key":"/each-props/-/each-props-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.1.0.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/each-props-1.1.0.tgz_1484753902621_0.22496336069889367"},"directories":{},"publish_time":1484753904541,"_cnpm_publish_time":1484753904541,"_hasShrinkwrap":false},"1.0.0":{"name":"each-props","version":"1.0.0","description":"Process each properties deeply.","main":"index.js","scripts":{"lint":"eslint .","test":"mocha","coverage":"istanbul cover _mocha"},"repository":{"type":"git","url":"git+https://github.com/sttk/each-props.git"},"keywords":["object","property","deep"],"author":{"name":"Takayuki Sato"},"license":"MIT","bugs":{"url":"https://github.com/sttk/each-props/issues"},"homepage":"https://github.com/sttk/each-props#readme","dependencies":{"lodash.isplainobject":"^4.0.6"},"devDependencies":{"chai":"^3.5.0","eslint":"^3.6.1","istanbul":"^0.4.5","mocha":"^3.1.0","testrun":"^0.7.0"},"_id":"each-props@1.0.0","_shasum":"841f037669f638c85f783ea04cb06bc58093ca04","_resolved":"file:each-props-1.0.0.tar.gz","_from":"each-props-1.0.0.tar.gz","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"sttk","email":"t110000508260@yahoo.co.jp"},"dist":{"shasum":"841f037669f638c85f783ea04cb06bc58093ca04","size":4617,"noattachment":false,"key":"/each-props/-/each-props-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/each-props/download/each-props-1.0.0.tgz"},"maintainers":[{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"yocontra","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/each-props-1.0.0.tgz_1475338745489_0.11197315226309001"},"directories":{},"publish_time":1475338747889,"_cnpm_publish_time":1475338747889,"_hasShrinkwrap":false}},"readme":"<p align=\"center\">\n  <a href=\"http://gulpjs.com\">\n    <img height=\"257\" width=\"114\" src=\"https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png\">\n  </a>\n</p>\n\n# each-props\n\n[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]\n\nProcesses each properties of an object deeply.\n\n## Install\n\nTo install from npm:\n\n```sh\n$ npm i each-props --save\n```\n\n## Usage\n\nApply a function to all (non plain object) properties.\n\n```js\nconst eachProps = require('each-props');\n\nvar obj = { a: 1, b: { c: 'CCC', d: { e: 'EEE' } } };\n\neachProps(obj, function (value, keyChain, nodeInfo) {\n  if (keyChain === 'a') {\n    nodeInfo.parent['a'] = value * 2;\n  } else if (keyChain === 'b.c') {\n    nodeInfo.parent['c'] = value.toLowerCase();\n  } else if (keyChain === 'b.d') {\n    return true; // stop to dig\n  } else if (keyChain === 'b.d.e') {\n    nodeInfo.parent['e'] = value.toLowerCase();\n  }\n});\n\nconsole.log(obj);\n// => { a: 2, b: { c: 'ccc', d: { e: 'EEE' } } };\n```\n\n## API\n\n### eachProps(obj, fn [, opts]) : void\n\nExecutes the _fn_ function for all properties.\n\n#### Parameters:\n\n| Parameter |   Type   | Description                                    |\n| :-------- | :------: | :--------------------------------------------- |\n| _obj_     |  object  | A plain object to be treated.                  |\n| _fn_      | function | A function to operate each properties.         |\n| _opts_    |  object  | An object to pass any data to each properties. |\n\n- **API of _fn_ function**\n\n  #### fn(value, keyChain, nodeInfo) : boolean\n\n  This function is applied to all properties in an object.\n\n  ##### Parameters:\n\n  | Parameter  |  Type  | Description                                                         |\n  | :--------- | :----: | :------------------------------------------------------------------ |\n  | _value_    |  any   | A property value.                                                   |\n  | _keyChain_ | string | A string concatenating the hierarchical keys with dots.             |\n  | _nodeInfo_ | object | An object which contains node informations (See [below][nodeinfo]). |\n\n  ##### Returns:\n\n  True, if stops digging child properties.\n\n  **Type:** boolean\n\n- ##### **Properties of _nodeInfo_**\n\n  | Properties |   Type   | Description                                                                                                 |\n  | :--------- | :------: | :---------------------------------------------------------------------------------------------------------- |\n  | _name_     |  string  | The property name of this node.                                                                             |\n  | _index_    |  number  | The index of the property among the sibling properties.                                                     |\n  | _count_    |  number  | The count of the sibling properties.                                                                        |\n  | _depth_    |  number  | The depth of the property.                                                                                  |\n  | _parent_   |  object  | The parent node of the property.                                                                            |\n  | _sort_     | function | A sort function which orders the child properties. This function is inherited from _opts_, if be specified. |\n\n  ... and any properties inherited from _opts_.\n\n- ##### **Properties of _opts_**\n\n  | Properties |   Type   | Description                                                        |\n  | :--------- | :------: | :----------------------------------------------------------------- |\n  | _sort_     | function | A sort function which orders the same level properties. (Optional) |\n\n  ... and any properties you want to pass to each node.\n\n## License\n\nMIT\n\n<!-- prettier-ignore-start -->\n[downloads-image]: https://img.shields.io/npm/dm/each-props.svg?style=flat-square\n[npm-url]: https://www.npmjs.org/package/each-props\n[npm-image]: https://img.shields.io/npm/v/each-props.svg?style=flat-square\n\n[ci-url]: https://github.com/gulpjs/each-props/actions?query=workflow:dev\n[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/each-props/dev?style=flat-square\n\n[coveralls-url]: https://coveralls.io/r/gulpjs/each-props\n[coveralls-image]: https://img.shields.io/coveralls/gulpjs/each-props/master.svg\n<!-- prettier-ignore-end -->\n\n<!-- prettier-ignore-start -->\n[nodeinfo]: #properties-of-nodeinfo\n<!-- prettier-ignore-end -->\n","_attachments":{},"homepage":"https://github.com/gulpjs/each-props#readme","bugs":{"url":"https://github.com/gulpjs/each-props/issues"},"license":"MIT"}