{"_id":"parse-import-specifiers","_rev":"4152783","name":"parse-import-specifiers","description":"Simplest possible way to parse ImportSpecifiers","dist-tags":{"latest":"1.0.3"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:15:14.000Z","created":"2023-06-07T11:46:04.182Z","1.0.3":"2024-03-06T13:51:10.917Z","1.0.2":"2023-06-07T12:37:18.748Z","1.0.1":"2023-06-07T12:03:22.574Z","1.0.0":"2023-06-07T11:46:04.182Z"},"users":{},"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"repository":{"type":"git","url":"git://github.com/putoutjs/parse-import-specifiers.git"},"versions":{"1.0.3":{"name":"parse-import-specifiers","version":"1.0.3","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"Simplest possible way to parse ImportSpecifiers","homepage":"https://github.com/putoutjs/parse-import-specifiers#readme","main":"./lib/parse-import-specifiers.js","repository":{"type":"git","url":"git://github.com/putoutjs/parse-import-specifiers.git"},"scripts":{"wisdom":"madrun wisdom","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","coverage:html":"madrun coverage:html","report":"madrun report"},"keywords":["putout","AST","babel","import","specifier","import-specifier","parser"],"devDependencies":{"c8":"^9.1.0","eslint":"^8.0.1","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^22.4.0","just-kebab-case":"^4.2.0","madrun":"^10.0.1","mock-require":"^3.0.3","montag":"^1.0.0","nodemon":"^3.0.1","putout":"^35.6.0","supertape":"^10.3.0","try-catch":"^3.0.0"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"_id":"parse-import-specifiers@1.0.3","gitHead":"a96a87346438c9ba8fdee725ac8b6b044363aa0c","bugs":{"url":"https://github.com/putoutjs/parse-import-specifiers/issues"},"_nodeVersion":"20.11.1","_npmVersion":"10.4.0","dist":{"shasum":"4280a98a4224b34ae958fb6a582ad1262f14a1c1","size":2414,"noattachment":false,"key":"/parse-import-specifiers/-/parse-import-specifiers-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/parse-import-specifiers/download/parse-import-specifiers-1.0.3.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/parse-import-specifiers_1.0.3_1709733070723_0.6358339816269616"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-06T13:51:10.917Z","publish_time":1709733070917,"_source_registry_name":"default","_cnpm_publish_time":1709733070917},"1.0.2":{"name":"parse-import-specifiers","version":"1.0.2","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"Simplest possible way to parse ImportSpecifiers","homepage":"https://github.com/putoutjs/printer#readme","main":"./lib/parse-import-specifiers.js","repository":{"type":"git","url":"git://github.com/putoutjs/parse-import-specifiers.git"},"scripts":{"wisdom":"madrun wisdom","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","coverage:html":"madrun coverage:html","report":"madrun report"},"keywords":["putout","AST","babel","import","specifier","import-specifier","parser"],"devDependencies":{"@putout/plugin-minify":"^1.8.0","@putout/plugin-printer":"^1.0.0","@putout/plugin-react-hooks":"^5.0.0","@putout/test":"^6.0.1","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^17.0.0","estree-to-babel":"^5.0.1","just-kebab-case":"^4.2.0","madrun":"^9.0.0","mock-require":"^3.0.3","montag":"^1.0.0","nodemon":"^2.0.1","putout":"^29.0.0","supertape":"^8.0.0","try-catch":"^3.0.0"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"c7dad3cba55d3f16bdfaeeea33ec3a01c7a33067","bugs":{"url":"https://github.com/putoutjs/parse-import-specifiers/issues"},"_id":"parse-import-specifiers@1.0.2","_nodeVersion":"18.16.0","_npmVersion":"9.6.6","dist":{"shasum":"2219ecdbb1b40b664e697aa1510d134a7e5d8522","size":2282,"noattachment":false,"key":"/parse-import-specifiers/-/parse-import-specifiers-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/parse-import-specifiers/download/parse-import-specifiers-1.0.2.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/parse-import-specifiers_1.0.2_1686141438586_0.626545203322388"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-07T12:37:18.748Z","publish_time":1686141438748,"_source_registry_name":"default","_cnpm_publish_time":1686141438748},"1.0.1":{"name":"parse-import-specifiers","version":"1.0.1","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"Simplest possible way to parse ImportSpecifiers","homepage":"https://github.com/putoutjs/printer#readme","main":"./lib/parse-import-specifiers.js","repository":{"type":"git","url":"git://github.com/putoutjs/parse-import-specifiers.git"},"scripts":{"wisdom":"madrun wisdom","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","coverage:html":"madrun coverage:html","report":"madrun report"},"keywords":["putout","printer","AST","babel","api","traverse","generate"],"devDependencies":{"@putout/plugin-minify":"^1.8.0","@putout/plugin-printer":"^1.0.0","@putout/plugin-react-hooks":"^5.0.0","@putout/test":"^6.0.1","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^17.0.0","estree-to-babel":"^5.0.1","just-kebab-case":"^4.2.0","madrun":"^9.0.0","mock-require":"^3.0.3","montag":"^1.0.0","nodemon":"^2.0.1","putout":"^29.0.0","supertape":"^8.0.0","try-catch":"^3.0.0"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"4d6791348fcfec4fbbaa53489d7a4a387ad302ab","bugs":{"url":"https://github.com/putoutjs/parse-import-specifiers/issues"},"_id":"parse-import-specifiers@1.0.1","_nodeVersion":"18.16.0","_npmVersion":"9.6.6","dist":{"shasum":"cd961714f1ab14e23673563db5f2cb13d5a23ef5","size":1945,"noattachment":false,"key":"/parse-import-specifiers/-/parse-import-specifiers-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/parse-import-specifiers/download/parse-import-specifiers-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/parse-import-specifiers_1.0.1_1686139402400_0.5459566004512251"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-07T12:03:22.574Z","publish_time":1686139402574,"_source_registry_name":"default","_cnpm_publish_time":1686139402574},"1.0.0":{"name":"parse-import-specifiers","version":"1.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"Simplest possible way to parse ImportSpecifiers","homepage":"https://github.com/putoutjs/printer#readme","main":"./lib/parse-import-specifiers.js","repository":{"type":"git","url":"git://github.com/putoutjs/parse-import-specifiers.git"},"scripts":{"wisdom":"madrun wisdom","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","coverage:html":"madrun coverage:html","report":"madrun report"},"keywords":["putout","printer","AST","babel","api","traverse","generate"],"devDependencies":{"@putout/plugin-minify":"^1.8.0","@putout/plugin-printer":"^1.0.0","@putout/plugin-react-hooks":"^5.0.0","@putout/test":"^6.0.1","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^17.0.0","estree-to-babel":"^5.0.1","just-kebab-case":"^4.2.0","madrun":"^9.0.0","mock-require":"^3.0.3","montag":"^1.0.0","nodemon":"^2.0.1","putout":"^29.0.0","supertape":"^8.0.0","try-catch":"^3.0.0"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"642571aabb5a3e430f335362b589b842f02f8afe","bugs":{"url":"https://github.com/putoutjs/parse-import-specifiers/issues"},"_id":"parse-import-specifiers@1.0.0","_nodeVersion":"20.2.0","_npmVersion":"9.6.6","dist":{"shasum":"78e377fa8b0c1c6f8c9869e262e39b6ce12118e9","size":7932,"noattachment":false,"key":"/parse-import-specifiers/-/parse-import-specifiers-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/parse-import-specifiers/download/parse-import-specifiers-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/parse-import-specifiers_1.0.0_1686138363990_0.6151478686155691"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-07T11:46:04.182Z","publish_time":1686138364182,"_source_registry_name":"default","_cnpm_publish_time":1686138364182}},"readme":"# parse-import-specifiers [![NPM version][NPMIMGURL]][NPMURL]\n\n[NPMIMGURL]: https://img.shields.io/npm/v/parse-import-specifiers.svg?style=flat&longCache=true\n[NPMURL]: https://npmjs.org/package/parse-import-specifiers \"npm\"\n\nParse [`ImportSpecifiers`](https://github.com/estree/estree/blob/master/es2015.md#importspecifier) to `3 arrays` according to type.\n\n## Reasoning\n\nThere is `3` types of `ImportSpecifiers`:\n\n- ✅[`ImportDefaultSpecifier`](https://github.com/estree/estree/blob/master/es2015.md#importdefaultspecifier)\n\n```js\nimport test from 'supertape';\n```\n\n- ✅[`ImportNamespaceSpecifier`](https://github.com/estree/estree/blob/master/es2015.md#importnamespacespecifier)\n\n```js\nimport * as test from 'supertape';\n```\n\n- ✅[`ImportSpecifier`](https://github.com/estree/estree/blob/master/es2015.md#importspecifier)\n\n```js\nimport {stub} from 'supertape';\n```\n\nSo:\n\n- ☝️ *When you [generate code](https://github.com/putoutjs/printer) you should remember that after code transformations `ImportDefaultSpecifier` can be at the placce of an array.*\n- ☝️ *When you check [specifiers to destructure](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout/lib/multiple-properties-destructuring#readme) you should distinguish Import Specifiers from each other to determine what to do next*.\n\n## Install\n\n```\nnpm i parse-import-specifiers\n```\n\n## API\n\n```js\nconst {parseImportSpecifiers} = require('parse-imports-specifiers');\nconst {\n    defaults,\n    namespaces,\n    imports,\n} = parseImportSpecifiers(specifiers);\n\nfor (const spec of defaults) {}\n\nfor (const spec of namespaces) {}\n\nfor (const spec of imports) {}\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/putoutjs/parse-import-specifiers#readme","bugs":{"url":"https://github.com/putoutjs/parse-import-specifiers/issues"},"license":"MIT"}