{"_id":"tv4","_rev":"101-07dd1dfdb047213426c8a5bd018ec62c","name":"tv4","description":"A public domain JSON Schema validator for JavaScript","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"tv4","version":"1.0.0","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license":"Public domain","_id":"tv4@1.0.0","dist":{"shasum":"e672cee6a09de74089902e959faf902b05d86eca","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.0.tgz","integrity":"sha512-j/iBK7wcDTvzTYnseEvckolxqYX9ziIjlZh3X4kVxyJJryYUHJZC4+kB5NdMWucRei2iA8RiEvxqTzNbioQSow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKrFVSNLMZG04FaE3wb0aEukFJfP3nHDnQ5XyPBAtLGAiBIJVL3JwEC2LN30oOXbg49pcjuq1mK/9RTFbExfvOr3w=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.1":{"name":"tv4","version":"1.0.1","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"_id":"tv4@1.0.1","dist":{"shasum":"77b714d3fc9bc568c2bae70d4f40577488a98b2e","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.1.tgz","integrity":"sha512-YcDMJBRZwhQb0dv8rH+fNjKJJ7fccg76bbSF4JdLVbPgnoGpw2JDClFQxMPBiWtSGhQlFzmMoXRvzW/omUR8Qg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBlWcVt/A9IZm20v838azheP5PNpJa9QcGNVKE2znGEUAiEAkBjqvkfFawXCm5zcXdjg4ZMSdvBH9fpEtpNFwnXhvps="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.2":{"name":"tv4","version":"1.0.2","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"_id":"tv4@1.0.2","dist":{"shasum":"a0ad9c097952c178cdf29adb23442647efc52744","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.2.tgz","integrity":"sha512-TMgp58rCFZ9SUJUWYpdf2c8sqSG9cC2Qs45+NW846j0n5wK1LgUqx7GNwXOp4gD37xMZ7V33h9rkTj7xZ+2uQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsQp9YRPfAaVMAyB2LCuabxub865vekwd7Persbiwe2QIhAPFPnm0/Wgifd20PNNBbbtnRvjXrlPmbH15AvyPUrlZ0"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.3":{"name":"tv4","version":"1.0.3","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"_id":"tv4@1.0.3","dist":{"shasum":"a41c20261473377b7dadd150d2f2c979e6a30dea","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.3.tgz","integrity":"sha512-i/bjdZb7GSpKd2aQZw574xV4lr3rPyt5HDXxdnXew/ooZX78v9lbGN8RqEURPBouxIPpaGtzajO1nI8kj8Di4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3TLmoEHDBfwdVfEF0rOIFyhqKhJEU85b7wAVMc7oorwIhALzo5UdrAidQ0t4v9hOrxfw6qZtSLwquj5TRRo5XDWa9"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.4":{"name":"tv4","version":"1.0.4","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.0","mocha":"~1.11.0","grunt-mocha":"~0.3.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.4","dist":{"shasum":"41e1a07d45d41410e43463ba5085e9046e282d4a","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.4.tgz","integrity":"sha512-2nR0xiC8lq52nplysqMfO5aIe/I4UY/Cv+uPGveIIKB/QfdwAcQKaXAGpqSZ2cwqCkeKsUpBGTtchNybtLcx0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqgLPRNRfcU+5bmAMJZBYwpF5+k09CTpIKnNCejX4FpQIhALrOHjT8aJl7GcPTtCDOY5vklubfAnLMd2tWDrF/3bHR"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.5":{"name":"tv4","version":"1.0.5","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.0","mocha":"~1.11.0","grunt-mocha":"~0.3.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.5","dist":{"shasum":"90fd14c581781d04af9df082e5024d3a946f4b1a","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.5.tgz","integrity":"sha512-KFvBm5saPcf3e0Sn/2X3tCSTjtBJ1MDfE2eByksb0cQoDdVO0ErIvbACaCT0Za46nArt79CBWW/NMHd+nJlRQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX86tbXko6R3oo5hk2VXRFiChPO8jvMaKoau6REp0K8AiEAgvUlQXkeDU+FE0QvbJCfbMf9N3I3MajDrE7RRADkFts="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.6":{"name":"tv4","version":"1.0.6","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.0","mocha":"~1.11.0","grunt-mocha":"~0.3.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.6","dist":{"shasum":"6dce236beaaa75b62c9f54c155a98b7ce8f86607","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.6.tgz","integrity":"sha512-J+mXvFczqXMcVTlfqWhNA0dySxeti19HzZ5rTCFkicpFjZZC0rSbl0fwWtTq/qxPjLik+hWaOj3+4DUECadMzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9wJGPBrh6/WJKlL2wsDBCPb5utIUdLWU4h+S9skGNYAiBoj+g9UxdRySGUlComPk/yfNTS7OL5ToHqTkrKJSL5DQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.7":{"name":"tv4","version":"1.0.7","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.0","mocha":"~1.11.0","grunt-mocha":"~0.3.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.7","dist":{"shasum":"67f3f14a7667336da3c7a482455eedccc9cae20f","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.7.tgz","integrity":"sha512-PRdT7KM4IhMgR300opr7tev0stSZ0UWA31ras3nAucL5XUfDp9xJ5AkJslfpoSsaeLcAMZ4EBTKQhoVGWmyIeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPkyF/dPUyesiR30YzxyatPtsxPNaWI8goRI+gJppqjQIhAIKTWFWxK0jAtC7QXdLvkZa6O4tmnZKgNRS7olB+yFZx"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.8":{"name":"tv4","version":"1.0.8","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.8","dist":{"shasum":"7015a637631288355c4a12391b80854b627a8c16","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.8.tgz","integrity":"sha512-6JjLJWrA+6lvo7k6xwU5ystejr9KmRafQzc0aAgJu0cUQIhURetrMuLWUR+HKZvxQhqjt7p6FPNv3jAzH4JOzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD1zdi2DWU4cj+sNZxa8FIVfRzm43tawZpk/nFXpXAdAIgV3DP01jxASlHRu97kBQtGNTqirMFxKQNs1QHSI2R+MI="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.9":{"name":"tv4","version":"1.0.9","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.9","dist":{"shasum":"bb2a588b2338197431f5a60e85ca68b5254e00b7","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.9.tgz","integrity":"sha512-+DbzDuBgUQbjpdC1xzXvyqjnqNd/GPgJ9Rhs3V+sGQxXGgBiDStyqsdvcCOfexkYYFr+A05pFuihBBS+UjH3jA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDlyEa9GwJsAGUDGsASbiWB48YIQd+2T86amiPZbhkOEAiEAga5SaVOb8/fMuWtFSFSy457eX6xiYg84CreTjP6oa5I="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.10":{"name":"tv4","version":"1.0.10","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.10","dist":{"shasum":"a8e94dc63a64ef44e30d2a48de45949c98361741","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.10.tgz","integrity":"sha512-bOaN8YYpsqUP9EKae/2sVFmdSa8p6tof0uO0h0hME5AWcWZ2dYG6jzYdGWajFW8prfsP2aXA2BPEegqQzqKDQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGzK2iIqaa3CE6MpE/z2JKq3FAf+iA6YN4z6hbbarUZpAiEAn//FsCWFANEyXdwsKWESekj/Rw8tda09PolACd45Aos="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.11":{"name":"tv4","version":"1.0.11","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"_id":"tv4@1.0.11","dist":{"shasum":"580b0ca33c71134c90f10ada93d62aa82f059250","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.11.tgz","integrity":"sha512-5RUFuyBpr1x1edwe176/xnPgbh0PpcH9teI3lCU5US1fQu0K05mYBxc3QZ+OK0XV6xtRQCVTXb1xl5Nbdhjppg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClzx4ZV+3TZDDyjRosKZMPI1DSE/1hOtJ3rnnMJhEUBQIhAO4pE79waw6a38zjXA72kq+enf880hM2p8mdcjwecFed"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.13":{"name":"tv4","version":"1.0.13","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.0.13","dist":{"shasum":"9d55d07bb6a84f8256219d3570bbd0fcde9e844c","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.13.tgz","integrity":"sha512-pqOHhEZWtPCRBxfNgSFFgPQ1MvO2kXDhutUhm45bdXirV2LK5n1DBugkv3IW/7R3eYIEkbSxCeA6ShNBFajtiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWSy7iJP+fKQr8jbp4rpU9uQzAANDD1Ld8cK27We+j9gIgR6FdOukEvoZT9xBfwifP0ebN7Ia2NL3tHRaxXHj/tXA="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.14":{"name":"tv4","version":"1.0.14","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.0.14","dist":{"shasum":"be7b5b339b2a33ece5a5ebdcf3b5d308e2a8161a","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.14.tgz","integrity":"sha512-JVMNBRORuuqv/QWmChwdMnRTetgkk5hoLXNbjqTrHdM4QSWdtYubYur5Fx6y3R67i/CwLtBweA0UVBWaMKxp4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpnX1uIk/acTVjLgMLs91XXSzL2X6xRPcbe6V4V5ZqcAiBqIcSKgdS3tLpQ+8tPiNVzx93XEMu1G3lBVztdi4p7Aw=="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.15":{"name":"tv4","version":"1.0.15","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.0.15","dist":{"shasum":"1f2ef7eb9fe6eadb375aa67cafb46d3aff33502b","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.15.tgz","integrity":"sha512-v7DTZUvQpHv8dSkpYZFUCLFEIXlY7/V7v1KJijuiIFzRoUqg4/lNQoaa0PziFrKrUfr+3lZqh4nwsLsR8em1wQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3LhU+wnFrsTm8Lw7fcjYaSu8ZDj/429W5JedZSw6TgQIhANR0MtLFgoC1bmMg7i3wkmHvFEVNnq5B0LqGIZT9IkCo"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.16":{"name":"tv4","version":"1.0.16","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"_id":"tv4@1.0.16","dist":{"shasum":"fd1016115e3b1319f68458d5219dcd6bdea6e660","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.16.tgz","integrity":"sha512-U2FXWePbO+bCSaVo8cwA8buAEoJv/v6e1IWnvxhdEP9YJ0bDuvRYc54H1I5xriZ4bkVOW/+r/DReBWtDePXuKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG2pASLGNR10Xmof/t0wl91Ng2X7S789ULGhCP59zLSAAiEA9yuB+SkyT5t5CVcj8EhEjwkPPdC+pCd5K3osa9Ti9kQ="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.17":{"name":"tv4","version":"1.0.17","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.0.17","dist":{"shasum":"4251ec158945bffa23ea40513f149369230a88fe","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.17.tgz","integrity":"sha512-Fz7c1tHTFcVyfCl49LWTak3ljpW9M5q/puy7xr0qsSnVu2x4vOfpdfWNa2XoVErxx4R/H9IOkkN+iE01gw6Pxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbj2Ecgvgp5QuyS1wOZ6yNO/VfE3G3CpMxog5dev/fIQIgEfbNkqZEN8fpM4c/aM2Bo0HZ0hGGKzCHTEKIzEY7Z9o="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.0.18":{"name":"tv4","version":"1.0.18","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.0.18","dist":{"shasum":"7397769f00358e33bf528dc5c8764c61b6de8245","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.0.18.tgz","integrity":"sha512-3sBVbXxwIPAKOtjHHWyfXoi9FZy+CQe4YKKdz1ldKOAcNb+I6YMBNcmmJTI2X/aHdecf4bC9f2vjwYydORCnMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQWjk3+JsHQgBsd/aE7/8aQVtXKQQn0DAZMJNZ3+cPHAiEAkTWcsi1jjjYSpS0KPrkhDmsmNEN57H1g5vxBnAL/S6c="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.0":{"name":"tv4","version":"1.1.0","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-component":"~0.1.4","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.0","dist":{"shasum":"979503a7059109087b908de6eb9ee24ee55a1a7f","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.0.tgz","integrity":"sha512-SQJC6pb0eMsPot3mlIvM4crqFX/GKkKTqfafnb/bWTpXZgC8KKg5tiEq2trc+316zJbCO1Jl9PvuZhO8ZCBC+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDB4WjdEhVEjAnns6Vvq4npOGzA/+3UiunwgNWCTaZoZAiEAjrHFZ0+7H04basrXn7LKvgaMks4rwTbzAXRxxjwDPhM="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.2":{"name":"tv4","version":"1.1.2","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.min.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.2","dist":{"shasum":"ba4f2e06b1c8ec3980bfbc6dae1be55b699d51f2","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.2.tgz","integrity":"sha512-o3zUT7XbBTAJrPgJlieJdNeC+l5wHjTIZI56R6pRaCV8cOAr4sBClkOHeVwgKRAHym3bhUCP46yIFiwVKGvazA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHSMXtdTATPbQAyR5ebf8d2jx7lDlS1SdamMKc3jjX88AiEAsb9P2eLQhkbpSTjJzUVuN0c8S0WInrY8uCOI0DAwr6c="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.3":{"name":"tv4","version":"1.1.3","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.min.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.3","dist":{"shasum":"26e5a98a564dd3c6a2aee06b246450f040079134","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.3.tgz","integrity":"sha512-fjvDAUUX57MZ3rtpqp6LU8DIhnHpirzsVC685czqGk5ZnAohwWWne0YB6k1yr/N6NqHktz1PDrAQLN7mTqaRng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCc2Kih5QfxQyCBnpNayMfFBNAJ72jQxUMm6J/5SX4ZagIgAfUcXCcoHpjBAKabfBC1rZLw/nxJjPcQI+VcoX8NCgI="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.4":{"name":"tv4","version":"1.1.4","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.4","dist":{"shasum":"cc4a427da9b6f026eef9b4a94edb39f4ae1a10f2","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.4.tgz","integrity":"sha512-gISbcBSlcjq/KQHRogXFofNPoYWy4OqRFYo+TkdbaolzpVfiDFZZTcsuDQMeZ+Hv/eKaCeGiE3ebCnWhpiGAiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFIMeJcZJiaRpon4PgG7UWtSNLCTTjSUR/9NN4VXyr5iAiEAoW2Hrg/OqQZkrs+e97/IVeXnR744l2ZrkXXfSHZwvyM="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.5":{"name":"tv4","version":"1.1.5","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.5","dist":{"shasum":"ab7755a3f6506e1ef9a957fc0f24218c1ec3a3d7","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.5.tgz","integrity":"sha512-vdcjjgcjkwSuErt/KBDDTsN9aGg/tROo+on+5EjkwhWnM4RMDO1DpwD2kGe49lOOPZr8MTYWJ7O83+iwVcB7Hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDmWLMutdfhOKqQdZPyO8foeAZLdzLMUktFulfQulLgtAiEAms6UoYzuNrQIEvk6fIPDortYOJz9/qmIiXAQdNlEfDY="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.6":{"name":"tv4","version":"1.1.6","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.6","dist":{"shasum":"387890ba412c39f459c7e017e97cb5c30ee121b5","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.6.tgz","integrity":"sha512-qiOoslZvA/uP+5bjfTTylT5E2ZSlMRS8rug8YQ1IweAH9HNNH2GupR4BNhMr3/u7DUwe6SWM1+CHL4eMk48x2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDk60bvna0oCgAvZXySyLfqve3qBtHNUNyNmAm3z7HERAiBiQfvnRkt4WSg2+qJLt2uE6HZMF1kXFigW99grCMm31Q=="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.7":{"name":"tv4","version":"1.1.7","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.7","dist":{"shasum":"daddba8986a79884f00a984b91f893d25df2fb1c","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.7.tgz","integrity":"sha512-DjiWkFVevDL1ca712aZSUkviyclMwhQdoqdRgd9aAvQry6uyk0GqwXAxhdLviZMc0KOLSgS44FdqgaHh99tHvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8ha6e+rwqJq7nGHzTgw+7wBPEkhlTh7PSQC29k7La5AiEAxq7+ZTFxeKHxXNjNehWiAtRsS4f8bxInrUpFYTJD9uU="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.8":{"name":"tv4","version":"1.1.8","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.8","dist":{"shasum":"e9e3e5d216ec7713548153ed91451e775d4f2609","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.8.tgz","integrity":"sha512-sDqrMXqF0hI71ZWbZXQSYlaR3c7rr4P7p9kSO/TTgNQPEkKFiNFz6mY8r5+RftIrCljrHZyqNyGGvMooMP235A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHSBAAz5brkpna9e/2C1BuSulK8TmYG6AvNcCWn3CT5dAiAzT6MpdeXkzkum74C1jFGuoZgOAbF9tAHTKkmk4zo9Tw=="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.9":{"name":"tv4","version":"1.1.9","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.9","dist":{"shasum":"bb8e7aef70c7dcb109806172c6c55961b6903e55","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.9.tgz","integrity":"sha512-W9y6YKqz1pUoWhy0z1HEKLfJ2FBi8H4IWiAoWLW4TsO7hs5QucSYFzzsD6re3xuxNqxy2PXGjOyW2svSHIVAPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsw3mqSzwuJ5bnZKi05ygc+soaTVKIvdg/n+cfndZ2BwIhAIC1fT++TKDGnkMoR8EY22lObuQ4LIE0tO87OJKwOfBM"}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.10":{"name":"tv4","version":"1.1.10","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"8fe2a522d7a5807c1e4bbfd5204c0c6d4b5ce59a","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.10","_shasum":"2948b1ccfc8f8070e99a493062bcf210e5a5e2d2","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"2948b1ccfc8f8070e99a493062bcf210e5a5e2d2","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.10.tgz","integrity":"sha512-QZ+SpVgIfW8576/Nn+Ymxl9VxOlxTUoOT8z6fH8HcUazNZz3LicMSDaif39QMfKe76zqi61WVixqFfYQ1tBRBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCila8Yn5alV55vCPxGysfqpM05/QcGvEcg0jLrxPSgiAIhAKtR/lWsOC0xGagwCWHaacJ5IKGVu+3xKPHSzH3MSGnx"}]},"directories":{}},"1.1.11":{"name":"tv4","version":"1.1.11","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.11","dist":{"shasum":"31715a045b6163bc95c398655b1a3dd8fbd08eb9","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.11.tgz","integrity":"sha512-lhiFRP/8YEMZtUthcxthGPJgYGRnyf4P7subXtRZGhYgdH7uU+0OAn3VpIBFFPeCz6kD79LPjG/RelLvHOwAUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTYBj9uyVRry2ymOyWenbRu5JZnJ7ePXCBhghCtK2LGQIhAPOc8xjumndhknmHrDSm0TA0QgNWJmT62vblZitB0DSX"}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.1.12":{"name":"tv4","version":"1.1.12","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.1.12","dist":{"shasum":"2c41ac15375f463bb0efa7aa843965a0abc2fb2a","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.1.12.tgz","integrity":"sha512-zbNnQlFaJsEu70V93/wvT+cCCyqdnXhZ6ew9IQ5JKdLKZ9wkSpYlHA76WtQD8rGntSQlCfwaNFKZSWKBHq9Vfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC86xC9VU1jTg03xuzyLsjXfvH+J+iI7K+fQ3P3HQ+eBwIgQHxcAMdQsZc2XI/ZiLSNBS05RVa3LldSE6J0i1D2j3g="}]},"_from":".","_npmVersion":"1.4.0","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"directories":{}},"1.2.0":{"name":"tv4","version":"1.2.0","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"ed926ddd143ef493dbef115b6ce9a026245c83b2","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.0","_shasum":"c1db1c18e8e426cdf0ff552c4ca2e1f136ebd76e","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"c1db1c18e8e426cdf0ff552c4ca2e1f136ebd76e","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.0.tgz","integrity":"sha512-KKTnYA0381iVwVefldoyoZAkpZr2dqzZbB26u94NJR/w3fUKz3dNE+W8sice41J0ys+oD0O/6gexNLna3jqV1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfjWrwZXTF9K56KW/Ore1SntejT+Jz41K4pfSNm/W8jAiEAv88tDTGjDEWCZs5BdFVvHaKwxoDr6Ss+YigBgVENFrw="}]},"directories":{}},"1.2.1":{"name":"tv4","version":"1.2.1","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"ed926ddd143ef493dbef115b6ce9a026245c83b2","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.1","_shasum":"317b9cfce21b5322a96b9ddade5c0bd50ba4057a","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"317b9cfce21b5322a96b9ddade5c0bd50ba4057a","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.1.tgz","integrity":"sha512-Z9rqO4i7liPpcQsAqUgrCAFrCR9+KLP4zSXRuWJLWumxy/DedThN1uyELhXqvSmVgTKgI/4I9Iel/01ORXsYFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFyTLmgRJ9XFthgi460YiX2r+VyyCtqfuIi6ZS9fAv0HAiEAj6Pa/oLqmAvH3XchWxYVdZxKpDPNEWqWUrjpWj7XVsQ="}]},"directories":{}},"1.2.2":{"name":"tv4","version":"1.2.2","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"c31fe5908f2c697f5aded1eac5e77fe3a769444f","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.2","_shasum":"92fd536b0f222d3822f03fe3c38ec8fa91a50649","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"92fd536b0f222d3822f03fe3c38ec8fa91a50649","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.2.tgz","integrity":"sha512-AjlNnqBJARkcF1V13vBPQXJ5v0jy1ZghHHm9N9xZTOcgV4fxbWjmbq8GF608rIc5xCqohHcGrZjUveU56bExhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZvLoj53gRGSVBGRpYkZLYpe+nUJvNXA14nX+ioKQT2AiBkRemg3R943vujtcfKOJIq5DFQejyRuca81MGVhD3Xcg=="}]},"directories":{}},"1.2.3":{"name":"tv4","version":"1.2.3","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"b2eecfba64e7ddde80dd0411be8b50b6e6547de2","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.3","_shasum":"929285fb201973149a9fd3b483fd2d0309443fd5","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"929285fb201973149a9fd3b483fd2d0309443fd5","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.3.tgz","integrity":"sha512-1MTkgY3vZ9x299yroptRSo3kRZQX+qkKXIHqD5Pyl4r74GbTgBdpbAjIH2JhkgEz29SNFnQeeSnfoayPMkO/WQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOUUfJz+96DXWn5I0cH9MpIOTZCuA0ivwJ0AM3Chm1WAiEAl3i93oaf8W9wLCkgqdq9mU+zGpfSLYzJczpjfZz7Os0="}]},"directories":{}},"1.2.4":{"name":"tv4","version":"1.2.4","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"1d5b5e2fc89ee568b992e61bdef4031d326fd787","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.4","_shasum":"5d418a5738240e94d3987ae82f3b505d759e505b","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"5d418a5738240e94d3987ae82f3b505d759e505b","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.4.tgz","integrity":"sha512-oaTY2WWEsl6VgMtOjDpAbBcwB1rI5ek64+UdVzoZTWUD5HWGDcqcqY+WV7PiMoG7fM8xCLVO7xdZpbIQlrkNzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJjIrNi4Ki/q8dkftYBg+Pz8BvJ4PCDC76MoxWLbWY8AiEAyja2JThPqTqrEL6nzQ6bNRb7eLPA+NWXIyWr9CRF/pA="}]},"directories":{}},"1.2.5":{"name":"tv4","version":"1.2.5","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"831be0fb57d4b5f6cf23a63eb4e94220374d43d2","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.5","_shasum":"edf457cc011a207cd11cfdf2207dbd8770bb3f60","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"edf457cc011a207cd11cfdf2207dbd8770bb3f60","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.5.tgz","integrity":"sha512-u04LzCR4wTqwElQAaBPv+bn5i1vR/x8iVrRKFqQilxF/HyhQQb2AHqk0x4hGDLRmO6eJW5RYwJ941LHD4xhH6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtUVu5RGwj1QcKnX/te7RFW0Cd/bG7hn63/t99IU64fwIhANwp4VCjafXWMSgTw+WNiOUyFCsSTdIUQii5i+JRgjZ7"}]},"directories":{}},"1.2.6":{"name":"tv4","version":"1.2.6","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"b60d6362d1732ae9c228afa115a41646ff57a8fc","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.6","_shasum":"243d384d42f6d706f3b7213d78b61838454e8b52","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"243d384d42f6d706f3b7213d78b61838454e8b52","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.6.tgz","integrity":"sha512-Lewu43flph1H1zaoe1KQ5bnqCbIMaHTzVV32yIctQE4bWVgygs6Iuhcx50t+Btaf6Lyvy+0ptdkDvopT77sI0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWjKvUVNK3znyuB38dqJmqUWgUGeaeTSjwMpU5OTp3EgIgck9zlMkKwc3T7u+b08yxXVUsqY5ySft9TE2dutG4zKs="}]},"directories":{}},"1.2.7":{"name":"tv4","version":"1.2.7","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license:":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-contrib-clean":"~0.4.1","grunt-contrib-jshint":"~0.6.2","mocha":"~1.11.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","grunt-contrib-copy":"~0.4.1","proclaim":"1.4","mocha-unfunk-reporter":"~0.2","jshint-path-reporter":"~0.1","grunt-concat-sourcemap":"~0.2","source-map-support":"~0.1","grunt-markdown":"~0.3.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","requirejs":"~2.1.11","grunt-component-io":"~0.1.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"c1db91fd7a915178f4b8f66622f0e78fcb4e3ecb","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"_id":"tv4@1.2.7","_shasum":"bd29389afc73ade49ae5f48142b5d544bf68d120","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"bd29389afc73ade49ae5f48142b5d544bf68d120","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz","integrity":"sha512-7W00xKKK9ccSXbN8E1FUKe+PJKlQc3HcPRM1y9WnplFVucoWFBpTNCGJNMHG04+yf5lQKUKx71yt0mluqnbCzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpffkD2um9+tECIqUyNKXsnTBfLwUrS6XSsVVWB/pGbAiB6a3HSIOuvG1/NaHHufBxD0Y7UqqVsElerTorFoVi3tg=="}]},"directories":{}},"1.3.0":{"name":"tv4","version":"1.3.0","author":{"name":"Geraint Luff"},"description":"A public domain JSON Schema validator for JavaScript","keywords":["json-schema","schema","validator","tv4"],"maintainers":[{"name":"geraintluff","email":"luffgd@gmail.com"},{"name":"bartvds","email":"bartvanderschoor@gmail.com"}],"main":"tv4.js","repository":{"type":"git","url":"https://github.com/geraintluff/tv4.git"},"license":[{"type":"Public Domain","url":"http://geraintluff.github.io/tv4/LICENSE.txt"},{"type":"MIT","url":"http://jsonary.com/LICENSE.txt"}],"devDependencies":{"grunt":"~0.4.1","grunt-cli":"~0.1.9","grunt-component-io":"~0.1.0","grunt-concat-sourcemap":"~0.2","grunt-contrib-clean":"~0.4.1","grunt-contrib-copy":"~0.4.1","grunt-contrib-jshint":"~0.6.2","grunt-contrib-uglify":"~0.2.2","grunt-markdown":"~0.3.0","grunt-mocha":"~0.4","grunt-mocha-test":"~0.5.0","grunt-push-release":"~0.1.1","grunt-regex-replace":"~0.2.5","jshint-path-reporter":"~0.1","mocha":"~1.11.0","mocha-unfunk-reporter":"~0.2","proclaim":"1.4","requirejs":"~2.1.11","source-map-support":"~0.1"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test","prepublish":"grunt prepublish"},"gitHead":"395f59375bfddebb79ef77208cbaec541dfdb0be","bugs":{"url":"https://github.com/geraintluff/tv4/issues"},"homepage":"https://github.com/geraintluff/tv4","_id":"tv4@1.3.0","_shasum":"d020c846fadd50c855abb25ebaecc68fc10f7963","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"geraintluff","email":"luffgd@gmail.com"},"dist":{"shasum":"d020c846fadd50c855abb25ebaecc68fc10f7963","tarball":"https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz","integrity":"sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFJ8Xwdx0R1IIuPYZ25Rn+zfFMM9bBbNUiVkrA3+5iN1AiBlm393K4gn9KNM8Rw1nOun6KQgFtD3s2kfBdM+uWaklA=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/tv4-1.3.0.tgz_1489998082029_0.9732973694335669"},"directories":{}}},"readme":"# Tiny Validator (for v4 JSON Schema)\r\n\r\n[](http://travis-ci.org/geraintluff/tv4) [](https://gemnasium.com/geraintluff/tv4) [](http://badge.fury.io/js/tv4)\r\n\r\nUse [json-schema](http://json-schema.org/) [draft v4](http://json-schema.org/latest/json-schema-core.html) to validate simple values and complex objects using a rich [validation vocabulary](http://json-schema.org/latest/json-schema-validation.html) ([examples](http://json-schema.org/examples.html)).\r\n\r\nThere is support for `$ref` with JSON Pointer fragment paths (```other-schema.json#/properties/myKey```).\r\n\r\n## Usage 1: Simple validation\r\n\r\n```javascript\r\nvar valid = tv4.validate(data, schema);\r\n```\r\n\r\nIf validation returns ```false```, then an explanation of why validation failed can be found in ```tv4.error```.\r\n\r\nThe error object will look something like:\r\n```json\r\n{\r\n \"code\": 0,\r\n \"message\": \"Invalid type: string\",\r\n \"dataPath\": \"/intKey\",\r\n \"schemaPath\": \"/properties/intKey/type\"\r\n}\r\n```\r\n\r\nThe `\"code\"` property will refer to one of the values in `tv4.errorCodes` - in this case, `tv4.errorCodes.INVALID_TYPE`.\r\n\r\nTo enable external schema to be referenced, you use:\r\n```javascript\r\ntv4.addSchema(url, schema);\r\n```\r\n\r\nIf schemas are referenced (```$ref```) but not known, then validation will return ```true``` and the missing schema(s) will be listed in ```tv4.missing```. For more info see the API documentation below.\r\n\r\n## Usage 2: Multi-threaded validation\r\n\r\nStoring the error and missing schemas does not work well in multi-threaded environments, so there is an alternative syntax:\r\n\r\n```javascript\r\nvar result = tv4.validateResult(data, schema);\r\n```\r\n\r\nThe result will look something like:\r\n```json\r\n{\r\n \"valid\": false,\r\n \"error\": {...},\r\n \"missing\": [...]\r\n}\r\n```\r\n\r\n## Usage 3: Multiple errors\r\n\r\nNormally, `tv4` stops when it encounters the first validation error. However, you can collect an array of validation errors using:\r\n\r\n```javascript\r\nvar result = tv4.validateMultiple(data, schema);\r\n```\r\n\r\nThe result will look something like:\r\n```json\r\n{\r\n \"valid\": false,\r\n \"errors\": [\r\n {...},\r\n ...\r\n ],\r\n \"missing\": [...]\r\n}\r\n```\r\n\r\n## Asynchronous validation\r\n\r\nSupport for asynchronous validation (where missing schemas are fetched) can be added by including an extra JavaScript file. Currently, the only version requires jQuery (`tv4.async-jquery.js`), but the code is very short and should be fairly easy to modify for other libraries (such as MooTools).\r\n\r\nUsage:\r\n\r\n```javascript\r\ntv4.validate(data, schema, function (isValid, validationError) { ... });\r\n```\r\n\r\n`validationError` is simply taken from `tv4.error`.\r\n\r\n## Cyclical JavaScript objects\r\n\r\nWhile they don't occur in proper JSON, JavaScript does support self-referencing objects. Any of the above calls support an optional third argument: `checkRecursive`. If true, tv4 will handle self-referencing objects properly - this slows down validation slightly, but that's better than a hanging script.\r\n\r\nConsider this data, notice how both `a` and `b` refer to each other:\r\n\r\n```javascript\r\nvar a = {};\r\nvar b = { a: a };\r\na.b = b;\r\nvar aSchema = { properties: { b: { $ref: 'bSchema' }}};\r\nvar bSchema = { properties: { a: { $ref: 'aSchema' }}};\r\ntv4.addSchema('aSchema', aSchema);\r\ntv4.addSchema('bSchema', bSchema);\r\n```\r\n\r\nIf the `checkRecursive` argument were missing, this would throw a \"too much recursion\" error.\r\n\r\nTo enable support for this, pass `true` as additional argument to any of the regular validation methods:\r\n\r\n```javascript\r\ntv4.validate(a, aSchema, true);\r\ntv4.validateResult(data, aSchema, true);\r\ntv4.validateMultiple(data, aSchema, true);\r\n```\r\n\r\n## The `banUnknownProperties` flag\r\n\r\nSometimes, it is desirable to flag all unknown properties as an error. This is especially useful during development, to catch typos and the like, even when extra custom-defined properties are allowed.\r\n\r\nAs such, tv4 implements [\"ban unknown properties\" mode](https://github.com/json-schema/json-schema/wiki/ban-unknown-properties-mode-\\(v5-proposal\\)), enabled by a fourth-argument flag:\r\n\r\n```javascript\r\ntv4.validate(data, schema, checkRecursive, true);\r\ntv4.validateResult(data, schema, checkRecursive, true);\r\ntv4.validateMultiple(data, schema, checkRecursive, true);\r\n```\r\n\r\n## API\r\n\r\nThere are additional api commands available for more complex use-cases:\r\n\r\n##### addSchema(uri, schema)\r\nPre-register a schema for reference by other schema and synchronous validation.\r\n\r\n````js\r\ntv4.addSchema('http://example.com/schema', { ... });\r\n````\r\n\r\n* `uri` the uri to identify this schema.\r\n* `schema` the schema object.\r\n\r\nSchemas that have their `id` property set can be added directly.\r\n\r\n````js\r\ntv4.addSchema({ ... });\r\n````\r\n\r\n##### getSchema(uri)\r\n\r\nReturn a schema from the cache.\r\n\r\n* `uri` the uri of the schema (may contain a `#` fragment)\r\n\r\n````js\r\nvar schema = tv4.getSchema('http://example.com/schema');\r\n````\r\n\r\n##### getSchemaMap()\r\n\r\nReturn a shallow copy of the schema cache, mapping schema document URIs to schema objects.\r\n\r\n````\r\nvar map = tv4.getSchemaMap();\r\n\r\nvar schema = map[uri];\r\n````\r\n\r\n##### getSchemaUris(filter)\r\n\r\nReturn an Array with known schema document URIs.\r\n\r\n* `filter` optional RegExp to filter URIs\r\n\r\n````\r\nvar arr = tv4.getSchemaUris();\r\n\r\n// optional filter using a RegExp\r\nvar arr = tv4.getSchemaUris(/^https?://example.com/);\r\n````\r\n\r\n##### getMissingUris(filter)\r\n\r\nReturn an Array with schema document URIs that are used as `$ref` in known schemas but which currently have no associated schema data.\r\n\r\nUse this in combination with `tv4.addSchema(uri, schema)` to preload the cache for complete synchronous validation with.\r\n\r\n* `filter` optional RegExp to filter URIs\r\n\r\n````\r\nvar arr = tv4.getMissingUris();\r\n\r\n// optional filter using a RegExp\r\nvar arr = tv4.getMissingUris(/^https?://example.com/);\r\n````\r\n\r\n##### dropSchemas()\r\n\r\nDrop all known schema document URIs from the cache.\r\n\r\n````\r\ntv4.dropSchemas();\r\n````\r\n\r\n##### freshApi()\r\n\r\nReturn a new tv4 instance with no shared state.\r\n\r\n````\r\nvar otherTV4 = tv4.freshApi();\r\n````\r\n\r\n##### reset()\r\n\r\nManually reset validation status from the simple `tv4.validate(data, schema)`. Although tv4 will self reset on each validation there are some implementation scenarios where this is useful.\r\n\r\n````\r\ntv4.reset();\r\n````\r\n\r\n##### setErrorReporter(reporter)\r\n\r\nSets a custom error reporter. This is a function that accepts three arguments, and returns an error message (string):\r\n\r\n```\r\ntv4.setErrorReporter(function (error, data, schema) {\r\n return \"Error code: \" + error.code;\r\n});\r\n```\r\n\r\nThe `error` object already has everything aside from the `.message` property filled in (so you can use `error.params`, `error.dataPath`, `error.schemaPath` etc.).\r\n\r\nIf nothing is returned (or the empty string), then it falls back to the default error reporter. To remove a custom error reporter, call `tv4.setErrorReporter(null)`.\r\n\r\n##### language(code)\r\n\r\nSets the language used by the default error reporter.\r\n\r\n* `code` is a language code, like `'en'` or `'en-gb'`\r\n\r\n````\r\ntv4.language('en-gb');\r\n````\r\n\r\nIf you specify a multi-level language code (e.g. `fr-CH`), then it will fall back to the generic version (`fr`) if needed.\r\n\r\n##### addLanguage(code, map)\r\n\r\nAdd a new template-based language map for the default error reporter (used by `tv4.language(code)`)\r\n\r\n* `code` is new language code\r\n* `map` is an object mapping error IDs or constant names (e.g. `103` or `\"NUMBER_MAXIMUM\"`) to language strings.\r\n\r\n````\r\ntv4.addLanguage('fr', { ... });\r\n\r\n// select for use\r\ntv4.language('fr')\r\n````\r\n\r\nIf you register a multi-level language code (e.g. `fr-FR`), then it will also be registered for plain `fr` if that does not already exist.\r\n\r\n##### addFormat(format, validationFunction)\r\n\r\nAdd a custom format validator. (There are no built-in format validators. Several common ones can be found [here](https://github.com/ikr/tv4-formats) though)\r\n\r\n* `format` is a string, corresponding to the `\"format\"` value in schemas.\r\n* `validationFunction` is a function that either returns:\r\n * `null` (meaning no error)\r\n * an error string (explaining the reason for failure)\r\n\r\n````\r\ntv4.addFormat('decimal-digits', function (data, schema) {\r\n\tif (typeof data === 'string' && !/^[0-9]+$/.test(data)) {\r\n\t\treturn null;\r\n\t}\r\n\treturn \"must be string of decimal digits\";\r\n});\r\n````\r\n\r\nAlternatively, multiple formats can be added at the same time using an object:\r\n````\r\ntv4.addFormat({\r\n\t'my-format': function () {...},\r\n\t'other-format': function () {...}\r\n});\r\n````\r\n\r\n##### defineKeyword(keyword, validationFunction)\r\n\r\nAdd a custom keyword validator.\r\n\r\n* `keyword` is a string, corresponding to a schema keyword\r\n* `validationFunction` is a function that either returns:\r\n * `null` (meaning no error)\r\n * an error string (explaining the reason for failure)\r\n * an error object (containing some of: `code`/`message`/`dataPath`/`schemaPath`)\r\n\r\n````\r\ntv4.defineKeyword('my-custom-keyword', function (data, value, schema) {\r\n\tif (simpleFailure()) {\r\n\t\treturn \"Failure\";\r\n\t} else if (detailedFailure()) {\r\n\t\treturn {code: tv4.errorCodes.MY_CUSTOM_CODE, message: {param1: 'a', param2: 'b'}};\r\n\t} else {\r\n\t\treturn null;\r\n\t}\r\n});\r\n````\r\n\r\n`schema` is the schema upon which the keyword is defined. In the above example, `value === schema['my-custom-keyword']`.\r\n\r\nIf an object is returned from the custom validator, and its `message` is a string, then that is used as the message result. If `message` is an object, then that is used to populate the (localisable) error template.\r\n\r\n##### defineError(codeName, codeNumber, defaultMessage)\r\n\r\nDefines a custom error code.\r\n\r\n* `codeName` is a string, all-caps underscore separated, e.g. `\"MY_CUSTOM_ERROR\"`\r\n* `codeNumber` is an integer > 10000, which will be stored in `tv4.errorCodes` (e.g. `tv4.errorCodes.MY_CUSTOM_ERROR`)\r\n* `defaultMessage` is an error message template to use (assuming translations have not been provided for this code)\r\n\r\nAn example of `defaultMessage` might be: `\"Incorrect moon (expected {expected}, got {actual}\"`). This is filled out if a custom keyword returns a object `message` (see above). Translations will be used, if associated with the correct code name/number.\r\n\r\n## Demos\r\n\r\n### Basic usage\r\n
\r\nvar schema = {\r\n\t\"items\": {\r\n\t\t\"type\": \"boolean\"\r\n\t}\r\n};\r\nvar data1 = [true, false];\r\nvar data2 = [true, 123];\r\n\r\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\r\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\r\nalert(\"data 2 error: \" + JSON.stringify(tv4.error, null, 4));\r\n\r\n$ref\r\n\r\nvar schema = {\r\n\t\"type\": \"array\",\r\n\t\"items\": {\"$ref\": \"#\"}\r\n};\r\nvar data1 = [[], [[]]];\r\nvar data2 = [[], [true, []]];\r\n\r\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\r\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\r\n\r\n\r\nvar schema = {\r\n\t\"type\": \"array\",\r\n\t\"items\": {\"$ref\": \"http://example.com/schema\" }\r\n};\r\nvar data = [1, 2, 3];\r\n\r\nalert(\"Valid: \" + tv4.validate(data, schema)); // true\r\nalert(\"Missing schemas: \" + JSON.stringify(tv4.missing));\r\n\r\n\r\ntv4.addSchema(\"http://example.com/schema\", {\r\n\t\"definitions\": {\r\n\t\t\"arrayItem\": {\"type\": \"boolean\"}\r\n\t}\r\n});\r\nvar schema = {\r\n\t\"type\": \"array\",\r\n\t\"items\": {\"$ref\": \"http://example.com/schema#/definitions/arrayItem\" }\r\n};\r\nvar data1 = [true, false, true];\r\nvar data2 = [1, 2, 3];\r\n\r\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\r\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\r\n\r\n