{"_id":"@aminnairi/natural","_rev":"2-b39a52287c9a1b33434cc4930c9165e3","name":"@aminnairi/natural","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@aminnairi/natural","description":"Parse options using a natural language","version":"0.1.0","license":"GPL-3.0-or-later","scripts":{"tests":"mocha tests","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"4.3.4","mocha":"8.3.2","nyc":"15.1.0","rollup":"2.43.0","rollup-plugin-delete":"2.0.0","rollup-plugin-terser":"7.0.2"},"gitHead":"1ae8347e67ccecfcd45eabd90bf9eb2cb1acc2b8","_id":"@aminnairi/natural@0.1.0","_nodeVersion":"15.0.0","_npmVersion":"7.0.2","dist":{"integrity":"sha512-Rv3oje8vQCK6v+EyrniZqLYUY8ZXJFreCukXGdkgh8PhuxnGAG5we55cKh7CTYMKQLopqMtbAEGyv+/9EQNuxA==","shasum":"efe06d55802f6386b15752b2a33fc7aa9d5cbade","tarball":"https://registry.npmjs.org/@aminnairi/natural/-/natural-0.1.0.tgz","fileCount":17,"unpackedSize":48011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYEr0CRA9TVsSAnZWagAAvPAP/iJ+25ZU2a4Di84bNh+A\n76H5t39Ho3rPSNbKqirQq1W9Wh7Nx6Vx3Y6/yObCfLwAtAOmqp4ucVAyUUJ7\nixT9yw5QgoQSwOaq4Fh1mqZl4/SD01TtDrOxNC1Sr9c3kU+LwABtsps6Xt5z\ne0yOgI/Y3L2AeLRajDt7to2Yn3SgXDmO1LX7WmzOUaICnJeaLo+apjtiXZRs\nVSDfDdziqgVshmoUzkhkKuPM66xsC2RRw6dnJvFkpghxLj+D/960bmA3xxXM\n6tenca4dMqdtIqgQaAYbWR38VPRaL3QgZ2FpzLEpe6bu55zxc/A4FGgHMv8s\nSpFerUOglFlQXyynxW0ejeb+MT4AG1IGJutIB0kmxLxIRU76AaL4OI4/yzOx\n4jTinEUpf9uaXcBOUJ/2F2rk+3e3gTxyQs5VDnFZD0ahZ4d6untEffib08cJ\nAC6lmBScqyXH6zqHHnQnWtk0MNP+OlkWCgV8zJX0PN8ZFMuSVgxr/B5NchMF\nOOMCQKEhBzGiD8LrytUFPmp++x8VXNJdGzpjxbfyPcq1z6o2FYjcd4smoaAe\n5ZOpBZs/9ICOeM6V1EkQReImgc2ShjkGuec3NQXSB3tZ7+GzCFnJGFstz1nS\nq0VHK9YnR67b7ncdWOvYjgEZyw1OyTpSwppnvzySBNjb1PgLIDHXB1Rs4igg\nehEB\r\n=ggt0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2mpU2DzeL7/2net6NaYJ4ak1eAGDm+5D/JmHoHI1W+gIhAISIYiOFktNuVeRfJ9YI+szUPQQoC4TqHVMQ4eIDOD4W"}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/natural_0.1.0_1616923380217_0.5558269123390931"},"_hasShrinkwrap":false},"0.1.1":{"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/node-natural/issues"},"description":"Parse options using a natural language","homepage":"https://github.com/aminnairi/node-natural#readme","keywords":["node","javascript","parse","option","options","natural","language","parser","argument","arguments","parameter","parameters"],"license":"GPL-3.0-or-later","main":"release/natural.js","name":"@aminnairi/natural","version":"0.1.1","scripts":{"tests":"mocha tests","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"4.3.4","mocha":"8.3.2","nyc":"15.1.0","rollup":"2.43.0","rollup-plugin-delete":"2.0.0","rollup-plugin-terser":"7.0.2"},"gitHead":"10c7d4cc8be6536bc6be6e20cfd5e8f91f1dcd9b","_id":"@aminnairi/natural@0.1.1","_nodeVersion":"15.0.0","_npmVersion":"7.0.2","dist":{"integrity":"sha512-0BXnWcB1FI5Isj5IbDPU5+uE2YX3dFewwl3xUBLQ2C6PTcbP+B1QiCUYOJ0jilZv8vJOdrq8wcpH0NGuO1jPlQ==","shasum":"5c8e78806b03c58647f7ddfdeb5ef90749caa6f3","tarball":"https://registry.npmjs.org/@aminnairi/natural/-/natural-0.1.1.tgz","fileCount":5,"unpackedSize":38835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYE11CRA9TVsSAnZWagAAwzMP+wSSOIVbEvv3FI1M7Cok\nASPuvdUXUQpj4GDE/fQT4fBSUXu9qzjOp8Nv/OWUleoYgKG2t69y1SYtox0p\nHEi1X/TF+1PBKdQV33Hfq8pucwOaaEoTjppudx4+GvqVpsVTuBTcgPRCnEha\nbJTnSdlwfwU4QXf6+EVpfbKTEUJLgFc3TRHz7Yg3SQHtn673NT0r/k6KJU/N\nI2JU5kG5ci3v+xwdo1li2GXtwD5RokJcfoWBAvkzawC8La1zLnzJZjh9FoLV\nCwP0z+TIFN2gtm3MmKN7npTaH3eriHjpipLIKtM0UgWDTRHBuVmQmceFLkUy\nihTz6nHy/atqrSKkwhXk94yzly8P+TYmG0DB1xUZsMeli3EIfVZaaNPD+4ib\nuAdK0MK48LI7eZHErZ33JNO8mjKAkgTTAbsTupXcJF3zr+AdPWkl2esJIOvj\n07v1hZro9hbtsF3LgCWQxx7TDdvpNvqhClBMxby7CxLRwAIobc98+Yp45PWi\neLmOEEUg/5aWIlpXZnYf24pddqXYcIYbdWe8s9hB/ma5O8uq2Vh6gotn212A\nvO1WmKePhHA60ImauZEArr6PllkIZTEeiCgtYA9R6BAtTp9xB4UydzeljEFY\n5URZYXAOySPnCPZ+U+XGlP3LQsOgevuyItjuwGQrDiRZpG6LFvkwR4y9qPM9\nmNna\r\n=h8sg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAE1zgOjKBFInwQHeElEeu3B8ey8ZqqmPS3CJJmNZ4v9AiEA792+lFf3oVuGUie0xg0rG3uh7IJRYVCZZl95o3g+P10="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/natural_0.1.1_1616924021189_0.8900508551010236"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-28T09:23:00.151Z","0.1.0":"2021-03-28T09:23:00.413Z","modified":"2022-04-04T13:49:20.127Z","0.1.1":"2021-03-28T09:33:41.375Z"},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"description":"Parse options using a natural language","license":"GPL-3.0-or-later","readme":"# node-natural\n\nParse options using a natural language\n\n[![Tests](https://github.com/aminnairi/node-natural/actions/workflows/test.yaml/badge.svg?branch=next)](https://github.com/aminnairi/node-natural/actions/workflows/test.yaml) [![Publish](https://github.com/aminnairi/node-natural/actions/workflows/publish.yaml/badge.svg?branch=latest)](https://github.com/aminnairi/node-natural/actions/workflows/publish.yaml)\n\n## Requirements\n\n- Node\n\n## Usage\n\n```console\n$ npm install @aminnairi/natural\n$ touch hello\n```\n\n```javascript\n#!/usr/bin/env node\n\nimport {createNaturalOptionParser} from \"@aminnairi/natural\";\n\nconst parse = createNaturalOptionParser([\n  {name: \"help\", option: \"help\", isBoolean: true, isMultiple: false},\n  {name: \"name\", option: \"name\", isBoolean: false, isMultiple: false},\n  {name: \"countries\", option: \"country\", isBoolean: false, isMultiple: true}\n]);\n\nconst [parsed, unknown, lone] = parse(process.argv.slice(2));\n\nif (lone.length > 0) {\n  console.error(`Lone argument: ${lone[0]}`);\n  process.exit(1);\n}\n\nif (unknown.length > 0) {\n  console.error(`Unknown argument: ${unknown[0]}`);\n  process.exit(2);\n}\n\nif (parsed.name === undefined) {\n  console.error(`Missing argument: name`);\n  process.exit(3);\n}\n\nif (parsed.help) {\n  console.log(\"Usage:\");\n  console.log(\"  hello name You\");\n  console.log(\"  hello name You country France\");\n  console.log(\"  hello name You country France country Spain\");\n  process.exit(0);\n}\n\nif ((parsed.countries ?? []).length > 0) {\n  console.log(`Hello ${parsed.name} from ${parsed.countries.join(\", \")}!`);\n  process.exit(0);\n}\n\nconsole.log(`Hello ${parsed.name}!`);\n```\n\n```console\n$ chmod +x hello\n\n$ ./hello\nMissing argument: name\n\n$ ./hello name\nLone argument: name\n\n$ ./hello name You hello\nUnknown argument: hello\n\n$ ./hello name You\nHello You!\n\n$ ./hello name You country France\nHello You from France!\n\n$ ./hello name You country France country Spain\nHello You from France, Spain!\n\n$ ./hello name You country France country Spain help\nUsage:\n  hello name You\n  hello name You country France\n  hello name You country France country Spain\n```\n","readmeFilename":"README.md","homepage":"https://github.com/aminnairi/node-natural#readme","keywords":["node","javascript","parse","option","options","natural","language","parser","argument","arguments","parameter","parameters"],"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/node-natural/issues"}}