{"_id":"certainty","_rev":"34-e4a9e6a2af7f8d21af298238d38f1e00","name":"certainty","description":"Full-featured JavaScript assertion library with friendly error messages.","dist-tags":{"latest":"1.5.2"},"versions":{"0.0.1":{"name":"certainty","version":"0.0.1","description":"Full-featured assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"d4dd81bd466212330c364597821a21349f8874a5","_id":"certainty@0.0.1","_shasum":"0140def6bdf345739999f370bde4095919c9f660","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"0140def6bdf345739999f370bde4095919c9f660","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.0.1.tgz","integrity":"sha512-JrGstYON2ASVWW1FwwgdNtXumRdIORVs6tB/3UF4LucGM2j1Qr+/iEL7eNVZ1W/+x55ektGOMpWMCrWv8aiE5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEYHY7VeQVoqfea5HspIhmV0wW/zIEtrkpdqQ4gu8BCAiAFCGaNz06cvv2tnvPePnE47hLokAM7ScNyrdbT/5ASLQ=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-0.0.1.tgz_1463978590553_0.35434861155226827"},"deprecated":"No longer maintained - use Jest."},"0.0.2":{"name":"certainty","version":"0.0.2","description":"Full-featured assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"3f658aa0324b4a230e944906408a84285a012e60","_id":"certainty@0.0.2","_shasum":"c83767ec1071b2a9c6126a596fb3cb284e4aae35","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"c83767ec1071b2a9c6126a596fb3cb284e4aae35","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.0.2.tgz","integrity":"sha512-hpqMRN34i9lrdzvlmuIaHc8GHGlNsT56ghGGXQwcNd+DZmm6Eg52z42NMDKhUaxg8eP4Wrz8uorNaTTtr2w+zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxURszjpE2x0tPR3D7jl4RVaogyHXPY/SqX3IvAGOgmAiEAwznZtnm5ZiVBmb1VGT+3k3CLAWEBUvIPc6wdiYafBP0="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-0.0.2.tgz_1463979572317_0.23009343864396214"},"deprecated":"No longer maintained - use Jest."},"0.0.3":{"name":"certainty","version":"0.0.3","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"f434c5a44befb87b46463c0e69a6926a75827f29","_id":"certainty@0.0.3","_shasum":"bf4ff52b9214637bb979bfe7c88d6a9901ec5669","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"bf4ff52b9214637bb979bfe7c88d6a9901ec5669","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.0.3.tgz","integrity":"sha512-1QT6IihOKNTZP0xxZouxqCgJSzy/YqLg2Mj7Iip7b+cqzj4ap86ckr3D0PqXGq4RG28GoPuaU1rXsVORUWShJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZxrTNTdRXneAlonFH9lgtpiPWK4v9xPl3eOYpQVMJhAiAHSsVAdTwc/uKtyzf+pk/vdJhOeDj6mxOqO5EK6vwOxg=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.0.3.tgz_1464361308556_0.13360343128442764"},"deprecated":"No longer maintained - use Jest."},"0.0.4":{"name":"certainty","version":"0.0.4","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"afc1d18b85ec2faeff46ba5d9a80c44bc9505dca","_id":"certainty@0.0.4","_shasum":"c2d8c57bc7d67fad46862e6df038adb81d5a9b37","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"c2d8c57bc7d67fad46862e6df038adb81d5a9b37","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.0.4.tgz","integrity":"sha512-/MHZREUtDc5bm35HKrSGFlH9TtkD78xNDGcq6fjvOT7BmLF4A24uyhAEqC+C4XBCrgNIbFgcC4VtkYUvMNlT0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICazfTg/j+sT9RE+ZN8AV/+SEmldUAE71i5OTMOaoGWYAiAAsSv0sxQocA4TAkFYqGKzgVpphgS7xbpKFd9xEN5qIw=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.0.4.tgz_1464364907381_0.32542254962027073"},"deprecated":"No longer maintained - use Jest."},"0.1.0":{"name":"certainty","version":"0.1.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"afc1d18b85ec2faeff46ba5d9a80c44bc9505dca","_id":"certainty@0.1.0","_shasum":"2096df33d4017bbebc5ed8132e1068a2cf0318c5","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"2096df33d4017bbebc5ed8132e1068a2cf0318c5","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.1.0.tgz","integrity":"sha512-NOLOQAz42FnXQW3v7NJQHkGPJUMHgjF0LOJLYPk+f7oqxZYWxj6tbi1B4Z8iO1OkNcKI9/C+fKhIsGoa/S298w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDk07bunOzbtPdRRz5Yjay+l8q7kxveWkp5OMkt/N+YMQIgHL9WwUUAGFSF6rn1T51yG6cGkmjc5EfN0+cMRMZsC6s="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.1.0.tgz_1464367865933_0.2558114069979638"},"deprecated":"No longer maintained - use Jest."},"0.2.0":{"name":"certainty","version":"0.2.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"b6be489b82be595ce776539d3ac4aef772b53672","_id":"certainty@0.2.0","_shasum":"cad8f184527c52fa1b55f4e82d57fb16dfed1bba","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"cad8f184527c52fa1b55f4e82d57fb16dfed1bba","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.2.0.tgz","integrity":"sha512-Ta+jXZrHp0xMbujaocOV2bWj2H37kQ0bJ4CEFYx3y10s8Xh2pcvA3GV+Jq9CnnkZlF2zarvkUrXtvq9EdnfDSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwAmby/y1cFKbblMW84QxxaWtQBOHhVoWBiTPEoZ3UgQIhAPpFC5W0PgUYhS7u4bdCRYGzMsGBP+nBpFe4ga4zvjHT"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-0.2.0.tgz_1464369695338_0.8621578651946038"},"deprecated":"No longer maintained - use Jest."},"0.3.0":{"name":"certainty","version":"0.3.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"985f5945f3624550d78b80ae91e2f32763830bd1","_id":"certainty@0.3.0","_shasum":"e94819edce80c44b078d8ec7852418509c726099","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"e94819edce80c44b078d8ec7852418509c726099","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.3.0.tgz","integrity":"sha512-q+5nwzkUXFcqBWcqoYYIuIngfgvYzPqmVpbq1rTnAeAv3mBJCRQDYg8u4DXb9QjTzUgJpKvW0/pXxN17X28OgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZwpzlWBvjyMeGHOWjOwN4eiqzGIITjPOfvhZUMHPE8gIgKid1o/V+581nK5ysFLR55gSpzhsURENTKZyzmvNwKc0="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.3.0.tgz_1464756724950_0.016730491304770112"},"deprecated":"No longer maintained - use Jest."},"0.3.1":{"name":"certainty","version":"0.3.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"2eae8c5fdfe9622b0bf2ddfb4cd05edb33072615","_id":"certainty@0.3.1","_shasum":"b7ccf1939eedf47adf1d5bd37916440ca752881c","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"b7ccf1939eedf47adf1d5bd37916440ca752881c","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.3.1.tgz","integrity":"sha512-AzbX2crHt2TnHBmWr2h/k6brRiCAq7sskIYayvy2VmGMErbaiA7HmVy4xiqfoERUwFJ2h1FnGdPllIsvPXMEBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClec8ICdzW6xoCT1ySlwMa4lSiYzy9FiBljBp/oy1LDQIgKhGIm8ZPNhfv/BscMRAAmBvqLMjH9dHSzFrgW+AohL8="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-0.3.1.tgz_1467245534158_0.10904693277552724"},"deprecated":"No longer maintained - use Jest."},"0.3.2":{"name":"certainty","version":"0.3.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"fcb18591b63cadce75866d3d2236adac03cbe249","_id":"certainty@0.3.2","_shasum":"b91eb61676aa6ec58684bde4498591642371f256","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"b91eb61676aa6ec58684bde4498591642371f256","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.3.2.tgz","integrity":"sha512-qw7VU1H4k++8TmQPfgl2VpY+fqde5Fnz7TgApF86zL9fo6Ogfoy2lBlymR9Xxlka4mlt6WuC+ahIVIoKPgsYzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB6UNoFv2J5i+3++8i1Dsfc/+auaoPv7FJwNclTOEX7QIgdpU1Axt+ypG7JNa1ac6V3BsQhdJKzuuCCEtfLgXx2LE="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.3.2.tgz_1469140103967_0.6012638837564737"},"deprecated":"No longer maintained - use Jest."},"0.3.3":{"name":"certainty","version":"0.3.3","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"138f5714115f26c80f4b85a793079ff348442421","_id":"certainty@0.3.3","_shasum":"7b9c88ea5853cf649ce1c8d60d0e30b29f000fc4","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"7b9c88ea5853cf649ce1c8d60d0e30b29f000fc4","tarball":"https://registry.npmjs.org/certainty/-/certainty-0.3.3.tgz","integrity":"sha512-1PDfW48nNKoTjBtJQP5blGPOC89LYBzJnL5f03d6jQkEfsWY0BnmHezvDfqIdOvsiYkSw3YMn5GFzHaA4cu/1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL+BzO6B+o96Czw9+nQynO2du6EOtw/YcMFm1N6rYstgIgXdL1mj6S3WeIA0nlqVyEJprc6/GCsBc3Ag3A+tnbMGA="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-0.3.3.tgz_1469140278201_0.84023896465078"},"deprecated":"No longer maintained - use Jest."},"1.0.0":{"name":"certainty","version":"1.0.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"f1fe6ff57ec2c6a9bec81cfcf6cba07ea6676d08","_id":"certainty@1.0.0","_shasum":"54cc2527b83dd764f76441a359860331aff9c125","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"54cc2527b83dd764f76441a359860331aff9c125","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.0.0.tgz","integrity":"sha512-h9TYGadJG47DHHMJcztpYuRlbbYMI2Gua87OExwxjJq9whf41F3a+VhFc415rP2L9ear/vte9n0vKQ0FORHllg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH9xGYXugGslzzpyro+CIbgXiG9txN0b6WFKW00E0pEAIgW5k2HF3xDIl3bCWyuXg/q6QGRVN/X9LE7EsGnn/EMBA="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-1.0.0.tgz_1469924364057_0.0722977383993566"},"deprecated":"No longer maintained - use Jest."},"1.0.1":{"name":"certainty","version":"1.0.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.0.1","eslint":"^2.9.0","jsdoc":"^3.4.0","karma":"^0.13.22","karma-browserify":"^5.0.5","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.3","karma-phantomjs-launcher":"^1.0.0","minami":"^1.1.1","mocha":"^2.4.5","phantomjs-prebuilt":"^2.1.7","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"56c717be7e85a39cf25a22c2eb806a5750d89f7b","_id":"certainty@1.0.1","_shasum":"174072b6758ac4bc5305090d3ad8b0d8d9dba198","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"174072b6758ac4bc5305090d3ad8b0d8d9dba198","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.0.1.tgz","integrity":"sha512-iuBYydVP5t1HYkZnP4CWZWLu4QIaFcbhomm7VHag8Dh8GFdzTJax4NOhY3Sf60U73dM0RQ9MW6eBTcKxwMy1Lw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcF1TFlO5GQXj7y12RQQcdYR6fQRBS1z0Q/PKXgQHX0gIgRTtE8uK1A0oBIVWUT+E+gDnv8AQrSErZTXLBlGtJlJQ="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-1.0.1.tgz_1469925013020_0.045235736295580864"},"deprecated":"No longer maintained - use Jest."},"1.0.2":{"name":"certainty","version":"1.0.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"46ad960080e4ce02bb4d4afd2f345c4c23b275ce","_id":"certainty@1.0.2","_shasum":"b491e96edd8c063ade740151315b74768721b7b4","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"b491e96edd8c063ade740151315b74768721b7b4","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.0.2.tgz","integrity":"sha512-Qqlhg67R8vNwRMHKr+uRuBgJeHppeubu+KDAXaCfj9jzCImhgEerA1M04YMXeM54BaybvqxKuj8Z3uOjuzRNpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIENMmhwSC2DGfqk0f0liJjtk96RaLZqXhIoz6zl9gBUlAiBR0efu/YMimti8ZDuYGIJewQhXckD0jUwQ7V2mvQ2VHg=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/certainty-1.0.2.tgz_1469981000601_0.22277110000140965"},"deprecated":"No longer maintained - use Jest."},"1.1.0":{"name":"certainty","version":"1.1.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"a5c9a02c2fec457aacf9b98161ddf4957efe02ec","_id":"certainty@1.1.0","_shasum":"2953258153f49a1a9f677efb18f74f91fc537fdc","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"2953258153f49a1a9f677efb18f74f91fc537fdc","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.1.0.tgz","integrity":"sha512-bIORDHQcZf7elfoTkOsVEoCsHokr/ouJDsJpcNI8V/1UIXqaxZIHVRANIsLkORguCQZOll7i3aPNEXaI0E3JBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1pl37blEuQDac9VDctBMcNfZUaebhtoYcF+P6b80ZegIhAJOwHFjjjCGD6qy5TXJW0ICZztZ4aanHIvGAVFXibWGa"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.1.0.tgz_1471501659289_0.42794959410093725"},"deprecated":"No longer maintained - use Jest."},"1.2.0":{"name":"certainty","version":"1.2.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"95c38743c0f5a0747c83c699d6af1618bb881b44","_id":"certainty@1.2.0","_shasum":"60fbff52562be72dd178f9aad07aa0ac851e953f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"60fbff52562be72dd178f9aad07aa0ac851e953f","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.2.0.tgz","integrity":"sha512-eEagg+iMWmjo/+IqiepHGekK14zo+ksLd1ljmPFAQqzrA03lSB0f78bXEW2L+ZPmgfqS8dGMGZx+/NwqOAsb2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEvqa1XvZjG0cxqp+LVi7VBiuPmlCBJ3Wk7+papYJxwgIgfRjGWmcGhjs6vQIY7pSK3Hgp6wJpev/QWTz6U3SE4wk="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.2.0.tgz_1471639268294_0.3617102596908808"},"deprecated":"No longer maintained - use Jest."},"1.2.1":{"name":"certainty","version":"1.2.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"be07daa64bfd910de8987a614d16ee16879c696c","_id":"certainty@1.2.1","_shasum":"aea58107058960960613b2b37686549b6149dc45","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"aea58107058960960613b2b37686549b6149dc45","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.2.1.tgz","integrity":"sha512-mbTLba1zbgHaMZ/EA2si0LSghVymPU+k2WaGR8N0uOFMP9cjpIT1LmzV6meKxUjXDq8oCy7JZgVK5ZowRr/y2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDb36ddmWYA7Fc+BbPuzI0FfeJoWBDVdCdgIgCmSs3uAAiBgvMml84iN0BMZ372DfKFD5z/wFNvKt6+i98G4dhl+SQ=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.2.1.tgz_1472089123480_0.7608185838907957"},"deprecated":"No longer maintained - use Jest."},"1.2.2":{"name":"certainty","version":"1.2.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"41fe7aa15100bb237fc594189d42348d59148964","_id":"certainty@1.2.2","_shasum":"e4d08247557b9176ed08d9b700b2b63a228189c9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"e4d08247557b9176ed08d9b700b2b63a228189c9","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.2.2.tgz","integrity":"sha512-P0tO4YsbpF3xXbY4kY2JsqxkHGhuzvkWiqiCenhLvgtow7IyEfNH5E6eP9v8dcSjrZsUTX8O6+9hOG+bVWOv1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKcMYfopZ8c+R/lzu3cOhnpSNfu7JedlICtpnRiEl+IQIgG/MXr28KY1yi7vOTuUtvFD/KGnSYNUlLXdUrfkW3G/0="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.2.2.tgz_1477764835272_0.4093939221929759"},"deprecated":"No longer maintained - use Jest."},"1.3.0":{"name":"certainty","version":"1.3.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"68fcd7295c8bfb15e657cf0c49c0fe05252aee54","_id":"certainty@1.3.0","_shasum":"5aa9b08a421109bd288a0478f74d1784121f55ac","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"5aa9b08a421109bd288a0478f74d1784121f55ac","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.3.0.tgz","integrity":"sha512-MP+87lMXt7xsHT5nIxvQ865bey792pUCEgSwBeyIl6bPT53mmXer7swfRjiy9SRdkL3sxNQh6Yj1Q7om5znxyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEE3g+NxWXwaic+OZCUXoPoLHIjrvamYXr87ZWbToql0AiBwogRyTHO4Yxs0J41dQTAD8w3EyswpAvgH6df8Y2rM6Q=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.3.0.tgz_1491848084134_0.5377033583354205"},"deprecated":"No longer maintained - use Jest."},"1.3.1":{"name":"certainty","version":"1.3.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"f4001802c6f96b96137984ca977158635f71a203","_id":"certainty@1.3.1","_shasum":"112ee10750787d4ce08f092cfbd2ea856dacec72","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"112ee10750787d4ce08f092cfbd2ea856dacec72","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.3.1.tgz","integrity":"sha512-DQhdKM9LS6YVgvwUofk94mDjTwhntJQvqoGrYaG9d5Q9ao7r4OQb5vJUnCj5oU55IvdBhpAkYzLELA6bh/owUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaFvnFnXq4NWZgRwI49gci5ZK0LZHxQUBLTSLwkTSw2gIhAPlm7u45n+PnV20Ea5mEZDBsR05F76hHM3G67aIbK5zz"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.3.1.tgz_1491849523230_0.6794829061254859"},"deprecated":"No longer maintained - use Jest."},"1.3.2":{"name":"certainty","version":"1.3.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"09e93f71c829a5036e44abcbf45343db5972a074","_id":"certainty@1.3.2","_shasum":"929854ce69ab69c0dc3619a40cc2a7463759b130","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"929854ce69ab69c0dc3619a40cc2a7463759b130","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.3.2.tgz","integrity":"sha512-jZ/DcZBdB27gr3PNdtfQ3pzzRNHqabkMcCs9aQmlUKvryV0RbUA40gYD5SJFjxYHoVw+LgcOTJnuUXtqOMl4cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGB2b6j37XfMqSEk7TNXTyjne9evYwOj7/Kwk6vVNmqjAiBW/vdbpsqFglFNeuzM2E3S69E3ZWuZUBaoX8zzmGWfkg=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/certainty-1.3.2.tgz_1494554278042_0.6131125919055194"},"deprecated":"No longer maintained - use Jest."},"1.3.3":{"name":"certainty","version":"1.3.3","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"4133c36192b8bb847235f2bc036df10a09bbf7c2","_id":"certainty@1.3.3","_shasum":"9051ed0487d7c96c1f12033cc513c53a6f38d50e","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"shasum":"9051ed0487d7c96c1f12033cc513c53a6f38d50e","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.3.3.tgz","integrity":"sha512-H0r4oT1jxrv25+YZuxbof+S9YByHhKR9LefGqkf/FiJM5HSOmjrmFtl0pP4U1ootLbbKqTu1cv1kecrXUvKD3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaZrWJmdZh23Jg5qxm4U3nrgAm8KVMKAm3qOtYIsHwzgIhAK0DMsgtd4K8eBYyYLmRq/lb38LIr+OBWVqjDYSzUzj4"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/certainty-1.3.3.tgz_1494554639236_0.16151853441260755"},"deprecated":"No longer maintained - use Jest."},"1.4.0":{"name":"certainty","version":"1.4.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"b7a2ff7dfd63fa469a1876eb1b859a718e3c3b81","_id":"certainty@1.4.0","_npmVersion":"5.0.3","_nodeVersion":"6.3.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-PcFtKWFMBfo68gGz6N/s8aDqeraiOxg40REIxsSJlJmoECDfSAaWzSERG8fUMjDCuaEYw7mPzgk97BUeap48tg==","shasum":"9f4840b58e8876217871b4065aa682fc3fe94f25","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFUVk0uSH+GnL0H3lvpwIrvRFsJqlgHnyxQ8T4v34MCCAiBmOC4sT8Ncu/PyiMYzOEPfDQZgqh0kTajeP2XrVVOUOw=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.4.0.tgz_1498586598419_0.6195714939385653"},"deprecated":"No longer maintained - use Jest."},"1.4.1":{"name":"certainty","version":"1.4.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"1c46670f9f3e1a13fd3306911fc7e843d11984b3","_id":"certainty@1.4.1","_npmVersion":"5.3.0","_nodeVersion":"8.1.3","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-jkZIHw/toZakTVox9wq/AtxNTyN+Vtj2GakwLEzdrLCjxbXCXQhQ6c1Sy2kGk12VQ1UNzbHh9yhbxuCFtJ279Q==","shasum":"41cefc29cc15781bbfccc8fae3c71b65ea040eb9","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0JWmNMa+/37REB/F/JqSi0bZHROMcV1q58HXzSTzHwAiBVMoTqo9vavu4AjtF2a/V2WsloY8pxPh4CiSgbvP7qSg=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.4.1.tgz_1500059879379_0.07187142013572156"},"deprecated":"No longer maintained - use Jest."},"1.4.2":{"name":"certainty","version":"1.4.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"1ff354fcd8cb32cdb1bf9a060c4443de5754b9b3","_id":"certainty@1.4.2","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-V5h5DYoTQK+9SJC2ODrhSmyzZVblMoqhlbFhRtLRTY5lL70jSvc/IYUXLqTi4zb4RXWXzB167Ei1yB428IJ8ZQ==","shasum":"0386fbdf945e22f86ab71f748c5985c34be991bf","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYgQJ4M9inYbccTAwFoumEEx/bKtlEFbo/P6cUK4Gt2AiBOaFG/jKoRqgbUUzR7V1As7CuQUzKrGqXDxXxs5kiPtw=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.4.2.tgz_1501453089266_0.9408037082757801"},"deprecated":"No longer maintained - use Jest."},"1.4.3":{"name":"certainty","version":"1.4.3","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"84c191291bdeaae7e623186aa79d38a9a9d7da98","_id":"certainty@1.4.3","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-gZAIEevM2dWZfYJfVosNIIppxdfzWQkPMn5kcO9fyAiPfug0UVj6j0Jmp+pwBZxPUQ+1SNdG1rQEuOjgopLDhw==","shasum":"bafc0113a85b36f17be0817fb2200d1fffa2ced4","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.4.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTe6SwHjKz2Gbj2EFgfzWaWhod10Pafp8LGwTYsM/tggIhAMWYzdvFKskdlDpvdzPTZsObfYEbLSKqmGH8F7zWarMA"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.4.3.tgz_1502415319018_0.5872939203400165"},"deprecated":"No longer maintained - use Jest."},"1.5.0":{"name":"certainty","version":"1.5.0","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"f33829dfc5aa8306d9fc8a96358e0996acb5fb7a","_id":"certainty@1.5.0","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-zqsQ6pENvc5beqv5mU1wOvIZEhIcLuOiOYA8I3iWe3FX3eQNkmAJylliW3zawJ8zYzvjnH4lL/2QVwKeMWF6DQ==","shasum":"57724146e3a4024c2773ff8657be12514e10735f","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFSaieGxpzZiCQwgdei2AS6aKHxbyU2uijb6y8FVNZMBAiBSKZ0H1XqiSpT1Lby3+kvEQfp2XwTJDkzoTl1aoukQ1g=="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.5.0.tgz_1505584947327_0.857821679674089"},"deprecated":"No longer maintained - use Jest."},"1.5.1":{"name":"certainty","version":"1.5.1","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"7eaf2dbca1cdca939fac7b3a844af12f256e8576","_id":"certainty@1.5.1","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-L0Wfmc6oMOVrZfJFqKPkE0AV+RB/nOo84IEfPJkT0ZCXofzn5LpttJXa8IGgr1K3iAfKUJZY56tZdVrYfMDfPQ==","shasum":"7f21c5e9ed1f924ea0fc52841cc52255a9c265d2","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxLDCF2hIpsGqaNY+Z1j4iRj7ZXGj862H5Nt9GOrE64gIgNRCYfzk5+NPJ+X9d2mM/TTtTRGlhFafpw8fzyRJElao="}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.5.1.tgz_1505585039850_0.4991992365103215"},"deprecated":"No longer maintained - use Jest."},"1.5.2":{"name":"certainty","version":"1.5.2","description":"Full-featured JavaScript assertion library with friendly error messages.","main":"index.js","scripts":{"jsdoc":"jsdoc -c conf.json","test":"npm run test-node","test-node":"mocha test/*.js","test-browser":"karma start --single-run"},"keywords":["test","assertion","assert","testing","certainty"],"author":{"name":"Talin","email":"viridia@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^13.1.0","eslint":"^3.2.0","jsdoc":"^3.4.0","karma":"^1.1.2","karma-browserify":"^5.1.0","karma-chrome-launcher":"^1.0.1","karma-firefox-launcher":"^1.0.0","karma-mocha":"^1.1.1","karma-mocha-reporter":"^2.1.0","karma-phantomjs-launcher":"^1.0.1","minami":"^1.1.1","mocha":"^2.5.3","phantomjs-prebuilt":"^2.1.9","watchify":"^3.7.0"},"directories":{"doc":"doc","test":"test"},"typings":"./index.d.ts","dependencies":{},"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"homepage":"https://github.com/viridia/certainty#readme","gitHead":"ab4294df65dfda324ef0713a3a22657959958f80","_id":"certainty@1.5.2","_npmVersion":"5.5.1","_nodeVersion":"8.2.1","_npmUser":{"name":"viridia","email":"viridia@gmail.com"},"dist":{"integrity":"sha512-hJsYsLeAu0uNg3f2aqskt8pTTl9BLwEBzfugaPxO/r5uWf8xIkRWQDkPNLA1oH64CrZJapJ5sUy4Yycky545NA==","shasum":"e1db39eb13a8ceff5cf79c7978fef9079789432f","tarball":"https://registry.npmjs.org/certainty/-/certainty-1.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZdwHEa+VHke/FfGwVRq07umpYAnsXjKTm1Uj0KMzTBAIhAKbo97ZP6x6fs7OxXCMrpxMdqVizfiAr1ek93F8DnTfc"}]},"maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/certainty-1.5.2.tgz_1508258476626_0.2525953713338822"},"deprecated":"No longer maintained - use Jest."}},"readme":"# Certainty ![](https://travis-ci.org/viridia/certainty.svg?branch=master)\n\n* [GitHub project page](https://github.com/viridia/certainty)\n* [JSDocs](https://viridia.github.io/certainty)\n* [npm package](https://www.npmjs.com/package/certainty)\n* Extensions:\n  * [Certainty-DOM](https://github.com/viridia/certainty-dom)\n  * [Certainty-Enzyme](https://github.com/viridia/certainty-enzyme)\n  * [Certainty-Selenium](https://github.com/viridia/certainty-selenium)\n\n## Introduction\n\n**Certainty** is a JavaScript assertion framework designed to make your tests and their error\nmessages more readable and discoverable, while being extensible to new types of objects.\n\nCertainty is largely inspired by [Truth](http://google.github.io/truth/), a Java-based testing\nframework created by Google.\n\nCertainty provides assertion methods, and is designed to work in conjunction with popular testing\nframeworks such as [Mocha](https://mochajs.org/) or mocking frameworks such as\n[Sinon](http://sinonjs.org/).\n\nCertainty adopts a fluent style for test propositions, and is extensible in several ways. It\nallows different actions to be taken on failure, the default action being to throw an exception.\n\n### A simple example:\n\n```javascript\nimport { ensure } from 'certainty';\n\nlet width = 10;\nensure(width).named('width').isGreaterThan(100);\n```\n\nreports:\n\n```sh\nError: Expected width to be greater than 100.\n```\n\nCertainty’s propositions are intended to read (more or less) like English, and thereby be more\nobvious in their intent, as well as report meaningful information about the errors.\n\n### Fluent syntax\n\nEach test proposition begins with a function that wraps the test expression and binds to a fluent\ncontext object. This object (called a [`Subject`][Subject]) provides a wealth\nof assertion methods such as `.isTrue()` and `.isEqualTo()`:\n\n```javascript\nensure(someValue).isTrue();       // is exactly equal to the value 'true'.\nensure(someValue).isTruthy();     // is true when coerced to a boolean.\nensure(someValue).isEqualTo(10);  // is equal to 10.\n```\n\nThe wrapper function also associates the subject with a failure strategy, such as throwing an\nexception when an assertion fails. The `ensure` function uses the exception strategy, while the\n`expect` function merely prints an error on the console and continues the test.\n\n### Named subjects\n\nThe `.named(string)` method can be used to assign a descriptive name to a subject, improving the\nreadability of failure messages. For example:\n\n```javascript\n// Prints: 'Expected 10 to be greater than 100.'\nensure(10).isGreaterThan(100);\n\n// Prints: 'Expected width to be greater than 100.'\nensure(10).named('width').isGreaterThan(100);\n```\n\n### Custom failure messages\n\nYou can override the default failure message using `.withFailureMessage()`:\n\n```javascript\n// Prints: '10 is not big enough!'\nensure(10).withFailureMessage('10 is not big enough!').isGreaterThan(100);\n```\n\n### Type-specific Subjects\n\nThe set of assertion methods available depends on the runtime type of the test expression. For\nexample, passing an array to `ensure()` will return an [`ArraySubject`][ArraySubject], which has\nmethods for testing the elements of the array (`.contains()`, `.hasLength()`, and so on). Passing a\nstring will return a [`StringSubject`][StringSubject], passing an ES2015 Map object will return a\n`MapSubject` and so on. For example:\n\n```javascript\nensure(someArray).hasLength(10);      // is an array of length 10.\nensure(someString).startsWith('abc'); // starts with the characters 'abc'.\nensure(someMap).containsKey('abc');   // contains the key 'abc'.\n```\n\nIt is relatively easy to create custom subclasses of [`Subject`][Subject] that are associated with\nnon-standard types (examples might be immutable collections or protocol buffers), and provide\nassertion methods that are meaningful for those types.\n\n## Assertion methods\n\n### Common assertions\n\nThe following assertions are applicable to all test expressions regardless of type:\n\n#### Boolean assertions\n\n```javascript\nensure(someValue).isTrue();\nensure(someValue).isFalse();\nensure(someValue).isTruthy();\nensure(someValue).isFalsey();\n```\nThe distinction between *true* and *truthy* is as follows: A *truthy* value is one that yields\n`true` when coerced to a boolean, e.g.:\n\n```javascript\nif (someValue) { /* value is truthy. */ } else { /* value is falsey. */ }\n```\n\nWhereas `isTrue()` only succeeds if the value is exactly equal to the literal value `true`.\n\n#### Tests for `null` and `undefined`\n\n```javascript\nensure(someValue).isNull();\nensure(someValue).isNotNull();\nensure(someValue).isUndefined();\nensure(someValue).isNotUndefined();\nensure(someValue).isNullOrUndefined();\nensure(someValue).isNotNullOrUndefined();\n\n// Synonym for isNotNullOrUndefined()\nensure(someValue).exists();\n```\n\n#### Equality tests\n```javascript\nensure(someValue).isEqualTo(otherValue);\nensure(someValue).equals(otherValue);     // Synonym for isEqualTo()\nensure(someValue).isNotEqualTo(otherValue);\nensure(someValue).isExactly(otherValue);  // Uses === instead of ==\nensure(someValue).isDeeplyEqualTo(otherValue);\nensure(someValue).isNotDeeplyEqualTo(otherValue);\n```\n\nFor deep comparison failures, rather than printing the entire value (which may be large), the\ncomparator will attempt to summarize the difference between the two values. So for example, a\ndeep comparison of `{ a:1, b:1 }` with `{ a:1 }` will report the fact that it expected a `b`\nproperty to exist but it did not find one.\n\n#### Relational tests\n```javascript\nensure(someValue).isGreaterThan(otherValue);\nensure(someValue).isNotGreaterThan(otherValue);\nensure(someValue).isLessThan(otherValue);\nensure(someValue).isNotLessThan(otherValue);\nensure(someValue).isApproximately(otherValue, opt_epsilon);\n```\n#### Type tests\n```javascript\nensure(someValue).isInstanceOf(class);\nensure(someValue).isNotInstanceOf(class);\nensure(someValue).hasType(type);\n```\n\n#### Other tests\n```javascript\n// Ensure that the test expression is one of a known set of values.\nensure(someValue).isIn(array);\nensure(someValue).isIn(set);\nensure(someValue).is(verb, testFn);\nensure(someValue).isNot(verb, testFn);\n\n// Example:\nensure('alpha').isIn(['alpha', 'beta', 'gamma']);\nensure(10).is('be even', (n) => (n % 2 == 0));\n```\n\n### Array assertions\n\nThe following assertions methods (provided by [`ArraySubject`][ArraySubject]) are applicable to\narray expressions:\n\n#### Array length assertions\n\n```javascript\nensure(someArray).isEmpty();\nensure(someArray).isNotEmpty();\nensure(someArray).hasLength(length);\n```\n\n#### Array membership assertions\n\n```javascript\n// Accepts a single element value\nensure(someArray).contains(element);\nensure(someArray).doesNotContain(value);\n\n// Accepts multiple arguments\nensure(someArray).containsAllOf(elements...);\nensure(someArray).containsExactly(elements...);\nensure(someArray).containsAnyOf(elements...);\nensure(someArray).containsNoneOf(elements...);\n\n// Accepts a list of elements\nensure(someArray).containsAllIn(elementList);\nensure(someArray).containsExactlyIn(elementList);\nensure(someArray).containsAnyIn(elementList);\nensure(someArray).containsNoneIn(elementList);\n\n// Accepts a verb phrase (such as 'be prime') and a test function.\nensure(someArray).containsAny(verb, testFn);\nensure(someArray).containsAll(verb, testFn);\nensure(someArray).containsNone(verb, testFn);\n\n// Example: Prints 'Error: Expected all elements of [1, 2, 3] to be even.'\nensure([1, 2, 3]).containsAll('be even', (el) => n % 2 == 0));\n\n// .eachElement() applies an assertion method to every element in the array.\nensure(someArray).eachElement().isGreaterThan(3);\nensure(someArray).eachElement().hasType('string');\n```\n\n### Object assertions\n\nThe following assertion methods (provided by [`ObjectSubject`][ObjectSubject]) are applicable to\nobject expressions:\n\n```javascript\nensure(someObject).isEmpty();\nensure(someObject).isNotEmpty();\nensure(someObject).hasField(key).withValue(expectedValue);\nensure(someObject).hasOwnField(key).withValue(expectedValue);\nensure(someObject).doesNotHaveField(key);\nensure(someObject).doesNotHaveOwnField(key);\n```\n\n### String assertions\n\nAssertions on strings are provided by [`StringSubject`][StringSubject]:\n\n```javascript\nensure(someString).isEmpty();\nensure(someString).isNotEmpty();\nensure(someString).includes(subString);\nensure(someString).doesNotInclude(subString);\nensure(someString).startsWith(subString);\nensure(someString).endsWith(subString);\nensure(someString).matches(regex);\n```\n\n### ES2015 collection assertions\n\nCertainty will detect if the ES2015 `Map` and `Set` classes are present, and if so, it will add\nsupport for these collection types.\n\n#### Set assertions\n\n```javascript\nensure(someSet).isEmpty();\nensure(someSet).isNotEmpty();\nensure(someSet).hasSize(size);\n\n// Accepts a single element value\nensure(someSet).contains(value);\nensure(someSet).doesNotContain(value);\n\n// Accepts multiple arguments\nensure(someSet).containsAllOf(elements...);\nensure(someSet).containsExactly(elements...);\nensure(someSet).containsAnyOf(elements...);\nensure(someSet).containsNoneOf(elements...);\n\n// Accepts a list of elements\nensure(someSet).containsAllIn(elementList);\nensure(someSet).containsExactlyIn(elementList);\nensure(someSet).containsAnyIn(elementList);\nensure(someSet).containsNoneIn(elementList);\n\n// Accepts a verb phrase (such as 'be prime') and a test function.\nensure(someSet).containsAny(verb, testFn);\nensure(someSet).containsAll(verb, testFn);\nensure(someSet).containsNone(verb, testFn);\n\n// .eachMember() applies an assertion method to every member of the set.\nensure(someSet).eachMember().isGreaterThan(3);\nensure(someSet).eachMember().hasType('string');\n```\n\n#### Map assertions\n\n```javascript\nensure(someMap).isEmpty();\nensure(someMap).isNotEmpty();\nensure(someMap).hasSize(size);\n\n// Accepts a single element value\nensure(someMap).containsKey(key).withValue(value);\nensure(someMap).doesNotContainKey(key);\nensure(someMap).containsEntry(key, value);\n```\n\n### Promise assertions\n\nCertainty supports assertions on JavaScript Promises if they are available in the environment.\n\nPromises are wrapped in a [`PromiseSubject`][PromiseSubject] which provides assertion methods for\ntesting the outcome of the promise.\n\nThe `PromiseSubject.eventually()` method returns a subject that supports the standard assertions\nmethods, but waits until the promise has resolved before executing those assertions. The set\nof assertion methods available depends on the type of object returned by the promise, so for example\nif the promise resolves to an Array, you can call `.contains()` on it.\n\nExamples:\n\n```javascript\nensure(somePromise).eventually().isTrue();\nensure(somePromise).eventually().named('x').equals(someValue);\nensure(somePromise).eventually().contains(someItem);\n```\nPutting the `.named()` call after `.eventually()` causes the name to be assigned to the resolved\nvalue instead of the promise object.\n\nIf you just want to know if the promise succeeded or failed, you can simply call `.succeeds()` or\n`.fails()`:\n\n```javascript\nensure(somePromise).succeeds();\nensure(somePromise).fails();\n\n// Does simply equality comparison.\nensure(somePromise).succeedsWith(someValue);\nensure(somePromise).failsWith(someReason);\n```\n\nThe return value of the assertion methods are 'thenable', so if you are testing using\nMocha, you can return the result of the assertion from your test method, which will cause Mocha\nto wait until your promise is resolved.\n\n```javascript\ndescribe('MyTest', function() {\n  it('should resolve to 7', function() {\n    var promise = methodThatCreatesAPromise();\n    return ensure(promise).eventually().equals(7);\n  });\n});\n```\n\n## Extending Certainty\n\nIt's relatively easy to add support for additional test expression types. The global singleton\n`subjectFactory` creates subjects based on the type of the test expression. To add support for\na new type, you'll need to tell the subjectFactory about your type:\n\n```javascript\nimport { subjectFactory } from 'certainty';\n\nsubjectFactory.addType(\n  function(value) { return value instanceof MyType; },\n  MyTypeSubject);\n```\n\nThe first argument to `addType()` is a function that returns true if the type of the value is\nrecognized. The second argument should be a subclass of Subject.\n\nIf you plan to make your custom [`Subject`][Subject] class work with promises, there's a little bit\nof extra work to be done. See the source for `ArraySubject` for an example.\n\n  [Subject]: https://viridia.github.io/certainty/module-certainty-Subject.html\n  [ArraySubject]: https://viridia.github.io/certainty/module-certainty-ArraySubject.html\n  [ObjectSubject]: https://viridia.github.io/certainty/module-certainty-ObjectSubject.html\n  [PromiseSubject]: https://viridia.github.io/certainty/module-certainty-PromiseSubject.html\n  [StringSubject]: https://viridia.github.io/certainty/module-certainty-StringSubject.html\n","maintainers":[{"name":"viridia","email":"viridia@gmail.com"}],"time":{"modified":"2022-06-13T05:48:51.731Z","created":"2016-05-23T04:43:11.006Z","0.0.1":"2016-05-23T04:43:11.006Z","0.0.2":"2016-05-23T04:59:32.740Z","0.0.3":"2016-05-27T15:01:51.639Z","0.0.4":"2016-05-27T16:01:50.299Z","0.1.0":"2016-05-27T16:51:09.219Z","0.2.0":"2016-05-27T17:21:35.773Z","0.3.0":"2016-06-01T04:52:07.337Z","0.3.1":"2016-06-30T00:12:14.664Z","0.3.2":"2016-07-21T22:28:27.009Z","0.3.3":"2016-07-21T22:31:21.256Z","1.0.0":"2016-07-31T00:19:28.245Z","1.0.1":"2016-07-31T00:30:17.073Z","1.0.2":"2016-07-31T16:03:22.527Z","1.1.0":"2016-08-18T06:27:39.544Z","1.2.0":"2016-08-19T20:41:08.548Z","1.2.1":"2016-08-25T01:38:43.735Z","1.2.2":"2016-10-29T18:13:55.512Z","1.3.0":"2017-04-10T18:14:44.414Z","1.3.1":"2017-04-10T18:38:43.492Z","1.3.2":"2017-05-12T01:57:58.306Z","1.3.3":"2017-05-12T02:04:02.449Z","1.4.0":"2017-06-27T18:03:18.537Z","1.4.1":"2017-07-14T19:17:59.646Z","1.4.2":"2017-07-30T22:18:09.869Z","1.4.3":"2017-08-11T01:35:19.165Z","1.5.0":"2017-09-16T18:02:27.473Z","1.5.1":"2017-09-16T18:03:59.945Z","1.5.2":"2017-10-17T16:41:18.145Z"},"homepage":"https://github.com/viridia/certainty#readme","keywords":["test","assertion","assert","testing","certainty"],"repository":{"type":"git","url":"git+https://github.com/viridia/certainty.git"},"author":{"name":"Talin","email":"viridia@gmail.com"},"bugs":{"url":"https://github.com/viridia/certainty/issues"},"license":"MIT","readmeFilename":"README.md","users":{"viridia":true,"bpatel":true}}