{"_id":"hannibal","_rev":"31-cbbb48aecbf133331e9f2577de934cf5","name":"hannibal","description":"Validate and modify JavaScript objects","dist-tags":{"latest":"0.6.2"},"versions":{"0.0.1":{"name":"hannibal","version":"0.0.1","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","gitHead":"5d3a1c78906c102c0f45d5770ae4777dc5f69d92","_id":"hannibal@0.0.1","_shasum":"c49a61f41cc53d89b2202efb50940898970073c2","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"c49a61f41cc53d89b2202efb50940898970073c2","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.0.1.tgz","integrity":"sha512-Di5l6feOOUMIuH1qmNJPZs1gDaV7ZtQ5GNmFOQGMEQXRhImgg0j2x8LpZ+guq41/LOVDjwNmdwbtJubNVMgTEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgwXItCXnHw+Kn7lCARR6W404L7q+CcAA5I4ZvrwVqGgIhAPt9T2jGNrlrmy1c/8WRMptKeTVqT1KbuC4vvPhsXUvO"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.1.0":{"name":"hannibal","version":"0.1.0","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"4ff34771acc8071b58b03735d597ba91d8a2e916","_id":"hannibal@0.1.0","_shasum":"d59f3991a8f78bae69f853f83d9f2b2611d7dd2b","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"d59f3991a8f78bae69f853f83d9f2b2611d7dd2b","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.1.0.tgz","integrity":"sha512-nNdkro4CkfABkoIPhKny+uxCprAsWv+5Cq2pOtHdK0t29bZlbjcpEmc1CiJK233TnfYO0A7YpyRoZRmCTccNRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAlqVeIz8wRuzgDFGlHdLAqfzt8tCHdJVTqZ7+Cg5xEnAiEAlLsitwFmYlsf7AQg+4366pOn+5bl13FMyPXSi8mK0s4="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.1.1":{"name":"hannibal","version":"0.1.1","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"bff87ed481e38ccd9c7a5f121f5826f625ae45fa","_id":"hannibal@0.1.1","_shasum":"7da631d9fb52b1b967422aaa622ce9af530fe932","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"7da631d9fb52b1b967422aaa622ce9af530fe932","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.1.1.tgz","integrity":"sha512-Ocy50HYVg50qF8PnS7kx7vSOkBCU79D/thyu6YJDF4lCSaCUu+En+p0Ov2bAtmRSu+s1AhaZtdNtD0COM2Wb4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ0PIGb2v9ZMwh6dJT8EAJ5eA3qnPTEcwOrdJTf2XJqAIgX6GWsjcRZtII4GbQ5owqj7YPN94fiG0pzH1O1bQ1+uk="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.1.2":{"name":"hannibal","version":"0.1.2","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"7b67b394d66c00e8aa54fa2788f2255cef01021b","_id":"hannibal@0.1.2","_shasum":"3195d887e15e3a4ba7a1188f10bf002eecef05da","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"3195d887e15e3a4ba7a1188f10bf002eecef05da","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.1.2.tgz","integrity":"sha512-6I4Lf42nnLA9eyzS+76pVJr+NazMnckie6vb+iBNkMIwlAg3RAzzg92OOWyYST1+2S7a9xMFUXE/Bm098Sen8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD+kE3ei29muQUP7sY6iHpbsajZ6IT+D4jsVvLtmgXCAIgcdwXS8pLBNE6wZiJoRfkXX4n6AOBdXw3bv3c4noLYbc="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.1.3":{"name":"hannibal","version":"0.1.3","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"a41a4dfe90bfe458a01f4025d0a1bee08abde9d2","_id":"hannibal@0.1.3","_shasum":"3b5bb1995351e9a29f5ebafed18e4e1d5ae7887f","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"3b5bb1995351e9a29f5ebafed18e4e1d5ae7887f","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.1.3.tgz","integrity":"sha512-rnGTOERwZaAwUznS1SAk91TR2OioDCFN2J7xAxH/W7kJbZZVfKiZ1RJUbl9ltRuAQrqZJw87848R+wjaFW0WrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWWm4Ir4m+/y7r281Qq9bxHXSRm05wKxsku4w//NHIBAIhAP2fbjWV+c7pvXQsORMd0RsLeOpRuYppUNhPmzc/qC7o"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.1.4":{"name":"hannibal","version":"0.1.4","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"12b6ee5c168aef24e6f787a3837d0d3355b48470","_id":"hannibal@0.1.4","_shasum":"f6e5003e6b56f8cb2901c908f9ae615332bcb7e7","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"f6e5003e6b56f8cb2901c908f9ae615332bcb7e7","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.1.4.tgz","integrity":"sha512-LCzyqA6q8qFdx9uC2tT5pmgYzNbWNeaUE9mwMIRxGdBEHkWnxaC4VryJ0PQJ2ugzB6XmHbLwxDKTn8PXtOxbZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyGZlkaar06Ww6iSuniV8ucRw5EOmsvp0lKTcFD66rwgIhAMGtGtLlwXQi9osZqpsrdjudqD8/qoGwd3+J7EATgu1a"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.0":{"name":"hannibal","version":"0.2.0","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"d364e7df17e92549341dd5936370a38261b82100","_id":"hannibal@0.2.0","_shasum":"9a6662a5054703bdf5757a2f7ab07731fcf0d312","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"9a6662a5054703bdf5757a2f7ab07731fcf0d312","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.0.tgz","integrity":"sha512-xlRm1CQwzdhEMf6tpifKJhgRtmaMB/QXY1lu4imoSfBgTc9p4/uYQ08z309Ohg3mT0BAggLAPeWEQTZwbpQtfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAPB+RUu8gvEkTQxlGEKkrVUtuUFs4pKUECGzB2d3JBAIgR7NMoInZ/jTMd+R+5cXYm49pvqgv1XlKx8Abnqwewek="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.3":{"name":"hannibal","version":"0.2.3","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"407b74093356879575f56dc60b0a51a5873393e0","_id":"hannibal@0.2.3","_shasum":"722b13fd6d6c0a0c5780856e58dbaaacf586d354","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"722b13fd6d6c0a0c5780856e58dbaaacf586d354","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.3.tgz","integrity":"sha512-sP3b1f+NcrJtO8+W2EXmA1ty/+/0FohtoG2PlHleHzQKrmyabMTF4DNqlquo6QkpMcwOLyIiB/Ov845IONrBJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHVWJ+rWRo8HbkSLjxTGdVjzVFFfN9ExTf4lUGrunytuAiBDzc92IsTp/+QQwOiKm9nDJzUZ+2XCSyd55VdFHEDk2g=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.4":{"name":"hannibal","version":"0.2.4","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"271aead1ac986bf5e907c984cc4f1c5c03aeb3f1","_id":"hannibal@0.2.4","_shasum":"5af04abc271f8b175385406f34b1e45da40b0673","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"5af04abc271f8b175385406f34b1e45da40b0673","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.4.tgz","integrity":"sha512-Pbstc8BCCHpy85qsVkxi8T8pYmI+qguq2RkMcoJ/qEYC8FpixyzKmjLPFpYHUx2nK13z3xJ8rRVhlYnwqWA7zQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQx1nG0Wjze/i2FYN3K6ppZV4FWtDEwuBIOTZN1XWWowIhAN5ZOxtOCC1uhM2Ebsm9ih6EmFbPq23UdaDRgeRmVWoX"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.5":{"name":"hannibal","version":"0.2.5","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"7e1c9b7a906b18f8bc4b9cf9fca33c9833294081","_id":"hannibal@0.2.5","_shasum":"b105baf4d83ca122861d8e2f89e2cc23f5d328ea","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"b105baf4d83ca122861d8e2f89e2cc23f5d328ea","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.5.tgz","integrity":"sha512-LbdieyvtqKcf+LnrPCGN9fOOMHZKmg/cbWXLzhx2CYvGR6mFA5lJKV8ummFbEKDR2qGSjswxD+ITDVKWADrp7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtCQJyfiqegMRE2axUXSrybpCJB9+RUePH4oaYLtZKsAiB3GvsW3MK8ABGt6u5J+QfO6II+P6cL/O+1vlS0/iaH0w=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.6":{"name":"hannibal","version":"0.2.6","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"ce597ff7bb9f87e055b903fc198c6fc0327be980","_id":"hannibal@0.2.6","_shasum":"c6ac8def701b36d2057aeec5eaf9a784434c2392","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"c6ac8def701b36d2057aeec5eaf9a784434c2392","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.6.tgz","integrity":"sha512-I2tGKX2W5qIHwgUTHptiHCVgPiJPLjNgxKCeBnNXLbn8KWUX/DHrzPtT+tznd5qSv4Z5Un9/10W2t38iw1QYvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL9q4FXhUxfhtuRPh0KSfttbhoXybA90Rfx4MKX68Z0AIhAOWdpqbzD2967UwCcFG2EexVyEYvOFliqRhJBF8ihIRn"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.7":{"name":"hannibal","version":"0.2.7","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"0b04b3839abd087f3dfaa4850cef3a5dbbb141ae","_id":"hannibal@0.2.7","_shasum":"6f0b1afa9e955aee7b72abd0e04f5c121370e429","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"6f0b1afa9e955aee7b72abd0e04f5c121370e429","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.7.tgz","integrity":"sha512-ukbrtCBKFzf/AJV07AHbpsipUsi+gJ6n/57ZMXei1c4/FEu5OSouyUNgcvGvhWSFnwi/auD/eFuX2kYqzfm0Tg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjdx85xK8kxHhYnBOcYwRmZRRypqgaea1v3v/oaSfAEAiBN180WfNty0NepDd7LLRP0HUwLATKBy7auerL6nSYupw=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.8":{"name":"hannibal","version":"0.2.8","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"62e60af79bd68255e2d9752a104ec41f9a6dd0b0","_id":"hannibal@0.2.8","_shasum":"14c63a52d254aebd436219cae29a02de0bc8c91c","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"14c63a52d254aebd436219cae29a02de0bc8c91c","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.8.tgz","integrity":"sha512-1dlogOehNPj15kdM1WZy73ox89la0ped3QmjO6knU+TVIwqk/zjWjuZOrX4CS9Y4W32GovYC+tk2hJXWYqyYMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYpcuQtbSaXrDT8KhjZKFzMrmj4kbMK5qoFPb5S/qXUAiEAtNj+zpWqpuHpTRpOGrZL3+EKJYL7zO8lge9Zsfy74I8="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.9":{"name":"hannibal","version":"0.2.9","description":"Validate JSON","repository":{"git":"https://github.com/oliverbrooks/hannibal.git"},"main":"index.js","scripts":{"test":"mocha"},"keywords":["JSON","validation","errors"],"author":"","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"095905942b2fa3ebb518aac0dca682d5f4e6c3c1","_id":"hannibal@0.2.9","_shasum":"830d3669d7d5ef1d1b91dfb9705771444594baa3","_from":".","_npmVersion":"2.13.2","_nodeVersion":"2.5.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"830d3669d7d5ef1d1b91dfb9705771444594baa3","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.9.tgz","integrity":"sha512-LaOEO8VxLHOZUJYKt4Nnj8q1DXgYtCQORmNjF6VmAPd0QRoUPEBjTtX182HXOdUI5lPRqVM6pDpXmERuwZr7zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFbEaShl1E0hYqC40q4A2cWc60XGJOU2iZMfvLhuwIopAiEAjfELOuwBXs/lrylDhvEZGscm2pVOQvsKJ/qZkafHXpU="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.2.10":{"name":"hannibal","version":"0.2.10","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash":"^3.10.1"},"gitHead":"d01814fcce3e114b3f6d8722f94214ffe3c8e9fd","_id":"hannibal@0.2.10","_shasum":"f9b0c3698c46dccd4ab4340dca3d5afdee986a47","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"f9b0c3698c46dccd4ab4340dca3d5afdee986a47","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.2.10.tgz","integrity":"sha512-BLS8k1i5TLglKygYgRlp+xGXIF9rhZ7EFIn1ByKoITP9Dhm/RHt33jQy8NEq3O4HsSXE7uvn63pGThTOUZ6p0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8A28c3X88TsCBF78SfdGoXV7FpA2rVb9/46/2yfvGfgIhAMx4/rWJBJ6Szn85OsAlb8QbnshXR7Yhdnu32qGfPb8z"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.3.0":{"name":"hannibal","version":"0.3.0","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"5ef5c0ac79e7d9a1e010e5d11a4c779cb99d67ef","_id":"hannibal@0.3.0","_shasum":"487b7d825321a9f8b5b73bd66294d3f08f3849b5","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"487b7d825321a9f8b5b73bd66294d3f08f3849b5","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.3.0.tgz","integrity":"sha512-KLPMpiPFWYaSav3qCIowVGCta7A53UnRXFeQEcj5qyhX+z3iMAuB8kqmZ1mmXr9D30kZHde+Xtx6CMl3nyHXBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJhuDZ1SldvGSIESVY68QvZHAHCwpTT1DN2STFBNxe8wIhAJOCr657xfG+BdzhP3PBM46maKO9V6SPDISMfXAKIWpA"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.3.1":{"name":"hannibal","version":"0.3.1","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"d1cf54480bb8a6ade7550f61bc86e02d8ca7562f","_id":"hannibal@0.3.1","_shasum":"f797d63cb6ae4ae80fb89bfdcc832658c83c08ea","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"f797d63cb6ae4ae80fb89bfdcc832658c83c08ea","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.3.1.tgz","integrity":"sha512-l88HlmLY/89tIufbDGdNIA6gPscJ0MFAceD5I0ACm/QwCQTwmkeWZ5o8aQM3h+T8XUSVlAWfzD2unGHx0fF+EQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5EbRaSmcNlT5bnOLD9S0tNeUGhEk7o+DTUaZNhCth/AiAKWuR9NhI5UzknOBHb1UstJC/3kHXwtdhEGrVrlvKOpw=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.3.2":{"name":"hannibal","version":"0.3.2","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"0696562dae040cd610a68f26e8b62b729db4c43a","_id":"hannibal@0.3.2","_shasum":"f400eed0d7054f53d8d5b5937ac8946142026f2c","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"f400eed0d7054f53d8d5b5937ac8946142026f2c","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.3.2.tgz","integrity":"sha512-Y9Vt+jbuwHN8bhMG4iAbm4aWabHKQ70rJutZhm+2gZIkHIUks2WQNnaktO6AbdJbvdcqB9ysskvhXQZpmawG6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL/zzYQqyt7rPbfGb43MoSCPMBOjDyMvfC5k/9w59nlQIhAObC+vySEm4C+43HXnVLvoTuDisYYsg5KPy7tx28iRQ/"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{}},"0.3.3":{"name":"hannibal","version":"0.3.3","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"193c91983f44688bf570fcbb5f28892061b464e2","_id":"hannibal@0.3.3","_shasum":"e81ba72fac49a12bec8da551d18935040ab7e902","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"e81ba72fac49a12bec8da551d18935040ab7e902","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.3.3.tgz","integrity":"sha512-BPaG5pcEcVvKN/y0MvFARW5AubYOpyoitzm6d7EU5J5osZcxz6w2WW/5aT0YW/B3Nb8klthAhTdUHwrGVVS4Dw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEUkntJemJ2H1bqsfIGLqEGsrOzdrV6qdv0Wq/FImzTAIgSobQF5Xb0mmKEu4kwj2QnVSDzr/7WKY5x1S/76IJ5UY="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/hannibal-0.3.3.tgz_1460311282049_0.3990702040027827"},"directories":{}},"0.3.5":{"name":"hannibal","version":"0.3.5","description":"Validate JSON","repository":{"type":"git","git":"https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"fa9f1e60b1344e7ef3d31c17aa39132e387a2b14","_id":"hannibal@0.3.5","_shasum":"23ea9a2326a7d95c9148aef58e9f4e0ea48f54ff","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"23ea9a2326a7d95c9148aef58e9f4e0ea48f54ff","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.3.5.tgz","integrity":"sha512-o4EQxgWnpa8b3diN5ua1AWyDr6tz8Gawd6eSP1+ArwCLQE0Gd7s9Z4NLcNm2XDuSLNL7WZ8mBRU3JDP0wwe89g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYgsIbQVoAhImy99B4y+o0vKtBfnDZcYRdWaaH5pLS1gIgdplOt/Fu4dbmVoMCiwT3x05aUYXtlZfYpt8sKfgECCo="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/hannibal-0.3.5.tgz_1462960785547_0.4044309528544545"},"directories":{}},"0.4.0":{"name":"hannibal","version":"0.4.0","description":"Validate JSON","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^0.24.0","expect.js":"^0.3.1","mocha":"^2.3.3","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^3.2.0","lodash.capitalize":"^3.0.0","lodash.clone":"^3.0.3","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^3.0.2","lodash.escape":"^3.0.0","lodash.forin":"^3.0.2","lodash.isarray":"^3.0.4","lodash.isboolean":"^3.0.1","lodash.isdate":"^3.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^3.0.1","lodash.kebabcase":"^3.0.1","lodash.keys":"^3.1.2","lodash.trim":"^3.0.1","lodash.uniq":"^3.2.2","lodash.words":"^3.0.2"},"gitHead":"b85bf15019c29bb53b11b955d69a48aa1df48e34","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.4.0","_shasum":"fdf694db79494e1ff51a3c5109b4105a52f1d9bf","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"fdf694db79494e1ff51a3c5109b4105a52f1d9bf","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.4.0.tgz","integrity":"sha512-LO1vABps9/7gXz9P5XcRTu8QFnY/gNrwAgS3Ycch/6glmP+fNfjLMs40cOTIR25enueAtSjIlOdNM0r1DVdXRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGqh62uo+4h7jdpizm0rTvDOTv5qB5XB7r8s7pmJ11lAiBOTRwsAXNnOJO0r4/2d2HlMd1TbWhDAYsbtWRZTWo+dg=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/hannibal-0.4.0.tgz_1473257173985_0.991602432448417"},"directories":{}},"0.4.2":{"name":"hannibal","version":"0.4.2","description":"Validate JSON","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"test":"mocha test/index.js && ./node_modules/.bin/eslint lib test"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^3.8.1","expect.js":"^0.3.1","mocha":"^3.1.2","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.isarray":"^4.0.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"7fd0af1903d0f9366d7b209c1307575c1aa76631","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.4.2","_shasum":"d51d01e31113034c2675b6f0f2fc2b550980e952","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"d51d01e31113034c2675b6f0f2fc2b550980e952","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.4.2.tgz","integrity":"sha512-hKj0wSWhT9ryucpmHDS2cUuqTvVMxlfXlg1atZBApHn1wS9PZnij6lOzIrK1xiLGhdpYtW1/CDDG1KHNwdt5eA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd68ZMtTHB8ZEa627s1p5u2hvbU4k6NCybjdaPlvnmgwIgDBKo3yua4Lgcg2eXmZTTeRpf7sIPbXdY8/n0yS0VHBw="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/hannibal-0.4.2.tgz_1477052442126_0.38061440270394087"},"directories":{}},"0.4.3":{"name":"hannibal","version":"0.4.3","description":"Validate JSON","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"lint":"eslint lib test transforms validators","test":"mocha test/index.js && npm run lint"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^3.8.1","expect.js":"^0.3.1","mocha":"^3.1.2","readme-tester":"git://github.com/orangemug/readme-tester.git#v0.3.0"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"2459f6c3f3525ab0633771307898a1d330238041","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.4.3","_shasum":"616f03d23708e86d98945337587d020affbb257f","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"616f03d23708e86d98945337587d020affbb257f","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.4.3.tgz","integrity":"sha512-Cefs32dP0QZdvjzMNmnsmmGjaEVq09o20qUxmLLYINlVZxRQRj5/WPBR4KTYPejGdCIvK7vHp0A2CxGPu7mLnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBuDxLuPg57PhNFH3lvELH4eeUSdXSx11zHSeL17XPGpAiASYscC6GvVpdQoVyWjukQ9YJ7arnq4Eqr5oilrkDEy9Q=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/hannibal-0.4.3.tgz_1477060736596_0.16613323101773858"},"directories":{}},"0.5.0":{"name":"hannibal","version":"0.5.0","description":"Validate JSON","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"lint":"eslint lib test transforms validators","test":"mocha test/index.js && npm run lint"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^3.8.1","expect.js":"^0.3.1","mocha":"^3.1.2","readme-tester":"git://github.com/orangemug/readme-tester.git"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"1150d450e13415cdcf0432f6fd6376645d4c3abd","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.5.0","_shasum":"bca1003815ed54243609757c35beb1d792a2a98f","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"shasum":"bca1003815ed54243609757c35beb1d792a2a98f","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.5.0.tgz","integrity":"sha512-yHdwP/z288h9DK4G8scHNzn5fme914W1tdYpopzW5riT3j+gCcVxILIAO3IxqdkZJ7Xa7K4sGJCl0042s6qfMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdiqPApCqhb9g02i221Gg4EDjg/D4ikVguIqPfDr8exAIgeneb+8fepDF1I0ZwnxG2rj5sRQMFY7p4jIhvMI2qI4s="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/hannibal-0.5.0.tgz_1477561046175_0.54627237142995"},"directories":{}},"0.6.0":{"name":"hannibal","version":"0.6.0","description":"Validate and modify JavaScript objects","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"lint":"eslint lib test transforms validators","test":"mocha test/index.js && npm run lint"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^4.11.0","expect.js":"^0.3.1","mocha":"^4.0.1","readme-tester":"git://github.com/orangemug/readme-tester.git"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"e00d4c492cd00ca6469fbe2f2dee6cdb62f6d9fa","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.6.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"integrity":"sha512-TAcRlEaF8yc4pn18W4lVkzlvq08VyASYwkAQPNHvuZLR0Tq8LxQoCaKj5Fz27t/9AUuYFsGw6wWcoLRPXumIDA==","shasum":"1d8c88974bf76a43609031c7cea41881dba0c39e","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.6.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRr5dl4BfQFbJshJFTYky1d6uqP9aV4ZBS0qHsQN5TlAiA2bBVkcCGyvE3+ihrpHJLFSz2+8EUiyDC69gBMoXHkWw=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hannibal-0.6.0.tgz_1510753110309_0.7445792781654745"},"directories":{}},"0.6.1":{"name":"hannibal","version":"0.6.1","description":"Validate and modify JavaScript objects","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"lint":"eslint lib test transforms validators","test":"mocha test/index.js && npm run lint"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^4.11.0","expect.js":"^0.3.1","mocha":"^4.0.1","readme-tester":"git://github.com/orangemug/readme-tester.git"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.contains":"^2.4.3","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"70b44bd31b596b55b9bf2723d1686c22c57657c2","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.6.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"integrity":"sha512-lGqSVkeqt/33DBDiY1syHK1U0jmWLi6n/F/SaBIHcpg694zJe3h/yT6EIcMdE95VonMlrpcK1kKoBBv8X3Ca7Q==","shasum":"39fb2a83a7b10500230ab006b2b7031b35e40e8a","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.6.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBs2+cgXIxa+Qk60yk/12ImGR82rsudARw9lbaE0t2tOAiAMp7CAniGD0uK154BslhYYgoX2kXBl+EBTt09k6mjK0g=="}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hannibal-0.6.1.tgz_1510764956805_0.7978853869717568"},"directories":{}},"0.6.2":{"name":"hannibal","version":"0.6.2","description":"Validate and modify JavaScript objects","repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"main":"index.js","scripts":{"lint":"eslint lib test transforms validators","test":"mocha test/index.js && npm run lint"},"keywords":["JSON","validation","errors"],"author":"","tonicExampleFilename":"examples/tonic.js","license":"MIT","devDependencies":{"eslint":"^4.18.2","expect.js":"^0.3.1","mocha":"^5.0.4","readme-tester":"git://github.com/orangemug/readme-tester.git"},"dependencies":{"lodash.assign":"^4.2.0","lodash.capitalize":"^4.2.1","lodash.clone":"^4.5.0","lodash.compact":"^3.0.0","lodash.deburr":"^4.1.0","lodash.escape":"^4.0.1","lodash.forin":"^4.4.0","lodash.includes":"^4.3.0","lodash.isboolean":"^3.0.1","lodash.isdate":"^4.0.1","lodash.isnull":"^3.0.0","lodash.isnumber":"^3.0.1","lodash.isobject":"^3.0.2","lodash.isstring":"^4.0.1","lodash.kebabcase":"^4.1.1","lodash.keys":"^4.2.0","lodash.trim":"^4.5.1","lodash.uniq":"^4.5.0","lodash.words":"^4.2.0"},"gitHead":"ac5d0848519e645b68a57e868aec80c776c066fa","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"},"homepage":"https://github.com/pearlshare/hannibal#readme","_id":"hannibal@0.6.2","_npmVersion":"5.7.1","_nodeVersion":"8.6.0","_npmUser":{"name":"pearlshare","email":"team@pearlshare.com"},"dist":{"integrity":"sha512-hGpmXRrZp/trMUNs4638ybKY8OtNpHLYCRfRwatShd3Gmluii2Fzv8g5S2hfklc+V5I0QZHg2Nzs5TupH03CIQ==","shasum":"9a0120b8dbb72476b0013e602407519f34fba595","tarball":"https://registry.npmjs.org/hannibal/-/hannibal-0.6.2.tgz","fileCount":66,"unpackedSize":113015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpf2GtsgXc0mzHphtmffmvVrXWcH4QzGtbPPmjHSXNegIhALC9B5ImsUo3TuF/SdEmfRR2KJ6V0cw1xrcomEydPQK/"}]},"maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hannibal_0.6.2_1521022034377_0.502444541773384"},"_hasShrinkwrap":false}},"readme":"# Hannibal\n\n![circleci](https://circleci.com/gh/pearlshare/hannibal.png?style=shield)\n![Dependency Status](https://david-dm.org/pearlshare/hannibal.svg)\n![Dev Dependency Status](https://david-dm.org/pearlshare/hannibal/dev-status.svg)\n\n![love it when a plan comes together](https://images.rapgenius.com/530583e79e4fc7f75855995d511e185c.400x294x1.jpg)\n\n## What's it for?\n\nCoerce and validate objects against a set of rules (schema or plan). This is useful for defining APIs and model interfaces.\n\nUse cases:\n\n* Coerce API input (string to number etc) and validate it. Return errors in a consistent format.\n* Build client side forms from schemas, handle validation client side knowing the API is using the exact same validation rules.\n* Create ORMs ensuring that data is in the right format and valid before being entered in the database.\n\n## Objectives\n\nCoerce and validate an object in one pass.\n\nProvide clear error reporting which is easy to consume.\n\nObjects definitions are extensible and composable.\n\nProvide a handy set of common validations such as min/max values, regex and enums to get going quickly but without going overboard.\n\nSchemas should be plain JSON objects for easy composition and re-use.\n\n## Why not use SchemaJS?\n\nIf you only need object validation then SchemaJS is probably the solution for you. It's a standard and there are many highly performance optimised solutions out there.\n\nHannibal was designed for object management.  It not only validates but can also coerce data types and modify object structures whilst only walking an object tree once.\n\n## Basic usage\n\nCreate a validator to check a user object is valid.\n\n```js\n// Load Hannibal\nvar Hannibal = require(\"hannibal\");\n\n// Create a Hannibal instance\nvar hannibal = new Hannibal();\n\n// Create a validator by adding a schema\nvar basicValidator = hannibal.create({\n    type: \"object\",\n    schema: {\n        name: {\n            type: \"string\"\n        },\n        age: {\n            type: \"number\"\n        },\n        address: {\n            type: \"object\",\n            schema: {\n                street: {\n                    type: \"string\"\n                },\n                city: {\n                    type: \"string\"\n                }\n            }\n        }\n    }\n});\n\n// Check a valid user\nvar basicRslt1 = basicValidator({\n    name: \"John Smith\",\n    age: 53,\n    address: {\n        street: \"The underground\",\n        city: \"Los Angeles\"\n    }\n})\nassert(basicRslt1.isValid);\nassert.deepEqual(basicRslt1.data, {\n    name: \"John Smith\",\n    age: 53,\n    address: {\n        street: \"The underground\",\n        city: \"Los Angeles\"\n    }\n});\n\n// Check an invalid user\nvar basicRslt2 = basicValidator({\n    name: \"Templeton Peck\",\n    age: \"foo\",\n    address: {\n        city: \"Los Angeles\"\n    }\n});\n\nassert(!basicRslt2.isValid);\nassert.deepEqual(basicRslt2.error, {\n    age: {\n        type: '\\'string\\' was not in allowed types: number'\n    }\n});\nassert.deepEqual(basicRslt2.data, {\n    name: 'Templeton Peck',\n    address: { city: 'Los Angeles' }\n});\n```\n\n\n## Schema\n\nThe schema is a JS or JSON object which defines the validation rules. It can contain nested schemas to perform deep validation into objects.\n\nThe default schema looks like this:\n\n```js\nvar schema = {\n    type: \"object\",\n    required: true,\n    schema: {\n        oneKey: {\n            type: \"string\"\n        }\n    }\n}\n```\n\n### schema.type\n\nThe type key of the schema represent the type of primitive allowed as a value. These are provided as either a string or array of strings.\n\nAvailable types:\n\n * string\n * date\n * boolean\n * time\n * number\n * array\n * object\n * null\n\nUsage:\n\n```js\n// valid if value is a string\nvar schema = {\n    type: \"string\"\n}\n\n// valid if value is either a string or null\nvar schema2 = {\n    type: [\"string\", \"null\"]\n}\n```\n\n### schema.required\n\nThe `required` key of the schema means a value is required to be valid. A value can be anything including null, undefined and 0. Note that `required` does not check the value type, purely the presence of a value.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"string\",\n    required: true\n}\n```\n\n### schema.default\n\nThe `default` key of the schema will set a value in the object being validated if the key is missing or the value is `undefined`. The value of the `default` key can be the default value itself or a function returning a value.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"boolean\",\n    default: false\n}\n\nvar schema2 = {\n    type: \"date\",\n    default: function () {\n        return new Date();\n    }\n}\n```\n\n### schema.id\n\nThe `id` key of the schema will allow the schema to be referenced elsewhere in the schema using the `ref` key. This is useful for recursive schemas or schema re-use.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"object\",\n    id: \"contact\",\n    schema: {\n        name: {\n            type: \"string\"\n        },\n        phone: {\n            type: \"string\"\n        },\n        contacts: {\n            type: \"array\",\n            schema: {\n                ref: \"contact\"\n            }\n        }\n    }\n}\n```\n\n### schema.transforms\n\nThe `transforms` key of the schema provides a set of transform functions to run on the object being validated. These are provided as a single or array of strings or functions. A transform can convert a coerce or cast a value into a type. For example turning `\"false\"` into `false` or `\"string\"` into `[\"string\"]`. Transforms are performed before validation.\n\nPackaged transforms include:\n\n * toString - convert numbers into strings\n * toInteger - convert strings into integers\n * toFloat  - convert strings into floats\n * toArray  - wrap non arrays into an array\n * toDate  - convert strings into dates\n * toBoolean - converts `>0`/`\"true\"`/`\"on\"`/`\"yes\"` -> `true` and `<1`/`\"false\"`/`\"off\"`/`\"no\"` -> `false`\n\nSee [/transforms](/transforms) for the full list. Note `basic` is included by default unless in [lite mode](#lite-mode)\n\nCustom transforms can be registed when creating a Hannibal instance or added in-line via functions in the schema.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"string\",\n    transforms: \"toString\"\n}\n\nvar schema2 = {\n    type: \"string\",\n    transforms: [\"toString\", function (value) { return value.toLowerCase()}]\n}\n```\n\n### schema.validators\n\nThe `validators` key of the schema provides an object containing validation criteria. Available validators are:\n\nString:\n\n * regex - perform a regex match\n * min - check the minimum length\n * max - check the maximum length\n * enum - check the value is contained in a given array\n\nNumber:\n\n * min - minimum value\n * max - maximum value\n * enum - check the value is contained in a given array\n * minPrecision - minimum number of decimal places\n * maxPrecision - maximum number of decimal places\n\nDate/Time:\n\n * min - minimum value\n * max - maximum value\n * enum - check the value is contained in a given array\n\nArray:\n\n * min - check the minimum length\n * max - check the maximum length\n\nCustom validators can be given via the `custom` key or registered with `hannibal`. Custom validators are provided with the value to validate and the argument provided in the schema.\n\nCustom validators should throw an instance of `Error` with a message.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"string\",\n    validators: {\n        regex: \"^word$\",\n        min: 4,\n        max: 4,\n        enum: [\"word\"]\n    }\n}\n```\n\n### schema.reducers\n\nThe `reducers` key of the schema is similar to `transforms` but are run after validation. This can be useful for compacting down empty objects or arrays.\n\nUsage:\n\n```js\nvar schema = {\n    type: \"string\",\n    reducers: function (value) {\n        if (value.length === 0) {\n            return null;\n        } else {\n            return value;\n        }\n    }\n}\n```\n\n## Further reading\n\nSee a large [full example](docs/full_example.md) of Hannibal validating a complex user object.\n\nSchemas can be composed together for DRY re-usable code. [Docs here](docs/composition.md).\n\nSchemas can be customised to your requirements. [Docs here](docs/cusomisation.md).\n\nFor an in depth guide to writing your own transforms see the [guide here](docs/writing_transforms.md).\n\nA lite version of Hannibal is available should you be using in a client where file size is critical. [Docs here](docs/lite.md).\n\n\n## Test\n\nRun tests using `npm test`.\n","maintainers":[{"name":"pearlshare","email":"team@pearlshare.com"}],"time":{"modified":"2022-06-18T18:58:03.995Z","created":"2015-10-16T12:00:26.075Z","0.0.1":"2015-10-16T12:00:26.075Z","0.1.0":"2015-10-17T13:37:25.345Z","0.1.1":"2015-10-17T19:23:08.942Z","0.1.2":"2015-10-17T20:00:19.796Z","0.1.3":"2015-10-18T13:43:28.418Z","0.1.4":"2015-10-19T12:40:03.020Z","0.2.0":"2015-10-19T13:57:23.869Z","0.2.3":"2015-10-19T21:34:40.163Z","0.2.4":"2015-10-20T10:07:48.896Z","0.2.5":"2015-10-20T17:20:00.949Z","0.2.6":"2015-10-20T17:34:24.442Z","0.2.7":"2015-10-20T17:39:15.020Z","0.2.8":"2015-10-20T17:56:28.989Z","0.2.9":"2015-10-21T09:41:00.479Z","0.2.10":"2015-11-18T14:59:00.752Z","0.3.0":"2015-12-07T11:17:14.414Z","0.3.1":"2016-01-04T19:00:54.851Z","0.3.2":"2016-01-15T15:27:33.439Z","0.3.3":"2016-04-10T18:01:23.064Z","0.3.5":"2016-05-11T09:59:47.001Z","0.4.0":"2016-09-07T14:06:15.808Z","0.4.2":"2016-10-21T12:20:44.255Z","0.4.3":"2016-10-21T14:38:58.716Z","0.5.0":"2016-10-27T09:37:28.852Z","0.6.0":"2017-11-15T13:38:32.597Z","0.6.1":"2017-11-15T16:55:57.952Z","0.6.2":"2018-03-14T10:07:14.486Z"},"keywords":["JSON","validation","errors"],"repository":{"type":"git","url":"git+https://github.com/pearlshare/hannibal.git"},"license":"MIT","readmeFilename":"README.md","users":{"pearlshare":true},"homepage":"https://github.com/pearlshare/hannibal#readme","bugs":{"url":"https://github.com/pearlshare/hannibal/issues"}}