{"_id":"@putout/plugin-convert-for-in-to-for-of","_rev":"4155298","name":"@putout/plugin-convert-for-in-to-for-of","description":"🐊Putout plugin adds ability to convert for-in to for-of","dist-tags":{"latest":"2.0.1"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:24:05.000Z","created":"2020-04-18T11:55:12.837Z","2.0.1":"2023-03-11T20:43:19.227Z","2.0.0":"2020-08-19T23:40:25.349Z","1.1.4":"2020-08-05T12:24:42.840Z","1.1.3":"2020-05-24T15:05:03.496Z","1.1.2":"2020-04-29T12:09:02.743Z","1.1.1":"2020-04-28T16:23:37.264Z","1.1.0":"2020-04-28T16:22:56.971Z","1.0.0":"2020-04-18T11:55:12.837Z"},"users":{},"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"versions":{"2.0.1":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"2.0.1","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to convert for-in to for-of","homepage":"https://github.com/coderaiser/putout/tree/v28.19.2/packages/plugin-convert-for-in-to-for-of#readme","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/test":"^6.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^15.2.4","eslint-plugin-putout":"^16.0.0","madrun":"^9.0.0"},"peerDependencies":{"putout":">=9"},"license":"MIT","engines":{"node":">=10"},"publishConfig":{"access":"public"},"gitHead":"6bbff109c4ce2bbdddad0500f27a762477aa60da","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@2.0.1","_nodeVersion":"18.14.2","_npmVersion":"9.1.3","dist":{"shasum":"495dad7bcbd22e6157f411ccd6c6e6eed3381350","size":2429,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-2.0.1.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_2.0.1_1678567399064_0.30662711771981765"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-11T20:43:19.227Z","publish_time":1678567399227,"_cnpm_publish_time":1678567399227},"2.0.0":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"2.0.0","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"nyc":{"exclude":["*/**/*.spec.js","test",".*"]},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^2.0.0","coveralls":"^3.0.0","eslint":"^7.0.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^5.0.1","madrun":"^7.0.0","nyc":"^15.0.1","supertape":"^2.0.0"},"peerDependencies":{"putout":">=9"},"license":"MIT","engines":{"node":">=10"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@2.0.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"shasum":"ff7bb297d7bc3184b0813a1adf54d1cd9f7486d7","size":2312,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-2.0.0.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_2.0.0_1597880425161_0.6521472133900663"},"_hasShrinkwrap":false,"publish_time":1597880425349,"_cnpm_publish_time":1597880425349,"_cnpmcore_publish_time":"2021-12-16T21:05:34.148Z"},"1.1.4":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.1.4","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"nyc":{"exclude":["*/**/*.spec.js","test",".*"]},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^2.0.0","coveralls":"^3.0.0","eslint":"^7.0.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^5.0.1","madrun":"^7.0.0","nyc":"^15.0.1","supertape":"^2.0.0"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.1.4","_nodeVersion":"14.7.0","_npmVersion":"6.14.4","dist":{"shasum":"f5e2c098f7769dab91a13ca7ac21a74a9b7d2796","size":2300,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.1.4.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.1.4_1596630282695_0.07531225777569395"},"_hasShrinkwrap":false,"publish_time":1596630282840,"_cnpm_publish_time":1596630282840,"_cnpmcore_publish_time":"2021-12-16T21:05:34.381Z"},"1.1.3":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.1.3","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"nyc":{"exclude":["*/**/*.spec.js","test",".*"]},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^2.0.0","coveralls":"^3.0.0","eslint":"^7.0.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^4.0.0","madrun":"^6.0.0","nyc":"^15.0.1","supertape":"^2.0.0"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.1.3","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"shasum":"48bcc96773387e14632c3bcb587a45e18af28dff","size":2301,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.1.3.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.1.3_1590332703303_0.6485553256139909"},"_hasShrinkwrap":false,"publish_time":1590332703496,"_cnpm_publish_time":1590332703496,"_cnpmcore_publish_time":"2021-12-16T21:05:34.639Z"},"1.1.2":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.1.2","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^1.13.0","coveralls":"^3.0.0","eslint":"^6.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^3.0.0","madrun":"^5.0.0","nyc":"^14.0.0","supertape":"^1.0.3"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.1.2","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"6e3318b4d7e9afddf0fe06e41c351290d7e24f2d","size":2270,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.1.2.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.1.2_1588162142646_0.45051756812405697"},"_hasShrinkwrap":false,"publish_time":1588162142743,"_cnpm_publish_time":1588162142743,"_cnpmcore_publish_time":"2021-12-16T21:05:34.857Z"},"1.1.1":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.1.1","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^1.13.0","coveralls":"^3.0.0","eslint":"^6.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^3.0.0","madrun":"^5.0.0","nyc":"^14.0.0","supertape":"^1.0.3"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.1.1","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"8eb7fb0f9b61d4ff62872d94e783202ef5a26de6","size":2276,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.1.1.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.1.1_1588091017159_0.2281498354499054"},"_hasShrinkwrap":false,"publish_time":1588091017264,"_cnpm_publish_time":1588091017264,"_cnpmcore_publish_time":"2021-12-16T21:05:35.059Z"},"1.1.0":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.1.0","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^1.13.0","coveralls":"^3.0.0","eslint":"^6.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^3.0.0","madrun":"^5.0.0","nyc":"^14.0.0","supertape":"^1.0.3"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.1.0","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"36b8bc39112790974747cf954c0030966ae74d8b","size":2602,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.1.0.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.1.0_1588090976842_0.5318129377324037"},"_hasShrinkwrap":false,"publish_time":1588090976971,"_cnpm_publish_time":1588090976971,"_cnpmcore_publish_time":"2021-12-16T21:05:35.277Z"},"1.0.0":{"name":"@putout/plugin-convert-for-in-to-for-of","version":"1.0.0","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to convert for-in to for-of","homepage":"http://github.com/coderaiser/putout","main":"lib/convert-for-in-to-for-of.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","convert","for-in","for-of"],"devDependencies":{"@putout/eslint-config":"^1.0.2","@putout/test":"^1.13.0","coveralls":"^3.0.0","eslint":"^6.2.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^3.0.0","madrun":"^5.0.0","nyc":"^14.0.0","supertape":"^1.0.3"},"peerDependencies":{"putout":">=7.17"},"license":"MIT","engines":{"node":">=8.3.0"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-convert-for-in-to-for-of@1.0.0","_nodeVersion":"13.13.0","_npmVersion":"6.14.4","dist":{"shasum":"a21dac8173d1234b9ac42b26e41ecbc94488e869","size":2443,"noattachment":false,"key":"/@putout/plugin-convert-for-in-to-for-of/-/@putout/plugin-convert-for-in-to-for-of-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-convert-for-in-to-for-of/download/@putout/plugin-convert-for-in-to-for-of-1.0.0.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-convert-for-in-to-for-of_1.0.0_1587210912643_0.3620795552376075"},"_hasShrinkwrap":false,"publish_time":1587210912837,"_cnpm_publish_time":1587210912837,"_cnpmcore_publish_time":"2021-12-16T21:05:35.510Z"}},"readme":"# @putout/plugin-convert-for-in-to-for-of [![NPM version][NPMIMGURL]][NPMURL]\n\n[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-convert-for-in-to-for-of.svg?style=flat&longCache=true\n[NPMURL]: https://npmjs.org/package/@putout/plugin-convert-for-in-to-for-of \"npm\"\n\n> The [`for...in`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) statement iterates over all enumerable properties of an object that are keyed by strings.\n>\n> The [`for...of`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) statement creates a loop which invokes a custom iteration hook with statements to be executed for the value of each element of an array.\n>\n> (c) MDN\n\n????[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to convert `for...in` to `for...of` loop. Merged to [`@putout/plugin-for-of`](https://www.npmjs.com/package/@putout/plugin-for-of).\n\n## Install\n\n```\nnpm i @putout/plugin-convert-for-in-to-for-of -D\n```\n\n## Rule\n\n```json\n{\n    \"rules\": {\n        \"convert-for-in-to-for-of/positive\": \"on\",\n        \"convert-for-in-to-for-of/negative\": \"on\"\n    }\n}\n```\n\n## ❌ Example of incorrect code\n\n```js\nfor (const item in object) {\n    if (object.hasOwnProperty(item)) {\n        log(item);\n    }\n}\n\nfor (const item in object) {\n    if (!object.hasOwnProperty(item))\n        continue;\n    \n    log(item);\n}\n```\n\n## ✅ Example of correct code\n\n```js\nfor (const item of Object.keys(object)) {\n    log(item);\n}\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/coderaiser/putout/tree/v28.19.2/packages/plugin-convert-for-in-to-for-of#readme","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"license":"MIT"}