{"_id":"optometrist","_rev":"11-9782fee1757bb6ac8ccff5ac9e95db14","name":"optometrist","description":"Simple argument parsing via process.argv and process.env.","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"optometrist","version":"0.1.0","description":"Simple argument parsing via process.argv and process.env.","main":"index.js","scripts":{"test":"mocha -r test/setup test/spec"},"author":"","license":"ISC","devDependencies":{"mocha":"^1.21.4","chai":"^1.9.1"},"_id":"optometrist@0.1.0","dist":{"shasum":"6599c546a5b7df0530f39e30ec6d69f11bf761b8","tarball":"https://registry.npmjs.org/optometrist/-/optometrist-0.1.0.tgz","integrity":"sha512-GCKyvOftf6FCHQLpS17iZjErrmVB0MINsEloIYN0Y/FqGTC7hL7KgcOUubUrJRNlUyHUi/kyzt86lF+4ex1MEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBqDPXTKC+26p/B1WKcE/zPfzVCgF6T19l6NONrckpGgIhAM105AzHyjXGKxnrOlXg7lqGT4PDhwVw5u+aMVheUIkD"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"goldibex","email":"me@goldibex.com"},"maintainers":[{"name":"goldibex","email":"me@goldibex.com"}]},"0.1.1":{"name":"optometrist","version":"0.1.1","description":"Simple argument parsing via process.argv and process.env.","main":"index.js","scripts":{"test":"mocha -r test/setup test/spec"},"author":"","license":"ISC","devDependencies":{"mocha":"^1.21.4","chai":"^1.9.1"},"_id":"optometrist@0.1.1","dist":{"shasum":"fe9553e20d880053008c8b90d98f075a64a534d6","tarball":"https://registry.npmjs.org/optometrist/-/optometrist-0.1.1.tgz","integrity":"sha512-+Q6vMVsR3wXa//THKpJ7yAa5eHyCC+CKUU0qNND0molwHhxNKbbc4s+KrUqV1/zNhl48ZExKV6JKBEl6FfJ+lA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDglUv604HXLBu6ZOWkMxIxTWS7ZgmqTxtKtk5063ewwwIhAI/S/bxFb2yFlfezxPsSckkmdIE89APH/tP+GouceP2V"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"goldibex","email":"me@goldibex.com"},"maintainers":[{"name":"goldibex","email":"me@goldibex.com"}]},"0.1.2":{"name":"optometrist","version":"0.1.2","description":"Simple argument parsing via process.argv and process.env.","main":"index.js","scripts":{"test":"mocha -r test/setup test/spec"},"author":"","license":"ISC","devDependencies":{"mocha":"^1.21.4","chai":"^1.9.1"},"_id":"optometrist@0.1.2","dist":{"shasum":"b3a75622973a72a2ec1abb1eff86ee4329803a96","tarball":"https://registry.npmjs.org/optometrist/-/optometrist-0.1.2.tgz","integrity":"sha512-6DvoEW3CLmVgwAWKQrRMokvNLd7fHwsgQPybj73zrq4me6vy8uIO3ZasupBsf65hqPkLhhL+sEEHRzT738cjkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/Qu0U12SordpZi2fNnHPpwiShd5WOJdeZX7phk4x6KgIgIjfIhHP/mRt3zfi69mzKERw4xhTXkJlkWt6zKACJNrw="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"goldibex","email":"me@goldibex.com"},"maintainers":[{"name":"goldibex","email":"me@goldibex.com"}]},"0.1.3":{"name":"optometrist","version":"0.1.3","description":"Simple argument parsing via process.argv and process.env.","main":"index.js","scripts":{"test":"mocha -r test/setup test/spec"},"author":"","license":"ISC","devDependencies":{"mocha":"^1.21.4","chai":"^1.9.1"},"_id":"optometrist@0.1.3","dist":{"shasum":"76971bb5450578312ad10ab76a5638fc46d3f668","tarball":"https://registry.npmjs.org/optometrist/-/optometrist-0.1.3.tgz","integrity":"sha512-IYmYGVTW1cpn06pFX1oNMRYy66oJRddsWgx79HRu4RqyiwVJHUPFmCOvxDEQz4PDjtXLsB362/+uBudIHEU1vA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcJvcYdCLfWwt3L3uy+iIBtzEpGeZCN2jBWEqr7mDvOgIhAIyN3yt4/+XGxZ5/ltrgIlGeQQ46rrTm3GCCgVr5G4QU"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"goldibex","email":"me@goldibex.com"},"maintainers":[{"name":"goldibex","email":"me@goldibex.com"}]},"1.0.1":{"name":"optometrist","version":"1.0.1","description":"Simple argument parsing via process.argv and process.env.","main":"index.js","scripts":{"test":"mocha -r test/setup test/spec"},"author":{"name":"Harry Schmidt","email":"goldibex@casetext.com"},"license":"ISC","repository":{"type":"git","url":"https://github.com/goldibex/optometrist"},"bugs":{"url":"https://github.com/goldibex/optometrist/issues"},"devDependencies":{"mocha":"^1.21.4","chai":"^1.9.1"},"gitHead":"296b8720c1678e78f24fcbe7a9366d40131a8c44","homepage":"https://github.com/goldibex/optometrist","_id":"optometrist@1.0.1","_shasum":"f2d3b4e212dbcb07b6b7e010d8445d00ee1154e3","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"goldibex","email":"me@goldibex.com"},"maintainers":[{"name":"goldibex","email":"me@goldibex.com"}],"dist":{"shasum":"f2d3b4e212dbcb07b6b7e010d8445d00ee1154e3","tarball":"https://registry.npmjs.org/optometrist/-/optometrist-1.0.1.tgz","integrity":"sha512-YfxTmPLjK48b6jvOuytUzCc/y9G+IL8ZsKYMOh28wB47msnlLShIHVw90lciQ9eaFch69vo+Hn55ThwR/W8T2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcHjcbXMw5STxzWKY/NYcTdv8j9nIBEY1FCzqE1rVk5AiEAlyp+LJSDVDGJFjtyu2R+xpY+e3lauSOxHAoDptPd8bY="}]}}},"readme":"optometrist\n===========\n\nOption setting via flags, environment variables, and defaults (in that order).\n\n## Why yet another options parser?\n\nMost of the others out there have way too much configuration to cut through,\nand for whatever reason environment varibles never got that popular among Nodeists.\n\n## Installation\n\n```bash\nnpm install optometrist\n```\n\n## Methods\n\n### optometrist.get(schema)\n\nGiven a schema object, returns an object containing settings.\nThey're retrieved in the following order of prioirty:\n\n1. Flags\n2. Environment variables\n3. Schema-provided defaults.\n\nThe schema object follows this structure:\n```javascript\n{\n  'key': {\n    'description': 'It\\'s a key.',\n    'required': true\n  },\n  'otherKey': {\n    'description': 'Please spell \"key.\"',\n    'default': 'something'\n  }\n}\n```\n\nIf you include a 'required' key and it can't be found in any of the three locations,\nOptometrist will throw. This is convenient for use with ```optometrist.usage()```, as below.\n\nJSON.parse is used to coerce flags and environment variables back into Javascript objects.\n\nEnvironment variable and flag names are converted to camel case for your convenience.\nSo if you define a setting in your schema with a name like 'howManyRomans', it'lll be\nlooked up in the environment as ```HOW_MANY_ROMANS``` and in the flags as ```--how-many-romans```.\n\nFlags should use the syntax ```--flag=value```.\n\n### optometrist.usage(name, description, schema)\n\nReturns a string containing usage information for the schema. Useful for writing\na command-line application.\n\nActually, all you have to do is:\n\n```javascript\nvar schema = {\n  foo: {\n    required: true\n  }\n};\n\nvar settings;\n\ntry {\n\n  settings = optometrist.get(schema);\n  console.log('You provided', foo, 'for foo.');\n\n} catch(e) {\n  \n  console.log(optometrist.usage('myapp', 'Does cool stuff!', schema);\n  process.exit(1);\n\n}\n```\n\nIf the user fails to supply a value for ```foo```, they'll get the following:\n\n```\n\nDoes cool stuff!\nUsage: myapp options\n\nOptions:\n\n  --foo\n\nAny of the parameters can also be set by environment variables:\n\n  FOO\n\nError: Missing required option foo\n```\n\n### optometrist.merge(dst, [src1], [src2], ...)\n\nNonrecursively merge keys from src1, src2, etc., into dst.\nProvided as a convenience.\n\n## Development\n\n```bash\ngit clone https://github.com/casetext/optometrist\ncd optometrist\nnpm install\nnpm test\n```\n\n## Copyright\n\n© 2014, J2H2, Inc. Licensed under ISC.\n","maintainers":[{"name":"goldibex","email":"me@goldibex.com"}],"time":{"modified":"2022-06-23T01:25:27.563Z","created":"2014-08-19T03:21:46.022Z","0.1.0":"2014-08-19T03:21:46.022Z","0.1.1":"2014-08-19T03:25:03.944Z","0.1.2":"2014-08-19T15:55:58.691Z","0.1.3":"2014-08-20T17:54:40.009Z","1.0.1":"2015-06-07T23:06:48.743Z"},"license":"ISC","readmeFilename":"README.md","homepage":"https://github.com/goldibex/optometrist","repository":{"type":"git","url":"https://github.com/goldibex/optometrist"},"author":{"name":"Harry Schmidt","email":"goldibex@casetext.com"},"bugs":{"url":"https://github.com/goldibex/optometrist/issues"}}