{"_id":"types.js","_rev":"85-80ded90dae0195b97793da5aa6df82c2","name":"types.js","description":"A tiny and fast dynamic type checker/enforcer library","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"types.js","version":"1.0.0","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/Types.js"},"keywords":["type","typeof","types","validation"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/Types.js/issues"},"homepage":"https://github.com/phazelift/Types.js","dependencies":{},"devDependencies":{},"gitHead":"45cdd6024a8b2ec71b40a279cd55bfdff22f585c","_id":"types.js@1.0.0","_shasum":"6290cf054efe2b9444c46a6671d67f3a276f592b","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"6290cf054efe2b9444c46a6671d67f3a276f592b","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.0.0.tgz","integrity":"sha512-wgjvOsME+N8gQbzobNCYzGNr7lHDuPTOdQ+x1fKUJUCdBPuVCwmzzqp3GNHBsbRkpQEo9jgMkR9TeCgodvX5yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKgXpeOxcvL+H0ioGCBtfsdBlH4FDuHjKf1wwW+jcAUgIgPJn0qE3Q67+MybJL9lvj/6OTSZ1BXcIchYKokg1aFeE="}]},"directories":{}},"1.0.1":{"name":"types.js","version":"1.0.1","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/Types.js"},"keywords":["type","typeof","types","validation"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/Types.js/issues"},"homepage":"https://github.com/phazelift/Types.js","dependencies":{},"devDependencies":{},"gitHead":"98b8626d619693e0e6c96c9a902a771184b07ca1","_id":"types.js@1.0.1","_shasum":"777e2af467db64337b41cd21619102d26fa0fa9e","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"777e2af467db64337b41cd21619102d26fa0fa9e","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.0.1.tgz","integrity":"sha512-l1PXFxVoONfF0/NFSlnx84l4ckasHVF9EAUYpP9WIu7IDY6mC3bojM07Vom540HQkKYvu5VLFu9+D5o05Oktvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTvN3xdNYmD1oC2Q+FsrQznw9Fs6J1EHMKCP2U4mc48AiBEZsN+c9v5ME3Otqa0ztB9hOS6OYmq+ViwIx8R3HssAw=="}]},"directories":{}},"1.1.0":{"name":"types.js","version":"1.1.0","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/Types.js"},"keywords":["type","typeof","types","validation"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/Types.js/issues"},"homepage":"https://github.com/phazelift/Types.js","dependencies":{},"devDependencies":{},"gitHead":"4062ba763661f2bd0ba0a99924ff9ec26b4f1459","_id":"types.js@1.1.0","_shasum":"a397ea3f9f29d61aefd919eba72318903a6f167c","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"a397ea3f9f29d61aefd919eba72318903a6f167c","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.1.0.tgz","integrity":"sha512-z17R33ATlAtxXmNxRnEbiJdyb7LdrGKaQImrDe+ILboCrULqY/p5L9PHst1wOEv+l/F9K6ZJQjLQEKysoug+YA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEWcFEvZcKrfBxmOEeppTUr1SWhagy9yeF/jAyfinhQQIhAPBNxX31J2MponEqxo5iwJtkOyhkx3iF8OLtpbQiu3K1"}]},"directories":{}},"1.2.0":{"name":"types.js","version":"1.2.0","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"996590507038747648e04e8fe53c5b00b36cfd5c","_id":"types.js@1.2.0","_shasum":"143b712bf176f620297295a89ecd92f418ac4812","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"143b712bf176f620297295a89ecd92f418ac4812","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.0.tgz","integrity":"sha512-CmBlEEITGVq+Mc8hf0pmptSyVFxkb2mWlrAna6QTIo+wUZhALGQkI2phKdQr8OOhAxLUNCf5j2PWQdHrBvAiGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDh6Cdubf/fDmexhFXXYI/yVwtgFlXzZdDDgYn6Dl6VKQIhAP9A5iBp4nxoY0ZvUx3dWE5noKjaaXMTbf5isaV2IEkn"}]},"directories":{}},"1.2.1":{"name":"types.js","version":"1.2.1","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"bcf3e35a644f8230ae5ba1366ca2acd36f2ad4f5","_id":"types.js@1.2.1","_shasum":"3167c97e183a31f06388582bae700adb4cdc1dad","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"3167c97e183a31f06388582bae700adb4cdc1dad","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.1.tgz","integrity":"sha512-QGRAE5Qws9tbdBM3rr7c0cqc2jrn/TL2XCzx+xrQHnryV/MRlCK+mXEvVW/2ADpMJDRjCE1XALwfbzGkMSZZZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLDa4DjQ2XL7hXgZBr1sT96Op0Rmkcpo+QK6Wwnktr9QIhAM2WPVY59Xb8mdrQzeHA6d1Tjy5TM6NRt/5of8Tgja4t"}]},"directories":{}},"1.2.2":{"name":"types.js","version":"1.2.2","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"cb6feb0fdbc2d8029efdb76aae321b81dbfecb83","_id":"types.js@1.2.2","_shasum":"b23ce80a33dcfb075a4691562e2e392a25ca0a27","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"b23ce80a33dcfb075a4691562e2e392a25ca0a27","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.2.tgz","integrity":"sha512-hTWIPN2eNPh+sBZMO1iBo2Br4iSLuTFCOJBIZoWrM+Zb7ANZ7LAu3RuNlJ6PlxW0Saq3kSvu4a/WiSykiySP8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnH41dwpiraaB5D7iAPOBzosM5/CDU/uYYRAHvRyi6gwIhAPW3XPrhL6ZBL1P9R0hYSb8nHEo3to1QvU8dd8NBLynO"}]},"directories":{}},"1.2.3":{"name":"types.js","version":"1.2.3","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"91362351a90adbb6c0658fa37c52147c1289a5a2","_id":"types.js@1.2.3","_shasum":"5c1577937bac852dec9298431c170442f5532072","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"5c1577937bac852dec9298431c170442f5532072","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.3.tgz","integrity":"sha512-D+inxOz+N9e6ev1/RhFJsyyou5uwPeDoBDhUr8+wp3VbY9tolISJ623mZkARZ7qyajPpyxSaaE5A52UR6ygAIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVbv5TNbbqCs43OR9+/V3QBCAUxrStptFZi9i2GNio6wIgBgfZqSv78TYSGsXrRgtLSR6TixJPMVLrIVof1LH2NBg="}]},"directories":{}},"1.2.4":{"name":"types.js","version":"1.2.4","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"03fd40e2ff941bfa90ab2fe9c23bbdb71eddb19a","_id":"types.js@1.2.4","_shasum":"b409b8dfc22dba9c5eed64cec0989fd3ee0e0761","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"b409b8dfc22dba9c5eed64cec0989fd3ee0e0761","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.4.tgz","integrity":"sha512-AKb3cCx01Kb1AtzO55zM3E3C7Z5GXXynMMx81CwN4uzmg3T2qEx3AwhwXdpuNvFKSmem2DDx7nUaL9rVBLAb5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/U+xeNrA1kAhkV8eHTDqPusBunMwWJVuscju8AeF7OAiEAuSFyJQIDFn+uOVt7QWjeKzExzkTpnMRj8sikjyAWENk="}]},"directories":{}},"1.2.5":{"name":"types.js","version":"1.2.5","description":"A tiny Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"7835866f7b342ce93fb2876625b717b7c849431e","_id":"types.js@1.2.5","_shasum":"92c72b22a68ee1968d81aff278ef10d29321baa2","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"92c72b22a68ee1968d81aff278ef10d29321baa2","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.5.tgz","integrity":"sha512-9EMF1VIADd7N6iNIodZwnyZtGshnWcjqxh19XASJm2ZQPgiEt3c8X1c2JqU1IlNwzWgFYOD6pcwAhpIbFKbd5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQpgxxkPwFVIcM046Q1vcBQnWoFVghCsXgIAG1P6p0BwIhANgxM/+whozBBk9SEVfuv3AF8nluXv+VcrvifPzn/ENc"}]},"directories":{}},"1.2.6":{"name":"types.js","version":"1.2.6","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"3956d26c809fe5e8174b00998a3d37f0094764c4","_id":"types.js@1.2.6","_shasum":"43ad972b137f5e14adb445e5c152a1375eb400e8","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"43ad972b137f5e14adb445e5c152a1375eb400e8","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.6.tgz","integrity":"sha512-5Jp4vOxx6793gZ0T7DC57+lcFEQUFnqAM47ATDgtxZY/+LRuk5FrOO6j9ideWT+ONXGnH3JeQ6hH0k/M9ao1Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDt6/TDRXycXf5668WqWWeOfpMoakDeW2PhCz0Tr8pf7gIhAJLC5uwu71TwU+i9UaHed/kocKuGBeeB3dY5ihAAViAp"}]},"directories":{}},"1.2.7":{"name":"types.js","version":"1.2.7","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"0c8960ad68595d4abbc1e2199bdb0f878aedafc7","_id":"types.js@1.2.7","_shasum":"5a25ae1aec85bb151a8bbf1a667bd44f56f47032","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"5a25ae1aec85bb151a8bbf1a667bd44f56f47032","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.7.tgz","integrity":"sha512-LWwwfQ6/XJEGxuaQboRXa9Z5h4DpRSc0dzpjQKQOG7blbg09sdbThyGMpsIs5wWGQsS5xzDN+bE/Ho/lbUgEjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICE4ItV4ad9b8YSxEfzsRKGsEVtV9F1SEjIkU6ZBrZjNAiEAoE4u5E14DdN2rRFRUaTyQJinMIIBbyRzsoNZWowf1zY="}]},"directories":{}},"1.2.8":{"name":"types.js","version":"1.2.8","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","validation","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"d23fd9b3ddc238f415dbdf8c71ef38b17ba9c618","_id":"types.js@1.2.8","_shasum":"43d4e4c546877305459254e762f29f8b1d812450","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"43d4e4c546877305459254e762f29f8b1d812450","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.8.tgz","integrity":"sha512-mWHlVziuDdr89WuC/pNptONzdawZDSj+P2co/TSCFgXOQapjYEHkkCsKagrI7vExbcwZ/eQRonYi4A1fi3KqqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDW2afe7nE/CNb0xaCIZQRg6D2jrkzpV+wwSOO3YdrE/AiAvDTENL0NcjhWG+eRILzb63PpP1M8dKODgB8o62aqXlw=="}]},"directories":{}},"1.2.9":{"name":"types.js","version":"1.2.9","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"1e85baf35c0d15723ba3d964b83d987078c156cd","_id":"types.js@1.2.9","_shasum":"7a048a54cae855319a5ff2ea4c4f501ee1930e31","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"7a048a54cae855319a5ff2ea4c4f501ee1930e31","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.2.9.tgz","integrity":"sha512-2kxppXJ0E298kpeRY5x4gzDYu0YLN+SYfRGbxpF2jiPqMw8dRg0O6df0IHl6iA5oTOD1BaqzgxsRiIhVuPVChg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvg/EbKwnn0NT+265Tm+rkeVQd8swyKxT64e6+ZxtoPAiAkDYu5ryCv0jtTcKkUanp1FbWny80X/vGa+GhPunlgqg=="}]},"directories":{}},"1.3.1":{"name":"types.js","version":"1.3.1","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"d3a74f08843f74fe6eed27bff915b8aac9fab8ec","_id":"types.js@1.3.1","_shasum":"36fa8bbb6214206699a859724570a6aac43742b0","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"36fa8bbb6214206699a859724570a6aac43742b0","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.1.tgz","integrity":"sha512-NfVHwjnqfv3qkwfiHCrUi34gSvoFKN0qb2rByhaqHPnHlUnqOm6T5XD2Fxbypo/EQuT/MjO4wexv1xvgiNOE0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcD7X6GhGXzJusuc+NI+X2oij3OqE4iaPdU6z39SG7mwIgcUxs/Tr/MvtXStcA6VZCKZbc59ys4RqJOk5H28gaTf4="}]},"directories":{}},"1.3.2":{"name":"types.js","version":"1.3.2","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"a2f187280041818ec79219a2cb2ca55160fc30ae","_id":"types.js@1.3.2","_shasum":"3c713509d6ed8a3d58e2d2f84a1b61420641261a","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"3c713509d6ed8a3d58e2d2f84a1b61420641261a","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.2.tgz","integrity":"sha512-uTVfT4sJzGksB80YkcxrWD8br2deS7EpiFnP+xTKiv9X4ROwNE//WK2uZ8i9RnCniPl1ehTdHgFn6aNc5oUPiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbDgE9doFVDKHOHJ7boPQuTQoXNbbgogSrpl3pRcdHeQIhAM2fXaoXdNlr8YE2Pa4ORe1nI5uCd/c0NLRYsFzNvHqK"}]},"directories":{}},"1.3.3":{"name":"types.js","version":"1.3.3","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"076e4be7f7a6e5bd16c083815f678fd47940093a","_id":"types.js@1.3.3","_shasum":"3c631ea81638d43f8f30cfc2b421a6c66a90f1e9","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"3c631ea81638d43f8f30cfc2b421a6c66a90f1e9","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.3.tgz","integrity":"sha512-e9MtyJD/g51ZoqN3iIbD6NddAAc4Ce0VPafFIa1FYLuJGoDlodbJcsVlwU7TdHZxmpSJ29RI+IY3cwQXS9JmAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlSebIdOTwuKF/U9nie89ZQZ2WghuwL3hOrpPaJalJqAiEAiUx7KoVoKzchTsrTaWEE3fZKNEx2AgykIUJeYiQdBzg="}]},"directories":{}},"1.3.5":{"name":"types.js","version":"1.3.5","description":"A tiny (1.7kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","force"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"4282a37a8b1f7ea0a46fba0acf55d631dc1078b2","_id":"types.js@1.3.5","_shasum":"079c3d6dd6bff4ba984b60b0689b0db06066ef54","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"079c3d6dd6bff4ba984b60b0689b0db06066ef54","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.5.tgz","integrity":"sha512-FJ2t2pa0AeomjZCFTU0ASL8f77txN2smaF0DciSuAQce7bAFZTrW5sOBKKMBzLkHFl3Adj7OkJo6rH6SYsbW0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFVTKuZgsI+p+doBrUVGIc8/KttUTumT/p/MSxwI5IZAAiBPikJCd6QMwnG+a3YpVrOhyb0Yh5Z37SfDEnx3MdxRvg=="}]},"directories":{}},"1.3.6":{"name":"types.js","version":"1.3.6","description":"A tiny (1.8kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"947e0bd29d4c2826483a7504f085a7ef78a3b1b5","_id":"types.js@1.3.6","_shasum":"65a339f9ec5e5638f099180b3af8820c2764c62b","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"65a339f9ec5e5638f099180b3af8820c2764c62b","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.6.tgz","integrity":"sha512-WGfkhiN1hGBe/87AoWhoJk4KIk54YvJwS6MbVapxd29yu9p2Tq61sAJ1aSZjgV7Ih5e0+8HKTR78uwjknQ6lzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB9g6CXvXrEI8E82rn/bdPxOnVr++ITPEkGF7sGXblfOAiAMtu4eB/PjPbO3sAmoVdvJ1NjMI6ME3lpA5tUtmudzbg=="}]},"directories":{}},"1.3.7":{"name":"types.js","version":"1.3.7","description":"A tiny (1.8kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"f0360ecbc2e42525bc382b4b33d30e9d0249da1a","_id":"types.js@1.3.7","_shasum":"858655c482ec6ba57abdf36fe5f1ba6c7be5a730","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"858655c482ec6ba57abdf36fe5f1ba6c7be5a730","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.7.tgz","integrity":"sha512-Tsan01yZw3/idYnM8Jb8X5n/o6wjbYdjv9gex4xv1XiQ+1mIBLiupETTNkrpHHtISaYgfg9It78rG4ih4N22gQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJ1CtbVQpvpgj+olMsF6TLv8d6stjbucsb3d4kCi0t7AiBKz9XRTceWkKXEnJcOLvmKIlQH2gsCuiq3joBRQnobiw=="}]},"directories":{}},"1.3.8":{"name":"types.js","version":"1.3.8","description":"A tiny (1.8kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"35435da58b69e3d93da99716db29586b214d1c65","_id":"types.js@1.3.8","_shasum":"48e6c8fe3c334df049eed35677de5c890350850c","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"48e6c8fe3c334df049eed35677de5c890350850c","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.8.tgz","integrity":"sha512-TRODDH0pDCNmhVWhHpV4plnfEn86MCXOo7ThiZmzIqwNf1SeSkKHg5L9KkieBt9ePPo/kx+bBMVFx2NCdazNFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8vK3oAts+7ioC9zIj9HO9DSpw897L/s0HKtrFjDzEEQIgAdP02paguRtspxo/uElxmTWmw2ae5ZIRP8ExuqgGJWk="}]},"directories":{}},"1.3.9":{"name":"types.js","version":"1.3.9","description":"A tiny (1.8kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"35435da58b69e3d93da99716db29586b214d1c65","_id":"types.js@1.3.9","_shasum":"93b972f4e8748d89fbe3cfd01f4045153fca77ce","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"93b972f4e8748d89fbe3cfd01f4045153fca77ce","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.3.9.tgz","integrity":"sha512-K6107AZE/SQ1T40vlSxId9qPQaKifaYMSnymCPR8GGn/WtqpUJqVyC6kV3XI5p/g6eH85yjeNJHShO/N/ct3Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG77aciLgllx//O86BKampcvtLFc5Uv/0rok9MbzL+VgAiAMotZkLRGZ3OkY1PU4ZELKBM5XpmJ+hhtCa8GvFjpp8A=="}]},"directories":{}},"1.4.0":{"name":"types.js","version":"1.4.0","description":"A tiny (1.8kb), but essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"b4877874eb53ae4730f647370566dbbd3c1dacbf","_id":"types.js@1.4.0","_shasum":"668f4da69d76050352045820184b5d72ec912704","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"668f4da69d76050352045820184b5d72ec912704","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.0.tgz","integrity":"sha512-ezC7nGJCZLNs+WoxytNxGTvtIKdyUvMdxvzwU/Ow0Ogh8o509zuJJieOWRLKipaRp5LrCwhCTTzzZ6OCGotAyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZYAaj7Yx32ikdOmJJTatN+388YquqjXNjO4XWakwc8AiEAkPc3COkC+7f4k4IhGUMmkx6sdBkTNQIgAdyCGFRHWfM="}]},"directories":{}},"1.4.2":{"name":"types.js","version":"1.4.2","description":"A tiny (1.8kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","type-checking","force","force-type","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"f03e256c83188507933b47d4a526aefab7a41db7","_id":"types.js@1.4.2","_shasum":"f5afb450c81b53bc5298d1a773decde7fbf7a263","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"f5afb450c81b53bc5298d1a773decde7fbf7a263","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.2.tgz","integrity":"sha512-q10VAPKW1VEVs2YUIjqlFi7UmLxwRaQXZ49Ik37UjG05g91jpa7xkLab3p/ODzPFfz5MEicJgkKen23VpLUMUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4sUzSOolbMR9ac8PxxTHUvD2jgyqv7+TpTe3WywppPwIgKQ22qYLS9D/JiV2P/xNqISdxfmIi5wwIb4cudo3IEWI="}]},"directories":{}},"1.4.3":{"name":"types.js","version":"1.4.3","description":"A tiny (1.8kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"cb26209b71bfc0d62f8068d3c6baad27d7e116f8","_id":"types.js@1.4.3","_shasum":"77f324d92ab8af698e88714d465743a0dc4b9319","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"77f324d92ab8af698e88714d465743a0dc4b9319","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.3.tgz","integrity":"sha512-v3v8cNBiAWNo5mw8fjSBGEx4rsQchW+J9g3J5DOBBlVLVAzCUHA21urPx09fGuqv7CiSN7rW+1dQYPV7Wbc+Nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+VSZVFdia0Gw/j69Wq7bzXYx5VzBInKTGjaPqKBnaKAiArtfhlVWeNxVeNtLBo2yB8YL37apt8x+qVGYIGtUn6wQ=="}]},"directories":{}},"1.4.31":{"name":"types.js","version":"1.4.31","description":"A tiny (1.8kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"cb26209b71bfc0d62f8068d3c6baad27d7e116f8","_id":"types.js@1.4.31","_shasum":"0b358fc22f85abba4067c48157407d63aec35837","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"0b358fc22f85abba4067c48157407d63aec35837","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.31.tgz","integrity":"sha512-yforxsDIxfpVtqqOyslN+iDu8o1VF25g+ZzyTN1LwR28LxtyKiOyW520GPDMz0AZgJD42+8+RMHwO9q+Kow23g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAq8LhOmiIswBcOM61Du6UrpbsuMmxdgYESE1Mm7FGewIhAL/zgkQhUsvUjyKIHPnzqiIWl8LywwRbF7TeuOwYLTix"}]},"directories":{}},"1.4.4":{"name":"types.js","version":"1.4.4","description":"A tiny (1.8kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"7735c130b9102a8a7e8c3b56cae0b8d3dc6172f8","_id":"types.js@1.4.4","_shasum":"43b50b25fb4c721426970f5dad7e3bb8876e9360","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"43b50b25fb4c721426970f5dad7e3bb8876e9360","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.4.tgz","integrity":"sha512-4h8iE/nEOvOlRerIe/UxAHXWiI7WbSZefIRW3BZP6wD28z1foxmbVoMk7TUdliP+5xe7pG2AmWWrc6cOJpy2OA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFafIjEkPIbzgL7eR2aTmwuvg+6cAUgzBATHL6jPiBzAiEA4D5tPNjzrGEvFiP3Jhk334VnRjWZdU0ObHG5k+YAZ0s="}]},"directories":{}},"1.4.42":{"name":"types.js","version":"1.4.42","description":"A tiny (1.9kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"a419abc630074f286d381937c7ddab7361df997c","_id":"types.js@1.4.42","_shasum":"1ab12569a6d74b268e9a263ebf378cca25d9fd7b","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"1ab12569a6d74b268e9a263ebf378cca25d9fd7b","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.42.tgz","integrity":"sha512-NLJCQ9krpqQbkKs5TOSW3XrgyTs/hhgYDnIiTTZxq0LN8suk92baviseYOsC2kDCqUfJc/BQjTkibJ2oOYWcDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5e+bUH/9HZ0Iusb/UhnYONLabBLqOo+k4U3Frpjh5fgIhAPAw0TdScOKexGed6jpkkWkwcz5NIuNhvXNlyJfqbI/H"}]},"directories":{}},"1.4.5":{"name":"types.js","version":"1.4.5","description":"A tiny (1.9kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"a419abc630074f286d381937c7ddab7361df997c","_id":"types.js@1.4.5","_shasum":"94489ed660bc0b2f96628289f4af2dd409f47d5c","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"94489ed660bc0b2f96628289f4af2dd409f47d5c","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.5.tgz","integrity":"sha512-sxHqlZX9w/jC7ab0hF9kJQdCSUXOMcVCxw5wgtT1a1fq4MxN136iv/GPf/9iNtwuhvNx+ghX5p7cldSJl5ex/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfR8dGGJaocixze/UWeu9RcYgXi2s4xyCSxxzp64YNrAIhAI+kWrLcQUS0vnINWhcakBQlS1JkcQ6oW3dcM3Z/SiMs"}]},"directories":{}},"1.4.6":{"name":"types.js","version":"1.4.6","description":"A tiny (1.9kb), essential Javascript type-check library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"31b53473485c54842d59cf8bc1bb2ae473712d4e","_id":"types.js@1.4.6","_shasum":"409f2bf5d73e7edcc7971da700fa55cd0476c84e","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"409f2bf5d73e7edcc7971da700fa55cd0476c84e","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.4.6.tgz","integrity":"sha512-1mCb+VAFNaJ/DnUsGnkeUspEqwrzPYyXwv7TW1cGgMBhawgjyEM+dI67FLOP6zx1AnEsLIFD6cktyWhYJn6m/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCvmiZGZ7WgWSz6gKd2iZ0ylmDjXZlxoMfLP2BrDMm1AIgdJq3AYfqzHpvUnvtdjCigQYHlTMvec6kMZfsu9iqAU0="}]},"directories":{}},"1.5.0":{"name":"types.js","version":"1.5.0","description":"A tiny (1.9kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","dependencies":{},"devDependencies":{},"gitHead":"5b7115c8f2c7622d42c44a3055b5b4fc83c4eb06","_id":"types.js@1.5.0","_shasum":"50fab8bc56c7ae2c86e112f0311a25f240488b63","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"50fab8bc56c7ae2c86e112f0311a25f240488b63","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.5.0.tgz","integrity":"sha512-LcGPzavUIiWuGBfVgg5uU6b94AduM7uM1S9Oj06kwtz7jDfus0Fhp482RHsrCDwTupVKVoE/F/5sCZnGgYbSkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOfv5W042dTf6dVO4oy2E/eMtwo8dxg6x/I26kGnl0nAIhALhjtIOPhByB2jqetor/oYqiLLEDe2hnC0t/Vme8i0/b"}]},"directories":{}},"1.5.1":{"name":"types.js","version":"1.5.1","description":"A tiny (~2kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/phazelift/types.js"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"446a3d4d575777f7a109097d0659060fb6b8e991","_id":"types.js@1.5.1","_shasum":"4eb144bd7357f6a4a187a2b31c03fcf3aba07120","_from":".","_npmVersion":"1.4.25","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"4eb144bd7357f6a4a187a2b31c03fcf3aba07120","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.5.1.tgz","integrity":"sha512-SrfZL5qsS3xVZsLJBQ2JHlnIr4A9pCH3Zj904ArVG59T5tEvt1m4Ua9qAcZuK1QZnBUuP6XP8pO+IxWe0Kw/ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG15SgGSCqVM07LrHVhUnsJjOXy+o+x/L78XJXLLgHIwIgU/2FMWRkEQd4qA5o9lzBE5D1+gw1SjNE5aTmyMBzeSs="}]},"directories":{}},"1.5.2":{"name":"types.js","version":"1.5.2","description":"A tiny (~2kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"94fc9efacd2e0de5547d15e3aad17c63bb9e211c","_id":"types.js@1.5.2","_shasum":"ebe79e048e95b011bd8cb581465e013c469820a4","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"dist":{"shasum":"ebe79e048e95b011bd8cb581465e013c469820a4","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.5.2.tgz","integrity":"sha512-ruS3UwJwgRsdfbwxBIqGPvXmI2q06MvKn3bZQEcS/+VQRXM2CEJ4xu5NC4QED1jqOVhPD/IzU2nouilQdzfPig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa2jsUrjAqF15bBJ2TB2V8INKoWDu5GUAzqC4xXS27cQIgGf9WzV+x1YXp6LCRaHHgXY3qOPp+pUOkOyHJMoyHEv4="}]},"directories":{}},"1.5.3":{"name":"types.js","version":"1.5.3","description":"A tiny (~2kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","check","checking","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"bbe2e47cffa3b14693904010b940ae4b2bcf015e","_id":"types.js@1.5.3","_shasum":"98cc0221c42cfcce6608500fa3ec2c0a16e4bec9","_from":".","_npmVersion":"2.15.5","_nodeVersion":"4.4.5","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"shasum":"98cc0221c42cfcce6608500fa3ec2c0a16e4bec9","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.5.3.tgz","integrity":"sha512-cgaXDB1CC6IJaZf95qCTz8y0/pB02Y3FnNmTXByW1t4gW2H7NqrTsxR9nhhVu8uuaVFOQ0ymcmGfGyES+cPAoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/IOcvagPRd9GvSBxQPWJOn2qyq0NC0kn579ZxznA00AiEAlIjIJ6ImsbuegTOPmuiS5M9Qzem7AI4r9JaPrwADLtA="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/types.js-1.5.3.tgz_1465147607262_0.01944662886671722"},"directories":{}},"1.6.0":{"name":"types.js","version":"1.6.0","description":"A tiny (~2.5kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","check","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"GPL-3","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"1ced1a2cc958d199bfc16dd64acefbe21d2b6766","_id":"types.js@1.6.0","_shasum":"167c6ac6337e49b4c6ec3865b6522f75413d53e6","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"shasum":"167c6ac6337e49b4c6ec3865b6522f75413d53e6","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.6.0.tgz","integrity":"sha512-CDoHhX8Lk2XOJj8KTaElAikNQxe7OZslHYPuR+kO4j1lh4f6I8VAHUpih71eF9+iYDiirAZt2/dhhN2acu5/+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElHPVsBYDpugId4OYafygqAMJEG639knlHJEV798UnrAiEA1hD/inM3turqv61VY+IQDGSaduBEkQa/P1JzEMPS28w="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/types.js-1.6.0.tgz_1471800557665_0.09444700181484222"},"directories":{}},"1.6.1":{"name":"types.js","version":"1.6.1","description":"A tiny (~2.5kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","check","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"b35f10041a6f7c1aa27f3c6f14eb4085a7b23d4f","_id":"types.js@1.6.1","_shasum":"b335c842d5eef76914448425c70878dcc1ccd06c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"shasum":"b335c842d5eef76914448425c70878dcc1ccd06c","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.6.1.tgz","integrity":"sha512-QeOF08B4rQkaU/QaqhO9F77uOCQf1vK1maY3zkkg1uhYdVeqbSUKVP7962wfSD3UBtOcnsf5EkL4pKZ70po7Nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYWTX5nTRDU7U6D7bnFhCFZKI0P5KbkjqvOuKUQINBOgIgJVE8DkQkeMWvAeOEuazb9E4Ml7PGaEmC8rsMhnQ43ME="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/types.js-1.6.1.tgz_1473690845234_0.7991389343515038"},"directories":{}},"1.6.3":{"name":"types.js","version":"1.6.3","description":"A tiny (~2.5kb) Javascript type checker/enforcer library","main":"types.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","check","force","is","not","has","all"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","gitHead":"6010caaa489d7b344926173b10aa4fd2d99a8d63","_id":"types.js@1.6.3","_shasum":"61da2933dcc7388e73f039af809a3a785ecdbdfc","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"shasum":"61da2933dcc7388e73f039af809a3a785ecdbdfc","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.6.3.tgz","integrity":"sha512-Xm5WGzmNzh0mCtfLFk0aAMXu3dYLoLMJ6L2O7lwgwkt3QtuDC3FZclNgAGR5XPLfhyZqL6XQdEqsr7wVzRbJvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJCEalFHFtgo+E093/BHKUX6rnpE36Nc9ER/NKifZX9QIhALmerUzZysGq7eX4nnKT5P2/gDfYE65VCMxqKswBbEw6"}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/types.js-1.6.3.tgz_1473784917793_0.560850368347019"},"directories":{}},"1.7.0":{"name":"types.js","version":"1.7.0","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"jasmine":"^3.1.0"},"dependencies":{},"gitHead":"25b582fa4ae6b289e12cfee516211ca15229d554","_id":"types.js@1.7.0","_npmVersion":"5.7.1","_nodeVersion":"9.4.0","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-HTgHyV1Oe8vWLHqcS0MrG1GIWk7X7sFgKfpPkkd5zvKIlQ6HemKpdhyBY1jEpnBqwGcrGvXhv9+fn7Q/GfdOjg==","shasum":"5fe015e5b12749d39bbbadec6aac44c837b71608","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.7.0.tgz","fileCount":8,"unpackedSize":130795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRKT1CRA9TVsSAnZWagAAhVcP/iyNSYAwJGMd8HvfaqXT\nwoLsh962xOqOYM3NELtihr5V6RNXp8EstEBEt+OA1OK3jREJbZ0t57Wdbdky\ne0coWbZbSREt6Ng2EtVTfVKnS2IfEnSr7CyfpMJHfpxAuuccIEJb/tTvKLjF\ni5N4XTbsywHh/2x1thuu1UmbB3A4fnm+gmtXefDLxcG+ht4VyeADmGgdcRCn\nHywCC1GSo53VaAe3UW35uGEBU9wScGVY2jr0zZFe8DKS1XdmiTAcXEQXkjsu\n16c11ZA5+XgwUZjl9rjZRcE/aZsMCmCTVlGgXkCvYX6GccA6+/FTobfx/vwF\n98iI6/Onk+EwzTalx90hKZwYGt/3D7wWjEItcdDfeKN5pJp8q8W4MFluy5Qp\ny1fX4vIQ7pvEjwa6bVfVQNDggGsYzgB6bkLmpZwNjMBOW0RvE3WukIEHiog/\nE6l5KZatJGZeUr3jASK3Th7i6coTJpDeKnxvJp+L38WPs8nyGdgME6NMkXZR\ni3bUIynb+AMmCjbyDJIP3OlOX/K6QO1iDh2oLBBiACjP5F+R7r5HrNRjrzCs\nRA5a9VTAgxK+dLLqRR6R/VxNnMjbEOKlrEqUC1brLyWN8bBIFARn0VPTx00F\nBPL5GFdkzYeLf7+S63SToyYda2xm9j+OeuAH1T9egz4M/h+6WZmxfU7Rr38K\nWNIa\r\n=13Tx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRuONDvpen/Eyhz04w//vP+m5033g0ymtYdQDqmS0TAAiEAsY1xiveUudzXhYzu/lbcmatBuj6+H9EN4F0mqLedL44="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.7.0_1531225333099_0.13817274162961946"},"_hasShrinkwrap":false},"1.7.1":{"name":"types.js","version":"1.7.1","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"jasmine":"^3.1.0"},"dependencies":{},"gitHead":"f8269fc15c4925cba0a8d0741d35749f96cd2595","_id":"types.js@1.7.1","_npmVersion":"5.7.1","_nodeVersion":"9.4.0","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-X31awxN+9Wwa6fi9ToTcTsMSAfhk5tl0ZKR/MdJC4IA7sgnYlq8U5K97eGKhKXiqKrIUGvisrI12dteAKGtblA==","shasum":"7e49495e95665fe599ddf752c0841f6e81f4652a","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.7.1.tgz","fileCount":8,"unpackedSize":130794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRP5eCRA9TVsSAnZWagAAR8EP/jmELva1Y9nyUBKi0RGm\nWMFD1Ok6YYmLIfYdADq2hxcVdFqu5mWGhVeuF1xBfWlqA5tGTL6EBlxgX4+f\nmn7US5NVq1tnq7iKd7TdjSzR8zON4gKCrXJtpCoUn4PWzAb8mY1NSgp9K2+9\nqD0t/LmAe5+K+VcFkj8vyB587SbuLUnMabHpZPMO/31Mw9FIdBVZM2P1Wltb\ndDtjJmhnhyzqICW2fDCj/Kcd1aM7IIGZVex3AkBniQKq3Wx7j4uI0VVY8fZc\ngM8tfXcgTArGie9eh3RMPEHT87UEd2D/GQD+RAQSwAgU6CRL0uyvljBTldv1\no1aVEGHSjBRO7DxMM/YXmIDLpmY3DRG/mK/w1z0oW34w2xBNwbY7q3TDj2kr\n/DLT6/pcyWo0Zx+N8G3IOgDiccTAe2FMDKhS205F8Bh6L5HQ4OhxDcglxT9s\nD57S+WOyogDWqZnVF4oGn/PjlnWuduSD7DXV8R3YsErf6lTN3LLO8vbIsKAB\nG6lqESJnXQuYeKxJoN+fiUEi/80RHdSWDJAKZP2oKVHMD/5Ob483Q6RaDVsb\nsbYieY43p6ihMxyoJXm+IVxzTVOpQrci+2T3xGWSJcCsLaMgDz1KU2ZWUuLw\n84ag3khpvb/LGL22RfTPbWnUdb0HJtsAnjDwEbb4b6MuO8sP3EQhbjjhAeF1\nugf8\r\n=Jj5T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpT5mG9unSvKtWNhXxJ8UIYQ3a55tfvKHisfLkWVvSHQIhAMwH4chtgBLucwV6Qk1kTykfG3gKhEKKSSDVeS+Z0x2o"}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.7.1_1531248222721_0.9324781196093812"},"_hasShrinkwrap":false},"1.7.2":{"name":"types.js","version":"1.7.2","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"jasmine":"^3.1.0"},"dependencies":{},"gitHead":"657064d26ee9c202d2102032954cf9f821c81f27","_id":"types.js@1.7.2","_npmVersion":"5.7.1","_nodeVersion":"9.4.0","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-TKTqSp3B/Zam7f067sf2ao8NFjRa+knt5j6ff/oQ8U3h1SJmQXlhqi9VG4iW356205PmHjYXHqMcA8bRusS2Hw==","shasum":"b8a1b4a69eee059aa9cb4f152a56b8b65d7d5e7c","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.7.2.tgz","fileCount":8,"unpackedSize":131080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRmHXCRA9TVsSAnZWagAAsi8P/j4/u1dl7PX/9bqYLOd3\noTM5mJHXC++4ulyYMExk8E1Alk2yltgYatX7/URK5AiKnQexclIlwRvpTLmU\nHuqOamhXU2BFakOnLTFz9uKYtSudTazl9Ez9kTSBKPeGdVYug0dd4O/L4Vqq\nVJEF7y5Tni0GncEPEppPQFip63ENxGrFxJ96oQxJ3wMrBgXZlXk0odMcqOX7\nLRNmjuA7I9/alQaojD5yTlyAde55eJzEBOwrcwaZT319Nxf11wo5HFa+mkAS\nB+aC17zB656ZaeIaoJP2y3PM2RpBYReDd2sGTqFp2X4pDVui8g/fn47eWZk1\ncEIbkeXzbcCk0Sh+CblnAYoLx2kH7dfcsjlREll9o2gpmMelc6PomhWQbBGB\nTVXe9IOf2tjz4wIPE06c2xFKmnE1q3NpRy89I1B+oTbBi2jWVnMy+gjWn02G\n176Dq2l1DTeOtRsnzVkjC/GPTmyY9YIX3PeIf1l2+GULnjt7J0yXo9AyZFdf\njvxhcnrbrVRXDEYdldH0ImFjgQ6XzWjCbOD7tjq2EkNQUxOmzFIU1hwWBZE8\nPDM42BBWOwacR6UBS+Z54E2h8/nPKi6wJkFfguK4JZk2uA5m1TkHJHKpiWqV\nftRuT0glufxXc5fz50WAGmYmem5MZ+0OO3JkTHZgcTmc21ZkauTVwO++m5Ac\nCeid\r\n=l6+y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAa/bejr0qjC5X2NOSnZgEEAFYxF7mdyRVL4Qqyz9zCOAiAwgGR6V5W4+8vIFqM0APbI4JD05TjybqwpnIzgTwF/KQ=="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.7.2_1531339223924_0.4339144350891191"},"_hasShrinkwrap":false},"1.8.0":{"name":"types.js","version":"1.8.0","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"jasmine":"^3.1.0"},"dependencies":{},"gitHead":"8e86e4ddd2152bb8058790874d6e59232e9fe6ae","_id":"types.js@1.8.0","_npmVersion":"5.7.1","_nodeVersion":"9.4.0","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-dS5EYgdOFl5fjB3cwLVgNmHCepyxsoz1/N3+10BQMnEMW9BJb+cMUGYPyfE0SLI7SbJ0/jxdykvkdXqGHmHnDQ==","shasum":"878c8be5897d1128b9b2da25cc40892b09bf00ea","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.8.0.tgz","fileCount":8,"unpackedSize":133240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTH5kCRA9TVsSAnZWagAAYlUP/3MYkO7mTUrlvJ0E++ce\nKqLIsuLH/WeHRm3CtZXbdzxIx6YCk+2I1llH74yriMpIva+H/YJ0Ce4WrPj4\nWeswMM0Av1kqRqWKCEisIh3/bhf+1NiUZay670JMSp72xXsWFFiYsvPgqt/i\nDMcW1fviqd1ihjT0TT6i3XhS04UNo6Oky9R9OrYlHP/d+S+YVR32LQ2C0mp6\nQbcnr5kRiOxC/tdGQ9tbTj0VEgFGhVeX2bQNIViJ8L5EdTOcwINPRF/FW7+0\nhvClmE/tdsfV3Khr6XRtGbwdkB/AqffRdERE7gF89Nflg4lDhMQiM7anO+BH\nmrGnBCFD2GRpNcYHk/XEY0a7YNHwFTQk2fg0b3a6m3WXIuQ0f1yisNPLjqNF\nh4JH/WUPZ54KGKzFYsxI2mN6tvWKmFoxWX1i8psTJvYxsrO+UxNihqjKiyCF\nqVEw4sgBkMxGmOa9jsfbnT38aNUInFAsFvZU5XuBWL7Rl7LKSwcroqWUQRg1\ndTQ6CEiS9hkwpCYLJnZ+L+ColGZyXhpoRm6pj0To9/bA/XxAnHjGl0BoRQg2\nVunYCpHPSdDsiJt9MAQ/ZCDowoK4MNLpi9kz/f8RCyK7cYI0vh3k1X1QmfHF\nuGMPUAguQak67GzMF/rQbZAFcUWJ6iu5XbEoBZI8Wu1zl/KfAClxo0tNa+Z3\nqI9f\r\n=G5bH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKZdioxu03v2uP99HeZ9jLd3JiGRCc3sOPIgMVrt2zCAiB3KglNg0oJJJRG5O3/byIO5CC7mtObEfNQUDhiDfTMEw=="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.8.0_1531739748737_0.4331393604606857"},"_hasShrinkwrap":false},"1.8.1":{"name":"types.js","version":"1.8.1","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"jasmine":"^3.1.0"},"dependencies":{},"gitHead":"12dc5ca3cc457a16fa958626ceecadffb56cfafe","_id":"types.js@1.8.1","_npmVersion":"6.4.0","_nodeVersion":"8.11.3","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-eyHCG4ihapPnpW1Q4nvrVskovxlSlkf7mTlVPaKucOCAkmLAv6Y55jNlZikX9kgqIosEJtlVPPHVD6+h1qNXiw==","shasum":"717bdfb77db4f7c72bf33a55c93f0e2a3117dcfe","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.8.1.tgz","fileCount":8,"unpackedSize":132793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbeTeXCRA9TVsSAnZWagAAbbsP/1bhg0n5UW506xo2IDV/\nD2wqsOF0BO5Qq8TELm0e/99KsX9oiHuUJxepA/0odhJ/NJnBC2o3wxkRUlQz\nHRMIeEhBN6LyqX7xIO81hDfBTcfzcyPfLoceG7PK4gLMsd6j53ZBun0YRx9w\n/BvntoFfmDR+twDqDOOu8LOwa5SB4BZHUpUiC97MJwpaGFVQPDhZ7TKrbIlk\nx2zuzvdrcIFDk+zdtMZYCUHLnS+oH5L5nMx3dOfxWFl/B3FmIa4+nKjSuv0e\nv9dboCNotCXGt0DcrJDdrusfuojczGxxFP/9FmD/kGkuMosl44RJmmEGKv+W\nLQqQhTqP2l8xq9USJYDluOPlhS2blFdQgLpinzKgZQiSktcB8qAkz0SXKhhs\nBgu9pDnkwR6hJMx9Gc4oTiIiFmYpVosOyQYnF7qKa+ecpqNygrdrup1yTWcx\nrH/oGIjP0Ag5lM6vTeXIrL48a5jr2ORoPTsFyaoAOlwrxlLC9TnMygitlh8L\nTi/Ijwml+Mzw9UWt4CvgPM/VtUOYJAcj9eyxcVksuo7mX00L99dUQCPuVg1D\nRGRf/QUXJUdH/ok83FO1oBB9Dk9xuPXR5Z4QgF/ElMCi3pGS3we2uNn9PBWP\n6wte6avGhJuvJAyQn7YhYP64V23oCU6H+9cO41WzE18icLQdY8dUgvrX6bpR\nk50k\r\n=n/lw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDM9gOip5UMftoTLcPDtxQiifUOQmOSZ8nJ2lsEXRKMVQIhAN+9ftB0213jap1e93h8awHxN7IAwMG7bqlSSrps1VBi"}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.8.1_1534670742461_0.06379863779260586"},"_hasShrinkwrap":false},"1.9.0":{"name":"types.js","version":"1.9.0","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"uglifyjs types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"^3.1.0"},"dependencies":{},"gitHead":"3a736287daf424859efdaef629a93c5df86ba69f","_id":"types.js@1.9.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"dist":{"integrity":"sha512-EUq4DOINB8Vug0/eXM6vGNQhTpzqSpW6FCpYlm5m1HnPsjOJU9H4ZnIySYHQ57JIFg3v4DQeg7XteBZgyRtUCQ==","shasum":"f5f04e5ca661d7cdc2feca16ed56674d44ee5e04","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.0.tgz","fileCount":9,"unpackedSize":136158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcaU3CCRA9TVsSAnZWagAAHlYP/RScSD2K69yEqVW7tk7A\nLoRW2zhIlK0xsVdOilZyUUlSmkwZjuy/dFVCGGOQ+pA8PmVmckLQPMIUtBG0\nmSz8HS9DZlJHr/SvL/br17fne0MFJYmS3FVjKOdp+EYKtFedqbnrVCKsGxtf\nvVU0zU8nGbjY6aSs487/HCmo4LU2C2ed33THVjPJROtV2XedQUFKgSVln3/z\ny9rzYdCiJvWyOcYnFRDmLMF4jd/CtMwgPxGfL7gH6c4RLC4vR8asEikbFvn3\n9yBIM1QrsdmTUMeZ1H11h3bS3M0QqSCr1Bg+pP/7/ipgxcMBn+OdAnJ2nZWG\ntw5AzXSVRdYSOTm8XC8GwKJXTmu5IajwVy6FNRu7khp0Yl4iOiQJGSv7KKDY\nJZeUdQeMf45c2zt0oDrHJ2Vwq4mJeqc+8X778iOovFud4lAC6feNZd+t5UkD\nGrDb59BnzrTEVdlwmgdx5isRrxrmkwYQfAGsVVHgt852EHA6lXyU5h2X7dNo\nrW8aBdnzCVngX6vT8opTyeE2pjpJ99GrS6jgcTIB5OeRyuNYYn4FfUJz6tRK\nOUSEMoXa2g6VmALXl6q8Nr/PepxkpIMbl8vJDwe7dj/iJKsD2H1933MWkxqw\naNvwZq6eaAXdTZa4gmY5QuFNJ3uiMJfj4FBmDEzkwYcMYi9+aBHjNL14mTl2\nIlgU\r\n=mcJQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnBADcuEZK4ZObTu/Y7j3E4RD4fXc7keXssSMDMInlWAiEAzDbn2VubyhEZ0HeTW7goIoSV91o7BeuyramQfOF8WXA="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.0_1550405057468_0.3461086746730313"},"_hasShrinkwrap":false},"1.9.1":{"name":"types.js","version":"1.9.1","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"uglifyjs types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"latest"},"dependencies":{},"gitHead":"e063c81e383dd9fe5b0db2a867987bd32d1124c3","_id":"types.js@1.9.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-9mCjyDI2sRaLTNfqltAi+ZulooAy7obP3C4GQKSTqLuOU1ahPLaTegYRzKMGnVRmgUH7RDo54k4oM0dmKOuH7w==","shasum":"ea3dcae9a46639d3ecb0b3c9b375aaee42e211a1","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.1.tgz","fileCount":9,"unpackedSize":159500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJektZbCRA9TVsSAnZWagAAB6oP+wb+JOTmG53bEM/Bv26l\n88PIBzD/5DkDxizBtG0BCh4xgirooiA1R8fJTJmruUMkZ+nrKLAPguO6mkw0\nRX0MGQpnBhmMH/7KHML7yjDqxVax3MweZ/faVSG1CskfW1mSBxfgf8nV/qbl\njlYU1mFGTLfeXwMMnVt25w4/jL4HU99HVjTEX48dLrBKRGj4OX91Y7ao5bCp\nrNuFOMrtpix2gUJK+zP7jw0I6/p8aK2/GmDy9TIZw4ZyBRR7Dv+UqcESpblw\nf9i5YpI+CRmoICB2V6U56PjdqYMTeXBwgYzfUaK2iFNHj1TDptqAIg+05viD\n0qC643sItP+jm8VhIVPnLdEShSkHTsTy90p/GLXlf1S55tGuTE+MWhe7whw3\nePHjpSIacpp3R2fQKgAv/zA3gTvvcXBu2j3zL4z78Xm5gQ64AlmT+hpX76NU\nHqpWqw1GUYCpkkqxXWK3SAyc1LdZn5azJUg8FYu19Ljf1rnsTlfDCYr7+7lg\nIig4ShzcCnajzRdFRsN4uUGs6LXDNq5FwDZWAuNw7jMrmzsSdLNbNFjRI/Ud\nqQOmnJDmHQqXGSAU1ug4yon699pvsLJ8bPBdKmqHEEve6HxKB2HSjr/1zv9a\nSrDAB5gjRXlE4KQXhTotnkJrMPrUfRK9OHIqeYAarGhbTRIhaiiHolcN5/7E\n6uoP\r\n=a7Gq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYQ4lcYViMVGOa4uJQ8bv4a4D3LPGiuGaM73JpT87J7AiEAz/ctjQaP2XbyrURwornjaHPEyJYviw1fZqeV+m8WCTU="}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.1_1586681435531_0.5183142178113325"},"_hasShrinkwrap":false},"1.9.2":{"name":"types.js","version":"1.9.2","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"uglifyjs types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"latest"},"dependencies":{},"gitHead":"a1da2c9405b11d4fb335358904532ff20ececb18","_id":"types.js@1.9.2","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Axb8QV0MA3JPLGDo8jnyX9umMrvy6nhO+qBIhNKgftencpRhS1KpRtK1F1jUw6AMBaOJH9Vp5VKZ0NY1g2td/Q==","shasum":"d5a802dfa0a867ce038cbd99c29270fff934bee0","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.2.tgz","fileCount":9,"unpackedSize":136157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek3bhCRA9TVsSAnZWagAA9xQP/3kLq7CwrYJ6RMLOju5Q\nV3HNHlOHNincnmtC/mviKzaweYX3TyKeMvgmS+OTAtv01XzDyGdZXh3RADCz\n/EGD4YgmCG9a1Vt0mCXdoij4KcONQTubGFuJVYtthKcsU5sufA7vmVOkPsEH\nEqoqn3i/w5eBmKpXejp26QCDqthO4WcdawjESrLFJfLtlfPWbf2V38ic9MDJ\nNawdqT/aBQ3YTHOY7kqr0siRD6pTAkGeth9+ScYZV4RWkNJgHDXuWopgL29I\nmC2xyEvrTQlBE/JLrAOLKjXBV0SWrR7tgx33V/ysJMn4HDq+I27P+v1A0I2c\n1jCL9YIXMxNeiOZzpGvTpdyF9kXNXTr8XCEYYy2PlzWuYWIkfa1dzUi/jKRE\nOIaNpQHsSBPvAEawZ7Sk55eXUtoQF1KUIwcPSqtrGTF+U8WH9gVVJ9Bk/B4Y\nIrk7yXRFETcJ3f/owkQlnt/KCIbXijM/T2envdKCqDJBZQvXqSjhn8XuLUb9\nb7rs/YO132rFzN2XcuVawY+gqfnabumzWBNgRM4ZxaQZxIHm1qOIShWZypuu\nKEQWcb9oMjWc18QIiBIrsxySacvdohhtffh4epM9nfUfJmL0FiSae6C4tl90\n6NPtGPT3+U9oODfbNMqhFRVSJWnF+FVhEURucYBggLP0R+XnLoBNbPRtUCMg\nKyTJ\r\n=zLOa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7l5hDjnj3bNzunHJrhLyP2mrW3setvZ2IciOMsbdevAIhAOuRcYWxTaoKw1U3Oh7mFE3fH425V5tyYhHVd4XMnzuX"}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.2_1586722528837_0.715676133577287"},"_hasShrinkwrap":false},"1.9.3":{"name":"types.js","version":"1.9.3","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"terser types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"latest"},"dependencies":{},"gitHead":"e80d134ef99a64c801a4ccd9167c38d5280ad396","_id":"types.js@1.9.3","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-tzuUom3YMvKPf3Ac/dd7Ye9P/tqXp3cUkNE5xgFZPCQOQubOcZAitKOUIF9HV+o1/0RwScckL2Xxf8f5jXACUw==","shasum":"41d3c6dfbb504934da536a63658d2ef7165c0c56","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.3.tgz","fileCount":9,"unpackedSize":136362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIbiGCRA9TVsSAnZWagAAjE4QAJscCttQIq+wLNLyDROV\n+aI61W2Ec7KkjYDBml0H8Ck997aFLxqIcsNBXW5T0BISNnGv8XSV9EwKxxBu\n5SXhtew44DOdlzNw9xuPbIClumGJ8xhQyTea8PhD5nnl2BEIqW5S/MbKk/bY\nqeATaB3TmvxMrJ6zLVjlpZRzXr7HaiRoGTjb4T/O58xC9cVz9j8q2A14/N8g\nRfCE8KRQsCza72UO9HocBHkNUlKG4hSVhegvuFqeKwG2g0aqzgtL9zm0m55h\nJ3EtwTZ1yyt39k6nwEc+ugcd0y8BskXHjwxYKIu//loWlgs6TMFVL0uz2DWd\nY1B/Hfs+RUqJVly+Fi9Z1BZaB/+HXyRfxwEVxtaSOxLmKJ/OFNatbAXSKgbE\nnD/b+OEB+afuH6FiH7p1hU1yjKk6BYp7laIuL5FUO+oRqRnzPQvPv7LikpCo\nVYeTFlcHrV64L30Rj0nOmXVAhu8+URX0mVZHfzBxUjQdG4vXEccDDXna9+jD\nDIvHZg+l/NSr9h8ppkXyJISbQnY2AOEPxkGcYVpkx21n847UahWAWEBYo9SH\n9QYsU1Y0oSfO11l8ScHqYE0MFkbM+rYr7ZWHscIc1ywODZAoi+26E/jmi41C\nGyIvILD0pEjCA+pO/HGLqkblFamvOau+KzhU8znl1r5eITWNoztVmOAPxYJH\nyxUs\r\n=6+M6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCk/GOoRDlWej14RvfGROEo95gkQf1R+Bs3o7kWxpb9gQIhAJkcbBFcUC6py7BsuYclKoqWN5aJb4HmGcCMXfkNDR9t"}]},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.3_1596045445927_0.22204456869688216"},"_hasShrinkwrap":false},"1.9.4":{"name":"types.js","version":"1.9.4","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"terser types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"Dennis Raymondo","email":"phazelift@gmail.com","url":"https://github.com/phazelift/"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"^4.1.0"},"gitHead":"9333d624618300e518efbe93bbf0b10e71712a14","_id":"types.js@1.9.4","_nodeVersion":"14.15.0","_npmVersion":"8.10.0","dist":{"integrity":"sha512-6aXrjDr69r88RzJ1BMWMdV4HtZqcO8J+CQFc8TZg/zSpFSQ8ptNxpKCu7VHNvPBXjpcKFK8JGz+yJCeqUI/iLg==","shasum":"50c5242559de07996ce71d5e0b3c1fd36e543911","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.4.tgz","fileCount":9,"unpackedSize":136231,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYobgO3ar2O1b38FC8x60EFDm/arLvyH0FYZ6Th9cNYgIhAM3KAaFuM6TKzeiLA+yIID3NbNePwPeNH+XN9vKzG7qM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJik8jIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEfw//bpym3zKt2wkzAiU/iNqrNkaKl3/V94OWKH820qNWaGEsJmWZ\r\nkjCeSSGwspuS/HtdSHichwEwRhl5MYUX3ivtBby9ZdX7BgbRqojkjYXYlgee\r\nptREBgTJg0D+RfgAEJSi5nZ85A4O4ycowTds82XMzqS0bdst6O3eMgYDV2pW\r\nwQ7eVEAOJ2NgnPztvB2Oey8ekQUAgbUmipDxUDg3vaf+9Ict3mT9Regn2c7r\r\nACSOf8w6N1l3IzH4AAJCg3Xd8RARdu0GSlmMiCcQvAm31y587NMgUf/80/5D\r\neE2bdkzgGZ8hMzT29wrx/U1/FQwj7V/aU1+CVD7/9lYitd/uoecxPDaWQpPf\r\no3uhZS4q2f9cTXIiqoWsPiOO52sTeFQLuxhOhDJ5P6vVEwHr9bJ/Cv/QnTvW\r\ng5LwaVFGDNFLbNhrHZO24qC65MD+buiaX9xp7nyl1jr2YscWoZE6NVFLDVYu\r\ncjyrcsUfL5KWr9x2ajGDuHku19iPbpzzs895gagVpfGQFtbFArXB0ysAg0Yn\r\nVetdHH+kMb8LMpL2Jwqs8otDbd6dEzh+8Xwa1VlXLxGCncwI86M6zEtiDMqX\r\n9qMJWwB55FRnD6Opc4+JEG0rBIc3ua/K6XU6xNJ2Lz7M5IImwt16myxwaZKE\r\ncUoD+P5ZFEBKmMpb79vVMrd+39j05ycb5CM=\r\n=fGTU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"phazelift","email":"phazelift@gmail.com"},"directories":{},"maintainers":[{"name":"phazelift","email":"phazelift@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.4_1653852359872_0.4032122390652464"},"_hasShrinkwrap":false},"1.9.5":{"name":"types.js","version":"1.9.5","description":"A tiny and fast dynamic type checker/enforcer library","main":"types.min.js","scripts":{"uglify":"terser types.js -c -m -o types.min.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"dennis raymondo van der sluis"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"^4.1.0"},"gitHead":"e1cf6975c1bb4e419b4a314458512569c3256539","_id":"types.js@1.9.5","_nodeVersion":"14.15.0","_npmVersion":"8.10.0","dist":{"integrity":"sha512-FFBX+14ze6YpvxOgQtl4mK2M7pzAshv9zB3pQe/dlbwTccGqFQdFtrxkKEHMiIk0ttbhHIU5GE6D4GxHbf776g==","shasum":"b2579e177d4aa79b50aa552abf8d5b34e61c8e65","tarball":"https://registry.npmjs.org/types.js/-/types.js-1.9.5.tgz","fileCount":9,"unpackedSize":136101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjO11ZfRLYg8dI3pgHXbCC4E4FK/GwZ0boSiZtdv2nmAiBe3O0TUf8cEIXP3QBqnIu/GUCdz1yAvHnqpoDQtBDhKA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimwbTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQ7g//fXGoDkN7Nls0DMha/n5wHb6E1Ppnaicex6lzVK2aG1NuYnq+\r\nQH+dQg/zC4IQ24txUP/lXRfVH6mJY55RGg1arE/qHo6xFt7PDsC6hksYzfKv\r\nb93tjFGs7VrNzzOfLNUiPmUqTDq76wFEm9mA/mJKlcnzYHKiRbO/kUwQ6Pl0\r\naZzbDmmqA+6jvwPGhmYyw/D4dLVvbEYq/L4Judvxzr9doUOFWdf91TS3609P\r\nLyVV+lEP55WISrsII1XIhXDXPcG6n+RNTnO+1TleT4FtPqy7mpQqg/WH3FdI\r\nIAPCT3DGc5Alre85BfsYzxMcvDw0E++dRzEzi7dldBgsC24jvinm0xen0atY\r\nV4RWI8kgb4mhHg/c3lOS+FaO5N4cnAOYMkBOVKOIswXw8hCCdo7CTorv8dE+\r\ngIyxtNvd00EUBx63BNx24MR4ZdxYRl8zbWXZKh6OAmbR/DbZ/aTxfF0SfdO2\r\ny78l2YwinxwYa/K3WQub+tT2W5idxjAivQLdTJrSDovY94MaziPjR+sZYU9W\r\nAcHLFEYIjF/xUkomUOAa9Pthp387yEMOO5uXeZlJ7dT5CUnaG/1cbHgjLlV2\r\nOPMrHkNMT6ZBNk1Y4FGrpEkB6+Fx12zrxNbad5AvteTpX9vO++T0xFuWFCxX\r\nrfeuXChnVSuoe6vjK4bVRJ2IFYOF7j/iofs=\r\n=HbRF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"sygn","email":"npm@sygn.net"},"directories":{},"maintainers":[{"name":"sygn","email":"npm@sygn.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_1.9.5_1654326995316_0.33694120476130673"},"_hasShrinkwrap":false},"2.0.1":{"name":"types.js","version":"2.0.1","description":"A tiny and fast dynamic type checker/enforcer library","main":"index.js","scripts":{"uglify":"terser types.js -c -m -o index.js","build":"coffee -c --transpile types.coffee && npm run uglify","test":"jasmine"},"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"author":{"name":"dennis raymondo van der sluis"},"license":"MIT","bugs":{"url":"https://github.com/phazelift/types.js/issues"},"homepage":"https://github.com/phazelift/types.js","devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","jasmine":"^4.1.0","typescript":"^5.2.2"},"_id":"types.js@2.0.1","gitHead":"378df634bb76ed058ef977094e135c7608a915fe","types":"./index.d.ts","_nodeVersion":"21.0.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-EqtQQ08QQf66jBrZcYPp5j2bztuNhZt3Yx845c2W44LvIJRPD6wXSKuvaOzmW/5FX0RU9cc9/Wb/2ScvhGCBAw==","shasum":"4e6beed180fa445fefe12725967376920efbf5a6","tarball":"https://registry.npmjs.org/types.js/-/types.js-2.0.1.tgz","fileCount":10,"unpackedSize":141722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO/QBBI1/u7nOPh9daT2tV7vsCj1J7iwC1V/Eo1N3zugIgZwYofT+KgacKIiDtR/SMoGOvVvKVbJDt0rqN4vvoDhQ="}]},"_npmUser":{"name":"sygn","email":"npm@sygn.net"},"directories":{},"maintainers":[{"name":"sygn","email":"npm@sygn.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/types.js_2.0.1_1698590596359_0.6271816474340981"},"_hasShrinkwrap":false}},"readme":"types.js\n========\n\n![npm](https://img.shields.io/npm/v/types.js)\n![npm bundle size](https://img.shields.io/bundlephobia/min/types.js)\n![Static Badge](https://img.shields.io/badge/code_coverage-100%25-darkgreen)\n![Static Badge](https://img.shields.io/badge/supports-TypeScript-orange)\n![GitHub](https://img.shields.io/github/license/phazelift/types.js)\n\n\n### A tiny and fast dynamic type checker/enforcer library.\n\n<br/>\n\n**Why**\n\nBecause only with dynamic type checking I can be 100% sure my app handles type issues properly at run time.\n\n<br/>\n\n**Performance**\n\nWith reduced size and optimized for speed, the performance penalty is negligible for the majority of operations.\n\n<br/>\n\n**Features**\n\n- fixes NaN, array, null, etc..\n- can check multiple values at once\n- 5 convenience forms: is[type], not[type], has[type], all[type], getFirst[type]\n- provides a typeof replacement for proper and reliable type assessment\n- you can force/ensure any return value to be of any specific type\n- create basic immutable 'enum' objects\n- support for TypeScript\n- battle tested\n\n<br/>\n\n**Some examples**\n\n```javascript\nconst { enumerate, typeOf, forceString, forceNumber, intoArray, allDefined,\n\thasObject }\t= require( 'types.js' );\n\ntypeOf( [] );\n// 'array'\ntypeOf( null );\n// 'null'\ntypeOf( /someregexp/ );\n// 'regexp'\ntypeOf( parseInt('Not A Number!') );\n// 'nan'\n\n// when Types.autoConvert is set to true (default) you can\n// auto convert/parse number to string or vice versa if possible\nforceString( 12 );\n// '12'\nforceNumber( '12px' );\n// 12\nforceNumber( 'will use next arg..', 12 );\n// 12\n\nintoArray( '1 2 3' );\n// ['1', '2', '3']\nintoArray( '1', '2', '3' );\n// ['1', '2', '3']\n\nallDefined( 'good', false, 0 );\n// true\nhasObject( 'not', ['really'] );\n// false\n\nconst COLORS= enumerate( ['RED', 'GREEN', 'BLUE'] );\nconsole.log( COLORS.BLUE );\n// 2\n\n// there is much more, see below.\n```\n\nForce!\n------\nForce a value to be of a specific type. A replacement value can be given (as second argument) for in case the first provided value is incompatible. If none of the given values is compatible a literal of that type is returned (except for Number).\n\nFor example a look at how we can safely call a function that needs to pass a number argument, first in\n\"standard\" JS, next with types.js force methods:\n```javascript\n\nfunction test( left, callback ){\n\t// left needs to be or become a number\n\tif ( typeof left !== 'number' ){\n\t \tleft= parseInt( left, 10 );\n\t}\n\n\t// check for parseInt returning a number instead of NaN..\n\tif ( left !== left || typeof left !== 'number' ){\n\t\tleft= 0;\n\t}\n\n\t// be safe before calling the function\n\tif ( typeof callback === 'function' ){\n\t\tcallback( left );\n\t}\n\n\t// with force it's easy and readable, exactly the same result:\n\tleft= forceNumber( left, 0 );\n\tforceFunction( callback )( left );\n}\ntest( '20px', console.log );\n// 20\n// 20\n\n// see below for more examples\n```\nCheck it out, it's sweet! I've added force to types.js because I use it all the time and it seems to belong in here.\n___\n**node.js**\nFor use with node.js you can install with `npm install types.js`\n___\n**AMD**\n```javascript\nrequire.config({\n\tpaths: {\n\t\t'types', [ 'path/to/types.min(.js)' ]\n\t}\n});\n\nrequire( ['types'], function( _ ){\n\tconsole.log( types.isNumber(0) );\n\t// true\n});\n```\n___\n\nBasic usage:\n------------\n\n**force[Type]** Forces a value to be of a given type, and returns that value, a given replacement, or a literal for that Type\n\n**is[Type]** and **not[Type]** are useful for single argument type checking.\n\n**all[Type]** is useful for checking if all given arguments are of a certain type.\n\n**has[Type]** is useful for checking if one or more arguments are of a certain type.\n\n**typeof** Returns a lowercase string representation of the type of the argument value, according to types.js type-definitions.\n\n**intoArray** Converts arguments or space delimited strings into an array.\n\n**enumerate** Creates an immutable 'enum' object\n\n___\n\n**some more examples:**\n```javascript\n// browser\nvar types= Types;\n// in node.js with npm\nvar types= require( 'types.js' );\n\nvar x;\ntypes.forceString( x );\n// ''\ntypes.forceString( null, 'ok' );\n// 'ok'\ntypes.forceString( null, [1, 2, 3] );\n// ''\n\n// when Types.autoConvert == true (default)\ntypes.forceString(33, 'not used');\n// '33'\ntypes.forceNumber('35px');\n// 35\n\n// when Types.autoConvert == false\ntypes.forceString(33, 'must be string');\n// 'must be string'\n\ntypes.forceNumber( true, 0 );\n// 0\ntypes.forceBoolean('35px');\n// false\ntypes.forceArray(\"you'll get an array!\");\n// []\ntypes.intoArray( 'hi', 'there' );\n// [ 'hi', 'there' ]\ntypes.intoArray( ' hi   there ' );\n// [ 'hi', 'there' ]\ntypes.intoArray( '', 0, {}, [] );\n// [ '', 1, {}, [] ]\n\nvar func= null;\n// call a function that might not exist anymore:\ntypes.forceFunction( func )( 'arguments for func' );\n// your app won't crash, default empty function is called, returns undefined\n\n// some default type checking:\ntypes.isDefined()\n// false\ntypes.isString( 'Hello types.js!' );\n// true\ntypes.isString( 23456 );\n// false\ntypes.isBoolean( false );\n// true\ntypes.isArray( [1,2,3] );\n// true\ntypes.isObject( [1,2,3] );\n// false\ntypes.isObject( /myRegExp/g );\n// false\ntypes.isNaN( parseInt('generate NaN') );\n// true\n\ntypes.notNull('');\n// true\ntypes.notUndefined( undefined );\n// false\ntypes.isDefined( null );\n// true\n\n// check multiple values in one call:\ntypes.allString( '', \" \", 'with text' );\n// true\ntypes.allString( '', ' ', 'with text', 123 );\n// false\ntypes.allStringOrNumber( '', ' ', 'with text', 123 );\n// true\ntypes.allObject( { key: 'nice' }, [], /regexp/ig );\n// false\ntypes.allArray( [1,2,3], [{}], new RegExp('stop') );\n// false\ntypes.allArray( [1,2,3], [{}], [false, true] );\n// true\n\ntypes.hasString( 123, { value: 'nice' }, ['?'] );\n// false\ntypes.hasStringOrNumber( [1,2], /reg/, 'true' )\n// true\ntypes.hasFunction( 123, { value: 'nice' }, function(){} );\n// true\ntypes.hasUndefined( 'render false!', 123, null );\n// false\ntypes.hasUndefined( 'render true!', 123, undefined );\n// true\n\n// check for a types.js type definition, returns lowercase string:\ntypes.typeof( [1,2,3] );\n// 'array'\ntypes.typeof( null );\n// 'null'\ntypes.typeof( parseInt('generate NaN') );\n// 'nan'\ntypes.typeof( new Date() );\n// 'date'\n\n// etc..\n```\n___\nAPI\n---\n\n**Types.parseIntBase**\n> `<Number> parseIntBase= 10`\n\nHolds the Radix used by forceNumber, defaults to 10 (native default). Can be set to valid radixes for parseInt(). Use with extreme care because once set, all following forceNumber calls will use the new Radix!\n```javascript\ntypes.parseIntBase= 0x10; // or 16\n// parse from hexadecimal '0' to 'f'\n\nvar nr= types.forceNumber( 'a' );\nconsole.log( nr );\n// 10 (decimal)\n```\n\n**Types.force[Type]**\n> `<[type]> force[Type]( <[type]> value, <[type]> replacement )`\n\nForce the return value to be of a specific type. A replacement return value can be given for in case value is incompatible. The replacement value should of course be of the same type, otherwise it will be rejected as well. If no proper value for the given type is found a literal of that type will be returned (with an exception of Number(see below)).\n\nAll force[types] share the same methodology, only applying the type denoted by the method name. See the following examples\nfor it's workings.\n\n**Types.forceBoolean**\n> `<Boolean> Types.forceBoolean( value, replacement )`\n\n> Returns value if value is a types.js boolean. Otherwise it will try to convert value to be true or false. If that fails too,\n> replacement will be tested for, or converted to boolean if possible. If that fails, the default types.js boolean literal\n> is returned: a Boolean false\n\n```javascript\nvar assert= types.forceBoolean( 'Only a true true returns true' );\nconsole.log( assert );\n// false\nvar assert= types.forceBoolean( NaN != NaN );\nconsole.log( assert );\n// true\n```\n\n**Types.forceString**, **Types.forceArray**, **Types.forceObject**, **Types.forceRegExp**\n\n> Same as .forceBoolean, except for the type being processed.\n\n\n**Types.forceNumber**\n > `<Number> forceNumber( <String>/<Number> value, <String>/<Number> replacement )`\n\nReturns value if it is a types.js number or convertable to a number. Returns replacement if value is invalid or not convertable.\nReturns a native Number object with a .void property set to true if no valid value and replacement were given and conversion\nwas not possible.\n\nYou can check value.void to see if value is ready to be fetched. If value.void is true, you can only fetch it's\ndefault value by doing some mathematical operation on it like: `value+ 0`, otherwise you'll get an object. After\nany mathematical operation on value, value.void will be undefined and value has become a 'real' number.\nIf value.void is true, the default value returned with `value+ 0` is 0.\n\nIf you want to be sure that forceNumber returns a 'real' number, then simply supply a 'real' number replacement,\nlike: `var nr= types.forceNumber(nr, 0);`, and it will never return the Number-object form.\n\n`Types.typeof( nr= Types.forceNumber() );` returns 'number', also if `nr.void === true`\n\nExample: make a numberFilter for arguments with forceNumber:\n```javascript\nfunction numberFilter(){\n\tvar numbers= [];\n\tfor( var arg in arguments ){\n\t\tvar value= types.forceNumber( arguments[arg] );\n\t\tif( value.void )\n\t\t\tcontinue;\n\t\tnumbers.push( value );\n\t}\n\treturn numbers;\n}\n\nfunction forceArgsToNumber(){\n\treturn numberFilter.apply( this, arguments );\n}\nconsole.log( forceArgsToNumber('ignore', 1, 'the', 2, 'strings!', 3) );\n// [ 1, 2, 3 ]\nconsole.log( forceArgsToNumber('1 but', '2 not', '3 unconditional!') );\n// [ 1, 2, 3 ]\t// returns [] when types.autoConvert is set to false\n```\n\n**Types.forceFunction**\n> `<Function> Types.forceFunction( <Function> func, <Function> replacement )`\n\nReturns func if it is a Function. forceFunction will not try/catch func for other failures.\n\nIf func or replacement are not a Function, a dummy function(){} will be returned. So you can safely call your function with\n`Types.forceFunction(func)( args )`. If it is a Function, it will call func and pass the given arguments.\n```javascript\n// define a working function and a failing one for the examples\nvar showAuthor= function( name ){\n\tconsole.log( 'Author: '+ types.forceString(name) );\n};\nvar brokenFunc= null;\n\nvar func= types.forceFunction( showAuthor );\n// still the same function?\nconsole.log( func === showAuthor );\n// true\n\n// now func will again become equal to showAuthor because forceFunction will\n// return showAuthor as replacement is the only valid function found:\nvar func= types.forceFunction( brokenFunc, showAuthor );\nconsole.log( func === showAuthor );\n// true\n\n// because in the following example no valid functions are passed as arguments,\n// func will become a dummy function, returning undefined.\nvar func= types.forceFunction( brokenFunc, brokenFunc );\n// save to call, but no effect\nfunc();\n\n// as in the example above you can see that because forceFunction always returns\n// a callable function you can safely call in one go like this:\ntypes.forceFunction( brokenFunc, showAuthor )( 'Dennis' );\n// Author: Dennis\n\n// now we call with two invalid functions:\ntypes.forceFunction( brokenFunc, brokenFunc )( 'Dennis' );\n//\n// the empty dummy-function was called, no crash\n```\n\n\n**Types.logForce**\n> `<undefined> Types.logForce( <Function> handler )`\n\nYou can call Types.logForce(); to turn on console logging for failed type checks of force[type]. If you prefer a more advanced handler than the basic provided console.log, you can simply pass that handler as argument. The handler will receive 3 arguments: <number> errLevel, <string> expectedType, <string> encounteredType.\n```javascript\ntypes.logForce();\nvar result= types.forceString( [], 'ok' );\n// types.js - forceString: initial value is not a String\n\nconsole.log( result );\n// ok\n```\n___\n**Types.intoArray**\n> `<array> Types.intoArray( <[type]> arg1, ..., argN )`\n\nintoArray is a convenience method I use mostly for flexible arguments passing, but can also be used to split\nspace delimited strings into an array in a non-sparse way (destructing spaces).\n\nIt accepts 3 kinds of arguments:\n\nkind\t\t\t\t\t\t\t|input\t\t\t\t\t\t\t\t|result\n------------------------|-----------------------------|--------------\nspace delimited strings\t|'This is intoArray!'\t\t\t|['This', 'is', 'intoArray!']\nmultiple arguments\t\t|'This', 'is', 'intoArray!'\t|['This', 'is', 'intoArray!']\narray\t\t\t\t\t\t\t|['This', 'is', 'intoArray!']\t|['This', 'is', 'intoArray!']\n\nAll generating the same forced array.\n```javascript\nfunction testArgs( arg1, ..., argN ){\n\n\t// need to .apply with context for all arguments to pass\n\tvar array= types.intoArray.apply( this, arguments );\n\tconsole.log( array );\n}\n\ntestArgs( 'This', 'is', 'intoArray!' );\n// [ 'This', 'is', 'intoArray!' ]\n\ntestArgs( ['This', 'is', 'intoArray!'] );\n// [ 'This', 'is', 'intoArray!' ]\n\ntestArgs( 'This is intoArray!' );\n// [ 'This', 'is', 'intoArray!' ]\n```\nFor space delimited string parsing, all strings are trimmed and reduced to one consecutive space\nto avoid a sparse array.\n___\n**Types.typeof** and **Types.typeOf**\n> `<String> Types.typeOf( value )`\n\nReturns a lowercase string representation of the type of value, according to types.js types. See all types.js\ntype-definitions below.\n```javascript\nvar number= parseInt( 'damn NaN!' );\nconsole.log( types.typeOf(number) );\n// 'nan'\n```\n**Types.isBoolean**\n> `<Boolean> Types.isBoolean( value )`\n\nReturns true if the given argument is a Boolean true or false\n```javascript\nconsole.log( types.isBoolean(false) );\n// true\n```\n**Types.notBoolean**\n> `<Boolean> Types.isBoolean( value )`\n\nReturns true if the given argument is not a Boolean true or false\n```javascript\nconsole.log( types.notBoolean('not a Boolean') );\n// true\n```\n**Types.hasBoolean**\n> `<Boolean> Types.hasBoolean( values, [value1, ..., valueN])`\n\nReturns true if any of the given arguments is a Boolean true or false\n```javascript\nconsole.log( types.hasBoolean('the third', null, false) );\n// true\n```\n**Types.allBoolean**\n> `<Boolean> Types.allBoolean( values, [value1, ..., valueN])`\n\nReturns true only if all given arguments are either a Boolean true or false\n```javascript\nconsole.log( types.allBoolean(false, null, true) );\n// false\n```\n\n**Types.getFirst[type]**\n> `<[type]> Types.getFirst[type]( [<[any type]>value1, ..., <[any type]>valueN] )`\n\nReturns the first found argument of a specific type.\n\n```javascript\nconsole.log( types.getFirstString(false, 'hello', true) );\n// hello\n```\n\n\n**Types.enum**\n> `<Object> Types.enum( [<String>item1, ..., <String>itemN], <Number>offset )`\n\nReturns an object with the given items as keys with their respective indices as values. If an offset is given, the index count starts form the value of the offset.\n\nPlease note that types.typeof(myEnum) will return 'object', as it actually is an object. Nevertheless we can test with isEnum, hasEnum, etc.. for it to be of the 'virtual' type 'enum'.\n```javascript\nvar COLORS= types.enum( ['RED', 'BLUE', 'GREEN'] );\nconsole.log( COLORS.BLUE );\n// 1\n\nconsole.log( isEnum(COLORS) );\n// true\n\nconsole.log Types.getFirstEnum 1, COLORS\n// { RED: 0, BLUE: 1, GREEN: 2 }\n\n// with offset, starting with 10\nCOLORS= types.enum( ['RED', 'BLUE', 'GREEN'], 10 );\nconsole.log( COLORS.BLUE );\n// 11\n```\n\n**Types.disableLogging**\n> `<undefined> Types.disableLogging()`\n\nDisables all logging\n\n**Types.enableLogging**\n> `<undefined> Types.enableLogging()`\n\nRe-enables logging\n\n\n**not / is / has / all'Types'**\n\nAll remaining methods are equal to the last four above, except for that they differ in the type being checked. The complete\nlist of all these methods:\n\nnot\t\t\t\t\t|is\t\t\t\t\t|has\t\t\t\t\t|all\n:-----------------|:----------------|:----------------|:-----------------\nnotBoolean\t\t\t|isBoolean\t\t\t|hasBoolean\t\t\t|allBoolean\nnotString\t\t\t|isString\t\t\t|hasString\t\t\t|allString\nnotNumber\t\t\t|isNumber\t\t\t|hasNumber\t\t\t|allNumber\nnotStringOrNumber\t|isStringOrNumber\t|hasStringOrNumber|allStringOrNumber\nnotObject\t\t\t|isObject\t\t\t|hasObject\t\t\t|allObject\nnotArray\t\t\t\t|isArray\t\t\t\t|hasArray\t\t\t|allArray\nnotFunction\t\t\t|isFunction\t\t\t|hasFunction\t\t|allFunction\nnotRegexp\t\t\t|isRegexp\t\t\t|hasRegexp\t\t\t|allRegexp\nnotDate\t\t\t\t|isDate\t\t\t\t|hasDate\t\t\t\t|allDate\nnotNull\t\t\t\t|isNull\t\t\t\t|hasNull\t\t\t\t|allNull\nnotSymbol\t\t\t|isSymbol\t\t\t|hasSymbol\t\t\t|allSymbol\nnotUndefined\t\t|isUndefined\t\t|hasUndefined\t\t|allUndefined\nnotDefined\t\t\t|isDefined\t\t\t|hasDefined\t\t\t|allDefined\nnotNaN\t\t\t\t|isNaN\t\t\t\t|hasNaN\t\t\t\t|allNaN\nnotEnum\t\t\t\t|isEnum\t\t\t\t|hasEnum\t\t\t\t|allEnum\n\n___\n**types.js type definitions:**\n\nAll types.js types\n\ntype\t\t\t\t| definition\n:--------------|:-----------------\n'undefined'\t\t| Any value that is undefined, or no value at all\n'null'\t\t\t| Any value that is null\n'boolean'\t\t| A boolean true or false, or the result of a predicate\n'string'\t\t\t| A string literal\n'number'\t\t\t| A number literal or a 'void' Number\n'nan'\t\t\t\t| Any value that is NaN\n'object'\t\t\t| An object literal {}, or any instance of Object that is not a native JS object (except for Object)\n'array'\t\t\t| An array literal [], or any instance of Array\n'function'\t\t| Any function or instance of Function\n'regexp'\t\t\t| Any regular expression literal, or any instance of RegExp\n'date'\t\t\t| Any instance of Date\n'symbol'\t\t\t| Any Symbol created with Symbol()\n___\n\n**force[Type] default return values**\n\ntype\t\t\t\t| return value\n:--------------|:-----------------\nforceBoolean\t| false\nforceString\t\t| ''\nforceNumber\t\t| a new Number with a .void property set to true\nforceObject\t\t| {}\nforceArray\t\t| []\nforceFunction\t| function(){}\nforceRegExp\t\t| /(?:)/\nforceDate\t\t| new Date\n___\nchange log\n==========\n\n\n**2.0.0**\n\n- adds TypeScript support!\n- adds Date literal, now returning: new Date\n- fix enum and regexp type not always being properly parsed\n- renamed types.min.js -> index.js\n\n**1.9.0**\n\n- adds babel transpiler as dev dependency for better cross browser compatibility\n\n**1.8.0**\n\n- adds 'symbol' type to types.js\n- is/not/has/allSymbol now available\n- adds tests for type 'symbol'\n- fixes a minor flaw in autoConvert for forceNumber, it now only attempts to auto-convert values of type 'string'\n___\n**1.7.0**\n\n- adds types.enum and types.enumerate, for creating enumerables\n- adds types.autoConvert (default == true), to allow for disabling automatic String <=> Number conversion with forceString and forceNumber\n- adds types.typeOf as alias for types.typeof\n- adds types.disableLogging() and types.enableLogging()\n- logForce now sends errLevel, expectedType and encounteredType to a custom log handler\n- some refactoring\n- removes old html style jasmine import for tests\n- adds tests for types.enum\n- adds tests for types.autoConvert\n- updates README.md including usage examples for enum\n\n___\n**1.6.1**\n\n- changed license to MIT\n___\n**1.6.0**\n\n- adds forceRegExp\n- adds logForce, now we can show a log when forceTypes encounters a type mismatch\n- updates readme\n\n___\n**1.5.3**\n\nadds getFirst<Type>, returning the first found argument of a specific type\n___\n**1.5.1**\n\nSome minor changes to this readme\n___\n**1.5.0**\n\nAdded .intoArray method.\n\n___\n**1.4.4**\n\nAdded AMD support.\n___\n**1.4.2**\n\nOptimized and reworked the codebase, and some adjustments to tests.\n\n___\n**1.3.9**\n\nRemoved 'unknown' from types.js type definitions.\n\n___\n**1.3.5**\n\nChanged:\n-\tforceNumber doesn't return 0 by default anymore. It now returns a Number object with a .void property which is set to\n\ttrue if no valid Number was given or no conversion was possible.\n\n\tJust use: `types.forceNumber( value, 0 );` to return a 0 as replacement, it only is not default anymore.\n\n\tI made this change because I wanted to be able to check if forceNumber was successful. Just a 0 can be very misleading and\n\ta source for bugs. NaN is a failure IMO, so I made a kind of replacement feature in forceNumber.\n\n\tYou can now check for yourNumber.void to see if it is set. If .void is true, yourNumber is a Number object which is ready for\n\tmathemetical operation, and defaults to 0, this in contrast with NaN, which is almost totally unusable.\n\n\texample:\n\t```javascript\n\t// generate a void Number:\n\tvar nr= forceNumber();\n\tconsole.log( nr.void );\n\t// true\n\t// don't do the following after a forceNumber without a valid replacement:\n\tconsole.log( nr );\n\t// { void: true }\n\t// instead do what cannot be done with NaN:\n\tconsole.log( 0 + nr );\n\t// 0\n\t// or check before usage:\n\t( nr.void )\n\t\t? console.log( 'void?', nr+= 36/ 4 );\n\t\t: console.log( nr );\n\t// void? 9\n\tetc..\n\t```\n\nUpdated:\n-\tJasmine tests for forceNumber and isDefined\n-\tspeed optimization for isObject\n\n---------------------------------------------------\n**1.3.1**\n\nAdded:\n- change log in the readme, more convenient overview of changes.\n\n- is/not/has/allDefined<br/>\nNow you can: `if (types.isDefined(value) )`<br/>\ninstead of `if (types.notUndefined(value) )`\n\n---\n\n###license\n\nMIT","maintainers":[{"name":"sygn","email":"npm@sygn.net"}],"time":{"modified":"2023-10-29T14:43:16.831Z","created":"2014-09-27T01:25:40.341Z","1.0.0":"2014-09-27T01:25:40.341Z","1.0.1":"2014-09-27T01:39:28.262Z","1.1.0":"2014-09-29T16:43:39.780Z","1.2.0":"2014-10-06T01:16:50.818Z","1.2.1":"2014-10-06T02:00:43.910Z","1.2.2":"2014-10-07T14:41:07.404Z","1.2.3":"2014-10-07T18:37:49.979Z","1.2.4":"2014-10-09T12:17:10.945Z","1.2.5":"2014-10-10T14:01:29.659Z","1.2.6":"2014-10-10T21:04:56.517Z","1.2.7":"2014-10-10T22:52:34.383Z","1.2.8":"2014-10-12T11:12:29.168Z","1.2.9":"2014-10-17T08:50:35.396Z","1.3.1":"2014-10-20T19:45:09.321Z","1.3.2":"2014-10-20T22:33:52.335Z","1.3.3":"2014-10-22T13:32:23.447Z","1.3.5":"2014-10-24T20:19:48.110Z","1.3.6":"2014-10-24T20:36:32.431Z","1.3.7":"2014-10-25T19:22:08.030Z","1.3.8":"2014-10-25T19:44:49.515Z","1.3.9":"2014-10-26T19:59:55.064Z","1.4.0":"2014-10-28T17:14:01.383Z","1.4.2":"2014-10-31T20:51:26.564Z","1.4.3":"2014-11-19T09:56:36.500Z","1.4.31":"2014-11-21T13:50:12.718Z","1.4.4":"2014-11-30T15:31:28.221Z","1.4.42":"2014-12-01T14:45:45.447Z","1.4.5":"2014-12-10T14:49:21.666Z","1.4.6":"2014-12-10T14:50:09.283Z","1.5.0":"2014-12-11T01:37:50.907Z","1.5.1":"2014-12-13T16:12:12.989Z","1.5.2":"2015-08-15T10:35:42.105Z","1.5.3":"2016-06-05T17:26:49.900Z","1.6.0":"2016-08-21T17:29:19.784Z","1.6.1":"2016-09-12T14:34:07.338Z","1.6.3":"2016-09-13T16:41:59.956Z","1.7.0":"2018-07-10T12:22:13.151Z","1.7.1":"2018-07-10T18:43:42.941Z","1.7.2":"2018-07-11T20:00:23.983Z","1.8.0":"2018-07-16T11:15:48.911Z","1.8.1":"2018-08-19T09:25:42.573Z","1.9.0":"2019-02-17T12:04:17.606Z","1.9.1":"2020-04-12T08:50:35.649Z","1.9.2":"2020-04-12T20:15:28.968Z","1.9.3":"2020-07-29T17:57:26.069Z","1.9.4":"2022-05-29T19:26:00.041Z","1.9.5":"2022-06-04T07:16:35.525Z","2.0.1":"2023-10-29T14:43:16.597Z"},"homepage":"https://github.com/phazelift/types.js","keywords":["type","typeof","types","validation","validate","test","dynamic","check","force","is","not","has","all","enum"],"repository":{"type":"git","url":"git+https://github.com/phazelift/types.js.git"},"author":{"name":"dennis raymondo van der sluis"},"bugs":{"url":"https://github.com/phazelift/types.js/issues"},"license":"MIT","readmeFilename":"README.md","users":{}}