{"_id":"140-opts","_rev":"5-b8022ff194d0bbcad7ab8a5c4ed42df7","name":"140-opts","description":"140 bytes fancy options parsing","dist-tags":{"latest":"1.3.0"},"versions":{"1.1.0":{"name":"140-opts","description":"140 bytes fancy options parsing","version":"1.1.0","license":"MIT","main":"index.js","homepage":"https://github.com/mklabs/140-opts","bugs":{"url":"https://github.com/mklabs/140-opts/issues"},"repository":{"type":"git","url":"git://github.com/mklabs/140-opts.git"},"scripts":{"test":"node test"},"gitHead":"68aff7f2636b82bebb73a47f39eb3b5916700066","_id":"140-opts@1.1.0","_shasum":"bdd15ad84abd76f06c3b7be22fb87a4f997763e4","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.0","_npmUser":{"name":"mklabs","email":"daniel.mickael@gmail.com"},"dist":{"shasum":"bdd15ad84abd76f06c3b7be22fb87a4f997763e4","tarball":"https://registry.npmjs.org/140-opts/-/140-opts-1.1.0.tgz","integrity":"sha512-/5s/gOqeobPR0d0xPkmaaN5ztwcg9g8ofHLcS9OpGsAWxpBwBcMBO/QoCcay5Berd1GObZoWxEBC1p0M5Kvzrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEMnaehY/ZUT0UocuGFWAi07XfC60pPuA5xAKGsG+faAiBBOiYsCLYI6nvtfA9iplOFmokT3nx/V0z1Qh8MGgr8Jw=="}]},"maintainers":[{"name":"mklabs","email":"daniel.mickael@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/140-opts-1.1.0.tgz_1464735493083_0.05736187449656427"}},"1.2.0":{"name":"140-opts","description":"140 bytes fancy options parsing","version":"1.2.0","license":"MIT","main":"index.js","homepage":"https://github.com/mklabs/140-opts","bugs":{"url":"https://github.com/mklabs/140-opts/issues"},"repository":{"type":"git","url":"git://github.com/mklabs/140-opts.git"},"scripts":{"test":"node test"},"engines":">=4","gitHead":"d03ad34a87cf3b739cb3576cd7ed1934b925ffa1","_id":"140-opts@1.2.0","_shasum":"1cfdc81630d3dd47e9ae07ecc945a58c0d9c234d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.0","_npmUser":{"name":"mklabs","email":"daniel.mickael@gmail.com"},"dist":{"shasum":"1cfdc81630d3dd47e9ae07ecc945a58c0d9c234d","tarball":"https://registry.npmjs.org/140-opts/-/140-opts-1.2.0.tgz","integrity":"sha512-ThmeA1WbH5wsiiFwIYDF1Uu+ceQKZixhlVTnr27F1UXdqHoz8nVSvNwp3z0AtcE7o2beKVGsH0zbRkmFIJBN7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu3K/lxbYXhEDMYc+7OQp5PpLviCDbtAyyFUee6+BbIAIgBaE9RBRGiRoj0sL8AyFNW8eF6wVlQ2Sp2uqeR2qEIjU="}]},"maintainers":[{"name":"mklabs","email":"daniel.mickael@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/140-opts-1.2.0.tgz_1465095915269_0.7922946009784937"}},"1.3.0":{"name":"140-opts","version":"1.3.0","description":"140 bytes fancy options parsing","main":"index.js","license":"MIT","homepage":"https://github.com/mklabs/140-opts","bugs":{"url":"https://github.com/mklabs/140-opts/issues"},"repository":{"type":"git","url":"git://github.com/mklabs/140-opts.git"},"scripts":{"test":"node test"},"engines":">=4","devDependencies":{"standard-changelog":"0.0.1"},"gitHead":"8bd15a2461e42d7de14c3aa0357a4f4d89fe49e7","_id":"140-opts@1.3.0","_shasum":"45e6461a5560cfe710735b77b89bcd33e839aa39","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.0","_npmUser":{"name":"mklabs","email":"daniel.mickael@gmail.com"},"dist":{"shasum":"45e6461a5560cfe710735b77b89bcd33e839aa39","tarball":"https://registry.npmjs.org/140-opts/-/140-opts-1.3.0.tgz","integrity":"sha512-Z1gafJWBvt6WNDhV5eYKivNPU0J9zLYdd3A0sdu/oujx3opagMTfzMXPShEM3XMAeBG04YfyJXA0VbKD0/sw+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoJB0lFywk6LkgmQBkxI0/S+FXmRoDWb92+ICPpKMUuQIgaCYTal0pta/ensniIslXv9bnvaNeadysDAs+vpBS120="}]},"maintainers":[{"name":"mklabs","email":"daniel.mickael@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/140-opts-1.3.0.tgz_1465097334774_0.8918165429495275"}}},"readme":"# 140-opts [![Build Status](https://travis-ci.org/mklabs/140-opts.svg?branch=master)](https://travis-ci.org/mklabs/140-opts)\r\n\r\n> Command line arguments parser. This one doesn't do much. But it feets in a tweet.\r\n\r\n\r\n## Installation\r\n\r\n    $ npm install 140-opts\r\n\r\nAlternately, to just copy the file into your repo and avoid an additional `package.json` dependency:\r\n\r\n    $ curl https://cdn.rawgit.com/mklabs/140-opts/master/opts.js > 140-opts.js\r\n\r\n    # or maybe\r\n    $ git clone https://github.com/mklabs/140-opts.git lib/140-opts\r\n\r\n## Code\r\n\r\n```js\r\nmodule.exports = function(a){return a.map(function(c,d){return{n:c.match(/^--?(.+)/),v:a[d+1]||!0}}).reduce(function(a,b){b.n&&(a[b.n[1]]=b.v);return a},{})}\r\n```\r\n\r\nin a sligtly more readable way\r\n\r\n```js\r\n// 242-opts\r\nmodule.exports = function (a) {\r\n  return a\r\n    .map(function (c, d) {\r\n      return {\r\n        n: c.match(/^--?(.+)/),\r\n        v: a[d+1]||!0\r\n      };\r\n    })\r\n    .reduce(function (a, b) {\r\n      b.n&&(a[b.n[1]]=b.v);\r\n      return a;\r\n    }, {})\r\n};\r\n```\r\n\r\n## Usage\r\n\r\n```js\r\nvar opts = require('140-opts')(process.argv.slice(2));\r\nconsole.log(opts);\r\n```\r\n\r\nTakes a single argument, an array of String to parse, usually `process.argv.slice(2)`.\r\n\r\n```js\r\nvar opts = require('140-opts');\r\nvar argv = opts(['--foo', 'foo', '--bar', 'bar', '-b', 'baz', '-o', 'woot', '--blah']);\r\nassert.deepEqual(argv, {\r\n  foo: 'foo',\r\n  bar: 'bar',\r\n  b: 'baz',\r\n  o: 'woot',\r\n  blah: true\r\n});\r\n```\r\n## Tests\r\n\r\n```\r\n    $ node test\r\n\r\n\r\n    Success!\r\n\r\n    $ --foo foo --bar bar -b baz -o woot --blah\r\n\r\n    { foo: 'foo', bar: 'bar', b: 'baz', o: 'woot', blah: true }\r\n\r\n    \\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/                        \\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/                        \\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/       We did it!       \\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/                        \\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/                        \\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n    \\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\\o/\r\n```\r\n\r\n\r\n---\r\n\r\n*educational and experimental, doing [140bytes] snippet of node code\r\nis kinda silly... But it's fun! And it's a good opportunity to learn some\r\nsuper-interesting [byte saving techniques](https://github.com/jed/140bytes/wiki/Byte-saving-techniques)*\r\n\r\n[140bytes]: http://140byt.es/\r\n","maintainers":[{"name":"mklabs","email":"daniel.mickael@gmail.com"}],"time":{"modified":"2022-06-12T14:05:45.310Z","created":"2016-05-31T22:58:14.100Z","1.1.0":"2016-05-31T22:58:14.100Z","1.2.0":"2016-06-05T03:05:16.989Z","1.3.0":"2016-06-05T03:28:57.097Z"},"homepage":"https://github.com/mklabs/140-opts","repository":{"type":"git","url":"git://github.com/mklabs/140-opts.git"},"bugs":{"url":"https://github.com/mklabs/140-opts/issues"},"license":"MIT","readmeFilename":"readme.md"}