{"_id":"traverse","_rev":"4130090","name":"traverse","description":"traverse and transform objects by visiting every node on a recursive walk","dist-tags":{"latest":"0.6.11"},"maintainers":[{"name":"ljharb","email":""}],"time":{"modified":"2026-03-01T18:31:29.000Z","created":"2011-02-03T11:29:55.497Z","0.6.11":"2025-01-16T01:14:33.685Z","0.6.10":"2024-09-13T02:36:42.911Z","0.6.9":"2024-04-09T01:57:48.396Z","0.6.8":"2023-12-20T23:55:50.353Z","0.6.7":"2022-10-13T06:40:59.258Z","0.6.6":"2013-09-24T05:13:48.593Z","0.6.5":"2013-08-30T21:55:35.238Z","0.6.3":"2012-06-19T02:44:09.239Z","0.6.2":"2012-06-16T07:48:32.652Z","0.6.1":"2012-04-07T05:31:38.268Z","0.6.0":"2012-02-21T02:42:17.711Z","0.5.2":"2011-10-16T10:34:56.862Z","0.5.1":"2011-08-23T13:26:49.780Z","0.5.0":"2011-08-23T12:51:28.029Z","0.4.6":"2011-07-28T06:19:05.356Z","0.4.5":"2011-07-24T22:53:13.891Z","0.4.4":"2011-07-20T10:02:05.346Z","0.4.3":"2011-06-15T05:28:21.739Z","0.3.9":"2011-06-15T05:24:38.007Z","0.4.2":"2011-06-11T07:09:48.273Z","0.4.1":"2011-06-11T03:56:58.839Z","0.4.0":"2011-06-11T00:04:01.061Z","0.3.8":"2011-06-07T06:53:50.488Z","0.3.7":"2011-06-06T04:29:19.831Z","0.3.6":"2011-06-03T08:15:23.466Z","0.3.5":"2011-05-29T01:21:03.986Z","0.3.4":"2011-04-17T02:51:02.989Z","0.3.3":"2011-04-15T08:39:12.893Z","0.3.2":"2011-04-10T09:21:37.669Z","0.2.6":"2011-02-21T03:51:44.195Z","0.2.5":"2011-02-19T00:47:01.323Z","0.3.1":"2011-02-19T00:38:39.744Z","0.3.0":"2011-02-18T12:27:57.800Z","0.1.2":"2011-02-03T11:29:55.497Z","0.1.3":"2011-02-03T11:29:55.497Z","0.2.1":"2011-02-03T11:29:55.497Z","0.2.2":"2011-02-03T11:29:55.497Z","0.2.3":"2011-02-03T11:29:55.497Z","0.2.4":"2011-02-03T11:29:55.497Z","0.2.0":"2011-02-03T11:29:55.497Z"},"users":{"fgribreau":true,"pragmadash":true,"lhyqy5":true,"tunnckocore":true,"julien-f":true,"gliviu":true,"mjurincic":true,"asfktz":true,"gammasoft":true,"eklem":true,"manishrc":true,"mondalaci":true,"pythondave":true,"chocolateboy":true,"strikingloud":true,"garrickajo":true,"nichoth":true,"capaj":true,"bdentino":true,"mast4461":true,"onheiron":true,"silentcloud":true,"sebastian1118":true,"bojand":true,"hyteer":true,"zhanghaili":true,"rojo2":true,"slurm":true,"simonfan":true,"icerainnuaa":true,"esundahl":true,"brendanneufeld":true,"programmer.severson":true,"cr8tiv":true,"scott.m.sarsfield":true,"maoizm":true,"danielo515":true,"gaozhi":true,"tzq1011":true,"alexandru.vasile":true,"mrzmmr":true,"johnloy":true,"laomu":true},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"versions":{"0.6.11":{"name":"traverse","version":"0.6.11","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"@ljharb/eslint-config":"^21.1.1","auto-changelog":"^2.5.0","encoding":"^0.1.13","es-value-fixtures":"^1.7.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.1","safe-publish-latest":"^2.0.0","tape":"^5.9.0"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"homepage":"https://github.com/ljharb/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"dependencies":{"gopd":"^1.2.0","typedarray.prototype.slice":"^1.0.5","which-typed-array":"^1.1.18"},"engines":{"node":">= 0.4"},"_id":"traverse@0.6.11","gitHead":"4439a53873898ef51e0184d218eaf7814205364f","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"_nodeVersion":"23.6.0","_npmVersion":"10.9.2","dist":{"shasum":"e8daa071b101ae66767fffa6f177aa6f7110068e","size":26104,"noattachment":false,"key":"/traverse/-/traverse-0.6.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.11.tgz"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/traverse_0.6.11_1736990073468_0.7158049142981096"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-16T01:14:33.685Z","publish_time":1736990073685,"_source_registry_name":"default","_cnpm_publish_time":1736990073685},"0.6.10":{"name":"traverse","version":"0.6.10","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"@ljharb/eslint-config":"^21.1.1","auto-changelog":"^2.5.0","encoding":"^0.1.13","es-value-fixtures":"^1.4.2","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.1","safe-publish-latest":"^2.0.0","tape":"^5.8.1"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"npx npm@'>=10.2' audit --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"homepage":"https://github.com/ljharb/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"dependencies":{"gopd":"^1.0.1","typedarray.prototype.slice":"^1.0.3","which-typed-array":"^1.1.15"},"engines":{"node":">= 0.4"},"_id":"traverse@0.6.10","gitHead":"2b83732e831554fba9922659b152650ea784bf62","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"_nodeVersion":"22.8.0","_npmVersion":"10.8.2","dist":{"shasum":"4c93482381d794dee046882c036f3c4eee481324","size":25866,"noattachment":false,"key":"/traverse/-/traverse-0.6.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.10.tgz"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/traverse_0.6.10_1726195002726_0.6125430485642906"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-13T02:36:42.911Z","publish_time":1726195002911,"_source_registry_name":"default","_cnpm_publish_time":1726195002911},"0.6.9":{"name":"traverse","version":"0.6.9","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.4","auto-changelog":"^2.4.0","es-value-fixtures":"^1.4.2","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.1","safe-publish-latest":"^2.0.0","tape":"^5.7.5"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"homepage":"https://github.com/ljharb/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"dependencies":{"gopd":"^1.0.1","typedarray.prototype.slice":"^1.0.3","which-typed-array":"^1.1.15"},"engines":{"node":">= 0.4"},"_id":"traverse@0.6.9","gitHead":"2d269da0384343e0462cc6bf0d67cf4ac6cd5954","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"_nodeVersion":"21.7.2","_npmVersion":"10.5.0","dist":{"shasum":"76cfdbacf06382d460b76f8b735a44a6209d8b81","size":25242,"noattachment":false,"key":"/traverse/-/traverse-0.6.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.9.tgz"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/traverse_0.6.9_1712627868243_0.4872632766014122"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-04-09T01:57:48.396Z","publish_time":1712627868396,"_source_registry_name":"default","_cnpm_publish_time":1712627868396},"0.6.8":{"name":"traverse","version":"0.6.8","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.4","auto-changelog":"^2.4.0","es-value-fixtures":"^1.4.2","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.1","safe-publish-latest":"^2.0.0","tape":"^5.7.2"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"homepage":"https://github.com/ljharb/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"engines":{"node":">= 0.4"},"_id":"traverse@0.6.8","gitHead":"f5a37243a2815ee04c6e56821dd2e743da1e7462","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"_nodeVersion":"21.5.0","_npmVersion":"10.2.4","dist":{"shasum":"5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15","size":24002,"noattachment":false,"key":"/traverse/-/traverse-0.6.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.8.tgz"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/traverse_0.6.8_1703116550147_0.518630830133568"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-12-20T23:55:50.353Z","publish_time":1703116550353,"_source_registry_name":"default","_cnpm_publish_time":1703116550353},"0.6.7":{"name":"traverse","version":"0.6.7","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.1","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.0","safe-publish-latest":"^2.0.0","tape":"^5.6.1"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/ljharb/js-traverse.git"},"homepage":"https://github.com/ljharb/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"fe5c722bd4a730311d848158376122e8f6039e93","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"_id":"traverse@0.6.7","_nodeVersion":"18.9.1","_npmVersion":"8.19.1","dist":{"shasum":"46961cd2d57dd8706c36664acde06a248f1173fe","size":23215,"noattachment":false,"key":"/traverse/-/traverse-0.6.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.7.tgz"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/traverse_0.6.7_1665643259026_0.7433455611395712"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-13T06:51:41.503Z","publish_time":1665643259258,"_cnpm_publish_time":1665643259258},"0.6.6":{"name":"traverse","version":"0.6.6","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"homepage":"https://github.com/substack/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/js-traverse/issues"},"_id":"traverse@0.6.6","dist":{"shasum":"cbdf560fd7b9af632502fed40f918c157ea97137","size":11200,"noattachment":false,"key":"/traverse/-/traverse-0.6.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.6.tgz"},"_from":".","_npmVersion":"1.3.7","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"ljharb","email":""}],"publish_time":1379999628593,"_hasShrinkwrap":false,"_cnpm_publish_time":1379999628593},"0.6.5":{"name":"traverse","version":"0.6.5","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","directories":{"example":"example","test":"test"},"devDependencies":{"tap":"~0.3.3","tape":"~0.1.1"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":{"iexplore":["6.0","7.0","8.0","9.0"],"chrome":["10.0","20.0"],"firefox":["10.0","15.0"],"safari":["5.1"],"opera":["12.0"]}},"repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"homepage":"https://github.com/substack/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/js-traverse/issues"},"_id":"traverse@0.6.5","dist":{"shasum":"ec80ba79ce1eeea5a08624bb63ef9132419aacab","size":11196,"noattachment":false,"key":"/traverse/-/traverse-0.6.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.5.tgz"},"_from":".","_npmVersion":"1.3.7","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"ljharb","email":""}],"publish_time":1377899735238,"_hasShrinkwrap":false,"_cnpm_publish_time":1377899735238},"0.6.3":{"name":"traverse","version":"0.6.3","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","bin":{},"directories":{"example":"example","test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"homepage":"https://github.com/substack/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","engine":{"node":">=0.6"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"traverse@0.6.3","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"a053ffa1b6179b9240ea16d74bfd604bd6b6e41b","size":11663,"noattachment":false,"key":"/traverse/-/traverse-0.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.3.tgz"},"maintainers":[{"name":"ljharb","email":""}],"publish_time":1340073849239,"_hasShrinkwrap":false,"_cnpm_publish_time":1340073849239},"0.6.2":{"name":"traverse","version":"0.6.2","description":"traverse and transform objects by visiting every node on a recursive walk","main":"index.js","bin":{},"directories":{"example":"example","test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"homepage":"https://github.com/substack/js-traverse","keywords":["traverse","walk","recursive","map","forEach","deep","clone"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","engine":{"node":">=0.6"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"traverse@0.6.2","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"d2f10768cfb8bfe23d56bb6c73059065834086d2","size":11536,"noattachment":false,"key":"/traverse/-/traverse-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.2.tgz"},"maintainers":[{"name":"ljharb","email":""}],"publish_time":1339832912652,"_hasShrinkwrap":false,"_cnpm_publish_time":1339832912652},"0.6.1":{"name":"traverse","version":"0.6.1","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"traverse@0.6.1","dependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"abba3297d8cd608796189e9bbcda6c7fc6b7a4f9","size":11269,"noattachment":false,"key":"/traverse/-/traverse-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.1.tgz"},"maintainers":[{"name":"ljharb","email":""}],"directories":{},"publish_time":1333776698268,"_hasShrinkwrap":false,"_cnpm_publish_time":1333776698268},"0.6.0":{"name":"traverse","version":"0.6.0","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_npmUser":{"name":"substack","email":"mail@substack.net"},"_id":"traverse@0.6.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"e11243dc2eeedc9bbce6b605654b92df25f3dbc3","size":10598,"noattachment":false,"key":"/traverse/-/traverse-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.6.0.tgz"},"maintainers":[{"name":"ljharb","email":""}],"directories":{},"publish_time":1329792137711,"_hasShrinkwrap":false,"_cnpm_publish_time":1329792137711},"0.5.2":{"name":"traverse","version":"0.5.2","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_npmJsonOpts":{"file":"/home/substack/.npm/traverse/0.5.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"traverse@0.5.2","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"e203c58d5f7f0e37db6e74c0acb929bb09b61d85","size":10388,"noattachment":false,"key":"/traverse/-/traverse-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.5.2.tgz"},"maintainers":[{"name":"ljharb","email":""}],"directories":{},"publish_time":1318761296862,"_hasShrinkwrap":false,"_cnpm_publish_time":1318761296862},"0.5.1":{"name":"traverse","version":"0.5.1","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.5.1","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"8b766f822404f401acc7572bc9975b218b9f0a37","size":10220,"noattachment":false,"key":"/traverse/-/traverse-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.5.1.tgz"},"maintainers":[{"name":"ljharb","email":""}],"directories":{},"publish_time":1314106009780,"_hasShrinkwrap":false,"_cnpm_publish_time":1314106009780},"0.5.0":{"name":"traverse","version":"0.5.0","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.5.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"ca057be9bb7e25d3fdf305a34382cd33276dd2f7","size":10222,"noattachment":false,"key":"/traverse/-/traverse-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.5.0.tgz"},"maintainers":[{"name":"ljharb","email":""}],"directories":{},"publish_time":1314103888029,"_hasShrinkwrap":false,"_cnpm_publish_time":1314103888029},"0.4.6":{"name":"traverse","version":"0.4.6","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.4.6","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"d04b2280e4c792a5815429ef7b8b60c64c9ccc34","size":10341,"noattachment":false,"key":"/traverse/-/traverse-0.4.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.6.tgz"},"directories":{},"publish_time":1311833945356,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1311833945356},"0.4.5":{"name":"traverse","version":"0.4.5","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.4.5","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"325226aec754d71e4a49d6a091e58c1e6a169ee8","size":10125,"noattachment":false,"key":"/traverse/-/traverse-0.4.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.5.tgz"},"directories":{},"publish_time":1311547993891,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1311547993891},"0.4.4":{"name":"traverse","version":"0.4.4","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.4.4","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"865f7e69ab8e64504d3080c32bb455a947690961","size":10003,"noattachment":false,"key":"/traverse/-/traverse-0.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.4.tgz"},"directories":{},"publish_time":1311156125346,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1311156125346},"0.4.3":{"name":"traverse","version":"0.4.3","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.4.3","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"316577b95481c1eadfbc3804aedd83cbef60baf5","size":9804,"noattachment":false,"key":"/traverse/-/traverse-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.3.tgz"},"directories":{},"publish_time":1308115701739,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1308115701739},"0.3.9":{"name":"traverse","version":"0.3.9","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"_id":"traverse@0.3.9","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9","size":9489,"noattachment":false,"key":"/traverse/-/traverse-0.3.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.9.tgz"},"directories":{},"publish_time":1308115478007,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1308115478007},"0.4.2":{"name":"traverse","version":"0.4.2","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.4.2","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"f3af4583aa4f42b6082f1e020fd155200238bd0f","size":9795,"noattachment":false,"key":"/traverse/-/traverse-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.2.tgz"},"directories":{},"publish_time":1307776188273,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307776188273},"0.4.1":{"name":"traverse","version":"0.4.1","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.4.1","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"d119a3a401828cdc03080ab7333dfb307360e2cc","size":9703,"noattachment":false,"key":"/traverse/-/traverse-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.1.tgz"},"directories":{},"publish_time":1307764618839,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307764618839},"0.4.0":{"name":"traverse","version":"0.4.0","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.4.0","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"3abf25482c032ae80808b609fb4ee8883156ab19","size":9628,"noattachment":false,"key":"/traverse/-/traverse-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.4.0.tgz"},"directories":{},"publish_time":1307750641061,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307750641061},"0.3.8":{"name":"traverse","version":"0.3.8","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.8","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"40a43ed5d7a1fbb662327a97dc5e5be570a2f032","size":8957,"noattachment":false,"key":"/traverse/-/traverse-0.3.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.8.tgz"},"directories":{},"publish_time":1307429630488,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307429630488},"0.3.7":{"name":"traverse","version":"0.3.7","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.7","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"0ac64e98b93317b437e13bea05dd7581af3830ce","size":8771,"noattachment":false,"key":"/traverse/-/traverse-0.3.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.7.tgz"},"directories":{},"publish_time":1307334559831,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307334559831},"0.3.6":{"name":"traverse","version":"0.3.6","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.6","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"b301ca2b08764718b762e7fa118aa0ab88b2b9c8","size":8076,"noattachment":false,"key":"/traverse/-/traverse-0.3.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.6.tgz"},"directories":{},"publish_time":1307088923466,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1307088923466},"0.3.5":{"name":"traverse","version":"0.3.5","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.5","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"7c81e038211f351bb6002e3b5a1477f7cdbf3ed6","size":6547,"noattachment":false,"key":"/traverse/-/traverse-0.3.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.5.tgz"},"directories":{},"publish_time":1306632063986,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1306632063986},"0.3.4":{"name":"traverse","version":"0.3.4","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.4","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.1rc8","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"6a56ac6db2f02d27ace34ed22c44827dd5dad948","size":6718,"noattachment":false,"key":"/traverse/-/traverse-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.4.tgz"},"directories":{},"publish_time":1303008662989,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1303008662989},"0.3.3":{"name":"traverse","version":"0.3.3","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.3","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.1rc8","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"40d9f3d038438fc39f3fc8fafdbf216cc60bd7d9","size":6717,"noattachment":false,"key":"/traverse/-/traverse-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.3.tgz"},"directories":{},"publish_time":1302856752893,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1302856752893},"0.3.2":{"name":"traverse","version":"0.3.2","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"git://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"dependencies":{},"_id":"traverse@0.3.2","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.1rc6","_nodeVersion":"v0.4.2","_defaultsLoaded":true,"dist":{"shasum":"24fc47fde29b1a2a74a0483b2a7b0d9f5ec70560","size":6360,"noattachment":false,"key":"/traverse/-/traverse-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.2.tgz"},"directories":{},"publish_time":1302427297669,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1302427297669},"0.2.6":{"name":"traverse","version":"0.2.6","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./lib/traverse","repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.6","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.2.18","_nodeVersion":"v0.3.8-pre","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"961cb5e4c324fe548d213ea0a9997093f26f8bfb","size":8437,"noattachment":false,"key":"/traverse/-/traverse-0.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.6.tgz"},"publish_time":1298260304195,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1298260304195},"0.2.5":{"name":"traverse","version":"0.2.5","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.5","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.2.18","_nodeVersion":"v0.3.8-pre","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"7eb267f28142261324999aa7e9b2f40d04dd1d7b","size":8457,"noattachment":false,"key":"/traverse/-/traverse-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.5.tgz"},"publish_time":1298076421323,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1298076421323},"0.3.1":{"name":"traverse","version":"0.3.1","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"_id":"traverse@0.3.1","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.2.18","_nodeVersion":"v0.3.8-pre","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"4d8c76ebf82b63656905cea66c4d817ec0020573","size":6241,"noattachment":false,"key":"/traverse/-/traverse-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.1.tgz"},"publish_time":1298075919744,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1298075919744},"0.3.0":{"name":"traverse","version":"0.3.0","description":"Traverse and transform objects by visiting every node on a recursive walk","author":{"name":"James Halliday"},"license":"MIT/X11","main":"./index","repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"devDependencies":{"seq":">=0.1.7","expresso":">=0.6.0"},"scripts":{"test":"expresso"},"_id":"traverse@0.3.0","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.2.18","_nodeVersion":"v0.3.8-pre","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"cf49d694be787895764607e6c65586fda9202366","size":6185,"noattachment":false,"key":"/traverse/-/traverse-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.3.0.tgz"},"publish_time":1298032077800,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1298032077800},"0.1.2":{"name":"traverse","version":"0.1.2","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.1.2","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"shasum":"9c17eb594a2bf0ecaab41cfcb549e0999473ce26","size":7563,"noattachment":false,"key":"/traverse/-/traverse-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.1.2.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.1.3":{"name":"traverse","version":"0.1.3","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.1.3","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"shasum":"84aa5d1be7d771cafa81433680cf667de13d1e2c","size":7671,"noattachment":false,"key":"/traverse/-/traverse-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.1.3.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.2.1":{"name":"traverse","version":"0.2.1","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.1","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"shasum":"0182b4e69d7e3c41493e3020d670bc9ae74cf0a2","size":8466,"noattachment":false,"key":"/traverse/-/traverse-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.1.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.2.2":{"name":"traverse","version":"0.2.2","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.2","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"shasum":"8d256abdd34ff0e0efbc39cc8edd06a3f7746832","size":8579,"noattachment":false,"key":"/traverse/-/traverse-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.2.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.2.3":{"name":"traverse","version":"0.2.3","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.3","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.5-1","_nodeVersion":"v0.2.0","dist":{"shasum":"5a5837fa020f5130426d68eb3f0e8f2547b5c1b5","size":8665,"noattachment":false,"key":"/traverse/-/traverse-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.3.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.2.4":{"name":"traverse","version":"0.2.4","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.4","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.3.8-pre","directories":{"lib":"./lib"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"8ce26dcecdb8401e197db6b79f557d41ff898917","size":8646,"noattachment":false,"key":"/traverse/-/traverse-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.4.tgz"},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497},"0.2.0":{"name":"traverse","version":"0.2.0","description":"Traverse and transform objects by visiting every node on a recursive walk.","author":{"name":"James Halliday"},"license":"MIT/X11","modules":{"index":"./lib/traverse","web":"./lib/web","hash":"./lib/hash"},"repository":{"type":"git","url":"http://github.com/substack/js-traverse.git"},"_id":"traverse@0.2.0","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"shasum":"e8293bfbd78e9b71a916fed0ec34ee52d662f778","size":8376,"noattachment":false,"key":"/traverse/-/traverse-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/traverse/download/traverse-0.2.0.tgz"},"directories":{},"publish_time":1296732595497,"maintainers":[{"name":"ljharb","email":""}],"_hasShrinkwrap":false,"_cnpm_publish_time":1296732595497}},"readme":"# traverse <sup>[![Version Badge][npm-version-svg]][package-url]</sup>\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\nTraverse and transform objects by visiting every node on a recursive walk.\n\n# examples\n\n## transform negative numbers in-place\n\nnegative.js\n\n````javascript\nvar traverse = require('traverse');\nvar obj = [ 5, 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ];\n\ntraverse(obj).forEach(function (x) {\n    if (x < 0) this.update(x + 128);\n});\n\nconsole.dir(obj);\n````\n\nOutput:\n\n    [ 5, 6, 125, [ 7, 8, 126, 1 ], { f: 10, g: 115 } ]\n\n## collect leaf nodes\n\nleaves.js\n\n````javascript\nvar traverse = require('traverse');\n\nvar obj = {\n    a : [1,2,3],\n    b : 4,\n    c : [5,6],\n    d : { e : [7,8], f : 9 },\n};\n\nvar leaves = traverse(obj).reduce(function (acc, x) {\n    if (this.isLeaf) acc.push(x);\n    return acc;\n}, []);\n\nconsole.dir(leaves);\n````\n\nOutput:\n\n    [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n\n## scrub circular references\n\nscrub.js:\n\n````javascript\nvar traverse = require('traverse');\n\nvar obj = { a : 1, b : 2, c : [ 3, 4 ] };\nobj.c.push(obj);\n\nvar scrubbed = traverse(obj).map(function (x) {\n    if (this.circular) this.remove()\n});\nconsole.dir(scrubbed);\n````\n\noutput:\n\n    { a: 1, b: 2, c: [ 3, 4 ] }\n\n# methods\n\nEach method that takes an `fn` uses the context documented below in the context\nsection.\n\n## .map(fn)\n\nExecute `fn` for each node in the object and return a new object with the\nresults of the walk. To update nodes in the result use `this.update(value)`.\n\n## .forEach(fn)\n\nExecute `fn` for each node in the object but unlike `.map()`, when\n`this.update()` is called it updates the object in-place.\n\n## .reduce(fn, acc)\n\nFor each node in the object, perform a\n[left-fold](http://en.wikipedia.org/wiki/Fold_(higher-order_function))\nwith the return value of `fn(acc, node)`.\n\nIf `acc` isn't specified, `acc` is set to the root object for the first step\nand the root element is skipped.\n\n## .paths()\n\nReturn an `Array` of every possible non-cyclic path in the object.\nPaths are `Array`s of string keys.\n\n## .nodes()\n\nReturn an `Array` of every node in the object.\n\n## .clone()\n\nCreate a deep clone of the object.\n\n## .get(path)\n\nGet the element at the array `path`.\n\n## .set(path, value)\n\nSet the element at the array `path` to `value`.\n\n## .has(path)\n\nReturn whether the element at the array `path` exists.\n\n# context\n\nEach method that takes a callback has a context (its `this` object) with these\nattributes:\n\n## this.node\n\nThe present node on the recursive walk\n\n## this.path\n\nAn array of string keys from the root to the present node\n\n## this.parent\n\nThe context of the node's parent.\nThis is `undefined` for the root node.\n\n## this.key\n\nThe name of the key of the present node in its parent.\nThis is `undefined` for the root node.\n\n## this.isRoot, this.notRoot\n\nWhether the present node is the root node\n\n## this.isLeaf, this.notLeaf\n\nWhether or not the present node is a leaf node (has no children)\n\n## this.level\n\nDepth of the node within the traversal\n\n## this.circular\n\nIf the node equals one of its parents, the `circular` attribute is set to the\ncontext of that parent and the traversal progresses no deeper.\n\n## this.update(value, stopHere=false)\n\nSet a new value for the present node.\n\nAll the elements in `value` will be recursively traversed unless `stopHere` is\ntrue.\n\n## this.remove(stopHere=false)\n\nRemove the current element from the output. If the node is in an Array it will\nbe spliced off. Otherwise it will be deleted from its parent.\n\n## this.delete(stopHere=false)\n\nDelete the current element from its parent in the output. Calls `delete` even on\nArrays.\n\n## this.before(fn)\n\nCall this function before any of the children are traversed.\n\nYou can assign into `this.keys` here to traverse in a custom order.\n\n## this.after(fn)\n\nCall this function after any of the children are traversed.\n\n## this.pre(fn)\n\nCall this function before each of the children are traversed.\n\n## this.post(fn)\n\nCall this function after each of the children are traversed.\n\n\n# install\n\nUsing [npm](http://npmjs.org) do:\n\n    $ npm install traverse\n\n# license\n\nMIT\n\n[package-url]: https://npmjs.org/package/traverse\n[npm-version-svg]: https://versionbadg.es/ljharb/traverse.svg\n[deps-svg]: https://david-dm.org/ljharb/traverse.svg\n[deps-url]: https://david-dm.org/ljharb/traverse\n[dev-deps-svg]: https://david-dm.org/ljharb/traverse/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/traverse#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/traverse.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/traverse.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/traverse.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=traverse\n[codecov-image]: https://codecov.io/gh/ljharb/traverse/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/ljharb/traverse/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/traverse\n[actions-url]: https://github.com/ljharb/traverse/actions\n","_attachments":{},"homepage":"https://github.com/ljharb/js-traverse","bugs":{"url":"https://github.com/ljharb/js-traverse/issues"},"license":"MIT"}