{"_id":"@putout/plugin-remove-useless-type-conversion","_rev":"4156946","name":"@putout/plugin-remove-useless-type-conversion","description":"🐊Putout plugin adds ability to remove useless type conversion","dist-tags":{"latest":"3.0.1"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:29:39.000Z","created":"2021-06-07T09:51:07.208Z","3.0.1":"2023-03-10T14:07:24.096Z","3.0.0":"2023-03-06T08:57:51.740Z","2.0.0":"2022-03-22T16:59:46.704Z","1.0.1":"2021-06-07T12:20:40.533Z","1.0.0":"2021-06-07T09:51:07.208Z"},"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":{"3.0.1":{"name":"@putout/plugin-remove-useless-type-conversion","version":"3.0.1","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to remove useless type conversion","homepage":"https://github.com/coderaiser/putout/tree/v28.19.2/packages/plugin-remove-useless-type-conversion#readme","main":"lib/index.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"publishOnly":"madrun publishOnly","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","putout-plugin-remove","plugin","type-conversion","useless"],"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":">=28"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"8770054c91b2d50d5de97916495c7950debb4d26","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-remove-useless-type-conversion@3.0.1","_nodeVersion":"18.14.2","_npmVersion":"9.1.3","dist":{"shasum":"40f18fbb62b5946d8e588a8f56026904f0096217","size":2525,"noattachment":false,"key":"/@putout/plugin-remove-useless-type-conversion/-/@putout/plugin-remove-useless-type-conversion-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-remove-useless-type-conversion/download/@putout/plugin-remove-useless-type-conversion-3.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-remove-useless-type-conversion_3.0.1_1678457243939_0.4797333849481962"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-10T14:07:24.096Z","publish_time":1678457244096,"_cnpm_publish_time":1678457244096},"3.0.0":{"name":"@putout/plugin-remove-useless-type-conversion","version":"3.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to remove useless type conversion","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-type-conversion#readme","main":"lib/index.js","commitType":"colon","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"publishOnly":"madrun publishOnly","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","putout-plugin-remove","plugin","type-conversion","useless"],"devDependencies":{"@putout/test":"^5.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":">=28"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"7757aeba93ec680e046d468a835fccd8adc21d88","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-remove-useless-type-conversion@3.0.0","_nodeVersion":"18.14.2","_npmVersion":"9.1.3","dist":{"shasum":"8b64f2bf828f710b02c0797a3214dffe24f8d3b9","size":2493,"noattachment":false,"key":"/@putout/plugin-remove-useless-type-conversion/-/@putout/plugin-remove-useless-type-conversion-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-remove-useless-type-conversion/download/@putout/plugin-remove-useless-type-conversion-3.0.0.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-remove-useless-type-conversion_3.0.0_1678093071573_0.11276608480904615"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-06T08:57:51.740Z","publish_time":1678093071740,"_cnpm_publish_time":1678093071740},"2.0.0":{"name":"@putout/plugin-remove-useless-type-conversion","version":"2.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to remove useless type conversion","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-type-conversion#readme","main":"lib/index.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"publishOnly":"madrun publishOnly","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","putout-plugin-remove","plugin","type-conversion","useless"],"devDependencies":{"@putout/test":"^5.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^14.0.0","madrun":"^9.0.0"},"peerDependencies":{"putout":">=25"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"3571e3072ce651910113791984c4ebd059469ecd","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-remove-useless-type-conversion@2.0.0","_nodeVersion":"16.14.2","_npmVersion":"8.3.0","dist":{"shasum":"de488e5334baeb7e6d9204cc32ee017b31e517bb","size":2337,"noattachment":false,"key":"/@putout/plugin-remove-useless-type-conversion/-/@putout/plugin-remove-useless-type-conversion-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-remove-useless-type-conversion/download/@putout/plugin-remove-useless-type-conversion-2.0.0.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-remove-useless-type-conversion_2.0.0_1647968386554_0.29245156500479896"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-22T17:13:35.378Z","publish_time":1647968386704,"_cnpm_publish_time":1647968386704},"1.0.1":{"name":"@putout/plugin-remove-useless-type-conversion","version":"1.0.1","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to remove useless type conversion","homepage":"http://github.com/coderaiser/putout","main":"lib/index.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"publishOnly":"madrun publishOnly","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":{"@putout/plugin-remove-double-negations":"^3.0.0"},"keywords":["putout","putout-plugin","putout-plugin-remove","plugin","type-conversion","useless"],"devDependencies":{"@putout/test":"^3.0.0","c8":"^7.5.0","eslint":"^7.0.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^8.0.0","madrun":"^8.0.1"},"peerDependencies":{"putout":">=16"},"license":"MIT","engines":{"node":">=14"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-remove-useless-type-conversion@1.0.1","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"shasum":"f1bff254242fe97fb449746f27cfb8d6826aa737","size":1977,"noattachment":false,"key":"/@putout/plugin-remove-useless-type-conversion/-/@putout/plugin-remove-useless-type-conversion-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-remove-useless-type-conversion/download/@putout/plugin-remove-useless-type-conversion-1.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-remove-useless-type-conversion_1.0.1_1623068440431_0.2050820308075707"},"_hasShrinkwrap":false,"publish_time":1623068440533,"_cnpm_publish_time":1623068440533,"_cnpmcore_publish_time":"2021-12-16T21:06:07.286Z"},"1.0.0":{"name":"@putout/plugin-remove-useless-type-conversion","version":"1.0.0","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"putout plugin adds ability to remove useless type conversion","homepage":"http://github.com/coderaiser/putout","main":"lib/index.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"publishOnly":"madrun publishOnly","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":{"@putout/plugin-remove-double-negations":"^3.0.0"},"keywords":["putout","putout-plugin","putout-plugin-remove","plugin","type-conversion","useless"],"devDependencies":{"@putout/test":"^3.0.0","c8":"^7.5.0","eslint":"^7.0.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^8.0.0","madrun":"^8.0.1"},"peerDependencies":{"putout":">=16"},"license":"MIT","engines":{"node":">=14"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-remove-useless-type-conversion@1.0.0","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"shasum":"3347a69e24cf0f04bd8df710f6ec7e8b88adc483","size":1977,"noattachment":false,"key":"/@putout/plugin-remove-useless-type-conversion/-/@putout/plugin-remove-useless-type-conversion-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-remove-useless-type-conversion/download/@putout/plugin-remove-useless-type-conversion-1.0.0.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-remove-useless-type-conversion_1.0.0_1623059467042_0.019207055245634264"},"_hasShrinkwrap":false,"publish_time":1623059467208,"_cnpm_publish_time":1623059467208,"_cnpmcore_publish_time":"2021-12-16T21:06:07.498Z"}},"readme":"# @putout/plugin-remove-useless-type-conversion [![NPM version][NPMIMGURL]][NPMURL]\n\n[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-useless-type-conversion.svg?style=flat&longCache=true\n[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-useless-type-conversion \"npm\"\n\n> It is possible to use a couple of **NOT** operators (`!!`) in series to explicitly force the conversion of any value to the corresponding boolean primitive. The conversion is based on the \"truthyness\" or \"falsyness\" of the value.\n>\n> The same conversion can be done through the `Boolean` function.\n>\n> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT)\n\n????[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to remove useless type conversion. Merged to [`@putout/plugin-types`](https://www.npmjs.com/package/@putout/plugin-types).\n\n## Install\n\n```\nnpm i @putout/plugin-remove-useless-type-conversion\n```\n\n## Rule\n\n```json\n{\n    \"rules\": {\n        \"remove-useless-type-conversion/named\": \"on\",\n        \"remove-useless-type-conversion/with-double-negations\": \"on\"\n    }\n}\n```\n\n## named\n\n### ❌ Example of incorrect code\n\n```js\nconst a = !![1].includes(1);\nconst b = Boolean([1].includes(1));\n```\n\n### ✅ Example of correct code\n\n```js\nconst a = [1].includes(1);\n```\n\n## with-double-negations\n\n### ❌ Example of incorrect code\n\n```js\nif (!!a) {\n    console.log('hi');\n}\n```\n\n### ✅ Example of correct code\n\n```js\nif (a) {\n    console.log('hi');\n}\n```\n\n## Comparison\n\nLinter | Rule | Fix\n--------|-------|------------|\n???? **Putout** | [`remove-useless-type-conversion`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-type-conversion#readme)| ✅\n⏣ **ESLint** | [`no-implicit-coercion`](https://eslint.org/docs/rules/no-implicit-coercion) | ✅\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/coderaiser/putout/tree/v28.19.2/packages/plugin-remove-useless-type-conversion#readme","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"license":"MIT"}