{"_id":"explicit","_rev":"15-39a7877a71ea9e99978e54cd5a1f6be2","name":"explicit","description":"System to explicitly specify the way a method works.","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"explicit","version":"0.0.1","description":"System to explicitly specify the way a method works.","main":"index.js","scripts":{"test":"lab -c"},"repository":{"type":"git","url":"https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"lab":"~4.0.1","nodemock":"~0.3.4","lab-lint":"0.0.3"},"dependencies":{"joi":"~4.6.2"},"bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit","_id":"explicit@0.0.1","dist":{"shasum":"8de6f1e75411460b5e850da3483e1205c0b34bcd","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.0.1.tgz","integrity":"sha512-IcPiKCosXJIgaeH6zqP+Pg63iWxCt3C66EdwVj8NerIN5Zi8sT/EMPYvgFl0K9OaLI549G4dY1wtOSRHoFwdGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHSMnVc+CW0HyQc0fyy3kCw1l3tqmauG7JI9n7y60JUsAiBBus2t3MT6XOyGrGwqiouUnO3z9ZapdW3cj1vDjbwzPg=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"directories":{}},"0.0.2":{"name":"explicit","version":"0.0.2","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"test":"lab -c"},"repository":{"type":"git","url":"https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"lab":"~4.0.1","nodemock":"~0.3.4","lab-lint":"0.0.3"},"dependencies":{"joi":"~4.6.2"},"gitHead":"9c9e46677c93233e2f22be36c2c2018d6799f92a","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit","_id":"explicit@0.0.2","_shasum":"7856c4403bd483e2da3642d0130ec51eabe88288","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"7856c4403bd483e2da3642d0130ec51eabe88288","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.0.2.tgz","integrity":"sha512-Q6iWbYQ4cKnRkncleaphgGNREE9+mloWWwfINgQhqwJc0WsOrzKm7Rv7Gq/SIH/m9NOhJFibKOEKbijyXMMyVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9i8t34ZHkoKI//AwHiXSwla1XJQnsjZEvCM8nwWi+CAiAkwAIph4gFBWEpjLYOmLkAlBXDo1memiiTGJdxHOB6Cw=="}]},"directories":{}},"0.0.3":{"name":"explicit","version":"0.0.3","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"test":"lab -c"},"repository":{"type":"git","url":"https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"lab":"~4.0.1","nodemock":"~0.3.4","lab-lint":"0.0.3"},"dependencies":{"joi":"~4.6.2"},"gitHead":"6ba10f308d1366a66bf64086a96e4f3028db6f9f","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit","_id":"explicit@0.0.3","_shasum":"ef5714873b5f3865237bb5cd3edbba5824431007","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"ef5714873b5f3865237bb5cd3edbba5824431007","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.0.3.tgz","integrity":"sha512-0TOw2QCXphOchb2VXbqxrrUdowcO7m6BFBav8jT25PVQYg1VY4yfCkI54kfK473bpYkgEukvPswSq3MNEAszaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+3M8PP5yPyyB9zlEKG/SB3qG33xIfeGQJ6iM8WUK1CAiEA+NCp0Lt93ogNQVvBk3EHFewMrXetvdMRdJHhbQW2uKQ="}]},"directories":{}},"0.1.0":{"name":"explicit","version":"0.1.0","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"test":"lab -c"},"repository":{"type":"git","url":"https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"lab":"~4.0.1","nodemock":"~0.3.4","lab-lint":"0.0.3"},"dependencies":{"joi":"~4.6.2"},"gitHead":"7e2da75c50f0e17dee0c5be3842dc452c4c2e9f4","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit","_id":"explicit@0.1.0","_shasum":"055a6b48ed9b9852c9b989b8b0202d40a394fe64","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"leichtgewicht","email":"mh@leichtgewicht.at"},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"dist":{"shasum":"055a6b48ed9b9852c9b989b8b0202d40a394fe64","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.1.0.tgz","integrity":"sha512-thI3d9IGoHSAV9XH+E+S0nedxVkmK4gWdNbcfmqXo/G2GWefEp3DSyoq+5riuTqoanQuSSYNff4F6ouaBajIfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIALsobgoNQF2pvWTkIB5Lt7NLRFBnNQzXw6UudMKP3yrAiEAivpMaPgGgsSkRnwi2ZKZBte9iIvIOsrm+W5kAJGvYS0="}]},"directories":{}},"0.1.1":{"name":"explicit","version":"0.1.1","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"lint":"standard","test":"npm run lint && mocha"},"standard":{"globals":["describe","it"]},"repository":{"type":"git","url":"git+https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"chai":"^3.5.0","mocha":"^2.4.5","nodemock":"~0.3.4","standard":"^5.4.1"},"dependencies":{"joi":"^6.10.1"},"gitHead":"71d17a72d2017eac28054530c4ce551fa979ddb3","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit#readme","_id":"explicit@0.1.1","_shasum":"1ccd56c8a9350da2df37d116c125233d152f8110","_from":".","_npmVersion":"3.3.9","_nodeVersion":"5.0.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"shasum":"1ccd56c8a9350da2df37d116c125233d152f8110","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.1.1.tgz","integrity":"sha512-p7sTzJxLiuD1wcSr4nVdb0KPlcetjBzHbXAB1QmftElvfJxgJYpF614SzdruQZ9z3KR0Z5bX//0Tiu7Nnei4mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH6tgBSP5BQRBMN+A19WAsPI1hWIuJVvmT/II5sMpZLgIhAJVBcm7S8RpUmFpdIDHiPk3MkMcJYHMyBogjOIY4NFfH"}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"directories":{}},"0.1.2":{"name":"explicit","version":"0.1.2","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"lint":"standard","test":"npm run lint && mocha"},"standard":{"globals":["describe","it"]},"repository":{"type":"git","url":"git+https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"chai":"^3.5.0","mocha":"^5.2.0","nodemock":"~0.3.4","standard":"^11.0.1"},"dependencies":{"joi":"^13.4.0"},"gitHead":"c53b45223c9db341a38524e3ce17872f7004e047","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit#readme","_id":"explicit@0.1.2","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"dist":{"integrity":"sha512-ZsoO0pKPg69W/YDLElxv2CzIXqKymzF9XzQdkI/UWMHvuzTzh4Pf/gnwVY58yaqaz4RSZLrkmHKhOoDino/kAQ==","shasum":"5f368a8e3f0ca813a78bbca62086ae173235d4cc","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.1.2.tgz","fileCount":26,"unpackedSize":28373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSAomCRA9TVsSAnZWagAAZQoP+QFHiLtj4iqeb0fabAEB\nRYVARXqJ8gat2ri76Ik1aJzSTXw71yHxYd6yFJwdKFaZZaaL/isAxTzXkbAq\nj9vJTfqDn1BPUaHlYvMRg8HwrGU/2l8JUJ2AcPQtL3QLPhIJjBMkVWJf/xlO\ntOwg32TwXdQSNrXsBSEHNufFGmLJdgvZoWtlZ5u2uu2nK1s+zJLv5iRFuS7G\n5Np9qYtHZsVeDsBmVrngSns0x/pKzkP3cLBt1zTnpeuoPoE7KJvGJT4W+4dU\nIviYTSDNAM5QOAq/gwdeT3+P39xCcO5hSiTtJsxEtuVvQGEWsxGsSGpw68Cx\nxjr7fCTC+8YLJ5wQS1GFr/04wJyHy2XMTmydm8heh8spS1BJE88V5AmE3ymI\neOs2xDY1eToPUQet0k5FCQ0Bi8WeYRUufj+Ydff0Tod0sZTU6cbu/rbs0u6P\noCN6d5zqSKlFke+R9D5sB5VbEpXEiMTBbitwlkCw0JUMJZ1NLi9qcVJXyry1\nnBy2kXCwOUjq8Bp2UhvAigniBM3+3yIT6l54VU9+Q5eaOFV3aS7YVaNipx0n\n6WYb0mbnZQ6TD9gAMUR7hQEL6fbFYX2O7rzqfNk4bFMxZnshtGyEWqKdFXOq\nv4zJZK+tpzewr1xYz4+rGP2Ca7fYfhR/7/ZG/rzJyLQqyiDIb3oTlB+XhP1T\nepTt\r\n=VTjf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIjgMla9tomZY4rWx/OU665dkpun+HQvmWMVCWcsj9iAiBD9j7w2mRH18sl7VFQSjGhnfsDInzRZ8EmFWk65Bxg+w=="}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/explicit_0.1.2_1531447846634_0.763729228480551"},"_hasShrinkwrap":false},"0.1.3":{"name":"explicit","version":"0.1.3","description":"System to explicitly specify the way a method works.","main":"lib/index.js","scripts":{"lint":"standard","unit":"mocha \"test/**/*.js\"","test":"npm run lint && npm run unit"},"standard":{"globals":["describe","it"]},"repository":{"type":"git","url":"git+https://github.com/explicitjs/explicit.git"},"keywords":["augmentation","extension","documentation","annotation"],"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"license":"ISC","devDependencies":{"chai":"^4.2.0","mocha":"^6.1.4","nodemock":"~0.3.4","standard":"^13.0.2"},"dependencies":{"@hapi/joi":"^15.1.0"},"gitHead":"b70ecc1e55fff91f25f6dd0466a2c55f72dcddb9","bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"homepage":"https://github.com/explicitjs/explicit#readme","_id":"explicit@0.1.3","_nodeVersion":"10.3.0","_npmVersion":"6.9.2","dist":{"integrity":"sha512-Y1xrJFdIwhLwKTHDuk7IGp0iMbLlctk7tEjo3hvKvjnWaUaze5lGZf/u0IfanYVbtNogbSIdLlOmuCKP46Td7g==","shasum":"f91fbda2809001f66dcf061db410984c69ca09e3","tarball":"https://registry.npmjs.org/explicit/-/explicit-0.1.3.tgz","fileCount":26,"unpackedSize":27219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLtf6CRA9TVsSAnZWagAAZd8P+wf7JlVS8TjAg+6ZwLwE\ntfPdVr3qtJkj/hVysIbst9TV+2ITFXo9rRQ2l9KH9uLPcJXi7ADZoUxZNvHZ\n1Xb1527AQVbbzu9VZgaIoW/QZ+QG4ezMWywCKX153dG6jgEGkh8j+KOOwvT4\nvSkC0dpxh7AVOr3FvmUhkPMuSMa1AJj5SbJxukEQJMTqaAlZQLixb443rICx\nG4xi48ZuDyC6VDjLddeBYBkKAQ5VlsjaeuEWFmj0d1zhf7V0coES6Q+3pGZf\nDCd9LzJlJaiiSVKdtasGpqPpgL8rakGc0Xeq+ZUHh9Z3n0B4nGRyi+hPwKPc\nRVRFkwXnEp3ajkA0ltE7IvqpwNB104OzDdayomhuIrF+Q0TQ44tKyYf1r2r1\nDNi+II/kak7laMiUCxDpMnn97QA2JNe4En54Vk/GHeCIqrVsmczxWLrX2n3e\nfdSpYY7IjiK5SyzTtLIetCO4C5cvX7ZiU8ycC1SmvD5e4XODwjCgZUXU96ZC\ntiUkFko46l+pwn9EbkH5Dez1OFMrx9rZoJ+J0kE2xKGJelE4un2a7HWFq2dX\nESlowPhyQ8bSK+wfnfZsAwzLe8MOzNYJZFQVpRT4J+gHzxN1CRF1m8SNk8Hi\nOGU49P9xrP9Z8yVOc/IylmpqEN2xIeEuYLWz5vHkymglnS9+9NbiJcQMgNs8\nVfsB\r\n=b/cj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAJFDdR8sC1wE36OSPJnmpFBjm1nWBRyYmsYQntN5JjAiAV3e5uIfxEt88RauSkSIrmtlVO3J86gaD8Dzc7m4pAOg=="}]},"maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/explicit_0.1.3_1563351034011_0.6488961173956678"},"_hasShrinkwrap":false}},"readme":"[![build status](https://travis-ci.org/explicitjs/explicit.svg?branch=master)](https://travis-ci.org/explicitjs/explicit)\n[![Code Climate](https://codeclimate.com/github/explicitjs/explicit/badges/gpa.svg)](https://codeclimate.com/github/explicitjs/explicit)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)\n\n# Explicit.js\n\nExplicit.js allows explicitl annotation, documentation and augmentation of JavaScript methods.\n\n```bash\nnpm i explicit joi -S\n```\n\n## Usage\n\n```JavaScript\nvar explicit = require(\"explicit\"),\n    joi = require(\"joi\");\n\nvar object = explicit({\n    foo: {\n        $args: [\n            joi.string().meta(\"bar\")\n        ],\n        $: function (bar) {\n            console.info(bar);\n        }\n    }\n});\n\nobject.foo(1); // 1\nobject.foo.valid(1); // will fail because the first argument is not allowed to be a string\nobject.foo.validObject({\n    bar: \"Hello World\"\n}); // \"Hello World\"\n```\n\nFor single method definition add the  ```$one``` parameter.\n\n```JavaScript\nvar foo = explicit({\n    $one: true,   \n    $args: [\n        joi.string().meta(\"bar\")\n    ],\n    $: function (bar) {\n        console.info(bar);\n    }\n});\n\nfoo(1); // 1\nfoo.valid(1); // will fail because the first argument has to be a string\nfoo.validObject({\n    bar: \"Hello World\"\n}); // \"Hello World\"\n```\n\nAnd in case you want to make the assertion required you add the ```$assert``` parameter.\n\n```JavaScript\nvar foo = explicit({\n    $one: true,\n    $assert: true, \n    $args: [\n        joi.string().meta(\"bar\")\n    ],\n    $: function (bar) {\n        console.info(bar);\n    }\n});\nfoo(1); // will fail because the first argument has to be a string\n```","maintainers":[{"name":"leichtgewicht","email":"mh@leichtgewicht.at"}],"time":{"modified":"2022-06-17T22:03:27.802Z","created":"2014-08-13T20:00:26.134Z","0.0.1":"2014-08-13T20:00:26.134Z","0.0.2":"2014-08-29T13:38:38.551Z","0.0.3":"2014-08-31T05:31:18.787Z","0.1.0":"2015-04-19T19:08:46.516Z","0.1.1":"2016-01-31T17:02:50.789Z","0.1.2":"2018-07-13T02:10:46.680Z","0.1.3":"2019-07-17T08:10:34.170Z"},"homepage":"https://github.com/explicitjs/explicit#readme","keywords":["augmentation","extension","documentation","annotation"],"repository":{"type":"git","url":"git+https://github.com/explicitjs/explicit.git"},"author":{"name":"Martin Heidegger","email":"martin.heidegger@gmail.com"},"bugs":{"url":"https://github.com/explicitjs/explicit/issues"},"license":"ISC","readmeFilename":"Readme.md","users":{}}