{"_id":"upcast","_rev":"29-33cc3f4519a0d1c40c421315acd716f5","name":"upcast","description":"Upcast is a low-level JavaScript type checking and casting library","dist-tags":{"latest":"4.0.0"},"versions":{"0.0.1":{"name":"upcast","version":"0.0.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"dependencies":{},"devDependencies":{"chai":"1.4.x","jshint":"0.9.x","mocha":"1.7.x","sinon":"1.5.x"},"main":"./index","scripts":{"lint":"echo \"$(./node_modules/.bin/jshint --config ./test/config/jshint.json ./index.js ./test)\"","test":"./node_modules/.bin/mocha --ui tdd --reporter spec --colors --recursive ./test/unit"},"_id":"upcast@0.0.1","dist":{"shasum":"fd74d6546128ca1ba1e7059f05d6fb7bf846f785","tarball":"https://registry.npmjs.org/upcast/-/upcast-0.0.1.tgz","integrity":"sha512-HLZQo2c/iw/sGFTuPrAR1I4DPYNqv7OqY7Bl2sidbSdPLpV8k/PcRHdpgGjS/vhZUQpzLm/4VA7ZiCEZWvCtEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBI0SHRuzi4CT2Ggh/HsanNYhTDcxGkO+0lnvFqAC5RDAiBiQiMxRVYu9v0/aq8x0CInIhQjYPFXAgH+JY4/M1FVKQ=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"0.0.2":{"name":"upcast","version":"0.0.2","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"dependencies":{},"devDependencies":{"browserify":"1.16.x","chai":"1.4.x","express":"3.0.x","glob":"3.1.x","jshint":"0.9.x","mocha":"1.7.x","sinon":"1.5.x","supervisor":"0.5.x"},"main":"./index","scripts":{"lint":"echo \"$(./node_modules/.bin/jshint --config ./test/config/jshint.json ./index.js ./test/unit)\"","test":"./node_modules/.bin/mocha --ui tdd --reporter spec --colors --recursive ./test/unit","testapp":"./node_modules/.bin/supervisor -q ./test/runner/boot.js"},"_id":"upcast@0.0.2","dist":{"shasum":"f6764fb52f8135409f5813d8a822d86af61abd27","tarball":"https://registry.npmjs.org/upcast/-/upcast-0.0.2.tgz","integrity":"sha512-1jJyorvCqLUI+mpg9Lxg2WxeoKkdj6P7JYLExEa5jxsXSRLfRbS6Rut7Mm6oNygzhfzQuEEExmD+/G8VW68kWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9+FXsssLmUPo2/YaJ90Fxy4USmkDtLhnJzwM5PIaTNQIhAOBQyPFBst6oKMnsfRyf2Pga22zWRBhRdyR3kcrrgJ8M"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"1.0.0":{"name":"upcast","version":"1.0.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"devDependencies":{"browserify":"~2.2","express":"~3.1","jshint":"~1.0","mocha":"~1.8","proclaim":"~1.0","sinon":"~1.5","supervisor":"~0.5"},"main":"./lib/upcast.js","scripts":{"test":"make test"},"_id":"upcast@1.0.0","dist":{"shasum":"3df47418625656db6e51d32934833e4f48610aff","tarball":"https://registry.npmjs.org/upcast/-/upcast-1.0.0.tgz","integrity":"sha512-mGmv59f5ZOVmxBDQcfAUs3Mtmn/mlJWnyLkQ1O9pdJ6loz0HQ5+0eapVCsdCC1T73PqD6bNMjmDMQfWVTbxlVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJpMzVbzhxwky2E0lF9cYywPnAvn2nLmFW5Iyg9NTraAiEA9WzNKICaInXpFXnYGtr4LNfTltoULDqovuPlMOL4qAI="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"1.0.1":{"name":"upcast","version":"1.0.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"devDependencies":{"browserify":"~2.2","express":"~3.1","jshint":"~0.9","mocha":"~1.8","proclaim":"~1.0","sinon":"~1.5","supervisor":"~0.5"},"main":"./lib/upcast.js","scripts":{"test":"make test"},"_id":"upcast@1.0.1","dist":{"shasum":"e4cb9e302de047884a9eb0b9e19abe842546ca4f","tarball":"https://registry.npmjs.org/upcast/-/upcast-1.0.1.tgz","integrity":"sha512-4ONlbNk/r2XG2pOcoo6i2Hy2aYkibw9cvfFdeXSj4lNS9Dmi++Av0BDeqqYdHZ1j9cf9rnN2oF7whRy915ZMgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC67vzZiLa2YcdduAQa26oZVllnCwEEfeHY4/JYRLtBgIhAPfKHO4kV86re0I9M+ME19C/T+nCqXMn82VL+KfIkY9r"}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"1.0.2":{"name":"upcast","version":"1.0.2","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"devDependencies":{"jshint":"~2.1","mocha":"~1.11","mocha-srv":"~0.1","proclaim":"~1.2","sinon":"~1.5"},"main":"./lib/upcast.js","scripts":{"test":"make test"},"_id":"upcast@1.0.2","dist":{"shasum":"7c8cccae91154414e4c3222781cca527821829a3","tarball":"https://registry.npmjs.org/upcast/-/upcast-1.0.2.tgz","integrity":"sha512-M5ZEzGMROrU7y/Jx6RdhU6x5RI0zToIMlE/dYlMcNtOd1q4VXR/mG6jAf1j+PLRBvyf6IP9VLVOKd4ttbnM7Sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4CXd1TxtM9TyeI1YYaATwWPDi8rLbEcQC7I7SkxjDswIhAKw1qWv3tcoXuGX0KNHENSpCoUKSnJ45qR6mO8BzodtE"}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"1.0.3":{"name":"upcast","version":"1.0.3","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"devDependencies":{"jshint":"~2.1","mocha":"~1.11","mocha-srv":"~0.1","proclaim":"~1.2","sinon":"~1.5"},"main":"./lib/upcast.js","scripts":{"test":"make test"},"_id":"upcast@1.0.3","dist":{"shasum":"e1baa08df869961da3257bf0e2534dee579f4bb8","tarball":"https://registry.npmjs.org/upcast/-/upcast-1.0.3.tgz","integrity":"sha512-OYrTHM1GHB+e4JR4sA+C9iPh/QZEHaPOIOSCxiEfzVLC+xs+yFoCszqnddXytJvp0LtHNZWSy9J9MF6E38TMyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGmclmMjeXHF62yT0YuI9qalBd8VJn2iGtfNRy3IX2LuAiEA7kFGDxMmcqP6IriOli1EOJYXvjfEagew1nkJmoDd9qQ="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"1.0.4":{"name":"upcast","version":"1.0.4","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":"https://github.com/rowanmanning/upcast/issues","engines":{"node":">=0.6.0"},"devDependencies":{"jshint":"~2.4","mocha":"~1.17","mocha-srv":"~0.1","proclaim":"~2.0","sinon":"~1.8"},"main":"./lib/upcast.js","scripts":{"test":"make test"},"_id":"upcast@1.0.4","dist":{"shasum":"ddf8b4c267b6ea3f3537e77e1c6594b2fd1ea40f","tarball":"https://registry.npmjs.org/upcast/-/upcast-1.0.4.tgz","integrity":"sha512-KKwVB+ZpJ/8YDMM+3u9KVyOdtriFaEYMrp5xN22KX7mDFNF8/C+PMaMaZZdZ90NIF/NU5Je6+48rlRILGL0YtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYIgaa5Jp7FV+gWfuuK6AE4B/rWPqyY+6EwbNqyQlY5gIgV879DYF9QodswW1EPqBNLOYP2oRxARX8NSZPkAQJ7jw="}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},"maintainers":[{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{}},"2.0.0":{"name":"upcast","version":"2.0.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":{"url":"https://github.com/rowanmanning/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.22.0","lint-staged":"^4.2.3","nyc":"^11.2.1","sinon":"~4.0.1","xo":"^0.18.2"},"main":"./index.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.0"},"gitHead":"f87db0f03288fabf4d03d742b5b585a403e02418","_id":"upcast@2.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-0YWsqmdc6FOWwXGadrx4z0EKkOCFH2RySjE75es+aByLeEEK+1V+cQeaKpDT73S8jsTYZGnPvTyg5mpLiOru9g==","shasum":"779d36b701dc67be4e7c276774afdd6cfa66ea26","tarball":"https://registry.npmjs.org/upcast/-/upcast-2.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaUeBf3eeamfNEtD2bLirx3LT+jh3BCRiEyDBgG9lUagIgUO4BtojxOtuR2bsQzomQSE75AfjgEWd5Jz807mTXY7o="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast-2.0.0.tgz_1508250580143_0.1358852726407349"},"directories":{}},"2.0.1":{"name":"upcast","version":"2.0.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":{"url":"https://github.com/rowanmanning/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.22.0","lint-staged":"^4.2.3","nyc":"^11.2.1","sinon":"~4.0.1","xo":"^0.18.2"},"main":"./index.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.0"},"gitHead":"9b614bff9f5270c2a7d502a9ac6dc7a76950cbb8","_id":"upcast@2.0.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-eQzoq5H1vPv29OPWCUbUzeFKd9jxuO3mqGrqsdu8l3OIk6BmS/V9xJ/yYcLkieWAaNMYcslpg6v93b273Cpa5w==","shasum":"be709e864caf8014c2a785e10aa5c35937445a66","tarball":"https://registry.npmjs.org/upcast/-/upcast-2.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHojTUQSJXOs+RA7whe1o95YtyIwqOgiyDmHf1mZrCenAiBMuFWmMKhFL/bArLj7vCecLeZF/Xt+L62D1cnD8/AQHw=="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast-2.0.1.tgz_1508250782758_0.33674475993029773"},"directories":{}},"2.1.0":{"name":"upcast","version":"2.1.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":{"url":"https://github.com/rowanmanning/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.22.0","lint-staged":"^4.2.3","nyc":"^11.2.1","sinon":"~4.0.1","xo":"^0.18.2"},"main":"./index.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.0"},"gitHead":"09ee32ded180a4a1c03cd7cee224ef90cdee4320","_id":"upcast@2.1.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-LIC8shTtozsI5T1/fFKZ9LQ5lIl7Xxd0SVSQigV3n1N9T7KslDohXaCWZF+TysINJWowxyMK++ZKJizbZlXR9Q==","shasum":"e2a0bf341c9d5d28937ab7c0a5069115689ca98d","tarball":"https://registry.npmjs.org/upcast/-/upcast-2.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKfpCf+1MpVNYcmrCNMTu+akTKB3ws84tAdwV07svRXwIhAKk7+ni7IjFS4kl6Fq/vP+0Kh83trysjT3GoPtSja0nf"}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast-2.1.0.tgz_1508250910335_0.4148363135755062"},"directories":{}},"2.1.1":{"name":"upcast","version":"2.1.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/rowanmanning/upcast.git"},"homepage":"https://github.com/rowanmanning/upcast","bugs":{"url":"https://github.com/rowanmanning/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.22.0","lint-staged":"^4.2.3","nyc":"^11.2.1","sinon":"~4.0.1","xo":"^0.18.2"},"main":"./index.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.0"},"gitHead":"7359c4b25180cd424537cbbffd0a9f7e345d2927","_id":"upcast@2.1.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-X0zLSdSv+gfwG1SV9+aUiOVt34dZsLz17GbyVsgF0eiyy09XFv/2DoCG9K6XYy9theYmFp1+3Y7y3Bh4k7pW6Q==","shasum":"4335f76f03251a13d0ca253f50803d538b96002e","tarball":"https://registry.npmjs.org/upcast/-/upcast-2.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDzX5uOjVeMxOiObQkEPGPNQw459HrF2HEfhhwvPcOLAiBJ5ZhKdCxyLyO1rvTCqduej2sM0HLVNC2HRYUlQGMrdA=="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast-2.1.1.tgz_1508251885795_0.02880529989488423"},"directories":{}},"2.1.2":{"name":"upcast","version":"2.1.2","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.22.0","codecov":"^2.3.1","lint-staged":"^4.2.3","nyc":"^11.2.1","sinon":"~4.0.1","xo":"^0.18.2"},"main":"./index.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.0"},"gitHead":"8eb33e7ccb5a72faa13ea5226ce305f1127fd4d8","_id":"upcast@2.1.2","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-c+ueM175OVWv9vr1SYA3rI1ao0bxq6Y7l6u5Sac25Hi0yWz9Lz341zt9/sVOa5+7lYcvHMb0xxaacFy/2lVF2w==","shasum":"69468e374b3cfb7b22fb632d55a420048b9e24a1","tarball":"https://registry.npmjs.org/upcast/-/upcast-2.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4QGsANaCgVP4juErcq9FrZ5xg+mdeSxo1eylYE2a7wAiEA8RxI1eiOKZPF8UW+WV+9j45QUddJe9VY0XYag1qynCo="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast-2.1.2.tgz_1517751443421_0.26112890569493175"},"directories":{}},"3.0.0":{"name":"upcast","version":"3.0.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.25.0","bili":"^2.2.7","codecov":"^3.0.0","lint-staged":"^6.1.1","nyc":"^11.4.1","sinon":"~4.3.0","xo":"^0.20.2"},"files":["dist"],"scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","build":"bili --format cjs,es,umd,umd-min","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.3"},"licenseText":"\nCopyright (c) 2013 Rowan Manning\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","license":"MIT","_id":"upcast@3.0.0","dist":{"shasum":"96f99841324893fd27fdc1500f4afcbcd92046e2","tarball":"https://registry.npmjs.org/upcast/-/upcast-3.0.0.tgz","fileCount":11,"unpackedSize":26685,"integrity":"sha512-Ul/EtKUPiffy197vSILgJEfJ05XIOSXI2OMDXI+xksH7Ga3B1rQuJHJRH6wrD7ugZYovv42Pz6uUVjEZ8aCDRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDh49/J7pQ2hJPK8QHnN+E05vr2U7t9fkPIlmapktuqnQIhAOSkXSskjQdsp+XQListNPnPxDBZtpA8usC/kxkwa5rD"}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast_3.0.0_1518847113519_0.905215875100633"},"_hasShrinkwrap":false},"3.0.1":{"name":"upcast","version":"3.0.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.25.0","bili":"^2.2.7","codecov":"^3.0.0","lint-staged":"^6.1.1","nyc":"^11.4.1","sinon":"~4.3.0","xo":"^0.20.2"},"files":["dist"],"main":"dist/upcast.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","build":"bili --format cjs,es,umd,umd-min","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.3"},"licenseText":"\nCopyright (c) 2013 Rowan Manning\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","license":"MIT","_id":"upcast@3.0.1","dist":{"shasum":"8e74694b3c505b7bb5f339120a6e7536b5f3ce3b","tarball":"https://registry.npmjs.org/upcast/-/upcast-3.0.1.tgz","fileCount":11,"unpackedSize":26715,"integrity":"sha512-I3kkTniMkM01hJ19vvYcVc2anx2CSsgOtJi3G7G32xQSo2MTHaeHd4pmbDqm0NjMUlPkFwPadKOB6h+0S8Cprg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAP1bTWIX8WhFtxniKuZDDJle2w02EXFX0yduUsMgBL7AiBaG8nULoSTNf2Fo5dOeJ1CzH8+a63eyYgPAKYeeuCMxA=="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast_3.0.1_1523309742194_0.0022005688627109166"},"_hasShrinkwrap":false},"3.1.0":{"name":"upcast","version":"3.1.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.25.0","bili":"^2.2.7","codecov":"^3.0.0","lint-staged":"^6.1.1","nyc":"^11.4.1","sinon":"~4.3.0","xo":"^0.20.2"},"files":["dist"],"main":"dist/upcast.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","build":"bili --format cjs,es,umd,umd-min","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.3"},"licenseText":"\nCopyright (c) 2013 Rowan Manning\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","license":"MIT","_id":"upcast@3.1.0","dist":{"shasum":"57fa22723db899c2fff8749925cd7fce737b8648","tarball":"https://registry.npmjs.org/upcast/-/upcast-3.1.0.tgz","fileCount":11,"unpackedSize":26715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2Uo1CRA9TVsSAnZWagAASu8P/14ox5qU278mAbIpYfEH\npcL7Fnr9NITx7vhq6VfmcBIsutiZTUb3+RgL8MdWdo2OU71uX1L0U4NwXdmN\nKi67sBYL8BRIO5BqF324Vw0qwN+ZiTaa88uji2xxrRXfNb67l/Z3vobTwBRW\nDMGCPPUsVaLUIZzC/P/9nBiXh8gcGHyeAFF+DB9mlPjXb36hUdeU9e/0mLLV\nO2jw/c6av2azSLY7XriWRTH1tadebQ3GZojbKJBoBhEiQWhuBPzcDRIo3zxL\nMgeqYxqCJkod1g8+3ndGPlnMLzCbsl7G4uLsmT4ekZF5eZ4uNvAjEKiFdBK1\n7GRmf/N3NXsm86rebS/DaoR4yQHOTYOCnA9qJ4/oen0e2fxXLH/gVyrRU6hE\njEQgC8cSJiJon613jWzYnEfyCwEq1SHlTj4hnHp3EiLhVlNTNIjNkl118e91\n25+gtOUJwE2PuRXmuPoe1fcT7mJVsGjXR/hHQ8Mbq8yZxApjBd8TUj596h+i\nPpcMS0tWdfiCjqERfhfev7UQGOYjo73reRbX+9VIRAy1epX1E2NR7AW/JiT7\ngvcUygqhjgBAIDCpYmbDkPhkDCr3op247p9bWRl5TsGBmjBDvqMM2oJdNT3N\nBPBsEAnsEeD4dXItPGcE2j882NyWpo3IVYRpsrZEMmHuNwK11JHc0aICNmGB\ni5QE\r\n=nJDX\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-m8jr3tXj841vvGD5krqd0/1W+gfkdJUa2LGZxV/mj3FBJeqUtdGms45L/MMNCoAkLpraz2qTMwe2QLSrYrUU1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiUCrukABXpT57+X+7EEHD/Fn9pmgJ/xnLu88n0pyv4AiEA6CmLzHgnFS9NrYLDpTUycdrbHofi60M6EixbsWXqV3s="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast_3.1.0_1524189748276_0.28974643089794494"},"_hasShrinkwrap":false},"3.1.1":{"name":"upcast","version":"3.1.1","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"^0.25.0","bili":"^2.2.7","codecov":"^3.0.0","lint-staged":"^6.1.1","nyc":"^11.4.1","sinon":"~4.3.0","xo":"^0.20.2"},"files":["dist"],"main":"dist/upcast.js","scripts":{"coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo","build":"bili --format cjs,es,umd,umd-min","precommit":"lint-staged && yarn test","test":"yarn lint && yarn test-coverage","test-coverage":"cross-env NODE_ENV=test nyc ava"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"]},"envs":["node","es6"]},"dependencies":{"cross-env":"^5.1.3"},"licenseText":"\nCopyright (c) 2013 Rowan Manning\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","license":"MIT","_id":"upcast@3.1.1","dist":{"shasum":"c615f844d45866803a3d766c4c333d7f8f53dffb","tarball":"https://registry.npmjs.org/upcast/-/upcast-3.1.1.tgz","fileCount":11,"unpackedSize":31601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2WAMCRA9TVsSAnZWagAAHa0QAIQiG7zMtjD3Y5RO2ZU2\nLzl8tcKoN35+dQEnSi2RN+q0YJK9xQWjKXI61xrRXbimKq1Pt7IanU9gyuzO\nORNKpkdJu37WcdoKptCwJxfX/pGcGkyzf6qBielPDQ8F3KiJCZE7q5wBBdU4\nqUmnY56t6vAlIOUYo0r7rTkyCr1topAKIoDvS3vDwhOT1ZpiBdOow9g1sl/C\n/ZZIosy+BUBDkcyAWRL/r0hT3ehwbWYHvWmVdylFAbDQ5DRtZplgXEXOoA/Y\njEdWWCvrjMAK9AsxHtXt7+rtGNjiIXSWTQtsc6dUHmZ78e1ldOSgjAMWaGsc\nktFA6FDZ/Xi3TmtGmO0ZeFtvv68KZDwgkwOkGFyp7mYt1dECIW4UhrFhLCDC\nH5fWiC6C4DrwZjuJrSkG5uXBZSxdFZ3irfnlQ3/sTaNWaa1iaBPTf9nu8Jv0\nphCLiAbHvu1rpt5PsZWJNaeFBVfxLZ6o5IY6UoPDVSwqXgRnHTKq5VKXgrzI\nFbYrWRXPZvrlSZwnpYz8nTfbgGx+FSNId6izm+oD7zM7feRFuiBtgIOLthmk\nW72jnplAKsvu0KXzUuwbxOqm8+GMHHeR393JwO5ivA+OOOvUmI8wH7yK2AMk\nZ27V6wj3fsUpViirG0yrF3Chs4EzHGxqqxMN396jWGqqnBl+lFrhCkl9CCMi\naa5i\r\n=2dGN\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-6Ntrc4l7DhVTOkcz/+eRccBBRknkPQU/IqNglbVUuHF4FaRTKes/kF5fr+NfDW6JjPKT2XhWKeIozhuvRriu2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICO3HRTUe4EwjCb3a7iO8T0RieNkIqtmq/ZJtv8sUyvtAiEAtbcU+3n8Q4fVMNz48c0fGT5VBD9OEEVnYZXrPncNPuM="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast_3.1.1_1524195340095_0.5917507113630398"},"_hasShrinkwrap":false},"4.0.0":{"name":"upcast","version":"4.0.0","description":"Upcast is a low-level JavaScript type checking and casting library","keywords":["cast","check","type","types"],"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}],"repository":{"type":"git","url":"git+https://github.com/OmgImAlexis/upcast.git"},"homepage":"https://github.com/OmgImAlexisj/upcast","bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"engines":{"node":">4"},"devDependencies":{"ava":"0.25.0","codecov":"3.1.0","lint-staged":"7.3.0","nyc":"13.0.1","sinon":"6.3.4","xo":"0.23.0"},"main":"index.js","module":"main.js","scripts":{"coverage":"NODE_ENV=test nyc ava","generate-coverage":"NODE_ENV=test nyc report --reporter=text-lcov > coverage.lcov","lint":"xo","precommit":"lint-staged && yarn test","test":"yarn lint && yarn coverage"},"xo":{"space":4,"rules":{"space-before-function-paren":["error","never"],"prefer-reflect":"off"}},"ava":{"require":["esm"]},"dependencies":{"esm":"^3.0.84"},"gitHead":"7d479efb5479f919b50d1c182713a62c147bef1c","_id":"upcast@4.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.8.0","_npmUser":{"name":"omgimalexis","email":"xo@wvvw.me"},"dist":{"integrity":"sha512-LS0LmQtEPyyM3Zk4Bb7dNpDVha0xD4Z/Ne3zAqal0hCU/nYjoYU7qic2MPKB+Lu+3h5vKSe2iVqvYnZjmLrAyQ==","shasum":"30c8397a8805be1f40b176f253c78f0f53d108f6","tarball":"https://registry.npmjs.org/upcast/-/upcast-4.0.0.tgz","fileCount":6,"unpackedSize":16074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrY8MCRA9TVsSAnZWagAATPwP+QHRg7OcV92eMsNaNl5d\n6nTyy/vMWiRmiMToV7t0ocWgSeJ0Xzig3BVYDxgL7TZiVOnp6FA4N0+iyxyV\n974hcfGDb6Q3pkEsQfle4kQn06esh5ZoVY7/veQhSPmIfV51mv4PkfCUehh6\nZWodazg6ULvIWNmM9sAzeRK3GEigaZ7C92TxtE8RJa1CguVDuYeYKtsT6DES\nsY4rs/63vIxaKQKJADxEPnHllzeM0CA2/K976l2RuBzVNNGgoW8uIYahf1Tz\nB+dpdEsuyeZBAOYi5HHT61t008tqrKtfxZecrmuuYo3Op/iZFl83PxPMKF0V\nQicX6tUTpe/FINJy8dzNogiVgF2IcmhOK5AczyogRB+nd2emIN685Pq5igL9\nIEpKEv3Jrhr4q/eaMyVDVOcW4Xb4SKTjBOF5P/szvQF0p7/3NYaYlSRYJIPM\ne1fNz1a4F5EALDNzZQ5Vc2MXGcfPH5TfNv55BeA1GYL1uBQu9qBRclNGzKSq\nyUv9avuyxfy8fo10jez6ZQclK8NeJ3RYQ6toLUr+6n5Y6sCiGHMqO/CByGji\nglYomoC/A80peNxuHGYduHKDAv5OudRE++d9KRD5uM/UUerVVh8Ttil7PN0f\nFqrE9aKlGusMpQYeUtlw8T8t3jYW7GzExgyZgR5FvEj3qE8YeWEns6FFUmoY\nAE9U\r\n=EQ1a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6oxuDBUXmwADz8wdQjJ2c4CgwAudl2dtUYem696eEKAiAB9EP3rz2NjM8m5zRtHw7Ysy+DguEtx34+D1wNKQd2xQ=="}]},"maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/upcast_4.0.0_1538101003425_0.07578427612890937"},"_hasShrinkwrap":false}},"readme":"# Upcast [![Build Status](https://travis-ci.org/OmgImAlexis/upcast.svg?branch=master)](https://travis-ci.org/OmgImAlexis/upcast) [![Coverage Status](https://codecov.io/gh/OmgImAlexis/upcast/branch/master/graph/badge.svg)](https://codecov.io/gh/OmgImAlexis/upcast) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FOmgImAlexis%2Fupcast.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FOmgImAlexis%2Fupcast?ref=badge_shield)\n\n> Upcast is a low-level JavaScript type checking and casting library. Upcast simplifies type-checking and converts between types in a more sensible and predictable way than using plain ol' JavaScript.\n\nGetting Started\n---------------\n\nYou can use Upcast on the server side with [Node.js][node] and yarn/npm:\n\n```console\n$ yarn add upcast\n$ npm install upcast\n```\n\n\nUsage\n-----\n\nUpcast exposes three simple functions:\n\n- **[type](#upcasttype)**: get the type of an object\n- **[is](#upcastis)**: check whether an object is of a given type\n- **[to](#upcastto)**: convert an object to a specific type\n\n\n### upcast.type\n\nGet the type of an object. This accepts a single argument:\n**val:** *(mixed)* The object to get the type of.\n\nTypes in Upcast are different to `typeof` in what is reported for arrays and `null`. See the example below:\n\n```js\nupcast.type([]); // 'array'\nupcast.type(true); // 'boolean'\nupcast.type(function () {}); // 'function'\nupcast.type(null); // 'null'\nupcast.type(123); // 'number'\nupcast.type({}); // 'object'\nupcast.type('foo'); // 'string'\nupcast.type(undefined); // 'undefined'\n```\n\n\n### upcast.is\n\nCheck whether an object is of a given type. This accepts two arguments:\n**val:** *(mixed)* The object to check the type of.\n**type:** *(string)* The type to check for. One of `array`, `boolean`, `function`, `null`, `number`, `object`, `string` or `undefined`.\n\nThis function follows the same rules outlined in [`upcast.type`](#upcasttype) and allows you to use [type aliases](#type-aliases).\n\n```js\nupcast.is('foo', 'string'); // true\nupcast.is(123, 'string'); // false\n\nupcast.is([], 'array'); // true\nupcast.is([], 'object'); // false\n\nupcast.is(null, 'null'); // true\nupcast.is(null, 'object'); // false\n```\n\n\n### upcast.to\n\nConvert an object to a specific type. This accepts two arguments:\n**val:** *(mixed)* The object to convert.\n**type:** *(string)* The type to convert to. One of `array`, `boolean`, `function`, `null`, `number`, `object`, `string` or `undefined`.\n\nThe way types are converted aims to be sensible and allow easy switching back-and-forth of common types. For example, switching between strings and arrays is quite fluid:\n\n```js\nupcast.to('foo', 'array'); // ['f', 'o', 'o']\nupcast.to(['f', 'o', 'o'], 'string'); // 'foo'\n```\n\nYou can use [type aliases](#type-aliases) with this function. The examples below illustrate the way types are converted.\n\n#### Converting to an array\n\nConverting to an array from a boolean, function, number or object simply wraps the value in an array:\n\n```js\nupcast.to(123, 'array'); // [123]\n```\n\nStrings are handled differently, an array is returned with each character in the string as an item:\n\n```js\nupcast.to('foo', 'array'); // ['f', 'o', 'o']\n```\n\nNull and undefined are converted to an empty array:\n\n```js\nupcast.to(null, 'array'); // []\n```\n\n#### Converting to a boolean\n\nBoolean conversion simply converts to `true` or `false` based on whether the value is truthy or not. The only case where this doesn't follow JavaScript's standard behaviour is with empty arrays which are converted to `false`:\n\n```js\nupcast.to([1, 2, 3], 'boolean') // true\nupcast.to([], 'boolean') // false\n```\n\n#### Converting to a function\n\nWhen converting to a function, the original value is simply wrapped in a new function. This function returns the original value:\n\n```js\nupcast.to('foo', 'function'); // function () { return 'foo'; }\n```\n\n#### Converting to null\n\nAs expected, converting to null will always return `null`:\n\n```js\nupcast.to('foo', 'null'); // null\n```\n\n#### Converting to a number\n\nConverting to a number from a boolean, function, null or object simply calls `Number` with the original value as an argument, returning the expected value:\n\n```js\nupcast.to('true', 'number'); // 1\n```\n\nArrays and strings are handled differently, an array is joined to create a string, then evaluated with `parseInt`; strings are simply evaluated with `parseInt`:\n\n```js\nupcast.to([1, 2, 3], 'number'); // 123\nupcast.to('123', 'number'); // 123\nupcast.to('foo', 'number'); // 0\n```\n\nUndefined is converted to `0` rather than `NaN`:\n\n```js\nupcast.to(undefined, 'number'); // 0\n```\n\n#### Converting to an object\n\nConverting to an object simply calls `Object` with the value as a first argument. The following are equivalent:\n\n```js\nupcast.to('foo', 'object');\nObject('foo');\n```\n\n#### Converting to a string\n\nConverting to a string from a boolean, function, number or object simply returns the value added to an empty string, using JavaScript's default type conversion:\n\n```js\nupcast.to(true, 'string'); // 'true'\nupcast.to(123, 'string'); // '123'\n```\n\nArrays are handled differently, they are joined with an empty string:\n\n```js\nupcast.to(['f', 'o', 'o'], 'string'); // 'foo'\n```\n\nNull and undefined are converted to an empty string rather than `'null'` and `'undefined'`:\n\n```js\nupcast.to(null, 'string'); // ''\n```\n\n#### Converting to undefined\n\nAs expected, converting to undefined will always return `undefined`:\n\n```js\nupcast.to('foo', 'undefined'); // undefined\n```\n\n\n### Type aliases\n\nThe [`is`](#upcastis) and [`to`](#upcastto) functions allow you to use aliases to certain core types. The following are equivalent:\n\n```js\nupcast.is([], 'array');\nupcast.is([], 'arr');\nupcast.is([], 'a');\n```\n\nThe aliases available by default are:\n\n* **array:** `arr`, `a`\n* **boolean:** `bool`, `b`\n* **function:** `fn`, `f`\n* **number:** `num`, `n`\n* **object:** `obj`, `o`\n* **string:** `str`, `s`\n\n\nDevelopment\n-----------\n\nTo work on Upcast you'll need to clone the repo and it's install dependencies with `git clone https://github.com/OmgImalexis/upcast && cd upcast && yarn install`.\n\nOnce you're set up, you can run the following commands:\n\n```console\n$ yarn lint           # Run xo to lint all js files\n$ yarn test           # Run unit tests with ava\n$ yarn test-coverage  # Run unit tests and coverage report with ava + nyc\n```\n\n\nLicense\n-------\n\nUpcast is licensed under the [MIT][mit] license.\n\n\n\n[mit]: http://opensource.org/licenses/mit-license.php\n[lts]: https://github.com/nodejs/Release\n[node]: http://nodejs.org/\n[travis]: https://travis-ci.org/OmgImAlexis/upcast\n[travis-status]: https://travis-ci.org/OmgImAlexis/upcast.svg?branch=master\n\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FOmgImAlexis%2Fupcast.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FOmgImAlexis%2Fupcast?ref=badge_large)\n","maintainers":[{"name":"omgimalexis","email":"xo@wvvw.me"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"}],"time":{"modified":"2022-06-28T05:33:48.446Z","created":"2013-01-03T19:58:14.321Z","0.0.1":"2013-01-03T19:58:16.579Z","0.0.2":"2013-01-04T23:34:03.996Z","1.0.0":"2013-03-09T19:50:25.787Z","1.0.1":"2013-03-12T14:15:29.774Z","1.0.2":"2013-06-12T20:12:06.754Z","1.0.3":"2013-06-27T22:16:34.937Z","1.0.4":"2014-02-02T21:16:28.755Z","2.0.0":"2017-10-17T14:29:40.238Z","2.0.1":"2017-10-17T14:33:02.853Z","2.1.0":"2017-10-17T14:35:10.414Z","2.1.1":"2017-10-17T14:51:25.949Z","2.1.2":"2018-02-04T13:37:23.609Z","3.0.0":"2018-02-17T05:58:33.601Z","3.0.1":"2018-04-09T21:35:42.294Z","3.1.0":"2018-04-20T02:02:28.459Z","3.1.1":"2018-04-20T03:35:40.189Z","4.0.0":"2018-09-28T02:16:43.586Z"},"author":{"name":"Rowan Manning","url":"http://rowanmanning.co.uk/"},"repository":{"type":"git","url":"git+https://github.com/OmgImAlexis/upcast.git"},"readmeFilename":"README.md","homepage":"https://github.com/OmgImAlexisj/upcast","keywords":["cast","check","type","types"],"bugs":{"url":"https://github.com/OmgImAlexis/upcast/issues"},"contributors":[{"name":"Alexis Tyler","email":"xo@wvvw.me","url":"https://wvvw.me"}]}