{"_id":"cafy","_rev":"47-5f3b01dc5d42c4ac1ec4ecfcd5351bb7","name":"cafy","description":"Simple, lightweight, flexible validator generator","dist-tags":{"latest":"15.2.1"},"versions":{"0.0.0":{"name":"cafy","version":"0.0.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@0.0.0","_shasum":"b1eabc5e2f02b486684883394c18d2b3669edd7c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"b1eabc5e2f02b486684883394c18d2b3669edd7c","tarball":"https://registry.npmjs.org/cafy/-/cafy-0.0.0.tgz","integrity":"sha512-P9BC1pEHeZAup/PZpNW9RzDEwWs6z9nw+0G8QAwcvYzd6HpCXj8N6GDKPqAyJ7WsGaVP4FJTkXX+8zaca7eSIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHx4CXAXno+zCnksVDWOMe700icyzwL+1YjdENFvtZ3YAiBe49gyux5lsjlQ9DUobrDRCAtcXSd2Xs4somxT7hGISg=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/cafy-0.0.0.tgz_1488637214990_0.9716644333675504"},"directories":{}},"1.0.0":{"name":"cafy","version":"1.0.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"0eb5566bc41c3aa7a7b7d994cb91d723975e51ab","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@1.0.0","_shasum":"66393ebcb862131adfcbbc51a71dffc1aec0d4bd","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"66393ebcb862131adfcbbc51a71dffc1aec0d4bd","tarball":"https://registry.npmjs.org/cafy/-/cafy-1.0.0.tgz","integrity":"sha512-G+40AwmgQ3Om8POHfTVelItU9fWGnne1ZCFgVmoSI2H+WNA12IYaffAp+rqbf0VpemfClj5HYOd9oqdiJjFdGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4gIXLU4W0WWcaNK3a4WJFr40AVpPSjF7XDAFrJ4LDcAIhAOeZc16q85MkRvLen8umPYjducAaSvFtcKHF2xtfT+AU"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/cafy-1.0.0.tgz_1488681326977_0.3560277090873569"},"directories":{}},"1.0.1":{"name":"cafy","version":"1.0.1","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"420cfa8875e243ee782b3f89cf0975c23c96fefe","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@1.0.1","_shasum":"52a76b2265e49d842d81d8eab9cca6b3b8aa8c08","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"52a76b2265e49d842d81d8eab9cca6b3b8aa8c08","tarball":"https://registry.npmjs.org/cafy/-/cafy-1.0.1.tgz","integrity":"sha512-iQf8CKaokTEci+eknLF9k0ILX821iE6OiAoVbF663KEWlKhL1ETZVvfEQybrtciJyuSfq4IuggTshwhXqSg6vQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaxMSQVggA3QmzYVw6eAdPOEB4iZMU4eUmXplxUyv12AiAbO1QcOxsL2cWO6tbSo1ku7RG1BjODr7Y5onWwzCoc9A=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-1.0.1.tgz_1488691330728_0.4614855826366693"},"directories":{}},"1.1.0":{"name":"cafy","version":"1.1.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"2f3ea74e17ca232bc0830bbe854719484a241b2a","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@1.1.0","_shasum":"bed324c56ec488742db46df85f60267c0e9e484c","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"bed324c56ec488742db46df85f60267c0e9e484c","tarball":"https://registry.npmjs.org/cafy/-/cafy-1.1.0.tgz","integrity":"sha512-cWnherngHRdFFONOnwNY07U2Vy5kcdP3TP2fF8UycJmcrGR4eC2hSN0t0HIU4YR0/jSUqCYS9wrdifGzTuoq8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAfUYzw2oUDISG++MKRAfWj8b4dYtUc+3+0SCzdrgFtwIgZUSIAC5dxlgkQ6gmnfYyiDopYqTZONHRTx9JrU2eW2U="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-1.1.0.tgz_1488737553626_0.3542328893672675"},"directories":{}},"1.2.0":{"name":"cafy","version":"1.2.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"e36c88eb141a7e019654bb86cc203bfb22ce8018","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@1.2.0","_shasum":"17a701cd0de06a6ec7edd10e26097bc91b50c731","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"17a701cd0de06a6ec7edd10e26097bc91b50c731","tarball":"https://registry.npmjs.org/cafy/-/cafy-1.2.0.tgz","integrity":"sha512-io3DfkpLAtXo0+PpmiG6sRtbCnbkS1n/uTEpA4pIglfJLtEmhBBXRo5FRAOgPrDExegVLsa9WOor3fI06Hf98A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRBO6c3EuOJUgkVox/yzm06XH1mE3GbKNg2nqHzIB4QgIhANjKlJ+Hxyt92JP9OX2wXiRRvP53X0yNqNBbVmcohcFD"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/cafy-1.2.0.tgz_1488750228054_0.4238097150810063"},"directories":{}},"1.3.0":{"name":"cafy","version":"1.3.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"002c4a3de04a0b4cee8b3e7e7a6f59b04e71e396","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@1.3.0","_shasum":"e2f6490ec548c5de38fa782f143da87324c67004","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"e2f6490ec548c5de38fa782f143da87324c67004","tarball":"https://registry.npmjs.org/cafy/-/cafy-1.3.0.tgz","integrity":"sha512-4/yl/qTUUk8/+RGBgXksRbOG+aDaQccj9PNk+xGr+Ko8rufyzfRTIU41aBo+oZy6aJjChQzRe8BGqyh9Mpr2ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBHAAco3j5tJW3K2kG5i2Px7et5w/6QBuukkK1tBuzywIgQfZ6V1WQIlMoKszgTyuvdlPetrFZ+NG1LXGn54Kr6Tg="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/cafy-1.3.0.tgz_1488765835847_0.08955046348273754"},"directories":{}},"2.0.0":{"name":"cafy","version":"2.0.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"7a48b4916aa0802c67d0a27ae5f9e6ebb956af1c","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@2.0.0","_shasum":"2450becc644337b1a9b5d44a95f62a6ccb462a59","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"2450becc644337b1a9b5d44a95f62a6ccb462a59","tarball":"https://registry.npmjs.org/cafy/-/cafy-2.0.0.tgz","integrity":"sha512-tOGkbzsk2sVCq/Tj9kFNMJDMmeCMMxF+4fTJQY69v8cJ+dO7zzKd2mabW31+Nh2q+oXIeES3MytfqfA3vgIUug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+Osb7rtz+7mj/Or3YuliKAbuyui9SMpQbwEIsO3nKIgIgCWgPV3O7KkF5Dzr/G9N0W8abA+eiqLYl4chSgUyoia0="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/cafy-2.0.0.tgz_1488846315510_0.2949151801876724"},"directories":{}},"2.1.0":{"name":"cafy","version":"2.1.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"dff1d71eec5f24d6f1a753498c4da678cb470083","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@2.1.0","_shasum":"71e1e6236c7c175ba537e59dc39035fce1ff5e3e","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"71e1e6236c7c175ba537e59dc39035fce1ff5e3e","tarball":"https://registry.npmjs.org/cafy/-/cafy-2.1.0.tgz","integrity":"sha512-CxQoO78IYtYJI8YismLFYJf4u4q1qOygW5AobY54twatpL1HQX+9XsG3yk0rk96hw6hR1LeQ7HWJRf18A5/GOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6hmi/DpNNOGMHn0wpsburJJENEt8cXcvYMeIVlXg0PAiEA4kVtQzgSiBkxxmlYkhZvU+hYdiV3D7sZXvR3XYA1Ar4="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-2.1.0.tgz_1488911135523_0.877768901642412"},"directories":{}},"2.2.0":{"name":"cafy","version":"2.2.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"97fcdbb3dacb9817a73b5b4d29eb5c2df14234f4","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@2.2.0","_shasum":"03c9f5371bed745880476a8a209a9363dc103712","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"03c9f5371bed745880476a8a209a9363dc103712","tarball":"https://registry.npmjs.org/cafy/-/cafy-2.2.0.tgz","integrity":"sha512-qczT25ghNLrCEB8owGKtZNTKiGptl8fj6/+dWWAAn4as59sMuhaDreHfOnfq+C8bR1AcuZc44Y5ekvU0wJmvrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2DM8plYKHvb/l7qq55AT6mpwOvpeeM6jXsRZ/nURYTAiBhrQtoRf9l9V7KdSTCFnLONqX5iAp046Z/OX4scaTxKw=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-2.2.0.tgz_1488925924585_0.904708374524489"},"directories":{}},"2.3.0":{"name":"cafy","version":"2.3.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"gulp build","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/event-stream":"3.3.30","@types/gulp":"3.8.32","@types/gulp-typescript":"0.0.32","@types/node":"7.0.5","@types/mongodb":"2.1.41","event-stream":"3.3.4","gulp":"3.9.1","gulp-typescript":"3.1.5","mocha":"3.2.0","typescript":"2.1.6"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"6250f911ada365069f43c5f9acd78dfbd2f05518","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@2.3.0","_shasum":"530dd16b7bdf71a5634d58d3b354005ad5517a3b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"530dd16b7bdf71a5634d58d3b354005ad5517a3b","tarball":"https://registry.npmjs.org/cafy/-/cafy-2.3.0.tgz","integrity":"sha512-20KYUyKioZuvKtSZxa/amGB9osr+p0eMHDnP2zro/UPMnauR9mXQbCcifvZ0FbBAlfaNja6xr8aDJTxJ2yucRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDunPKPrJhvz+W1WxES33tY6B+HLgoFUtCBNI3JI0loVwIhAPEbG2QDwORznl45CIt1I4N290cxVjd0ymColOgeQ1dN"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-2.3.0.tgz_1488932934730_0.8035407566931099"},"directories":{}},"2.4.0":{"name":"cafy","version":"2.4.0","description":"Query-based validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/debug":"0.0.29","@types/mocha":"2.2.39","@types/node":"7.0.5","@types/mongodb":"2.1.41","mocha":"3.2.0","typescript":"2.3.2"},"dependencies":{"mongodb":"2.2.24"},"gitHead":"397ab2369adf35c5470caef561254b0784bc1f6b","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@2.4.0","_shasum":"d93fb4dd7c72846ce4bf4a6fcf498ef95cc27281","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"shasum":"d93fb4dd7c72846ce4bf4a6fcf498ef95cc27281","tarball":"https://registry.npmjs.org/cafy/-/cafy-2.4.0.tgz","integrity":"sha512-sXnl5ONANKExz5gb5+7mp6yge4SESZQXV61zo5S0xWEROm4jzLApLZZ+5mC6WV2yjbkPv1CgIoOT8ov38UyZuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkZefroP9pys1+GqaCqApFUj6StSe/BiF8B0bdRB90gAiEAqf+0dEaF2UnODvAh5xMQJ44Wyn3P9fXWthFjFDH/q+g="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/cafy-2.4.0.tgz_1494873097283_0.6801677311304957"},"directories":{}},"3.0.0":{"name":"cafy","version":"3.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/mocha":"2.2.43","@types/node":"8.0.28","@types/mongodb":"2.2.11","mocha":"3.5.3","typescript":"2.5.2"},"dependencies":{"mongodb":"2.2.31"},"gitHead":"c0f3b0a3e63edf2d22fc284a315f563df795f1a2","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@3.0.0","_npmVersion":"5.4.0","_nodeVersion":"8.3.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-RF1XuOJ2m7yjYmL37q+4INglEHvk7MFFSajELzAS2ELqHEsfMC9DWhIFRjrCwOo8nEqBhIWrUFVuy6kwJzo0UA==","shasum":"f0f68e3464bc5192ee14ec56cb4f7809d682048b","tarball":"https://registry.npmjs.org/cafy/-/cafy-3.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFkefKHIFZicRDOoBeJJj+JvKqsExvCwI+Kjx3PDUGSFAiEA9OrX+ZxoFDIAn3c7r2cRsnYjgLEbkfM4OogvmhcRL2c="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy-3.0.0.tgz_1505775486131_0.9843270755372941"},"directories":{}},"3.1.0":{"name":"cafy","version":"3.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/mocha":"2.2.43","@types/node":"8.0.28","@types/mongodb":"2.2.11","mocha":"3.5.3","typescript":"2.5.2"},"dependencies":{"mongodb":"2.2.31"},"gitHead":"90b4b8fa75c1fb444a84f53f37d81b1014079195","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@3.1.0","_npmVersion":"5.4.0","_nodeVersion":"8.3.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-rPPi5+RwuJVxXUlSp3HS3Xnqmj0kdTaLqapauraYibwJTIJI5GhZdFh0C7gbFbkFKJztoOq1e2HonvEmmNS5pg==","shasum":"2e2543c56ea5234fb2f88250a4d1cb6453b20bae","tarball":"https://registry.npmjs.org/cafy/-/cafy-3.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAxL8nkSd0XXCu5p8yCDy1cT6QWH5zJEzzQzrapy4XhAIhAIQipPC8hy9x/fyaalUQ55p2x+oAgJV1cwHDpLSLB6/v"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy-3.1.0.tgz_1509862607982_0.3578024124726653"},"directories":{}},"3.1.1":{"name":"cafy","version":"3.1.1","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/mocha":"2.2.43","@types/node":"8.0.28","@types/mongodb":"2.2.11","mocha":"3.5.3","typescript":"2.5.2"},"dependencies":{"mongodb":"2.2.31"},"gitHead":"02944c46f7ce33bf4ba78767a68df59f591782ec","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@3.1.1","_npmVersion":"5.4.0","_nodeVersion":"8.3.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-25oroI6WqNFxBVIT033Cy0dPWeoIfIkg3paAmFHCGp71XdZkGJGh6RzlMCpuVTWcGJNIxw5ZwdYA7J1+giUkfg==","shasum":"021cd31e307483bc7fd05b6167e09d1b778ceb20","tarball":"https://registry.npmjs.org/cafy/-/cafy-3.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAijB7nL0PxSIA8MhyI1jJNSfRpRe+KWcscZcw3R2pHTAiEAmwMA6IobvQo97VMatAv8WoMOIORszuCPLm8Ogv3QySM="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy-3.1.1.tgz_1509871800051_0.30859537492506206"},"directories":{}},"3.2.0":{"name":"cafy","version":"3.2.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/mocha":"2.2.43","@types/node":"8.0.28","@types/mongodb":"2.2.11","mocha":"3.5.3","typescript":"2.5.2"},"dependencies":{"mongodb":"2.2.31"},"gitHead":"80175f92595585674ba20201842bb67c975e1327","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@3.2.0","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-IUxSIjYPlY7EUO7b3Luj+l7JOU2KjS+ia+brzdV3xDIz8vp+B26r8Z4oZewDYxq4mPO7Q6uUKBs3QhtcHUGJEg==","shasum":"cc9725866bfbebf34741582ef64c9fd701c204ae","tarball":"https://registry.npmjs.org/cafy/-/cafy-3.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoNzawn38HT57/saaWMY/QmMX2+aJbJlIWZXXKO9JTiQIgIBZiUN0N2Q94QlfO/git7LwsYh2z1YgRn0AUtxHbBwI="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy-3.2.0.tgz_1510147295382_0.4082347482908517"},"directories":{}},"3.2.1":{"name":"cafy","version":"3.2.1","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --harmony"},"devDependencies":{"@types/mocha":"2.2.43","@types/node":"8.0.28","@types/mongodb":"2.2.11","mocha":"3.5.3","typescript":"2.5.2"},"dependencies":{"mongodb":"2.2.31"},"gitHead":"80175f92595585674ba20201842bb67c975e1327","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@3.2.1","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-lRLh5CVkmeYdek6sW+78bSuPuKIvdLv8KPy4BmhiUPbNE956KUb/ZHL8K2zLH+J1+NAB9eR/Zrhp8pS7mUY9tA==","shasum":"98df895cb2a2b220275352e3d6e96e807180ea8d","tarball":"https://registry.npmjs.org/cafy/-/cafy-3.2.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICLL3VQlIoU8reKtFjUtQgbbiJ3voUlEdgj7hBlRkqclAiEAs8c0sprRwxIsolLvXF/LMsjr/x9UQipFV2uVkGKclIA="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy-3.2.1.tgz_1516675456510_0.2624127212911844"},"directories":{}},"4.0.0":{"name":"cafy","version":"4.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"59831e4cc9b5870e3d20756bff5d59ea39918018","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@4.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-M7lkqGMlACEE9qSFYacKWVWYyV4PpYLpyfnQXuwrklAhXo/ML2+/LARnbesh/Lm9ErRtbofX1HhfKedpd744Xw==","shasum":"9439018b28a88bb5b916295ad2800ef4ab242e71","tarball":"https://registry.npmjs.org/cafy/-/cafy-4.0.0.tgz","fileCount":28,"unpackedSize":56142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOzb3/N+ZXq67B2r7XLMXwncMJmzfndf4zJ9XwAMj0WAiEAjQCadY4CvZe8PAFlUdbkQEItpLbAOY+gtS6H/lgPrjw="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_4.0.0_1522825727227_0.6027971082148382"},"_hasShrinkwrap":false},"4.0.1":{"name":"cafy","version":"4.0.1","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"f74e125efac7f577c87720f2a83507c1834b4b2e","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@4.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-kQZ7JX4+JlVzUFfuGeg4qAt3oJ+yjNMBiastjbc0hhx4143XPUc3+u3rUxTD0nS2ZHz2cxwaTe8c/VdJV3eDVg==","shasum":"913e34f1848cdeb06b35b8a526b62680b6e4697f","tarball":"https://registry.npmjs.org/cafy/-/cafy-4.0.1.tgz","fileCount":28,"unpackedSize":56019,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFx64KuPYOVMLHpyloRgyZjZWF+irWQXv+RkorEskABLAiB8jza0P1QWjvxcLbzxjZQo8v6D+vIlBf6/Vxvms9sM9w=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_4.0.1_1522826693249_0.5587143349081607"},"_hasShrinkwrap":false},"4.0.2":{"name":"cafy","version":"4.0.2","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"0795fecc9c5fa2574369ff01fca45132559c7324","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@4.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-6ss0XburdNX3ij7wDZ3OMQ+tZzX2qDMHEX0wMKmrNjhK28F+jPszqVaZK7GwzW7DKjUgSaHyiJOXZ/ZZWjroVA==","shasum":"b403bdcdf4f75542c409774d5866aa50cf3bede8","tarball":"https://registry.npmjs.org/cafy/-/cafy-4.0.2.tgz","fileCount":28,"unpackedSize":56112,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGH+4bCFxfGQrtZZyOWcNL0jLGMmOX8q0aDo5FOnQj4iAiEA7IbJODt0ugV7gtyaqG1Ls3AglSB2NgnAA0Zz+WmeeZw="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_4.0.2_1522831910637_0.2160582933307782"},"_hasShrinkwrap":false},"4.1.0":{"name":"cafy","version":"4.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"1cdac1c9f8cc7663fbf947f1f584f70e07979253","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@4.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-PhekzjXdPXkglBQZbZEVELOC033x3CQyTaj6RhBFvdf9v+3VcmsktB+pRczRMY30WFDIlEDUqiEIEF3CSkU+Kg==","shasum":"edd19f610737dd7ec1ca9fd1b29bdf7c43c15818","tarball":"https://registry.npmjs.org/cafy/-/cafy-4.1.0.tgz","fileCount":32,"unpackedSize":60179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3uoLCRA9TVsSAnZWagAA42oP/Alg99n1hbuhYMJm6hRw\ndOrwZnZasPjDVjnF0PRiAkO/s/YLvHY3qWHGBkKZ2glLqgFzuhvdLHavJKMr\nZxKug0JvXsISk2uxxLeV7f34jNQRNESh+ymCYuP6BzjtPWSRKS9XYmwJiGnO\nTFOboMSETYBci507e1BLHcviMMRFn+xrBqE+gp7FWlZwAW/RikXdt3Uk3x6w\nMKI5kLG5wr3OYNNJeDV4Ig6ca85jipwX/z8sel0v/enpVFPddAXVUPxSg/48\n3rhir1vYZZyn4xJppYNIJLIBOLPQncHQFN7/z0uETh45mdyYdubnmjSodRyu\nlkxM1tVP2Ci4CQFp1xaIRsgCg8iU7NdwYSIUKeNdDHihS6zJ35WfXQJZjT5j\nrSwNsFadmXkZPcNa8lDdxm/nGmeHGpHq3IBBBN7ZHNvsdTCE7FmkOv7WBLsw\nxrAWrRiMYv7NSUeUzT3eOYozydb4q2X7c7hhYX41e2ISRUkDySVZnNRKgsSf\nQRFko5xwdX96HqSbMPjcSH8aLiB0j4DYPYluzrLfSf9f1QDiYmRyw0JTTPvB\nm0fKRGzWHQVFswHbP2AhhJ3bEj+l4zbpEsoBJoamzRI+CMCcHDuKui/RIq0m\nIl5sy7sRvaML3mq+W2ZZPEYyVWdc19dPd7UkzlHhWle8oENggAZM9CHiIcg+\n/Yo/\r\n=WQ6J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4NHdYLXNvNIGG0FGZpO6pGHUBGmVt6Kxx/WKOIao1GwIhANF4U5/PqGJ+oSDZlQPnrOcXVT21RoxH9hkSU1pDsGOA"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_4.1.0_1524558345711_0.266354860929612"},"_hasShrinkwrap":false},"5.0.0":{"name":"cafy","version":"5.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"6ec9a3f316e628dbede09090155cc6619d4ba56c","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@5.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-Uj41fWJMytIeFFGa8PSBwyAa6T3lWwgjQ5QFlyeq8Flv7XPTJNJ7isgEZMgBvPMmdlm6A8zJaACnv6QVWjZqlg==","shasum":"873c7a85f81139ca7ba2433bafc2adde88a56121","tarball":"https://registry.npmjs.org/cafy/-/cafy-5.0.0.tgz","fileCount":32,"unpackedSize":59258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3uzbCRA9TVsSAnZWagAAqVQQAJvyF+l6qbzSjGhu/hnR\nhvFVRojYdf+jl6/lvTGqKxsbXGBTGlu1nciNg/vQHuFU53feuQLNuMiDPUqL\nL6Htks67cHy73zBzbh9fjkAVOVbjbsEfqARtikUXYBBGAhRnehw3gWLRksaB\nTjToLFP/g8hhBUvWZUT2bazDQkSUDLVRPYG4N6OEEK/BSx1S6DAgPKVklVyl\nVDU2NQGbLFs1OQVF6b9n3trXzfWfJT4toHHnCdOi056nBOq3lBZS6xNmm9u9\nMm51wFfQk0Rp2Slaeqtk4ejI8uU+uPGKmP4Q/7Wt2wGgIgJ7+V1P0COKMiHn\nKtEjqwCDWBujO0+MrASHzdPUoQaWh1kCRHsKGnZDrJ4Cp2kDoGumuHLT3gID\nrgYiH+3g4LZSBvwFqreHrFggiCYOCjsOgh2a9g59qlJpiyWy/S7orX8iFs1v\nkkVtP3uoDW6B9+WBgyWuajaoZKJVv35HCByNdSz8hVvBETK+pPQ1GXKpalJo\n4ikiXTMKbCWfbewB7GBJluyDHzzgdsWoBGvUEFs+ls3YT0Oy+fvbNbX0xy/M\nnsWxliQiK5fdEdQwPDwQN4kDK0E70HCNT0eV4ZBap29muuWIAZXCkUkAzRzR\nXQv1LB8l+Dj0k3gw/gBT6L90ZoMtn4fGkCid3GvUgxiIQ9wJKA9U+kMYlcVM\nCI0t\r\n=VW04\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiNujGRMNNwYT23qv8/Si72qJozEy81j637klpn2DnXAiEA0ZPrKmt0saiHOi63a0Msx4Ne1ZUgB1SHN1ZjF2QaU00="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_5.0.0_1524559066269_0.6890212778176885"},"_hasShrinkwrap":false},"5.1.0":{"name":"cafy","version":"5.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"978bc1f5ced4d3855f1ba4b5357540eaeea1727e","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@5.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-bXqtrA2icYaYAIgf5qoEYouIPUWjSOKvW2/ZoPDndR4LM+EfSznadYdPBl0QtXDAG1jrwmdH398JylIoDG91KQ==","shasum":"78a7edf2cd6274bb9711cd73df52a41cd19879ce","tarball":"https://registry.npmjs.org/cafy/-/cafy-5.1.0.tgz","fileCount":32,"unpackedSize":59436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3vHNCRA9TVsSAnZWagAAIckP/jNy7jPCnZdGJgMvxGHo\nzTRGh10P2FvEqEBBathNE2igifwsXfUnEzADv0D7xBhsdF1vWA+LBzZHfhqn\nKy0hqe35+SaY9ep77S9yDrwuO6r5KqDx6Or/WCLl38d4Ph+Tcn+avcUOmbOx\nr9IJoVYp8RIW0qJSMgFOBtNDAtC+zXbG6rzMJvQ0hzaM8lmJlgy4g0j3CjjM\nSihXopm6sNdkD3O3uZQSSmmd9e6aR4UVVF4wqMdRli7SoJbBkjqkfiS6JIMI\nF5QrXDyLz0wgIz5h1B1nf+IFdK0XcoQNK5rgJ4WklwBj9NdKFaQrLWxHWsKK\np+BqlnNhtAG1LS/w6ryb5D5eBMVKfEPohQiJV/+5zfzWKkE3hJhBOQaRcy0v\nrPh9ViJrQUHJhPNm3/ORI7kkB0ohftttryz0LDb5qh5Z6kBdwslR+A283T4v\ndSqtAyArhQ9WVvDztYV9UrKS7KigVVmKOuN3ILGCKJ4FNbF00yiFZfKwfxRh\nwpYtlC3XndP2KxX9XYYbAoBXGFs3WaqU+cX2IElbF4/opXUuaMP/n6Nok71I\n83J1n3cnXT6vrvxN+Tjj6wM0if1paIp1HSEOpG7HxCfRhUrqxVo4rR3VoUPk\n/JVpxdzoSFp3zY6UVDQGMxfR2SSzReyE0JwBkktQ72wEfzNAeihXlCMoqH/C\nLXz0\r\n=YeNV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwfDci5VMTLg0DjUJKL6UKSZn4f3Sk6KzBmDPoO5yt9AiBjCDQxcX4F8jPoA7yzedzQsgzeJ0tvZHAhzbsNT/eeVQ=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_5.1.0_1524560333189_0.18356756255504258"},"_hasShrinkwrap":false},"6.0.0":{"name":"cafy","version":"6.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"a07d5f312cf6ee8c9a01877a99d3a2f830eeaa70","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@6.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-bOGFd8zgrcltHc72th86xEQH1DBtfRkF5dglSUIj5MZNIGzLRWLWtCkoN6BpcrnNQtXMk5rrAJEVsFKzUYBJOg==","shasum":"dfe813bd77c79499c7fd95b35da7343e6722963e","tarball":"https://registry.npmjs.org/cafy/-/cafy-6.0.0.tgz","fileCount":32,"unpackedSize":57619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3z5JCRA9TVsSAnZWagAAW64P/09OVK02EKDjib0zazfO\ntezUYDy0XQMB+GZtrqiCiWrh4rCj3hYUmYDKiQEM9a5B3OlLGCakpEGMep/Z\nDMzuqcL8xcNbazNem/kzUkTzKQBMMzqdU11e65U3JEyLqR84pN8Sv51jU1+m\nkpErXpivZM22GzRSt2PnuS/0hzpoeAiJ5T/mGjdYwPiQBY8sw/XA2BTZResX\nj3pWmbgTkKj0a5awQgbIBaBSJh9ESN3Aru6lkWryyqi6h14Wn85ft0hzFGD2\nS4Ccl1+2DdMWnUamoHshz2C93kgBTwc4lGOw+O/XpQF/FzUpXlzNHRz7QJRe\nDwSzxmQSSOHW0jP0GseE/s8fk4rB00lZZWNc/nvG2rNDciMF5sK9tJ4xoytU\nhZ2e4CIy9znHsdjabbIwkIIexJ2rW7lnxCrvsuva/YA5rUbTdxWNdZg3KYab\n07R61pEshoh1I0L/0d5HCGLzl9VByC6tm8i9qwj+C6Ulvl4ZSgXV816oD02t\nHGUO6aZtKf9vJW29VICzGBs7N1tayP1D+xQWjO+4YiHG/pd5JPdUtjUEfR6e\nbTTagyd/1mtsjJywHPIR+wgLKBrS/zAeUWule2V+2S6dbg8fGsNOH+ObSMm6\nZ3GKn0LRkLLs0ABfdlMJbhjV1bWx1rkEgG3CYroAQqqsrizWMxtGqelnFxHH\nSyO5\r\n=mWDL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUbJoisTOD+0UG+aepQgC9W6Fsc84FpfEu8eNyivoW8gIhAOwRdz/Hn8wdPBJGd740RNb/VkrErKsRR34xtSRAEzIf"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_6.0.0_1524579911575_0.028328793346824144"},"_hasShrinkwrap":false},"7.0.0":{"name":"cafy","version":"7.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"a05cd6951a4deffd9953ca9b130a22d3f88cafe2","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@7.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-I91YHd/7c4EOQD3QXVGq/LeLR/1d4V0fVhgRz5nhYQbT5hEg29LSeXNG+eThV9UMCGKWJ3oGwGg7AOIyRWsR5Q==","shasum":"dbd63f3c6464e526c7dc96300f8926f04a06d3f2","tarball":"https://registry.npmjs.org/cafy/-/cafy-7.0.0.tgz","fileCount":32,"unpackedSize":60105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa37tUCRA9TVsSAnZWagAA0aUQAJcNHsBoCB60VK9NtjAT\n5hDcSmpRfROytSIoOcK+KhxBw1Au8J8kOzTFpi71ahO+jBch7Mh/JMaOsVWZ\nUq6moCmX0GXubut/aKRZ06HuQdy7pZEC+D0XbqDEDd6f+EKuUA7vzo5cOHVS\nlop81uh2V6kfdt7EYx/H1oVz+JpQq30pv6TsD1EzZZjaGaoK03x8GFWcC3gS\ntR5a8eCYWdaaCKcYLnPp4Q57ZHjhc6laGL0I/Vbu3S7VZXf4U5J3T0Z0g4zv\n5YntVOGETWwDHu4aAFGp0kfsywpnlJ+fOEH3ERuoHbk0EsO7mumV/Q4UgVI5\nvyHfgL5+caNQskE0sTwY6woPehHQlhyMpo1z25RciLvczfqRsyDD2yiNfbMo\nrPO5Xp2nspS8YxBm9HY7Q5P9mTvU1+DWjhtFwzD5nQwshFQsPzNehkPb72aq\nkyFpxDyG0ISfRWkgDJmxfQA8PrncKL2XFaoOpSSOdlWT4p7vWA5YCtbmiGkE\naH05st37qcGPD6isA1jh9WrrvPxZZnvGZanPGWrr55Xs3q/FzG4TcJD9rPq8\nXhMGxsa8Nhw5e84KfU+fTV7aM8xbjptL8+XiYuJORSwJrQ+JdUwZBeX428ec\nnfkeBug+AWTdEdShwpc/Ou97oE8J+4n4NjKPR8BvDuKbBBmEab62OfkRxdAi\nDnPp\r\n=3PoU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLBVkZXcaCQCGs1czzVOpabBa2nRmkFGsiBY4NoUpWmAiBE/9ab6FU58asc/SGG/YdRQpQtf34D3fG4NRCTgqB+ig=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_7.0.0_1524611921630_0.322679765465677"},"_hasShrinkwrap":false},"7.0.1":{"name":"cafy","version":"7.0.1","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"3017dc7ad92db609873416e52eafed7d3194909d","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@7.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-ntWhQx3Q9/swHhXzYFrxFvct4y+y0NKtB0Bf57R1EayldPC0PjNaVJBBa7B54pHplFozv6rnn5+g/liyCCvpOA==","shasum":"114e98c31dd29f4f7c11468b0b117ab1255e8f1b","tarball":"https://registry.npmjs.org/cafy/-/cafy-7.0.1.tgz","fileCount":32,"unpackedSize":60778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa375/CRA9TVsSAnZWagAAriYP/3EcPBBKd69eoJmpk0mx\nexpPd7pBN6UWF2z6jRywkHmJcrlwHNUIZndB325TyNEWkDri0hoogOuGxpWq\nUH3D5E2RM0HBHZ5fMBXYVOWPpwquS1KUKQRz9luFka7BRcRITPxf9x32/+10\nLwS4BTXEX777NC3q5obho28Ox2eI/1KkSAOdk3AiFdabKpl25at8zp6VzA8z\nNdvNXYwWZzumTSyu1fMIxPA3uUdTUFtLh/qfGRjKdXajui9TLGKLB1no5otZ\nqbaa6yaWeO1BJseQs0PT8gSsnL2oITw8949UAc4Vt7KrzHDmStI/A66hiaCp\nsRxtOaQc5zmkrWmpMjs4ZpC3tU7cP81hRcVNgyrbovUX/m4Ba9fCJp2BIF9j\nYmt3BrCc3cqx8DgNuxEOPNG6lOciZpwPC818Fu/Y5dTKU7W9TdyO5kEDAmWT\n0xD5Pnq5Pip5DE3mQP8fBHAWtPROeMFGk0zalDOM7XALee0mPth5DnYk5fcH\nk7rQ8YNJY67PvRnp+zvMOCKwaqcSW1CwcjTnX1HJmaA6mhxw0oppOQQVs87l\n9nVWVdLe7QIw4GmUb+c189sPEU3KsWW1DIyaF/gTyMx3DhXP+d9RE5hx3t6F\ncEUBY12GAXGHviYzxFcqTOEPsuuBD+Ww6GjXTC16N0lJXSzsShfTEqvvjGyV\ntyfY\r\n=wlH1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKA+Ti+VSzam1oPniCXrckS6j+f4829ouk5fiZtBaX0AiAcsnx1dTp4s7Klj2A3/Yq9zfiyWIzCubEJXEurb04JHA=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_7.0.1_1524612734548_0.42181870602238924"},"_hasShrinkwrap":false},"8.0.0":{"name":"cafy","version":"8.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register --harmony"},"devDependencies":{"@types/mocha":"5.0.0","@types/node":"9.6.2","mocha":"5.0.5","ts-node":"5.0.1","typescript":"2.8.1"},"gitHead":"0487fe955104c74702781f5eea66608c82fc248f","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@8.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-1E67N0IpCgH6+UBKuwaJ/aDsDaVfEehYRL8s0NqngncBTcpWyVRf2bixVpmTj+x2ViyKmam3dw2NWB3k4C9A3g==","shasum":"8f6ce8556d64ee145c5cdc79b5b68f7fc57ee46f","tarball":"https://registry.npmjs.org/cafy/-/cafy-8.0.0.tgz","fileCount":30,"unpackedSize":54587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6BuDCRA9TVsSAnZWagAAitgQAJ1lwvP8yEVjaq6ntnMa\n44chOjgN0whwd4gm5UvY5Wu5U/J3/rsWxoBLqYN5InkuXPDqgBH7X8HJxy/G\nNPiIv0vveRGgn7cbw/YcegP8jWYS1WJ187nQBLTX8KWAhiQTXBiPKK0/ciLw\n+2jNGeK5WWkQvbFh4eIAzF4WzlHqDHoG7I4GMUj1JNJT/6QgKq1Vx40JC7Y/\nljddrXtK+P94jKGMmQsAh8pUsB2qXEPPuCF5Fahiky0kkGsWhlMlSKnz5JF5\nO2kOQJDr4jG23LoT/vRL1QnqhTvlcPI10DecnrBDQbZXQx3qQ0wL4SAHSyqV\nLLj34FsR4YWo1msL78svi8uUS2M6CwzPQu9Ax/VB2OgiD9DTo8XFj3IL/CrO\noR3RC0GvQKLFa0BYS+7areGtCLO1oO6QRtTru2yc0xVAp1mWpxuE9qBeHVWu\n7586sU2HZ/tiKi2d3Pwiu6Sosl8XIOV5m5RmmrZ7lrq2KRt6jOZL/JwQw3Fl\ndnJS/VOxGxFOPgd5eSOH8eTZO8EjegCmoWKfXcIahskVD9RXlgTxf9Wf0Cfm\ny5ueIOk/FEIwGrXbs/29Lnsi8VXuLIdlZJ3LTB6puoY8FZ87LyEASutbY/Rh\nuQYrnehZqWzhtVE982PU4ftVugoOAsLCU4i6nI7D3KW01J3tniV7XRvs3H1L\nU1cS\r\n=xeIi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQN+eVCBvx46YvnazkYZfBN3t/MfZcv/bOGBIr6YmOvgIhAKG5oX3VpVL/zlIeTHPo1hn17DKH0TnJUiVJasd6+qSB"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_8.0.0_1525160833961_0.4888500831111162"},"_hasShrinkwrap":false},"9.0.0":{"name":"cafy","version":"9.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"64fe1afa7afe20dfdccb3181ef1de40eb1eccf96","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@9.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-gOBXp3RJUgS8dmZ3fVc2aXajITbMILA0h1p/maq/OC+ceDMrPCATOsFlQ6qy87LxRLcYdy1X/Lq8DconqjhckQ==","shasum":"abf23ea947122ffa3546ff14bf867c1e2202508e","tarball":"https://registry.npmjs.org/cafy/-/cafy-9.0.0.tgz","fileCount":30,"unpackedSize":51320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8gIjCRA9TVsSAnZWagAAOlsP/j2IErJEJhYfFSV8gwTC\nKZ3YVlNLG+NxSqTdxQvqogFW7n+l7b4YvzNBT8QutfjjpDd7lFw+GKbUR48s\njmT9vXrMdsryBbQrb0jEKO3amikXjmSXJ4xIe1E+qUGksRmI0KlGBhXSTCG7\nUCjXlcoCGuKns4HKbQ+AZ4BrsED5hS2ZUZdtqG9ByGU3pJKbUdCnjKy9GggG\nMejab/Ex78YzeM/nHaJuqwWbsSnzK4vyz4I8csU4IHf1gXHYqsImLj1fthRX\nANDuzgaBPW0SGzVht05KHyVFnIb36pClFFsj3Zjt3nexuhX9E7/jxEdV084V\nXFclUh9TS6x1s0F7dIR0HQJhzw5aUYqskvrUNvo53pbsOMcMArDC6D3Q2OME\nc6o3bQYA0Z7B7Yl1DVpdSku59a4ML+ALooY5gJpoUgzD2CR0bBpefibebR35\nRp8fSKbjzesl/9yYcrVrZKT3twwA1yRdYhOp4KqrU/SohAEAhh2npX9KDl4Y\nmGGNdNsBZIzOuiilIxLOOofvGuuCQbZa0mYAwIXUtOYnMK7w+Aa6LY415Pqk\nZpoQv2m5Hsd1Jb1Kl+AbfQS6jXYvyt9iEZRn2qWunJPayTbMu0G3x+BuN1Fa\nkRa/2/kYUngWtJxDoyllOwUMaMjh/MX0H1XEMVh24ZHn1Z1sLNJspPUO8M22\ns7TI\r\n=bxqz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGd5ehOhRUU/An7Kw/hvuhk5ywBb6df6XAQBMvMi9UjDAiBIYji2Zw3AkS2M7mWe8mJjMDkrg/tOc0YL4Bc/5AQhSQ=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_9.0.0_1525809696976_0.49666077375326223"},"_hasShrinkwrap":false},"9.1.0":{"name":"cafy","version":"9.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"302480660d01bebe4ddc2a4b0bb1d1d9a956fe67","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@9.1.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-Whzqpoq4Vm8YTmCZFDSOgWaqrIWzpGlglGjJtlNn6Vk+j5M9h+6f2/JNb4M+qXotp2pncg1soMLw7flo3cWmbQ==","shasum":"64c031631339bf5370cbfa360d2da80b2134ddf4","tarball":"https://registry.npmjs.org/cafy/-/cafy-9.1.0.tgz","fileCount":30,"unpackedSize":51818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8t9DCRA9TVsSAnZWagAAPVYP/Ajg+wK6/K8f+ZpHOOZh\nW/pLsnrRixR7fzwN9drzelwrBMz9vWbV4KdeVQw5w3rwXubiPoAmVYLIrp5a\nW12dqbYeWlxU7OCjI8+5rsEiVSGtfnUxxQCh8lkit2JKYHuaq1f2hLZ+vJiv\nZiLZ2ppfwyeekw0hXmQX4u3f3/8i/QoxAOFLLajukV90PaFWKxApIlFkvIAU\nt2TJfZvLVME8Xv8UiWtz2RlWyWxySqDNbsPhoLHKI7jEp+G0QQ6brj8qQ3XR\nbAPk2xODhc0KkwG4nnbqsoGcKeRTOCFcl2FqMZoaCmn3DNWZz02LS1mU2UZY\n3nZA/nbXNZmC1t5Dj/1C2WiAvBhuEUMhnyCCGQwWCAMAxEqr8ZyYrI9GvLEC\niA875sSxbbWvJEBIEMsgugJq5CXSUQCS4XMI9DkIqwuT4QsGQXJK0KWQ19YH\n8atog4JNb2V/2xaCrsmeaAENS/qeXkpolZV2VBNjVtq5678YYokW+GzR7z/m\nvsXnGlyr0/qPfg1K50s5yf4cCdxCYFnz/WyjlKPfBO0BTdGnwdBaBGI1Fvyw\npm3MuPduu5/S0outH/mhYN+sJ2vCcq/UhrZMZ8MWPjKSmrz/fUSJG58lmFLx\ngvz9M7u6ZIVQLg1GWn2qYiYaqs+jue2tOl0UxCOuU/E1xBEGFfaeqmbLbyvR\n1X+7\r\n=t/r/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfvev2Av0tmiRMAMfYUz/OQAhlT1L3Sliv2fTKRa8EJAiBTsQwxsCnJVmb8DbaiRdHxkPUZ+WM23KmdUDHGmUV24w=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_9.1.0_1525866306524_0.7671882317625025"},"_hasShrinkwrap":false},"10.0.0":{"name":"cafy","version":"10.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"302480660d01bebe4ddc2a4b0bb1d1d9a956fe67","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@10.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-TKrvZWA5L2IwjHfIOH1avlrmEUJr49g8D8rb0c/gnM3W3JvLKzBZomDrfeIC42pK+J+T31Da9kEeSojsJ+1ctA==","shasum":"fd25d2e69a84ab5b42e6e1bb2053eea14368f4bc","tarball":"https://registry.npmjs.org/cafy/-/cafy-10.0.0.tgz","fileCount":30,"unpackedSize":51285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8vDeCRA9TVsSAnZWagAA5B4P/3n1vyX0xOfLeMrFvr4h\ncxMJlPhjOy0nD6dGTULERTdyYNLslHlftw+p0HaSeyskvTgMzUVhsYIqIpnm\npN5k7uisQtp/WKm9JnEbqRgPeMb2Cpi2nKqPqPe081JomF/Z6pvUzkJc8fWl\n8wFp7J7jUjW0q4t7HDDxXJJoGCsE1h+3wxAtwWoe/5PxwZ9ayaNbGXe+K7bH\nZpyCi3Xedt3mgWpWFietP27XBB0wuHvE2/z/Wi8l9BSNtQgzXYpICJfWHLia\n9OOGm4P1CmruXTpJ2sNy/sBTqbjNpc010MVGlFoi5HH3NzpNSKfPUGyFoQFp\nvaHV4ng+ApvQelh2uEo4yPAI+Ojj0hEXFLt5h2lSDzFXLBSlI4LpWKKL72Dh\n93wVCtw3PFDnYwwUbPMW+P6SscAXChu334hZAWkTp8HXWvCMXqOVnMu5sL4B\n4P9yPo+BR80TeFUrsHedui71rbwzJVvzKFBV7CvMpHmKZvzgFUBxmaky7ZWl\nJOzd+Z6dO91mQtThezK40ogBQrIG1i9AhXW72pnjbUzymlSc+hxWi21eBqy5\nS2Tb7R7F+th6QtKoRakMT56KoFg14DaGMoe0e2PoRMoIuElGG4WCDOCLH9Ox\nbkEz+uwmQwgMF2fwWaovzRMOJV0B/y6ertqWajHHZdqnku6ac6B5MnqDTW4O\nDES6\r\n=e8tr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsn1MFQ3W9yfPsf1Xzhtkasta+UQMIaJns2OQcSSROYAiBi8y5hKjhtUUoF3oUZCe557SWJVu1vbuscDolegkhcUw=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_10.0.0_1525870813845_0.10683313867414013"},"_hasShrinkwrap":false},"11.0.0":{"name":"cafy","version":"11.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"ffa0516a7e66c5903c6756b95d9e695b11c0366c","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@11.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-uCAjST3gfcF21aX++ZnWsGGa1C1Gaf1dgE+e0Z8qYgOp5uMFF3PuGQVAT9s3/uJuwCCdAUKTMRjTrHTWeJkiWQ==","shasum":"64bd123219158fb80a8df63e65ae40e710cd1da3","tarball":"https://registry.npmjs.org/cafy/-/cafy-11.0.0.tgz","fileCount":30,"unpackedSize":52091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPidzCRA9TVsSAnZWagAAdSMQAKMrtqJ4qCWnv9OTHKrF\nwXDrFk3zxkXNx9oJh1qzfRCQcE/w+jCD4k4CLl9QHgNYPdkA1u6zBP3XT2fR\n2Zet7JuvlStOes/THRc9Vq6r9kPm9yV4LhngY0XYNMVde1SZHPrNKcZAikbf\nQGWTNUb7FTghhfzjEbpJFFcmdGlehmpZiTLstwdbmJA6HOooG5qQ1dpLMtKc\nyNPEtL4fz3OhlWfJqLNT6XGpYRYVj+uR44hZbYwt+cU21cUJM2AilpB2OoIY\nVIASvG7JVgww0LeZgHZzra/TzfVzNHQ467654mkVoUdIGmhnHrucRggmSLsn\ni8ZtD0Lumlv4uh9UTP/5Hd/VdStgiZ/ourPhMy+Ap2HoJWkTRoky5CDZHDva\n0kNddy88YaXqM8HicrnHXQbiWpog6ikYlnPX3uQIw7Jd45IaPyP/Cf9vV76R\ntOxNviCqU2YdlE9z+1NhYyU9SKTcSrPjxE/Wpkeff5gbEGXoLO9rMMDGIyBv\nAz7TXsxbECpL7mBzD6H1dCGaWqjL/gjNDWgH9Bnqu6+W4e1qT8Cyla1Ad6aw\n8hdou5rc+xCOcodqiyYife2IQb+iWgZL4WYtvKx1v989H2j/2jBP1gFfp8tB\npxTsT2iDvXR4O200XEekNVTroJME189mMqS2XpldnVtGNSlSP4Cva5PhwZV2\nXYqD\r\n=mOBs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCY988eT6DdNKvuoLYebnucl+aoArl5lXKfPTcoq+55TQIgUFqSLd+WdnsxJ5qktJf9mp0D7i+WRXzxbqc+zUXz8Ys="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_11.0.0_1530799987366_0.17279641832173165"},"_hasShrinkwrap":false},"11.1.0":{"name":"cafy","version":"11.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"ffa0516a7e66c5903c6756b95d9e695b11c0366c","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@11.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-nmEe7ZsBCbuTwvD5h/v9DEtlKE9/S6JoboR5c6i13cmJLBL6wkreWEAyisAr/K0/d3XyXq6vrlmmaQHk82sY1g==","shasum":"b5c0c5a0094289f778fc2f04f24be9d493cf372e","tarball":"https://registry.npmjs.org/cafy/-/cafy-11.1.0.tgz","fileCount":30,"unpackedSize":53212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPkzkCRA9TVsSAnZWagAAh5cP/R2X8RRWQpRwrNxk6Fgw\nrKXpuue/327A9VBUsY1rAGK2rC8OEyXJw8iCVKZ5oS/Ih6GVTR+MCs/N8XY1\nNanXKBa/oWLN5F4oXSCf6AUDCJDj3huAmLKu95yFmU1O0Xt0QfWE9YS3Eolk\nDQUdZqpH9JNgDZTPors07Ywlquc5M7KVwXGAHyHo2VtxkxBpE2M1cTYdhJwo\nsqYNHl5DasFV4DhwvYBWasQhe/tzNPyJvmurWnQs5AR4BKtcSmg446oiZ37g\nQPFXAE0WPli1WIR4hwvFnO3FyUIebklPhGOzESnguUSVEARzyHwztH9ctjVx\nC3Px0w6GSBRvBrBa/cX0rhHvZbYJsN1/nSJedutn5n/AT4vfPZgyIavTG53A\nf3pprL2vL5/hPcnXvfOHQ8onTpcOP7/P7EO+Qg9TJzdTnMIR65WitGjgzLYB\nRSwuGUJ/wdbLoFEaQf6r/JRlnaNykzjHAdTxHuqnK2lWuc/vIxwR7qxV4VI+\nrc+ANBUbwpyIlzSF6VlWmXycM5AHd3Y3EsM+V9P40wLt1dR0keZKEqkwJj/q\ne6r+dmn0Vx4XVxi/iysjQn79S/oOotm+2tqUkqUgtFKvUOOK3SXa4P5tAKc4\nP0gkw4JJs41ff+MC1meimfHF6MSW6koeG5vNq6TM3WBLUzdsqjLA/lrAjO2i\n/Sws\r\n=hNnK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9LmfL3YGkUS2UuH4ge32pQwQfLIdzvzezh0TwpG4QfAiAtooTN0O0zUryJHYx9UZkFURkfF0bU5hgm3loW16Bq6w=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_11.1.0_1530809572620_0.810619326358134"},"_hasShrinkwrap":false},"11.2.0":{"name":"cafy","version":"11.2.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"15b55170cee4a016c64db8b0588968b897e8f858","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@11.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-xutpqC2M5ZESp2djKJof+zp13r93eQ1y+UPRuPBAOGuVa0mxrpTylJ162wXD8KnhbJ0oH273AQ0Yy7jTO/njZg==","shasum":"9798b27342e4d64c88d7e152b25ca9db7586fee2","tarball":"https://registry.npmjs.org/cafy/-/cafy-11.2.0.tgz","fileCount":30,"unpackedSize":53640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPuIGCRA9TVsSAnZWagAAbV4P/jK9zD4DFDtKagP7zza+\nGaPDisolJ48Td5Ed4mC/heBEqePHlTl7EB28sspb9OdT3ATtAmQOm/e9lS4M\n0GQJ0yLt5A9JVDsa8rXTm8jFKXLYzA29B6akyV9cmnYQ0zyGTnEVgMHqHvoC\njVBFFYaz3xnjNpQp+aiV9rZC1t1k/aVgIOVuBnoDMPRde5pSdp/vTOniaegY\nF4T9/QuCmJy4ErInzX/IJ6G84L3HEi3w1NpwXTd0TF1VV3uEmJ8sEXbrjQp/\n1wWASAkslHNcUmTlm4Pgf1+0NYN6sd2EtOln3om6WsCFXvOEn1ddSf3Jmebk\n9MijrPyH6u6kegtj+edxdT2lRapIUfVi5+mN9s8ISY9vXb5IXJQjB3+l1acT\nN/iBrd8yi3/cFhPdoeFT/KuXnD1dPP21VuE222cLDeK3gK8TMSIrlTAB/+c5\nZ5L5PqAAwzMLW74gWL48Bdhv19nvlKBFr1vT1SqKXuPAJqXd8M384takZJo3\n3OtlHm58hOyHMW/m2OC8PfcK2mOf7DP/fR5RUBLZpRkYqwj7POpZ9kryJge8\nSuhYj2xFDJ7dRcgBsPBCNEi/L5B7KEis1dRIIVxGZnY6r3n5GhFJPmBFAGbI\nMRMvbC8Kqj17gcuyU+IYP9TAZirHSRt7wG6hT/a48Ht5P3Du5G7ehXFuQ85x\nyVIU\r\n=u9Ug\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRr8e4K6y3xgZrkmCiaHlWAcp/8xVcFVEda+A9KrGKzwIhAKh+1aDC6uHNtyx2mHWqwXrQeJpw2c7fIZTfCFbS/l1H"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_11.2.0_1530847750203_0.5015710189869846"},"_hasShrinkwrap":false},"11.3.0":{"name":"cafy","version":"11.3.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"1123de97d428abfe4bbd4c612bb70a92634f6235","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@11.3.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"syuilo","email":"syuilo@yahoo.com"},"dist":{"integrity":"sha512-7kqqF4I6seSNSAWihRfnM78wP/OwaZMrCNIUzu0+TC1pDGfF2uoVfMsAJ1oV1jZsZ2L2qlUSvo9zhSEIouS/xQ==","shasum":"c5a114edc4a96f860277b710ff83cb4809806865","tarball":"https://registry.npmjs.org/cafy/-/cafy-11.3.0.tgz","fileCount":30,"unpackedSize":55175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQFpTCRA9TVsSAnZWagAAQ+YP/0DEFW8xcbGZHZ2/HecH\ngzGKSUIVxh2dYbz9QyFzYbd6w7oiHOqZ8phigxFyNvp8M+qQTsVZgBQzGuPW\ni5zGjA/egk9Vlguq8Kv320mki4GNA+U9+RIAeBvMnLmPMpWMjq8qtYC5kN3a\nj6Ba8hiss6NuBhV995YMdLM27++AFFmcJYD3CvGcHufY85zTDaqkNrl1fwpU\nxlam7/3K5s1ClE0t5qOoaZAeWiD7RiU3brREgqXalqL0b9ihEIzqy5mno5BF\nmGPu1DNwDzrrRJKxE+ruXRTBeuWfoMnYcRdkJgB46UqVaIjd3FJ1LyGfXoft\nuO7ofJx+o1Dd8JyTEuvIZoaqqsS3dT/VyZl63b2SfGqAd30CBHxLyPhqwp24\nbVP3uffyZFXC9V1j94BjUx0PsY8br6564lNoJ3lED4+fMmY6djCMutAWqrGd\nYjNf72IJ/Gt+KiBSb0TGOcSC3nrM0xGG4UBWPsVBF5GLa/ffgkEVU8WFEUmc\ncvZ+3SisqrIos+QuRa7yPQmY0b/fxHJWJsgj/vfJmCn9wR/Tdqeag5pUTHGn\nh+AXkH/0hEPFX3nujHcBr748Qf/07I/T0/QkT1RGUo4ktf78EN3ZC1QgLrFL\nEknCJgeHdj6f66Dg6wYQUyS3HONZ4EeshGA0pfmRMjnNpuwwa3udqBtc7Efw\nj6k6\r\n=VG5T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBT5gf8eeMOnD8ekkdyYL4woJlwpvd2RVbhDSQR8ZekEAiEA/1LSglFey4g/JKGJmVuwRXKe8LhlPH6vRc8R2hL2dC4="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_11.3.0_1530944083531_0.41234892838977166"},"_hasShrinkwrap":false},"12.0.0":{"name":"cafy","version":"12.0.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"80af425d27745c444be6cc6f3a831383a57c43f7","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@12.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.0.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-HGsunRfyqFyG1/oh+Szw8GtVpj4pwehyqmp8sTO1QwDF3htjDP+vVBWzg7iOU2Y3Cm+h+UiEpf6DJ0p57RNmAg==","shasum":"a7b50486c2f49200acb231d2ffdbefbb9ab29cbf","tarball":"https://registry.npmjs.org/cafy/-/cafy-12.0.0.tgz","fileCount":30,"unpackedSize":56245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2xL+CRA9TVsSAnZWagAAy24QAJCSUCmP0iF3FSJ54A8j\ngqDizKjCbg7ua51WwyL3Etg2dlyud2hr7/PytLUH5WKEpg/CuB8RfOhfl85q\nRgbggE/Tl7JgymarF5OHh9/WMformN2pD0dzBV6zM65w3NTfBH2flPD5Y+/S\n5AqBJi54b10q5B9r35iej1u/2nxp0J9P7ZZD2WA1LjM5Fh8qI/LaFsTgxPeW\nx9FmUncf2LWy0/QKnDKYwaIpbl+3ZypP2Wc024SI6MePE3YVkydsMvvxG4lP\nrcsP7iKXZ+tARNe0H6u0JSYjCvpHG8KDbYhp0HDGOShp1/KUEdMIntkeSywd\nON3F5jnipEv1uAYCNLGhsQtzJUDG07hkm6z8p1v3f1DLnHt+zZOdQVqEHBN4\nvLNYo8kYjALP3CaJ0qvuQ2PsM79npwvWfDv4Reh7zAxgT8qHYm4XM7lCZssL\n3r12+7wU0LMKlbICRvexKnebsJPYme5i74Fzx5BBcToJNtPaATFhTQktBi1i\nZMQ9sKdu1qU0bcGXXU6P4kDQD/xdgLuBx4J3HEnao+huD4POblv+8MD/788t\ncnann6Qnz2brYidHRTW/BTUUb2GGL0TcUQi0XqyiKP4JaV+DeftwDF8M9SYt\nXkiIhRzD0CEd1sRDUZ9V5omIMUFzjzIR+9mJ+asAjvj0kU6jD97CRCX/naxJ\nZHi2\r\n=EZ8Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3raC5npz7NczghtL6WbKmH7PvEGCryVYwQCz18z4zxwIgKHszItIr/BsLzGWC/Y7jSnVxROLgqMMP6XJnKVN9tuc="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_12.0.0_1541083901878_0.4646278865712159"},"_hasShrinkwrap":false},"12.1.0":{"name":"cafy","version":"12.1.0","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"823d9edcc33df66f29c7e136d2259f3cf2f88e9e","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@12.1.0","_npmVersion":"6.4.1","_nodeVersion":"11.0.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-ENzGSq11rz9QSjct9PRbNXvHeRsK7w4rcNnzfirkwkdee1TL+ezPleSkbQI52y75zWQA0Ch8i/23crt18JY7PA==","shasum":"caa85cee5e9fdb5fba9caf6b512bafdfe32d7607","tarball":"https://registry.npmjs.org/cafy/-/cafy-12.1.0.tgz","fileCount":30,"unpackedSize":56955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcObolCRA9TVsSAnZWagAAknUP/01LtZ0FGxVrN9wQJ/I9\ndLri9ZHfWdx5W+ZjyHo+KawnV2IHVB6BD4YO5QtjuO3iAJ5bgCwxtZ9Do2UK\n5UzqxrK4x2q9OfX9qNS1XkmhBPeUWHdpTcvOH/KjzuUV9Wmv2F5+ga5GNkOE\njIqG62zSChSqQwCO/tje2hHaFIxm+VJwE980LsWffMipXgBoK/vzdwsXaU/S\nsnolAD8C4pX7gdFLJ2qwE4+xuzJVLo08yclJAwikNm24xKvGWB7EmQJRWF3H\nxU0oa/eCCkLWJ1KxPp34M/riMM1lGLigdAmTXk8N3BgiDmnD37RbtA62VozP\nWYmXkshy6q71wBxcJE5rBc8uE3xYP9A58mQ3BTlcuyBKRXtVILbCYuYW8HTj\nD63XhOZaKoemXAn2WA/mxD2wNJTCqtrtYByxpe/TkVJS+6YbWpjwpgMJS91V\nFX/vVbYZDu1O1OZeuZYCZpnSiugcKq8XLZmwRkamR/BbJ+1P9rhQkmyXmaPI\n6SOudmFeJ6DisypMDXeNo+MBvD1VvRYlwyDS+IS1np0Zjdr3spZD0Vg2We+F\nNFhVjtfsBLtxX9tIo21ThO0X93ZkNa0Mt2go5pv5e4q0iuqwf/emiICvzh6t\nC21dZ9VRzqD/Onpk5tx52RiZ1tzSj3YZXde/V0qoYfNnO6IVAui4m4rn/ZgF\nLvYL\r\n=KYTX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDsSI7a6unio5cZny7n8DJKuFRZaCoOdxqHEUpZdafoWAiEAlyR84waEJ0IJYslvZO33lUOXQxbfJDeQqSb/t57TCLc="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_12.1.0_1547287076967_0.3310270837827727"},"_hasShrinkwrap":false},"12.1.1":{"name":"cafy","version":"12.1.1","description":"Simple, fun, flexible validator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"b0d15069a5b68b4ec0a976ad9d88250a6dea5f68","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@12.1.1","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-mETJI+8dw7tQQrPWQbj/W10SLhSR+V0D2VEUA9pWw8neOpfgT6cuJnvQb9A+p594Nq/eUjQDiISEelaUv162YQ==","shasum":"efd9561db4030d4b7df16afbb9a3c6f847266a58","tarball":"https://registry.npmjs.org/cafy/-/cafy-12.1.1.tgz","fileCount":30,"unpackedSize":57100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXzvlCRA9TVsSAnZWagAAXLcP/A6HFKgrv/RVu16oSQ7h\nTR2WsT1naL9RyGCP3uWaL684R2AEbVbzX1cyXObQc1B1IukSY/r1facI/8/l\nGQFZBtdS/90dL7yrSONFn0Vvd/mlWh/+Yiy+cRCLIr8mRxJx8CCpdgxUjHuL\nf9p7Z0uF0RGWOzE/C5svrYAcWTKrjXrieozOCAB5bpIrYYbz6678fp7H3glW\nDbNxkE8bFVW0mlPXds9C4sQb15jDXfd5O8jBbtueGWTMl9Ywo38tGLnd0utr\n9vLMc6BRZsap/ROwYariI2mwwnY1ErPwM3BpoSEeawbxsLat8Jb3+ZDcIN/I\nMjoC4F48vQoFBf9DzYBeyNbZQEfxc7+5LMlffgKlmcMO5o5NCk+gfSneTBla\ngZzqDIRF+iJitiu7HF8PKdBnCYYMYEKTRlCEOP0XwNWrL08UTnrezfTi5m9q\nRUQQAEnWmI/kXdEi38FXrXpXzUMhEbLNCGRrFt/fpzh6kqwKrBmo4MWnAGRP\nkCo2Sf+52/4gIa7xE3oeJY17fxnYCRRkLLSwQ4TdFbteEHpnCpABT5rEhzex\nuThnJO50NTDFBQaLb6dIs/5v3yDpVhjsndVOijlPnhKlRiJ5GC2wI+wBZdzO\nehtyBcJ5WQx3AtRx/9u9+tdm+IArgSg5hhqiR1lKcUmnmKA6a6j4dVCKMKRa\n1Q/i\r\n=/unJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAh8hwIaoz917x9lQ8lB/kME+fQs7VXosCypOSfBSD2TAiEA8qPFTKs3znxBppEYLYpRSIWGfZhjIv28wa3OjmKpq3c="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_12.1.1_1549745124517_0.13444857070696536"},"_hasShrinkwrap":false},"13.0.0":{"name":"cafy","version":"13.0.0","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"6.0.3","typescript":"2.8.3"},"gitHead":"e95cc48cb5ecea759ba1a14453641a6fac0664bc","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@13.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-cANiEa+jIYauJbkQM2WdQWh7NGHYuXcFUJmoaNnobzgbENyId4jWxrY8wgSmgW9Oj11bd3WHzMRIIkF3NuwoXw==","shasum":"1d4f7ea41becdd3a3aaeb2de7cca7e1dc37eafa1","tarball":"https://registry.npmjs.org/cafy/-/cafy-13.0.0.tgz","fileCount":30,"unpackedSize":57329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYEYwCRA9TVsSAnZWagAA+zwQAIWGFcl6HXeYNMydy2y3\ncKA+utY//SRXatI/dmHPStJMd0g9L7SibMIyIVcc7wBUObMZBEPd5VfuPe6N\n28V+ZVl7TS6GcrM+rQsSMtI6Ndo49BbC6lOG9rDMW627DqBVfeWzXI6oS+Hg\nayLngLJOkmAtgHjfdombw0/Vg+/8/SFh1TC5cKDMMa5HKHzNzg+0f/ZTjAvf\n1KxMYP9Yr+xZa3MZmx1bSt7vvFHuUnC90nziK5mfosbNmE2vZEsn1srlkA3b\nH1R3jTqKG7RXg23wmV9iMa2Ab+L3eXPcmiM/3H+n5p78YDmNkpYpxUp4fIjm\nqF3lyF0eIWeGle3nL/492Kwyd5PnO9iXpVUWf3L4YXxtQmiGLEWYVs8qlroy\n7K1JoddP3k1ipSlGloOSn/qPIVKDeZxApPF0uVh1DURe/mmgS1Yr1kZeJbQT\nS3YYKj8yULNy76/NY31mXUQ7SMdsqAJVu4T9WyIBF2xXGym677PG8OpA7Te2\n4XOCg0HC/zmUW92yeE4bEgCemR9wIiW7Y0+sBS3Q2/Rc1kMZ70BQrqNRsJB8\nWGEEShfyf6mdE21IqAlc+m1QHaVO28FPlm2xYmNOobsuLi36sg+gEUWg9kVH\ntcccptmQ66OD68ebKvMfKmF/JoFD7dAMklrBrRzI/M1WlpqNg97nMOp8KSmU\nk8/u\r\n=kMEm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGyHToT8Kjtm6IEIbJtAxY9vEe/7z7aexTZqi/zTbMtQIhALuD4wgJo0QnPfUsla7m7z1CgOecJ6WyeM2V5Zlt1YiS"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_13.0.0_1549813295312_0.5637459860100122"},"_hasShrinkwrap":false},"14.0.0":{"name":"cafy","version":"14.0.0","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","test":"mocha --compilers ts:ts-node/register/transpile-only"},"devDependencies":{"@types/node":"10.0.5","@types/mocha":"5.2.0","mocha":"5.1.1","ts-node":"8.0.2","typescript":"3.3.3"},"gitHead":"9c148645a0542d70baa6625c05e5482237e5dd53","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@14.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-iOkTo5OUMTGtI3U9YpgAm8OuE+DP6F3qYFFgcDpYvzsNoNX4Ba2P5OpbrgbSg75WF37w8NTZUIjWist/QOb5hA==","shasum":"024a079bae61adcf9f4e800d6df2d29c9aee2b3f","tarball":"https://registry.npmjs.org/cafy/-/cafy-14.0.0.tgz","fileCount":30,"unpackedSize":71477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYeQ4CRA9TVsSAnZWagAA8jMP/19nMEWMvmhviacMzjD5\nsMnrbMjrQ9ZuZF0NLYESLw70UMkuOThkUidHsRCOk3JN19Er/BnPOi6clZsQ\nEctvIBTlT4RsNkE4ac4Qg7rKW81rnrJ/oqpCPNs59v6BlK4fm8eDUlbMfvDw\nIggIua37VKdwJVmSEw6538FnMwmV1zDG5pxrRj6+97OtlvClIxp9VWk94qR/\nake8jglI994ohcHvp93nsiISmGBOSD+r8iPd4tjzCWPi2AbbLb6hNZVdHPpW\niRO9/t6sWDfIOLcOYPKpc+2lNBSbntaPDaKJtl1ELTPbnm+tRpuUxTWM3lhX\nlX7w1jYX1wXOsnpb8A/9BbOoOrj2XgJ5EikzcE7zmssEwMHZv6apBRmuuitv\ng3KpPIGgOfn2FxL14EOqXJQHpHYO/k6PD0IfnWoeip//oX4Vyl48HaEHA2nj\n2uQXua/g9COP4lYPtu2goXitbTuf/8pIk7JtPhIp8FSMowRR0iONYaSALL7/\nEJmeioGWb9211/NC0JJ+fea43nb3CzJ0gEOACHL5vXwg+8xUipfkUdIe8Oxo\nAzae/QX3ozggvhlZNgi5W1FeluB/Gf7UGZLMgcESlyT0kL17M80i9wwIy5Ps\nq9xqGa24Cp6UEm5Xl9ZYWFLLFh0s6S2SeO4mWabV+1+AcaWPaLhpyjQHz/Wk\nFv3T\r\n=LzbT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF6zrgzfcyY2V5f4GCbsr+ZVU8I7SdVAJE1TTMuRt6k+AiA0Ro1P/vtxBJmsLh3GgYQithzsq8gouOEmcAryu6440g=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_14.0.0_1549919287339_0.890430354488845"},"_hasShrinkwrap":false},"14.0.1":{"name":"cafy","version":"14.0.1","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"mocha test/index.ts","dtslint":"dtslint test/types","test":"mocha test/index.ts & dtslint test/types"},"devDependencies":{"@types/mocha":"5.2.0","@types/node":"10.0.5","dtslint":"0.4.2","mocha":"5.1.1","ts-node":"8.0.2","typescript":"3.3.3"},"gitHead":"56192a817a0372aff4176d1d954f106dab0dfd66","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@14.0.1","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-hFTlp607vKYw+gTDEzFHW1YhQQQXwFaoBr+jVTHAvd1GUiWWb6f2qsWp5vH61rDIunvUb5Sk59yEbwEnBqzB6g==","shasum":"9323396892849704bc36033c12f923e37ef8946c","tarball":"https://registry.npmjs.org/cafy/-/cafy-14.0.1.tgz","fileCount":38,"unpackedSize":94824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYnmoCRA9TVsSAnZWagAAj24P/RfrOeWiGGqBbUjWWNI1\nEbve2Jw17Vi4PV1h0ofA4ULC2/wmndT79yAmsN6hi2PXM1U9qk3mSoBGDphX\natneIqQ1NBl2QuI8D9HHuB30kvfqYUr9yGhZ0u4wLq6BKsmnFTMOfRRectC9\nG5AAFTqTYnFh/fgqJdUdnUzqdVZ5iFVQYUbmmcyXxns1j5e1bJYIeXezbK1w\nlgD+BTK/xYz63lOaeI/ubESPviOhqEIWLYPsYAgBoZmOVR5FfJrTrma6dxnq\n/vCimf8Sg7yr+5i5p3W6ouCuSuhLF9MD+9vlsYQReP1twbQK+T9DSEqsM9Kv\nxNABUPzu4x5RilFDUmnGPTqximzGL9/AvtE96F8hv0hqCTEAJ/J1y1qSHypN\n0isDqg9bM0s632Vn47wE2MdxWzzige8To4X2lePBoxpSnZDtT42cZRG3Fe1t\nxhE3Jg4D9zhESymF85I1PbtgjxJyQPUn8HxYu1CbxOJX3FOf3fHzAY2vCN1C\npaWCDNfQ4XGiRYh0pomOWQsAa/1AgzO01be86i1JoI1KvJwRBCOwqv8i8Uej\nkCdpkck55GNwyED5fpK/ALgdeupUeMpVE+oK0NTJK21I0vAUuTam9nl/Y6jg\n1dY8+LnHuYGREI4Go9GO4eLsN7vsm5iFPnB68oL1SsfTMCaEGFeMhio+pUYi\n00HS\r\n=PV+k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHJajuq/NB7TsaA4CgvVX/eU4eFRtHfMdVY8BJB7OTJAIhANzAs4KiPlBo5MfTDROuRdo8Jgg8ZMHUP0A5x5a7FStH"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_14.0.1_1549957543939_0.7327558068374327"},"_hasShrinkwrap":false},"15.0.0":{"name":"cafy","version":"15.0.0","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"nyc mocha test/index.ts","dtslint":"dtslint test/types","test":"npm run mocha & npm run dtslint"},"nyc":{"include":["src/**/*.ts"],"extension":[".ts"],"require":["ts-node/register/type-check","source-map-support/register"],"reporter":["text","html"],"sourceMap":true,"all":true},"devDependencies":{"@types/mocha":"5.2.0","@types/node":"10.0.5","dtslint":"0.4.2","mocha":"5.1.1","nyc":"13.2.0","source-map-support":"0.5.10","ts-node":"8.0.2","typescript":"3.3.3"},"gitHead":"1292a0852935359cda7c0d7af535026e5659bd8b","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@15.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-OoCt9paOuHLNcHmkc0VthNCVVZnHNsrau1EmE1UJjNzyS6WJmkWvlN26dWoKZvnPOfau03x/lE+SixSfuRCGgQ==","shasum":"fef1e9caef852d2277072fc38f1b8993b46c2675","tarball":"https://registry.npmjs.org/cafy/-/cafy-15.0.0.tgz","fileCount":78,"unpackedSize":581491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcb6+KCRA9TVsSAnZWagAAwMcP/1DEVghEVBrGjXrGTI+5\naCWjRNmhnaLmbe3sP5G8Yr24CA+OrfdjLj4ZT5tbOti6Wo6lijoFHfB/C05d\n9bTLH4dML1vGvC9HZUNidB5H1ezFI95k8LW/AQ5yTvbAwIaX+lOgJ2PDTiou\nf3Ars4p0tu/+b9vNEBk2o/5Dht8by4fbbojzwakR+K6jdb/kVgCkBrxPlCD0\nOAKVy4OBot6AXrvxNWOVOSvioHSXR8IBi/Kc5rA/QlQmrkb6xl+0rTaeRdsg\nFf7GId0U/Y5i6fwwk+K3vNngS49Ik/TtY2kc2AWZ/p75Qh1ezeAlO4ZP/CCv\n8SCuayBXAXCVdH9XJUOMlV4Q6Dy7pAZNICJ0KVfUPD9ze44W4oOmFOjj81Bi\nhn+sNw4ledHir9zDrG7j98W67z4oyBVwCcTCSlyvbQEkt6ada93yfr/gsTMe\nukcSFPaJfq7PoBkuXn3jeEeVwWh3GhbcclfMYCtxKzJAjlyBQV7/JVcETKha\n9x9gI3oIv453gjHA7P7cpK/blYThAyaat3JacQ1Kr6JQ1YAi/HJlJZl41idy\n/f8Ef8Ens6TtpcemGz4vdNMkpuSbTiauAo7d/PjXtAKIQHxoKx3g4EN5cCup\nj0gYBmRH/+pgm5MERO4sp7oMomszUOP0WECpxKq67E3XTtXY0WoaJcGnxOuo\nafWG\r\n=scXP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAt98TY95UJHTNaHCIYV4RRL+3+9Spy7+/9NWIv53ItCAiAny/TiO3VEnGq5O49tgm3l2l0S7fuL9TSJNqxSKHkCUA=="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_15.0.0_1550823305513_0.7763115992045828"},"_hasShrinkwrap":false},"15.1.0":{"name":"cafy","version":"15.1.0","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"nyc mocha test/index.ts","dtslint":"dtslint test/types","test":"npm run mocha & npm run dtslint"},"nyc":{"include":["src/**/*.ts"],"extension":[".ts"],"require":["ts-node/register/type-check","source-map-support/register"],"reporter":["text","html"],"sourceMap":true,"all":true},"devDependencies":{"@types/mocha":"5.2.0","@types/node":"10.0.5","dtslint":"0.4.2","mocha":"5.1.1","nyc":"13.2.0","source-map-support":"0.5.10","ts-node":"8.0.2","typescript":"3.3.3"},"gitHead":"02a216e4824a0c4edbab46ec46e0061c83f2f721","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@15.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-w7o8r0rZcq47Xt/zeSYj8qRNw4DluU8/UbKlgW7Gc4ragXCg1ZlWJQzLTzeY2PYmhgTgqSYENDFew5QtYiB1SQ==","shasum":"45d0a680ef27ef3cc1085824cf57fa87ecf3f3ff","tarball":"https://registry.npmjs.org/cafy/-/cafy-15.1.0.tgz","fileCount":77,"unpackedSize":588872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccHmVCRA9TVsSAnZWagAA4jEQAJvNuKFz00REhPpXv8ns\nS+afkoOTOlpRWwN3EWvNtYx+lAX9w8gqIvNIFmpVzNPPAqAaG8znQjxxw4SI\nLjOKSjQFeWQ2uQYwak81lOuIZybaQKMbQ7q3Yno4EiMLfo2lFUZ+Y6osj3Vn\nXxRhi0q39ouXbKiVNHO5t1v9xZoj+S4FPRs/7f2VehZRhr08PZovAPvZE7hD\n/1yittcPXkGTXxNkY4MhK0je8G3Gd6QlBVzhpPld0enT9qnusIRuriql6eff\nKFk6ydIitzycE9l7alGlbxcJk8k6HfR7TCRdgBSCPU91RkhAFH1oy+JJzAvB\nsBu+sORdAV+4/AQsDaunl52N6HOQ/9Gq3D4aMdaxinUxmWeE3Jxj2ui8stXW\naS3A0BAJTxoX6GKnBcTa3wiGFoJTYabFd+mJAWI8MOj9ylUB4h3aekGrqdDN\nvnfKR5R1yHZkXj45y8qocCgKPHmcFDXgOkzIncHSVxrEdrsgtywiIecPbG7H\npJdi2xbpTA/m9/d2ef4LSWmD9R3tD/wB+797nTM7lbZeGub4pnXw9zGPUVnt\n7WCQUE1etm4DGaV9zgjDehWU3N1jPj/TZRX0wP5KQiyFp1vpJgOABCFaSarj\n4i3ZJgpK6zcZnhPjN0/DMR4+bG4czYt5nFZLgH3vD9MhpxbmzhefPeXaA/20\nK1sc\r\n=bmG+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwIXFdjZimlOjeoarege2dA8Xpp5ZmUgwyjeaKafWp8QIgUJxdB0JzY67AS2bm5wXK4K5ocsEiLV74DrlQseJDgp0="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_15.1.0_1550875028365_0.7532630032406464"},"_hasShrinkwrap":false},"15.1.1":{"name":"cafy","version":"15.1.1","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"mocha test/index.ts","dtslint":"dtslint test/types","test":"npm run mocha & npm run dtslint"},"devDependencies":{"@types/mocha":"5.2.0","@types/node":"10.0.5","dtslint":"0.4.2","mocha":"5.1.1","ts-node":"8.0.2","typescript":"3.3.3"},"gitHead":"c1ff9e16b042fe3b70718b959cbe955037ceba2b","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@15.1.1","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"dist":{"integrity":"sha512-iq/+Xte81FJyW9zMiv8aSQ9oYP3jdSJlBT4B0aEuIRKOuO38RB6us0qPdGQnZJ0ZDx6vfhk38VAeHCG4fQOyag==","shasum":"565c7e4331c0335f9de67946fc9e1fa366a310e1","tarball":"https://registry.npmjs.org/cafy/-/cafy-15.1.1.tgz","fileCount":41,"unpackedSize":101277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsE93CRA9TVsSAnZWagAAfJgP/iislnZG2b2Qez9t5zOy\n5jZA7+cQ1gyFVH8PSTt8fF101H6BegXoyn30kDKtXZSXaSFGI+NMTsoeK9oV\nINDRcNWv0QlgFW68cJ+9iBoyxNSQ+hazGuCEjgjp9qUW0SnDGKFVSQk71HLo\nN/WH/LSZfS/1VTwEXrqjVbArbaJTXkW+CZJyzvAZ/53iMFid+wZoNgjOdxnK\nOp9ifN81jCpml6lOr3PvpW2Xc4MuiTxnmulC7jnr4iqO9HMSDNPO25d+wmlX\nX9C4vleJYKDLHj7NpFwh5WItB+OPFRW2i+OgyY23Q6djDb1szb4BtDUta+TD\n2ZcLnXppVZpA23Ju8SVMMpHTyPIb0d3DwmfetS3ozQ+Of8lHRN0/zPrlwhv0\ntYbFhmNclgY8Ag0GITumyPPyI1VaYcXcuOd2t4GLgSBF2c06QGF7FMuO6Roz\n5hG7dnI9+avlrBy+bNndaskWj6MlIiZ4uy5AYpy/76zQlPfn3RRSQnkRyLmp\nHc1U89IiO2EAgrVyst7dGyeP0lk+g5mST3gG6nZdfo+WfGzR5D9VdG/q0MnS\nCE+sqL7cZ7YMwBS1dBZ6KvZCKPk8IzYWQKSb7VAMOjm9UnCgxNqgX0z+ql5O\nRFrIOZIjZU65812vdpGm+5/sY5mard1Y97up1x0sd+mGH2iRTF3E9kp9pPY1\nvz/A\r\n=S9wD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOma3FaaYHvxK77UtKva3jEW5K/Qk4rwsY/c8eba2xOAIhAI7jxFdN24YJ+c+uk7+wxsOzUmXlE5z0hhOl+LtSkgeq"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_15.1.1_1555058551122_0.8322219650408187"},"_hasShrinkwrap":false},"15.2.0":{"name":"cafy","version":"15.2.0","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"mocha test/index.ts","tsd":"tsd","test":"npm run mocha & npm run tsd"},"devDependencies":{"@types/mocha":"5.2.7","@types/node":"12.12.6","mocha":"6.2.2","ts-node":"8.4.1","tsd":"0.10.0","typescript":"3.7.2"},"gitHead":"b4114aadc691a7ed0a9261adcbd0f430b8870e0f","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@15.2.0","_nodeVersion":"12.9.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-StA3bDFFpZH9ZRgHSdyKXqhq1xq/tCH+eLw+3jbGbhwD6zQbrPpC8UuP+xUPYYrLxQmMWkIoHCn+QWIEP0jbRw==","shasum":"1b3c95a350a7d4cc70de4851e9f3420a8e5a0a02","tarball":"https://registry.npmjs.org/cafy/-/cafy-15.2.0.tgz","fileCount":42,"unpackedSize":109204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwxLNCRA9TVsSAnZWagAAUbkP/RvX1T1YYrNQLNTHaC1a\nLHI8umbJ8YQAT/lBtSYdR3ewmVlxdoure/PvxFWrr/L/vBRr34CCuV8mJK6u\nALh7zO+0IsBRjIANurqqSZh8UMhSjvriecJ7y90l2OeUfenGvu4hXgdcEZKG\npVojtSvkO5mMjMZOmQAuHeTBzpX6KqbeRnnScHa58LuLEzEWGYiPJLau7NgT\neyiTFl8WoR5m+ZbsH8g+cZcy2xQgW1CCxOtV0iErlBfmjff0HxFNMCYxf/RK\nwGSziWRQsZOpO5eG0S5dN/tRGlx5zg+kAj64yjKUXBZ8EUtKbUx/1MOCppJJ\nWpvN3U+7rpy6wRhLMyMNds1xfr5k9HRhqWG+pzsoRuFe1eGjnw/gHbsggu+w\n0rT8Z9EQpAB0eLpYGpL2ANegdexJIonMKAqhzUaRpsuo0AB5YYWVo7D3U0Ad\nJ6vnqSWG6rcNfmAhoKtWxKUhdEjtyhrLW/BYYJeuC8Kryaxs1z09TLUV32kP\nJAVGg3TU46G/FinQbOOEb9lEfWfwIF85K4mQCeh/HXF3nN3zIdzqmFrKOuTb\n2It1bqYEl+EN0yR6kWdNTmAVQ8egZXQ42SXqbg6UbqO4zDm5HXG3CPxQD4EM\ncyaLQhc2+Q8MK8xKWCAi1DQHy8lZwROSwEnsRQA2ge3x03v61kFBN5qTwW/n\nXR5M\r\n=a/Cy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXZIBB1gs419wntitNg+/7rYQp81pQnSycQ4mDdVywAAiEA4e04ZwZYSFh6ymYbdiLEaiCAeemt/typPdh5TQ+XO2c="}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_15.2.0_1573065421035_0.17257402446343129"},"_hasShrinkwrap":false},"15.2.1":{"name":"cafy","version":"15.2.1","description":"Simple, lightweight, flexible validator generator","keywords":["validator"],"author":{"name":"syuilo","email":"i@syuilo.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"main":"./built/index.js","types":"./built/index.d.ts","scripts":{"build":"tsc","mocha":"mocha test/index.ts","tsd":"tsd","test":"npm run mocha & npm run tsd"},"devDependencies":{"@types/mocha":"5.2.7","@types/node":"12.12.8","mocha":"6.2.2","ts-node":"8.5.2","tsd":"0.11.0","typescript":"3.7.2"},"gitHead":"80fb6b7259c86ef6a6a0dee0fdb64cb05f79cc60","homepage":"https://github.com/syuilo/cafy#readme","_id":"cafy@15.2.1","_nodeVersion":"13.1.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-g2zOmFb63p6XcZ/zeMWKYP8YKQYNWnhJmi6K71Ql4EAFTAay31xF0PBPtdBCCfQ0fiETgWTMxKtySAVI/Od6aQ==","shasum":"5a55eaeb721c604c7dca652f3d555c392e5f995a","tarball":"https://registry.npmjs.org/cafy/-/cafy-15.2.1.tgz","fileCount":42,"unpackedSize":109647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/39yCRA9TVsSAnZWagAAti8P/iNIaatS26AiwmKlkfNM\n7ooXQDjyNwVBRRGQmIv1xJOu4T2LrZwb8Z4QVtO1vQI67TchREYKifJ2ra32\neRSBvgRiOEr+7AAqN3hkm0IC6c8dJs4n4yTwshx9lD1HL03xhZI4JzYjpBEb\nJk7/gnX1xNLbKlnEHSKk2cAej1cLWcs37Nq3RatwIVi+4NaUou0jcgP9qkxQ\nxAcmlAZYN1cEyKihZgOI7gm/OvfXh1l2H9wo6JE2jWzei+GlRTzdfZcO6XKo\nU9Qma0m8sX26bveCdomtoaq5mK0+GKWWKHcGmDYt1mzyYi6L2sBG3tI2+Btf\nsK9P5WWuAhJkJBU4Bl+R8+0HdvAoZwgS8s0GwSQE47c0MJiEFuLpQkfN8kwm\nbuIKL1fXe4cCJJmu9zmcpfP8EIH2/6S2OyWCWXKpqmki4L489zwr+mGApTDo\nZuvn+ngUPcsuMIRKfrSyFgX3dadL6pZMmwL6dJE9DTclJ0TW7itfD1FAUkpL\nEyuzW8SgunL+UbC0MvDgAVbcNu4QdmCUjUhzAxSba9syyDVXqxA84LCaqIlF\nnjV30dFzIk74Uf/Oef8VZkWGvnhq5XrKOmNT0CMpXKGjcLZhjDsfZeyb1yh1\ngpBAdq1Lj+o2zYf2ygrs62zd209juHHYhL6BwgVQeVaUG/QbIv5j1o9YWYaF\nscMo\r\n=mTz8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOzE58+ZHHBNUDhvmPFgcezPegyf9IFS3HQp7zw/nxNAIhAMQdgf+dEk9h8jigLn8KHPLcmvA/bN+leeaubYGOgdYi"}]},"maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"_npmUser":{"name":"syuilo","email":"syuilotan@yahoo.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cafy_15.2.1_1577025393710_0.3838507635815367"},"_hasShrinkwrap":false}},"readme":"# ☕ cafy\r\n> Simple, lightweight, flexible validator generator\r\n\r\n**cafy**は、アサーションのようにメソッドチェーンで値のバリデーションを行うライブラリです。\r\ncafyを使えばバリデーションを簡単かつ柔軟に書くことができます。すべてTypeScriptで書かれていて、型定義との相性も抜群です。\r\n[Try it out!](https://runkit.com/npm/cafy)\r\n\r\n[![][npm-badge]][npm-link]\r\n[![][mit-badge]][mit]\r\n[![][travis-badge]][travis-link]\r\n[![][himawari-badge]][himasaku]\r\n[![][sakurako-badge]][himasaku]\r\n\r\n[![NPM](https://nodei.co/npm/cafy.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/cafy)\r\n\r\n## 🤔 Why cafy\r\nたとえばサーバー側で、クライアントから送信されてきたパラメータが正しい形式であるかどうか確認しないと、データベースのエラーやプログラムの例外を引き起こしたりする可能性があります。\r\n<i>「このパラメータはnullやundefinedではない文字列でなくてはならず、1文字以上100文字以下でなくてはならず、a-z0-9の文字種で構成されてなければならない」</i>といった長いバリデーションを、cafyを使えば一行で簡潔に書くことができます。\r\n例外も行うバリデーションごとに用意されているので、ユーザーにわかりやすいエラーメッセージを返すこともできます。\r\nまた、バリデータの型文字列を取得する機能があるので、それを使えばドキュメントを生成するときにも役立ちます。\r\nTypeScriptの`strictNullChecks`オプションもサポートしています。\r\n\r\n### ✨ 特徴\r\n* **軽量** ... 依存関係無し。ブラウザでも使えます\r\n* **簡単** ... 複雑にネストされたオブジェクトも直感的にバリデーションできる\r\n* **柔軟** ... メソッドチェーンで制約を追加したり、独自の型を追加できる\r\n* **強力な型サポート** ... 型注釈不要で、バリデータに即した型を取得できる\r\n\t* `strictNullChecks`サポート\r\n\t* `Type Guard`サポート\r\n\t* `Assertion Functions`サポート\r\n\r\n## 📦 Installation\r\nJust:\r\n```\r\nnpm install cafy\r\n```\r\nHappy validation👍\r\n\r\n## ☘ Usage\r\nTL;DR\r\n``` javascript\r\nimport $ from 'cafy';\r\n\r\nconst isFruits = $.str.or(['apple', 'banana', 'orange']).ok;\r\n\r\nisFruits('apple')  // true\r\nisFruits('banana') // true\r\nisFruits('alice')  // false\r\nisFruits(42)       // false\r\nisFruits(null)     // false\r\n```\r\n\r\n---\r\n\r\nまずその値がどんな型でなければならないかを示し、\r\nそのあとに追加の制約をメソッドチェーンで追加していきます。\r\n\r\n(以下のドキュメントでは、`import $ from 'cafy';`している前提で書いていきます(実際にはcafy関数にどんな名前を付けるかは自由です)。)\r\n\r\nたとえば **「それは文字列でなければならない」** という制約を表すにはこう書きます:\r\n``` javascript\r\n$.str\r\n```\r\n\r\n`range`メソッドを利用して、さらに **「10文字以上20文字以下でなければならない」** という制約を追加してみます:\r\n``` javascript\r\n$.str.range(10, 20)\r\n```\r\n\r\n実際にバリデーションしてみましょう。\r\n`ok`メソッドに検証する値を渡すと、それが条件を満たせば`true`が返り、そうでなければ`false`が返ります:\r\n``` javascript\r\n$.str.range(10, 20).ok('strawberry pasta') // true\r\n\r\n$.str.range(10, 20).ok('alice') // false (短すぎるので)\r\n\r\n$.str.range(10, 20).ok('i love strawberry pasta') // false (長すぎるので)\r\n```\r\n\r\nもちろん、上記の例はこのようにまとめられます:\r\n``` javascript\r\nconst validate = $.str.range(10, 20).ok;\r\n\r\nvalidate('strawberry pasta') // true\r\nvalidate('alice') // false (短すぎるので)\r\nvalidate('i love strawberry pasta') // false (長すぎるので)\r\n```\r\n\r\n---\r\n\r\ncafyは様々な型をサポートしています:\r\n\r\n* **文字列** ... `$.str`\r\n* **数値** ... `$.num`\r\n* **真理値** ... `$.bool`\r\n* **配列** ... `$.arr()`\r\n* **オブジェクト** ... `$.obj`\r\n* **ユーザー定義型** ... `$.type()`\r\n* **ユニオン** ... `$.either()`\r\n* **リテラル** ... `$.literal()`\r\n* **なんでも** ... `$.any`\r\n\r\n> ℹ JavaScriptの仕様上では配列はobjectですが、cafyでは配列はobjectとは見なされません。\r\n\r\n後述するように、ユーザー定義型を使えば**独自の型**を追加することもできます。\r\n\r\nそれぞれの型がどのようなメソッドを持っているかなどは、APIのセクションをご確認ください。\r\n\r\n### null と undefined の扱い\r\n**cafyは、デフォルトで`null`も`undefined`も許容しません。**\r\n`null`や`undefined`を許容したい場合は、これらのオプションを使用します:\r\n\r\n#### undefined を許容する *(optional)*\r\nデフォルトで`undefined`はエラーになります:\r\n``` javascript\r\n$.str.ok(undefined) // false\r\n```\r\n`undefined`を許容する場合は`optional`を型の前にプリフィクスします:\r\n``` javascript\r\n$.optional.str.ok(undefined) // true\r\n```\r\n\r\n#### null を許容する *(nullable)*\r\nデフォルトで`null`はエラーになります:\r\n``` javascript\r\n$.str.ok(null) // false\r\n```\r\n`null`を許容する場合は`nullable`を型の前にプリフィクスします:\r\n``` javascript\r\n$.nullable.str.ok(null) // true\r\n```\r\n\r\n#### null と undefined を許容する\r\n`nullable`と`optional`は併用できます:\r\n``` javascript\r\n$.nullable.optional.str...\r\n$.optional.nullable.str...\r\n$.optionalNullable.str...\r\n```\r\n\r\n|                         | undefined | null |\r\n| -----------------------:|:---------:|:----:|\r\n| (default)               | x         | x    |\r\n| `optional`              | o         | x    |\r\n| `nullable`              | x         | o    |\r\n| `optional` + `nullable` | o         | o    |\r\n\r\n## 📖 API\r\n### **Context**\r\ncafyの実体は`Context`クラスです。そして、cafyで実装されている全ての型は`Context`クラスを継承したクラスです。\r\n従って、`Context`クラスにある次のメソッドおよびプロパティは全ての型で利用可能です。\r\n\r\n#### メソッド\r\n##### `.get(value)` => `[any, Error]`\r\nテスト対象の値とテスト結果のペア(配列)を取得します。\r\n\r\n##### `.nok(value)` => `boolean`\r\nバリデーションを実行します。\r\n合格した場合は`false`で、そうでない場合は`true`です。\r\n`.ok()`の否定です。\r\n(*nok* は _**n**ot **ok**_ の略です)\r\n\r\n##### `.ok(value)` => `boolean`\r\nバリデーションを実行します。\r\n合格した場合は`true`で、そうでない場合は`false`です。\r\n`.test() == null`と同義です。\r\n\r\n> ℹ TypeScriptを使っているなら、このメソッドの結果で分岐を行うことで、以後対象の変数の型を推論することができます（Type Guard）。これについては、後述の「TypeScriptとの親和性」で詳しく説明します。\r\n\r\n##### `.pipe(fn)` => `Context`\r\nカスタムのバリデーションを実行できます。\r\n引数の関数が`true`を返すと妥当ということになり、`false`または`Error`を返すと不正な値とします。\r\n``` javascript\r\n$.str.pipe(x => x.indexOf('alice') == -1).ok('strawberry pasta') // true\r\n$.arr().pipe(x => x[1] != 'b').ok(['a', 'b', 'c']) // false\r\n```\r\n\r\n> 値が`null`または`undefined`のときは`pipe`は実行されないため、`pipe`内でnullチェックする必要はありません。\r\n\r\n##### `.assert(value)` => `void`\r\nバリデーションを実行します。\r\n不合格の場合は`Error`をthrowします。\r\n\r\n> ℹ ~~TypeScriptを使っているなら、このメソッドを呼び出すことで、以後対象の変数の型を推論することができます。これについては、後述の「TypeScriptとの親和性」で詳しく説明します。~~\r\n> 現在正しく動作しません。詳しくは: https://github.com/microsoft/TypeScript/issues/34596\r\n\r\n##### `.test(value)` => `Error`\r\nバリデーションを実行します。\r\n合格した場合は`null`で、そうでない場合は`Error`です。\r\n\r\n##### `.throw(value)` => `any`\r\nバリデーションを実行します。\r\n合格した場合は値を返し、そうでない場合は`Error`をthrowします。\r\n\r\n##### `.getType()` => `string`\r\nこのインスタンスの型を表す文字列を取得します。\r\n\r\n###### 例\r\n|                           | 型                   |\r\n| -------------------------:|:--------------------:|\r\n| `$.str`                   | `string`             |\r\n| `$.optional.str`          | `string?`            |\r\n| `$.nullable.str`          | `(string \\| null)`   |\r\n| `$.optional.nullable.str` | `(string \\| null)?`  |\r\n| `$.arr($.str)`            | `string[]`           |\r\n| `$.either($.str, $.num)`  | `(string \\| number)` |\r\n\r\n#### プロパティ\r\n##### `.isOptional`: `Boolean`\r\n`optional`か否か(読み取り専用)\r\n\r\n##### `.isNullable`: `Boolean`\r\n`nullable`か否か(読み取り専用)\r\n\r\n---\r\n\r\n### バリデータ: **Any**\r\n``` javascript\r\n.any\r\n```\r\n\r\nAnyバリデータを使うと、「*undefined*や*null*はダメだけど、型は何でもいい」といった値を検証したいときに便利です:\r\n``` javascript\r\n$.any.ok('strawberry pasta') // true\r\n```\r\n\r\n#### メソッド\r\nAny固有のメソッドはありません。\r\n\r\n---\r\n\r\n### バリデータ: **Array**\r\n``` javascript\r\n.arr(query)\r\n.array(query)\r\n```\r\n\r\n配列をバリデーションしたいときはこのバリデータを使用します。\r\n\r\n#### 配列の要素をバリデーションする\r\n配列の各々の要素に対してバリデーションを定義できます:\r\n``` javascript\r\n$.arr($.num)         // 数値の配列でなければならない\r\n$.arr($.str.min(10)) // 10文字以上の文字列の配列でなければならない\r\n```\r\nもちろんarrayを入れ子にもできます:\r\n``` javascript\r\n$.arr($.arr($.num))         // 「数値の配列」の配列でなければならない\r\n$.arr($.arr($.str.min(10))) // 「10文字以上の文字列の配列」の配列でなければならない\r\n```\r\n\r\n#### メソッド\r\n##### `.min(threshold)`\r\n要素の数が`threshold`以上でなければならないという制約を追加します。\r\n\r\n##### `.max(threshold)`\r\n要素の数が`threshold`以下でなければならないという制約を追加します。\r\n\r\n##### `.range(min, max)`\r\n`min`以上`max`以下の数の要素を持っていなければならないという制約を追加します。\r\n``` javascript\r\n$.arr().range(2, 5).ok(['a', 'b', 'c'])                // true\r\n$.arr().range(2, 5).ok(['a', 'b', 'c', 'd', 'e', 'f']) // false\r\n$.arr().range(2, 5).ok(['a'])                          // false\r\n```\r\n\r\nℹ️ `range(30, 50)`は`min(30).max(50)`と同義です。\r\n\r\n##### `.length(length)`\r\n要素の数が`length`でなければならないという制約を追加します。\r\n\r\n##### `.unique()`\r\nユニークな配列(=重複した値を持っていない)でなければならないという制約を追加します。\r\n``` javascript\r\n$.arr().unique().ok(['a', 'b', 'c'])      // true\r\n$.arr().unique().ok(['a', 'b', 'c', 'b']) // false\r\n```\r\n\r\n##### `.item(index, fn)`\r\n特定のインデックスの要素に対してカスタムのバリデーションを実行できます。\r\n引数の関数が`true`を返すと妥当ということになり、`false`または`Error`を返すと不正な値とします。\r\n引数にはcafyインスタンスも渡せます。\r\n``` javascript\r\n$.arr().item(1, $.num).ok(['a', 42, 'c'])  // true\r\n$.arr().item(1, $.num).ok(['a', 'b', 'c']) // false\r\n```\r\n\r\n##### `.each(fn)`\r\n各要素に対してカスタムのバリデーションを実行できます。\r\n引数の関数が`true`を返すと妥当ということになり、`false`または`Error`を返すと不正な値とします。\r\n引数にはcafyインスタンスも渡せます。\r\n``` javascript\r\n$.arr().each(x => x < 4).ok([1, 2, 3]) // true\r\n$.arr().each(x => x < 4).ok([1, 4, 3]) // false\r\n```\r\n\r\n---\r\n\r\n### バリデータ: **Boolean**\r\n``` javascript\r\n.bool\r\n.boolean\r\n```\r\n\r\n真理値(`true`か`false`)をバリデーションしたいときはこのバリデータを使用します。\r\n\r\n#### メソッド\r\n固有のメソッドはありません。\r\n\r\n---\r\n\r\n### バリデータ: **Number**\r\n``` javascript\r\n.num\r\n.number\r\n```\r\n\r\n数値をバリデーションしたいときはこのバリデータを使用します。\r\n\r\n#### メソッド\r\n\r\n##### `.int()`\r\n整数でなければならないという制約を追加します。\r\n``` javascript\r\n$.num.int().ok(0)        // true\r\n$.num.int().ok(1)        // true\r\n$.num.int().ok(-100)     // true\r\n\r\n$.num.int().ok(0.1)      // false\r\n$.num.int().ok(Math.PI)  // false\r\n\r\n$.num.int().ok(NaN)      // false\r\n$.num.int().ok(Infinity) // false\r\n```\r\n\r\n##### `.min(threshold)`\r\n`threshold`以上の数値でなければならないという制約を追加します。\r\n\r\n##### `.max(threshold)`\r\n`threshold`以下の数値でなければならないという制約を追加します。\r\n\r\n##### `.range(min, max)`\r\n`min`以上`max`以下の数値でなければならないという制約を追加します。\r\n\r\nℹ️ `range(30, 50)`は`min(30).max(50)`と同義です。\r\n\r\n---\r\n\r\n### バリデータ: **Object**\r\n``` javascript\r\n.obj(props)\r\n.object(props)\r\n```\r\n\r\nオブジェクトをバリデーションしたいときはこのバリデータを使用します。\r\n\r\n#### プロパティを定義する\r\n引数にプロパティの定義を与えて、複雑なオブジェクトも簡単にバリデーションできます。\r\n\r\n例えば次のようなオブジェクトをバリデーションしたいとします:\r\n``` javascript\r\nconst x = {\r\n  some: {\r\n    strawberry: 'pasta',\r\n    alice: false,\r\n    tachibana: {\r\n      bwh: [68, 52, 67]\r\n    }\r\n  },\r\n  thing: 42\r\n};\r\n```\r\n\r\nバリデータはこのように定義できます:\r\n``` javascript\r\n$.obj({\r\n  some: $.obj({\r\n    strawberry: $.str,\r\n    alice: $.bool,\r\n    tachibana: $.obj({\r\n      bwh: $.arr($.num)\r\n    })\r\n  }),\r\n  thing: $.num\r\n}).ok(x) // true\r\n```\r\n\r\n#### エラー\r\nこの型では、エラーに次のプロパティが含まれています:\r\n* `prop` ... バリデーションに不合格になったプロパティ名\r\n* `path` ... 不合格になった子のプロパティまでのパス\r\n* `error` ... エラー内容\r\n\r\n例えば次のような検証を行った時、エラーは次のようになります:\r\n``` javascript\r\n$.obj({\r\n  x: $.obj({\r\n    y: $.obj({\r\n      z: $.num\r\n    })\r\n  })\r\n}).test({\r\n  x: {\r\n    y: {\r\n      z: 'foo'\r\n    }\r\n  }\r\n});\r\n```\r\n\r\n```\r\nThrown:\r\n{ Error: x.y.z: must-be-a-number\r\n    at ...\r\n  path: [ 'x', 'y', 'z' ],\r\n  error:\r\n   Error: must-be-a-number\r\n       at ... }\r\n```\r\n\r\n#### メソッド\r\n\r\n##### `.strict()`\r\n引数のプロパティ定義で言及した以外のプロパティを持っている場合にエラーにします。\r\n\r\nデフォルト:\r\n``` javascript\r\n$.obj({ foo: $.num }).ok({ foo: 42, bar: 24 }) // true\r\n```\r\n\r\nstrict:\r\n``` javascript\r\n$.obj({ foo: $.num }).strict().ok({ foo: 42, bar: 24 }) // false\r\n```\r\n\r\n---\r\n\r\n### バリデータ: **String**\r\n``` javascript\r\n.str\r\n.string\r\n```\r\n\r\n文字列をバリデーションしたいときはこのバリデータを使用します。\r\n\r\n#### メソッド\r\n##### `.match(pattern)`\r\n与えられた正規表現とマッチしていなければならないという制約を追加します。\r\n``` javascript\r\n$.str.match(/^([0-9]{4})\\-([0-9]{2})-([0-9]{2})$/).ok('2017-03-07') // true\r\n```\r\n\r\n##### `.notMatch(pattern)`\r\n`match`の否定。\r\n\r\n##### `.or(pattern)`\r\n与えられたパターン内の文字列のいずれかでなければならないという制約を追加します。\r\n`pattern`は文字列の配列または`|`で区切られた文字列です。\r\n``` javascript\r\n$.str.or(['strawberry', 'pasta']).ok('strawberry') // true\r\n$.str.or(['strawberry', 'pasta']).ok('alice')      // false\r\n$.str.or('strawberry|pasta').ok('pasta')           // true\r\n```\r\n\r\n##### `.notInclude(str | str[])`\r\n引数に与えられた文字列を含んでいてはならないという制約を追加します。\r\n``` javascript\r\n$.str.notInclude('fuck').ok('She is fucking rich.') // false\r\n$.str.notInclude(['strawberry', 'alice']).ok('strawberry pasta') // false\r\n```\r\n\r\n##### `.min(threshold)`\r\n`threshold`以上の文字数でなければならないという制約を追加します。\r\n\r\n##### `.max(threshold)`\r\n`threshold`以下の文字数でなければならないという制約を追加します。\r\n\r\n##### `.range(min, max)`\r\n`min`以上`max`以下の文字数でなければならないという制約を追加します。\r\n\r\nℹ️ `range(30, 50)`は`min(30).max(50)`と同義です。\r\n\r\n##### `.length(length)`\r\n文字数が`length`でなければならないという制約を追加します。\r\n\r\n---\r\n\r\n### **Either**\r\n``` javascript\r\n.either(queryA, queryB)\r\n```\r\n\r\n「文字列または数値」とか「真理値または真理値の配列」のようなバリデーションを行いたいときは、`either`バリデータを使うことができます。\r\n例:\r\n``` javascript\r\n// 文字列または数値\r\n$.either($.str, $.num).ok(42) // true\r\n```\r\n\r\n#### 3種類以上の型\r\n`either`を任意の数入れ子にする事で実現できます:\r\n``` javascript\r\n// 文字列または数値または真理値\r\n$.either($.str, $.either($.num, $.bool)).ok(42) // true\r\n```\r\n\r\n### **Literal**\r\n``` javascript\r\n.literal(literal)\r\n```\r\n\r\n特定の値であることを保証するバリデーションを行いたいときは、`literal`バリデータを使うことができます。\r\n例:\r\n``` javascript\r\n// 文字列'foo'でなければならない\r\n$.literal('foo').ok('foo') // true\r\n```\r\nTypeScriptで使うときに便利です。\r\n\r\n---\r\n\r\n### **Use**\r\n``` javascript\r\n.use(query)\r\n```\r\n\r\n既存のContextを拡張したいときに使います。\r\n``` javascript\r\nconst other = $.str;\r\n$.optional.use(other).ok(undefined) // true\r\n$.nullable.use(other).ok(null) // true\r\n```\r\n\r\n---\r\n\r\n### **Type** (ユーザー定義型)\r\n``` javascript\r\n.type(type)\r\n```\r\n\r\ncafyで標準で用意されている`string`や`number`等の基本的な型以外にも、ユーザーが型を登録してバリデーションすることができます。\r\n型を定義するには、まずcafyの`Context`クラスを継承したContextクラスを作ります。\r\nTypeScriptでの例:\r\n``` typescript\r\nimport $, { Context } from 'cafy';\r\n\r\n// あなたのクラス\r\nclass Foo {\r\n  bar: number;\r\n}\r\n\r\n// あなたのクラスを検証するための、cafyのContextクラスを継承したクラス\r\nclass FooContext<Maybe = Foo> extends Context<Foo | Maybe> {\r\n  // 型の名前\r\n  public readonly name = 'Foo';\r\n\r\n  constructor(optional = false, nullable = false) {\r\n    // ✨おまじない✨\r\n    super(optional, nullable);\r\n\r\n    // 値が Foo のインスタンスであるかチェック\r\n    this.push(v => v instanceof Foo);\r\n  }\r\n\r\n  //#region ✨もっとおまじない✨\r\n  public makeOptional(): FooContext<undefined> {\r\n    return new FooContext(true, false);\r\n  }\r\n\r\n  public makeNullable(): FooContext<null> {\r\n    return new FooContext(false, true);\r\n  }\r\n\r\n  public makeOptionalNullable(): FooContext<undefined | null> {\r\n    return new FooContext(true, true);\r\n  }\r\n  //#endregion\r\n}\r\n```\r\n\r\nバリデーションするときは、`type`メソッドにクラスを渡します:\r\n``` typescript\r\n$.type(FooContext).ok(new Foo()); // true\r\n$.type(FooContext).ok('abc');     // false\r\n```\r\n\r\n#### カスタムメソッド\r\nまた、`Context`を継承するクラスにメソッドを実装することで、Context中でそのメソッドを利用することもできます。\r\n例として、上述の`FooContext`に、「プロパティ`bar`が指定された値以上でなければならない」という制約を追加するメソッド`min`を定義してみましょう:\r\n``` typescript\r\nclass FooContext<Maybe = Foo> extends Context<Foo | Maybe> {\r\n  ...\r\n\r\n  public min(threshold: number) {\r\n    this.push(v => v.bar >= threshold);\r\n    return this;\r\n  }\r\n}\r\n```\r\n> `return this;`しているのは、メソッドチェーンできるようにするためです。\r\n\r\nこのメソッドを使う例:\r\n``` typescript\r\nconst foo = new Foo();\r\nfoo.bar = 42;\r\n\r\n$.type(FooContext).min(40).ok(foo); // true\r\n$.type(FooContext).min(48).ok(foo); // false\r\n```\r\n\r\n## TypeScriptとの親和性\r\ncafyはTypeScriptで書かれているため、強力な型定義を持ち、バリデーションに応じて変数の型を推論し、それ以降のフローで型を絞り込むことができます。\r\n\r\n### Type Guard\r\n例えば、「`x`は*文字列*でなければならない」とバリデーションした後の`x`の型は明らかに*文字列*です(バリデータの実装にミスが無いと仮定した場合)。\r\n`ok`メソッドは型定義においてTypeScriptの[Type Guard](http://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types)を実装しており、`ok`メソッドの返り値を使って条件分岐を行うと、そのスコープではバリデーションした変数の型が正しいものに絞り込まれます。これは、`ok`メソッドにバリデーションに合格しない値を渡すと`false`が返り分岐が実行されないことが判るので、分岐先スコープの変数の型は必ず求めている型になることが保証されるからです。\r\n例:\r\n``` ts\r\nconst x = 42 as unknown;\r\n\r\n// この時点でxの型は unknown\r\n\r\nif ($.str.ok(x)) {\r\n\tx;\r\n\t// ↑この時点でxの型は string\r\n\t// この例ではxはnumberなので、実際にはここに到達することはない\r\n}\r\n```\r\n\r\n次のように書いても同じです:\r\n``` ts\r\nfunction something(x: unknown) {\r\n\t// この時点でxの型は unknown\r\n\r\n\tif (!$.str.ok(x)) return;\r\n\r\n\tx;\r\n\t// ↑この時点でxの型は string\r\n}\r\n```\r\n\r\n詳しくはTypeScriptの[Type Guard](http://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types)のドキュメントを参照してください。\r\n\r\n### Assertion Functions\r\nまた、TypeScript 3.7で導入された[Assertion Functions](https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/#assertion-functions)もサポートしていて、\r\n`assert`メソッドにある変数を渡して呼び出すと、その後の変数の型はバリデーションされた型になります。これは、`assert`メソッドにバリデーションに合格しない値を渡すと、即座に例外がthrowされるので、\r\nその後の変数の型は必ず求めている型になることが保証されるからです。TypeScript 3.7のAssertion Functionsによりこれを推論することが可能になります。例:\r\n``` ts\r\nconst x = 42 as unknown;\r\n\r\n// この時点でxの型は unknown\r\n\r\n$.str.assert(x);\r\n\r\nx;\r\n// ↑この時点でxの型は string\r\n// この例ではxはnumberなので、実際にはここに到達することはない\r\n```\r\n\r\n詳しくはTypeScriptの[Assertion Functions](https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/#assertion-functions)のドキュメントを参照してください。\r\n\r\n### Literal Types\r\ncafyの`$.literal()`バリデータは、TypeScriptのconst assertionを使ったときのように型が値そのものになります。例:\r\n``` ts\r\nif ($.literal('foo').ok(x)) {\r\n\tx;\r\n\t// ↑xの型は 'foo' (stringではなく)\r\n}\r\n\r\nif ($.either($.literal('foo'), $.literal('bar')).ok(x)) {\r\n\tx;\r\n\t// ↑xの型は 'foo' | 'bar'\r\n}\r\n```\r\n\r\n### Array, Object, Unionな型\r\n配列、オブジェクト、ユニオン型といった複雑な型も、正しく推論することができます。\r\nいくつかバリデーション後の型がどうなるのかの例を示します:\r\n``` ts\r\nconst b = $.arr($.num).get(foo)[0];\r\n// ↑ b の型は number[]\r\n\r\nconst c = $.either($.str, $.num).get(foo)[0];\r\n// ↑ c の型は string | number\r\n\r\nconst d = $.obj({\r\n  foo: $.obj({\r\n    bar: $.obj({\r\n      baz: $.num\r\n    }),\r\n    qux: $.arr($.arr($.bool))\r\n  })\r\n}).get(foo)[0];\r\n/* ↑ d の型は:\r\n{\r\n  foo: {\r\n    bar: {\r\n      baz: number;\r\n    };\r\n    qux: boolean[][];\r\n  };\r\n}\r\n*/\r\n```\r\n\r\n### strictNullChecks\r\ncafyはTypeScriptの`strictNullChecks`をサポートしていて、型定義において`null`、`undefined`、またはそうでないかを区別できます。例:\r\n``` ts\r\nconst a =                   $.str.get(foo)[0]; // a の型は string\r\nconst b =          $.optional.str.get(foo)[0]; // b の型は string | undefined\r\nconst c =          $.nullable.str.get(foo)[0]; // c の型は string | null\r\nconst d = $.optional.nullable.str.get(foo)[0]; // d の型は string | undefined | null\r\n```\r\n\r\n## Release Notes\r\nPlease see [ChangeLog](CHANGELOG.md)!\r\n\r\n## License\r\n[MIT](LICENSE)\r\n\r\n[npm-link]:       https://www.npmjs.com/package/cafy\r\n[npm-badge]:      https://img.shields.io/npm/v/cafy.svg?style=flat-square\r\n[mit]:            http://opensource.org/licenses/MIT\r\n[mit-badge]:      https://img.shields.io/badge/license-MIT-444444.svg?style=flat-square\r\n[travis-link]:    https://travis-ci.org/syuilo/cafy\r\n[travis-badge]:   http://img.shields.io/travis/syuilo/cafy.svg?style=flat-square\r\n[himasaku]:       https://himasaku.net\r\n[himawari-badge]: https://img.shields.io/badge/%E5%8F%A4%E8%B0%B7-%E5%90%91%E6%97%A5%E8%91%B5-1684c5.svg?style=flat-square\r\n[sakurako-badge]: https://img.shields.io/badge/%E5%A4%A7%E5%AE%A4-%E6%AB%BB%E5%AD%90-efb02a.svg?style=flat-square\r\n","maintainers":[{"name":"syuilo","email":"syuilo@yahoo.com"}],"time":{"modified":"2022-06-13T05:24:38.859Z","created":"2017-03-04T14:20:15.239Z","0.0.0":"2017-03-04T14:20:15.239Z","1.0.0":"2017-03-05T02:35:27.228Z","1.0.1":"2017-03-05T05:22:12.533Z","1.1.0":"2017-03-05T18:12:35.526Z","1.2.0":"2017-03-05T21:43:48.307Z","1.3.0":"2017-03-06T02:03:56.109Z","2.0.0":"2017-03-07T00:25:15.828Z","2.1.0":"2017-03-07T18:25:37.314Z","2.2.0":"2017-03-07T22:32:06.571Z","2.3.0":"2017-03-08T00:28:56.600Z","2.4.0":"2017-05-15T18:31:40.071Z","3.0.0":"2017-09-18T22:58:06.272Z","3.1.0":"2017-11-05T06:16:48.223Z","3.1.1":"2017-11-05T08:50:00.160Z","3.2.0":"2017-11-08T13:21:35.448Z","3.2.1":"2018-01-23T02:44:16.597Z","4.0.0":"2018-04-04T07:08:47.381Z","4.0.1":"2018-04-04T07:24:53.337Z","4.0.2":"2018-04-04T08:51:50.751Z","4.1.0":"2018-04-24T08:25:45.827Z","5.0.0":"2018-04-24T08:37:46.461Z","5.1.0":"2018-04-24T08:58:53.270Z","6.0.0":"2018-04-24T14:25:12.103Z","7.0.0":"2018-04-24T23:18:43.271Z","7.0.1":"2018-04-24T23:32:14.671Z","8.0.0":"2018-05-01T07:47:14.118Z","9.0.0":"2018-05-08T20:01:37.071Z","9.1.0":"2018-05-09T11:45:06.665Z","10.0.0":"2018-05-09T13:00:13.956Z","11.0.0":"2018-07-05T14:13:07.422Z","11.1.0":"2018-07-05T16:52:52.724Z","11.2.0":"2018-07-06T03:29:10.280Z","11.3.0":"2018-07-07T06:14:43.662Z","12.0.0":"2018-11-01T14:51:42.058Z","12.1.0":"2019-01-12T09:57:57.206Z","12.1.1":"2019-02-09T20:45:24.651Z","13.0.0":"2019-02-10T15:41:35.451Z","14.0.0":"2019-02-11T21:08:07.447Z","14.0.1":"2019-02-12T07:45:44.095Z","15.0.0":"2019-02-22T08:15:05.760Z","15.1.0":"2019-02-22T22:37:08.593Z","15.1.1":"2019-04-12T08:42:31.325Z","15.2.0":"2019-11-06T18:37:01.145Z","15.2.1":"2019-12-22T14:36:33.811Z"},"homepage":"https://github.com/syuilo/cafy#readme","keywords":["validator"],"repository":{"type":"git","url":"git+https://github.com/syuilo/cafy.git"},"author":{"name":"syuilo","email":"i@syuilo.com"},"bugs":{"url":"https://github.com/syuilo/cafy/issues"},"license":"MIT","readmeFilename":"README.md"}