{"_id":"ts-guardian","_rev":"29-1c9f019645460de9100e77ef2bb31f53","name":"ts-guardian","dist-tags":{"latest":"1.11.0"},"versions":{"0.0.1":{"name":"ts-guardian","version":"0.0.1","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.1","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"b575af6e83c5c39ebce9187226919de09e2fde75","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.1.tgz","fileCount":8,"integrity":"sha512-xCfkh7Sjwndjy/61+FWgFmeUeVW6NNe/q5qA1vZ9LhkaERc7gepdSECFjMXztAU85TIWp9zgN5pfTbCmG/zXnw==","signatures":[{"sig":"MEUCIQCYrG+SpMFQCGQ+Meo4BWfVcqeZEo5E1U7NbTe9y/MPZQIgEHgponGBog2Q91PPJGJgpWl24JPxDPWhxGR3sxpyhps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuuAQCRA9TVsSAnZWagAAomsP/0t0dd8cj7b0+OYOMGdi\nI7a4kl2vJcjF0tuvk4fVPYpuFKBNMeC+SoNvE6plUgNZsMtxtsp4VCsJPYjs\nEXwwVjYNKD/NmAliQE/VYphceldIctbFeuLu3ajH1rZNLn90CHJElr0qNvot\n9GUKe2kQPPb3ZN7DLzxO91bE2gv5LYCtPY9OFwU4F3KsgTqvdtmTNqs6PGGW\n5a+6UjbdbZsfLhdeAvghd5u5aCHvRxu4RxqoXpiNllnM/OGYXutezGpV/Ie9\nv6Xg9e+5OP4mSkE0d5mih+IWxhduERL/N7AXjiHt3/he73Ml5J2HLFlozYoh\nMtETm75QJ86RnZGINqnHrDHUQsAyJOAHhVXgehD5s+LqbjJbR/dSEP7jMnIj\nBZ/REMjt7U7C1QKiQo7friJ+fL7TKjkoctna4Y6haDGCobLqkbY2tQ8o+whP\n7QDIRgAZ54SgHaRmTWboormwJJDlrWkW/vhmNn6e58wXVJQ5H8Swlce+TPSU\npk1unTRqoYV6526rbtsJz0sLD3HBwAvsKwxYRkbu0b9RXZPiPNg/vYBuxuJe\nbaeb1kTcVB7GN4+S+CMUS36m7lqvAzJCQGhBwZBL3/caBuSh4H5VI9tth7My\nuKLNHe6jRsem/m8GSRPVnHyLM9ThdngWBsZPK2UL/UrosdzfCvn0xxVTVsBH\nEIPA\r\n=MrYI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"fac765821424da46da602bbc2fac3b7fb3015c25","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.1_1606082576249_0.18962314553813786","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"ts-guardian","version":"0.0.2","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.2","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"398f949de6d8059ac3c465b13738ba2a6b6ac607","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.2.tgz","fileCount":8,"integrity":"sha512-fGpAYWqBfMP8hZOypkn5ITW17hdlx/AWJ4W1voysHBwoXxsBkgAUHwZYJrkdzFiwUTAWDW/QNrbI92nviL+qcQ==","signatures":[{"sig":"MEUCIQCyuSew4uDwtfSxcU2jxWZzOrLOggeovXhoZkP4018ntwIgCOBOrXWHXuL+FzuOX339zUjrmf6KA9phtohxyIFI2dE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuz4kCRA9TVsSAnZWagAAw+4P/jFWGoy8+1VudKT7aH/A\ngPMGCd+26XjSlVUU7xvuhJiYN1pY+OR3Fp/98ZkxKcKkUGIbz7BTUdXO2oNS\nwoLbEa1kssIBzfDLdQYGMR0PuxBloqLD++//avMNhxFpvHkNHZLJVx0i+5hP\n6DGebskNq8D3MEvDsYVhUaX3A3EZpqOknkJdBM6p8j8v6nzWH0McE7HoVutX\nOPMMLkEfljeFrn0tKKCtsAoZ5nPvdj7VXdqGrad85bwY67AlXQGGxM0cprbN\nHFMLk7ZXM0e7S9sLC5u2dP+dyz75VLrmSASHS6yygekUxFE5iG9gU28sk0Xw\nlZgnoWPIKybIUoPNn/jDYyLhQ4CE99C+c3fkhz/ddsxgX0otQh8aEFSUO/zk\nycw7biQoaVEQVq/cSnl1oo77yFTrudPRL3Doyetruaw4m/gmv+hLYlMktwuC\nr+LdxLEM2l/Kz1OpZ2ZtltehxUdP7oXis/l+f8XGuvNFsyEwV6uM5LDFDs0K\nhX2VaU5Vh5Kw/pR/dAOkmbHf+Bwbr0pZ2M2DPMSNcaPe2F9+TZGmydy9Iy9g\ndqDaif4IJQK45WB4LgbxakaB6/XGKjcP18Lgri+WS0iPkoDnvRy1WHTHzQ5o\nVb8xsHnfgZE3FYOzEubJ0kyw3nuhXclacy0ONGcusrSAcblGLVQl20Dtf5Mx\n1XSD\r\n=66Rm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"d14f22ca2f8861c4a4623a2b36a40d74d1d95066","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.2_1606106659349_0.08729045913527322","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"ts-guardian","version":"0.0.3","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.3","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"1b42fdb39205e05c4215dc6cb885393c56859486","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.3.tgz","fileCount":8,"integrity":"sha512-qXNkTZ3CAn5YYKFk3CoETuVzItWg1QgvluVGMJiEWUhwpMhMEj03O/k6gqr1AZuY8fWbZYvtamJpBmia+X2Lgg==","signatures":[{"sig":"MEUCIQC4pXSIJoT1KTH8oyG98maUFiOm2pht8GXq4uw6JuJoUQIgON4kjUloijZPQIcerotUw49V/Jfv/5cnMO+SfgV5h7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuz5wCRA9TVsSAnZWagAAZbYQAJPLD070lws7Q91nkfp+\n5Gpc9OQ77fZ7zkP5QKPS5HnghymOwaBDlhQgMu9EYR0aXmhl2y7+3PJPfEk+\nfIxjI+HLoCdI24Jz3ou2XHSw3QvzN/djquLczJCjUc0tljvkNhuKE6ItT8/q\n8SEbBi88bhLQRQNs6oM/jq1KQU4wpmeXCOFcJtFhzBU8AA9RU02bu88RoEYt\nMQNGTHs9aJJEdB0wcfDW4F952Rwd21dKaWrhEkQmDDsIXeIy5yf+bNmvj4uY\nzT5qkKOBMX6hU9jze44Q2QHSlNeKSFwSp0YtmHICvpsq2ZsvI7cx5nrUyh8D\nhVyXa6sksA2MOODwoEmOQP5OPB/nKq88wzBY+f8HutjFEBTLqR+AxohA6/+L\neUwpusRMZlUVLRcC1Tc5ev//CvIfStO5RicMBC6+adUOQi6iU4EcS9T8rNDF\nqATeJhVNvmr5LIT/dCMGUfn1PqEf7FKwU1ICRPEmyuYSBh9opm6Zd4UwAXj+\n8ODtuL9Zu9BCytk6PxGUkMQAYbaBw4k/kQeVNAK4NsuKStN8zWj9fnWDNsVh\nJ99RxWrn5z8axgROdjSBLfmWglyjm6LsrhunXiVNw9AoSuFbRV1firAwn24n\niaHJ5pzOOvEbRypxlHpZT3PNRxSqolh+Z1Gkb8u4enU81SyUGABuGCXQJrU8\naFOd\r\n=k+hj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"d35ff0d62cfd13472eca1637f975b6efb978e3e4","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.3_1606106736084_0.34339701775100395","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"ts-guardian","version":"0.0.4","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.4","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"20708e05f6862d024a3c51f54080a9aa7d704f79","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.4.tgz","fileCount":8,"integrity":"sha512-ytsctzD/fLfd+JIRMVtR4bBr0y2hCrsv1pT1QmQCDM9BFpVU7qFA1WdhEl2eKZNK3RrNl1AX6SE12yo3nNRUbg==","signatures":[{"sig":"MEUCIQCk+sXaGvPzmWgQbkRmOS9dajBArZ0WrutRq0xPGTPvwwIgDYRAjLE3S5eCjbpd2xM7duZsiCsqhGWoyRBAJDjw9vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvP+CCRA9TVsSAnZWagAAarEQAIrut5O+V4aLYBSx065s\nXc7k1d5U1Ni/YpawlHPErDAzSznkufrKlsc144wNweczxsLVPbYBwPFFtbki\nkvpGXLDapi+hdVa581BT5j5ek9zeTgbF2BHCtyMN7qwkttLUQc625Dm6UKTM\nmDjnexIG13Nh10fUl5gMrkRcrRXfrbkegSacAChBfRLlkTwKfi92gRRnqlLM\n7uFPqnI/oon10RnVkZzMEcJJ1Qp/VCeFXGigf3uiJpzJXxTw2nunAlKVEt96\ntdhrB7OyRx0s1o1mW/wqH3OkMdN6mMx9P9HnsoMMNo6VjReYIRkzNLWLdNuz\nE1B+pICxk6ntt+TSzgPePBYKe5E5zCv3m8/2zppGE3Lq766q9gIYOfM0lMza\nL7uInBNw/zqIr9ux5USVokfL8gV/a+FAOSXvTUuG40NBKoUvXhSmeaatFbCC\nrDbeyHLhPfSjcKUmOUhDeJl1M2WLSNM9y5s3F6YP0yK/FuvHCymut3PxxygV\nUA7QXMXxiCQ2z4zs24IVxOqB7he43VHVt69iihAwH7dtEUvB4S9WIXNQ/wvH\nXmW0CX+o6uXOJ+EwLcvwpaYnduZt6hOadsYDF4rhfROaUnnQMDqsETK0CYJZ\n/zjquq+9UAgzVtwBUwOT6CfAuwmcoSCpeWlDTyhLQW9KxDQk4TrYMyUKzud+\nHonv\r\n=gJrB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"00b36832fee983814ed10139efdd547025ee3382","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.4_1606221697656_0.16232620611464","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"ts-guardian","version":"0.0.5","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.5","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"d75b42ce0cf99cd0d0363944231e193911c8786f","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.5.tgz","fileCount":6,"integrity":"sha512-Pk/zbbKaXmi2hrw1w8k29P5OdPkIcb6nsQzfdHWVi1RKbyQZ7SdMqKrwflYSceDyEJCnaRXtx0uxaey4UXchKA==","signatures":[{"sig":"MEUCIQDUN/TQ5DgJ1UzubP/6pu7E1iWJF5m5nYi0iCMqWbI3IgIgPHITlObTTuACQ5G1KnNGhWNOz/8vkT7dPJTt2cAS2Vw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvd4PCRA9TVsSAnZWagAAuzQP/34E8c1WU0MPNWpmP8gq\nWdRogjdYQoeoyWLGuEmDWkUJBvvqCkk/AoVNBqUCDg5d6ebnzp9DMEz/uSVc\nuVVDjawU5TzT+XGuCemI/6OjTzhdd7E1Nz8zGiGB7PgDq916bJXi8Xkypd4h\nuQvZSaoiSf3SyWx5kWwPk2c5pvQtHowlGwch7NAUdp3L30sVcdd00YtEjgm+\n5a+J2MB7NDKWN/CiVyoMTSg//s1VE6gPB7GFeJHAvxeDgv6IVXMeCdtTo6Hx\nCQRGXM48PuBf7KlxKH35h2RG/z7VXfhUzJ3t5i3RGzzeZwfG2h8RPGwjVnza\nvLUo2yp6drtVNfLEii+HEkJ03RwsouNPMIOt3lEqw9aPIpwUmG/xgGVfDNQ1\n4bWbpJ2fXGWz5MuuENchgSAxxe+KtiibM2aHPL7xv+zUjI0e0SCJoaGVEuiy\nYHmlPtzmXTAyt00H40tbYoFC3vjg3NKVQzNUWsVdxN0ys/6t1iUh/uT6thUN\nzl6VE8Xd3OuSnQ1G19CxKYEXb/V+Hqo+75FtHslTfemZ/17NOQqamGo4xaBY\n0ll5wmuulIenWvsiPp40BzmnzKPrcze2etzdZTLkcdTo1lqXEjuSha9/9ryX\nX7NG38rgdEmFg55yczmUhhE88srsS8G/e2n1kd1F1wQd8uFkcuwOgjYJFFwD\nvCvI\r\n=P5hC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"498873e9316ce2a04ce3cb055f3d593439d63036","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.5_1606278670605_0.41650269753388836","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"ts-guardian","version":"0.0.6","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.6","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"8502565ec91cd1d1c745a42e12cd0c83c17e2b49","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.6.tgz","fileCount":6,"integrity":"sha512-YVLMEI8CQeGaWiXuh9/fJrKIjy87wWMnm3r3BUnITuBg77ZxQxL0I1tdv6Ro/ZNKycASZcJ4QQycfdGb2jaRRw==","signatures":[{"sig":"MEYCIQCvO876pOSPl4ooy9BdGdGlKLOBQHtvXdjn6kzo6kEFjAIhAIpqJUbUf2IJdoEQWuJeE02S1dmD7XpyAm6czbJsvm2B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfviKXCRA9TVsSAnZWagAAVB4P/11iftmfWP3dkkBBlX/R\nDBH0HRpl1YmSnvKHUhY9nd7sDvAz1m6wJUYtzJ6sEYmrByUg+WLtpncB4eF8\n+C7j0UOGR6RA0KFsGVWvHXdw5of2AC1wzG+KmOX8KJqIn15t6573j0VFzG9A\nT6bXpge8wJG3LUXz6CZhtEX31mXd+Z8TjtLLN5d5atxHGFVNFpS3BwB+6Lx9\nlVPlkXMq7rDX+2CdlEAGCiXL+2h/ZhNzyrE5XSXHbVYYc1mhx/mWlrMAip8S\nXwsrPjfIPQnyM23aa8rphnb3/5ycYfP5YTLZL8LtubXeARN4p1uSZWr6YPZD\nedZ/2+2LNtGWGy3LYxeI5174ipgT5znow35aCAvI5Z70mof+3XokJSVfKJqC\nI3gbCwtTKaqbUDDvLuBWZF5NqER/SYnIWpFg0GaORm80J8ZptxxnmD/BltNK\nU6gq3krNXwGiBFTWby+dQVCUCFHgBk2dYY9wBYiAFgoLKUV7Uc4P893PZM/4\n2Shpl5Fz/Ww389aXNM5T19NgUUIBt1xH0zYQONNZo97wwQ5jo5hBxgiDbfoV\nvDg2UkuCJ464N7qK9SQPiMUeHItQPJjTxpyQZ80yo800mxWd4B/F8+kE14Rf\nqqEK4NL0us7VpO9/fnDVbvv0hvfFRZYkfMWrVZXOGCMVMibfcDv4zZmTzJRS\nWij5\r\n=jEkh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"c16a62450f5d8fa44b9fb9726b361101423f4ffd","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.6_1606296214611_0.9288693475548333","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"ts-guardian","version":"0.0.7","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.7","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"65f32f2ef10272cbf5c3d8cd0703d892302baec8","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.7.tgz","fileCount":6,"integrity":"sha512-Qd6bqNeJQl7ByKqXps6Hr+rbraVwBImri7MCeEjwEQB17pdvvVBG4X+PiclGl65jQSzPoFrVZwZY3TtM+N9b2A==","signatures":[{"sig":"MEUCIEi9w1hVyXyWDwb8NsjSHuFg2YRlv6M49UtdeyTlYdpZAiEAoLniPIwJ2OpnHxcXuLsrEY4kMnRRwhnc3eg3OB0jHNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv3pgCRA9TVsSAnZWagAAWLIQAKIE8c5nlUbudGGrqoDa\nTHv2ucWr0LEcyTs3EKAnddV2vbrGlaM3v4P+5g3L1dBnYSLRXM0P+hlYSyKh\nJXu01yTOTMd+3nv6b9LJKVf5SoTrWFBhNb0aZWE5tH5Gd2wiwQ3qN6mzvbBu\njIoqWpGZynYaUoYHCh1CAtLds+Q+jy5WB/uSnKhLxH1EECRihChTbsi2HXV8\nw8LUylJV3fJNkg2xw4hgYWN04MsghdjNobkpg/4LmaPUJnENhtmVIomJttJz\nEob9NDWNK9ymzf2lAGEWzu5wE/TAffOjduYSEvnnCPgo3Llf/uizbTkhjD/4\nsx1QkUXw4zLq0M7R9/IA53d3kLpjkW/RJAU/t5RthbfGLXMscYlBS719fD4u\nnotGrjHX1KRnd6QPlENJAa/TkLKmlZDQFNYzyaAw5eEAtrXlJJMwNwtWEA7S\nNjoQxlckKlO8Y5eoC4hSNNuGokRJeK3WozxfCiH8UwMfxW+EO+OC9UYiEhZV\nhotJm72akmzHYv2VIyb9sSz1CW+3fDiNZjk04s6B/ojglfsTtmNYkiCufZSb\nNul6esob+nxJgJxmbvDpGkwsiAHyWnvW/J4a4z72V50wI7unzn2mBQCO9wZ9\n4zvXD0M2z609C9IR9y8rgii2LJrITe8mhL7RnrWknUEN4spwFybnjSONuFMS\n9bWK\r\n=JKoD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"8dfafef488a8f67e88117880d73af628b2f9ac01","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.7_1606384224044_0.6677408797883724","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"ts-guardian","version":"0.0.8","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.8","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"7b1792a6a4ffc1455046818452f9befd4a64fad2","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.8.tgz","fileCount":6,"integrity":"sha512-pwu3WTbxT0K0Iz4AuaQWXiyXcqQwKGoIOYOiz3nWz9RGh1iLO+qvredZfR/8qo3A/LEb7Momp2/djEGLTO/QKg==","signatures":[{"sig":"MEUCICSleGxSIgAj85R7USxcjRcI+j1X/+N43BTxYIGRThmKAiEA4Zz3R8uzqOwqGcRzZ6dbKgevehFUW125JjarxW8UA+I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzcBUCRA9TVsSAnZWagAAayIP/RreVWbuFrfstvkssKy4\nvTMbD/i361C6znJFXKAsSOX4JarwedTjP6w19JcqMjpfhBhhg5r+ci2bzcJt\n6BF4BsPWFAS1WarN1WWrSbAlPEEhe5eGuUkVoCxfMA9ZHc3N6XtREi3tfrWO\naaSnaKEtTHzTUb5MD1yQl+S0PSzTOK1H9/J8e/hdHLfK9MUH1E2JD+U0xVJd\nKhpwV/XEN/z2sAB+9NJTXT8t7paoczVn8szn9rRYAXof+IVbmv5gE6qAn5nS\n7D8VebPDgIVWw0fBK7nbz6fwXQr1bTlArIsk8HmVO++yxVbCP/IDHoN+eTNm\nIR7rP1dm6dDedGCedfBcCgyaKIzJ9la7aN0SwBkZKjGrYhypD1I+1g/kvHFI\nhIpZHRnkTnanELYrIbGGHg2wmOq1DDZPpqk1rnCCPd7Ms4NbTER4uJnm0G1Q\nDWcYlHttUtcNtoF7csRqinxBLrhhF8bERzSSsxp1eME3dlujL6BFG0KIsZnh\n7PwGAs/rgPd+ioIMm5ul5upuqqXPPV9F6SQnyldrTQAibFJLwnEKbwGx7fO4\nvcf5WlBAW/Ami2dwz/M4219gynop2UIrhaup5ISmt8+mr4rkkbPP1LZdlMiY\nXLAI/HO0Pjs0QtyUiGM/46H+DwzmsGOurJk0ghCQ/Zrw8NpiKfiF7WA/FKdk\nrGm8\r\n=SUd7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"4eb9bcb64d6afb1813795f92faa5623d805e63b5","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.8_1607319634974_0.1476300273396638","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"ts-guardian","version":"0.0.9","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.9","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"41cd8ea8f106e75da41cd957c8bec3067373a49e","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.9.tgz","fileCount":6,"integrity":"sha512-oV5GVUfvQn8YW0dYQ9fi8vZdtNiu67Ofl0I7YGViyNVw1bNHVuDc0Kufg2CNS1RphiZ2tDiSi2QseFqFWN3v9Q==","signatures":[{"sig":"MEUCIB/zJAbgybnuBMDnbWUPV/3T+mmwdC8zXhKi+u/0n67wAiEAlvmTsqFrzQSl/XijoAgjPcEUW4EYxGM4A0A2CZL+GpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzuk5CRA9TVsSAnZWagAAgaYQAI7pr1+LOgsf+ym7L6Se\ngZueXeLfvZQZSAq9hSZQDs+VeFlwkaBizyMOia2Vsoj7+G3H/MduEanAelNs\nkZq6L/FoObZ0GHv54fhFupX0N8wRQiWj8QHBn9a8zrlwfG0X/SJyrSMyq0rd\nXI/mM1f+b2lM1oOlIgYZnpxxvjWlQR1C9nwIQUjKRIklT4FiWZ9fHRniarYD\nyZaINY3ac8F4JhnXAp1sbtvqMTcMniEyulwwte+4qyZXulIiJocX6oySfudW\nOZCEi2XKJbmA9whunwK+CnocpG7082qPC3cc3j1T9zsVxL64ep5cHr0Vw+F3\nhbXzCkMncTifmYuLz8t6BIMBwdwUPzHp0339Q/MMrDFOB6/Sym1OZBuL1dTK\nRobWULoxjvjnicb7fYuC8iS7aT3BeLs5Y3YZqqDmaxrc61gZbs1K1/79aBhF\nWVuMqH1se50N2f2bA2Xju+a6zzGZX5HvbG8x1hnj7G2ZAEuDgGc02FaMJaOU\nO8q987mtNot9ctiaypnUgV3tmD+lT1Mbfe+EIxTvyPRH+wI+Sv7BULZIzkjF\npe20pbYxB0hDz3aqwRT8LrY8rQIJG8A3XtUtgyNtVRit9+wcR+Fb1tQp8hWA\n77BEHiRrV8jFf+2Jwpz3EsbclVIPs7IKO8WvTJoWlIhSj0Ze3tvU2Xl7Q9Yw\n3F1V\r\n=S7v/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"4133b4a1e25e8b2d68bdc97c546af358808d4e96","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.9_1607395641158_0.20731994679231813","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"ts-guardian","version":"0.0.10","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@0.0.10","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"e32746b5d44def6c925611fbb1b4e3ca1314db07","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-0.0.10.tgz","fileCount":6,"integrity":"sha512-J2VIP8rbOawbj8336fCCAgrVU+S02AZ9+vXs/AC0kv60u7Rt13Pv76nApyFqF+RMtCPTmY7/sOMzg7xsg5j2ug==","signatures":[{"sig":"MEQCIDmd7GrpY6PBSKwh5RYfJhHDxCCLZDZZMB2mYdV2zTPoAiA2JceZjz2abT8qIURfIViCBm0eEsModNI9lL8x9Vm1DQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2dDWCRA9TVsSAnZWagAATiEQAJIX6OhfhFY6PCM4w0C1\nFP6vhNWvOYIp3hgemLW+Dx4A1+9YMgh13sOKVcDiCranjrKs9Tk6NR83sp3+\nKOWiquLe2INnu8rOQLxmogTBG3rar7g24glf0XEw8hMzrbSAYrZW7SUT5hKX\nSRQunwShSOyoUMspqRBKSvG5VY14ThvDmsinzjvSqU5zUBaiL5jpgpudg2rr\n2UftP63rONGrTSr5PTLiAAtGXtXPY/z4+N5hwjcdkd14dxQrQLOaDN/u9J6P\nqcUaIo/U73SQcvLBNZyoLNghJzSiLtWIenaDsaTJKy8Ealvh7GLFdZgMuavi\naRFNE3nvIKnT3rx4ac5G5V7uz7W2x5IHWZe/47s6YeboNECXgUrXw35HGKwD\noajf/ocJ7QwY28wmT/mFLxVZhTwKy7CA70nNLd6x4hmtZadScXpO/Hx9BWgD\nkM3qINlyODH+kUgosQUZBQ1vCwFu8+nUc3kGKbmvZm3iAEEeqRgMBh3b0xka\n7pSa3XbGycIoZhhVAFfXT5oKuHO48pdD301O5qLBDhx/Gcp1zZi+Q6ob78eU\npMZl321YZz3oNIKAjXiuqPj+zVSRdQbIYmW8nTbDYyozFjnlTG+knw1WQwNE\nTilVjzRqUJaCw4d52YFOFnMHGPcdvgLXpmCShO3IZcsPBIlGgxBg3UO+UKDW\nGUOz\r\n=DV1b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"3f67bf3dfca98506fc7738bebc1f93f925b9e785","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_0.0.10_1608110293715_0.6036611110871135","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"ts-guardian","version":"1.0.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@1.0.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"051904b317ec819176fdee263eb6bd74b176d95d","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.0.0.tgz","fileCount":6,"integrity":"sha512-2lxThFDjKN+8AdysWU8ymbMRaIoDsMhjLZG50Qz4DEouo/3huVB+GL36Bct9pNXTKtFu7b7rylPOW1t7T8gH3A==","signatures":[{"sig":"MEUCIQCIVRj8dkP3wu0ZHQ487Uv++5kGT6uRLsQT/N3RW5VrZAIgdBLPGVmr5fxU04QrqQIceDkedWDpMb5MzozLCHV1sFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2dF4CRA9TVsSAnZWagAAJGEQAJqlAj5oZdxCu+SJ8xjp\nbmv0jXRugfjSwu9Bjo01fCkVWCxszn+KueTaILfMPQrHaWDNKTz8yFIyU2zH\nzSllBzkm/cDsz80zbL1/7Cr0/YMvUMiflIHNE2/i+O02O58LMr7ZAPTBINR7\nMDo8Lp1PI4w43AwcK91zvwxUG16kuKnGoi6DUESOVJWnSrechU5Zn59sREXl\nCz1z3lFXzPhlSPYIILREdi6rEFmhWhxLaM3XgexH5MHkTqatcsECfzwtc+8d\ni5rS++oSl5lUYiAeQ8fVS+4mtJtEStRtHDs3YMcgH+nqvs/vOBSWZjPvTJGn\nVYjAyMiOvZXCXP+QGnGOmfebhKr85Os0v46v3LBWhtBo9MoRgPOFnAnGp48m\ntveVZzQbAN3p8E8F/bdaKa0j0JHjHx7x+VlfVOE9WoD+F0bOOj5VPd8Pg2Wi\nGoyeinzY5KX+Va1NXIl831UGGIL3SjToiufpsLFR63dtwkle4LWPlvOYvfq5\ngMSJUNgTl6CrWws22glTCU//q6+lLY2ztk8O5RFynuaa7HUuhF97DFplPBEK\nudIGdT8SnSpdwMCrXIviK4f7YCRD4yoX73kONC8PajzwxOCzPGKfwBMQ5syu\nYDk2coJVcvTJTpPO8S0ymd9bZSxAzvVHQulEJSHvgQ8HGLRaVNCsFvqzvp8V\nTER0\r\n=MnJL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"317a78cd8b2f84f0c029bec04c7f87c7354810e3","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.0.0_1608110455574_0.10753359089403314","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"ts-guardian","version":"1.1.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@1.1.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"c78c95829ca5616ea23aaf65ff3f13a602c52d3e","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.1.0.tgz","fileCount":6,"integrity":"sha512-DoOkWCio2TSF9F2hg+4OG+WhwS4LlylAxPuKprhFlQF96HDDigIEVBvTTgWWgWp2+YHFIO49TeUM9niNEOgfIg==","signatures":[{"sig":"MEQCIEtBeHfl7u6x/Sr/qj2+Vmf2BlXaEIzhjWgby77/eod0AiBYo1bmqM9uWJBH7c7RuMDFf5aSQKBuFQfWU/MFkLuNLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2xtBCRA9TVsSAnZWagAAuWMQAIj4cTZTZ7PTCtxCW7ww\nTD1ls4vrKslQAq2fiC1zjiFCyUDWFpDeYRVezC9frMv3nkcU6SZM+Rq8EMiA\n8tY+QTmjQxiCuI8F7dlu0Yk0dchIThSySMB5dRTquwQcovEuLvXucy1wpO1G\ni8kec4hRmK3nXN3zjKa+mmSUYhgwn9vOP8SHaTqFmOK7m9KegspX17j2wtr1\naUO4JyxI8nPMPTuEFlvUPFdNlFq3TneDWi8ySMyBAT+gUdUqoa5L4w2razjh\n09R20WZy80EcQHdzzze4eyAlR7SJd2OH76Ch/y/eIsMuMMq/BSU1JqqyLT9P\n3CpUTnADO6Ac8oizPFdBubBgLA+ZQlnsmr6OewsjqRpm9r9jYjFXDY3f88Dv\nUruauGnnvxh+nSpVhlr6nq3+/88Fn6xnMkVB1MqDbsAmGVZgDKJ2wFJshkem\nqX1DKiwCdmpVR8geP1VRJKK2A0QJXUb7HP2YczqTCxUi1Xx6zXmL+QFEPVu1\ns3KVEtZXv2JHXLsnHhBI6VMWuPMgLsx/W6mu6iRXesxoacl169BXfkuiQKdQ\n8KgSszrp2I8UGDHLfZvlIuxKDxLRNvCtZ4sylunaSpAkVpV8+NH6fo7Mjy53\nuguyW37kfMrp4N7A4zEX5ke1eOj62Yr1LlgBaiW5aGtJaWlH3oOk7hUlciMq\n7gw2\r\n=8WlT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"b9d516a829094c99526b603c81f778f101fe2a03","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.1.0_1608194880561_0.18939775668590975","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"ts-guardian","version":"1.1.1","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"Unlicense","_id":"ts-guardian@1.1.1","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"f74ece9dc318e5fcf6418f45a8a532c417b63bc9","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.1.1.tgz","fileCount":6,"integrity":"sha512-4btKuBVngwk1yHGIbJBFJWTpKGwMvZB4bUa/HLsLfiFcYH+GSEy9xdy3FXTaAQls2g0TMGnkZ9N88aYZyk3VxQ==","signatures":[{"sig":"MEQCIEp7OoyiXwcNBr4clf/6c0zZjqvmjeB07LxRdxvkTwycAiA0k2fw2xtlddDOnw9h9VG7U+c7/+S7FeS6ZKrIJvKFfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2x2rCRA9TVsSAnZWagAAtT8P/iCAiRO5euzJu8NMHsN9\nPPgIzHpxXg5N85EtuGD8emsu3TKOBXu0qtlB8SIVV8/y8Gqdu54OrXRwpuzx\n+ujQRmd3fPdnudmxTEBn7mntIi9h4YT/6Zp5Qvgr9MQ/HG2utVsPIy2r0oij\nb6p5NC7GMlMR1ITf4Og1ZR9JLtIbehiXRX+QbbvFQs41+MEgmtH29aQkdmw8\nLA+BGvREEHJOJmR0Owj0lJH8RJTQ+PTAuegBswbwHMnG/kgtBj64G9gTDtzS\nacYZq2AMeTZ53zwlJggmkOliYf/22/g4peBKIEltkwvsvOGx6LtUKD3ZnQ6V\ntHieDXSTTr2zvvxLZGtYTT3JlK+Llc4diaLR/zO41QvrFBR8BBWtrHadqSVw\nKo5OJyRFHIpvgONMRSrE+ibDKfniBRuEtJE5fGzU4mQ9YJneUDvqNdOhHDQX\nW0BM2qRGyVpObgL/dg52PMEFTS27/lrqpTEi8/HDw1lDVbqzov9+sJ9B2DsB\nmN5nxm62y0OYRYM6x3x5uYEfopvRuS0aD7dEm6PpWujYJFGNrPADUWnSX6Mj\n23/PZqN08NzckWGFbHzOLuXG+9RR7dpIj7nvF8tiuaiIsjKhYJcpKDse9uwu\nlo3/RVigXB+iry5eQ9zJLUWNutjox8mS0ZUZmCBkfvJQYQniNkynqn5ddnD3\nHjbk\r\n=qF9r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"3f45314acc7f4b1cdaf49729540e6b6b68dee848","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.1.1_1608195498832_0.4683483487845921","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"ts-guardian","version":"1.1.2","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.1.2","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"b2ed17b974df818cb61e3ae1120d0ddbc12d0723","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.1.2.tgz","fileCount":6,"integrity":"sha512-1+9TlhQ39alI2+7pBncu90YCR8sD50UtX3oEAQ68uRBQg4mJaZmA7mt19AYse1pBsVFkmY4OJydQjj2aQrAoWw==","signatures":[{"sig":"MEUCIFWQoverC8Piq85pSpJElcpUZ/jcpiCJ238ynmCsxnqnAiEA+6n4Z5CKEIGiWuoR1bHQ3XeLD93kG4gbchYVcn8Ab3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3CO0CRA9TVsSAnZWagAAdrEP/01KiEB17pG9D/fWtJyI\nnugTNNe+SeXaOhszvhP6oalz2tdik8vrwcsjCm6aeM92kGhbAWfImi7Rh3Sr\nmlvQHf5ph6hBOhSHDVqJhuRVD3QcMvkbSnLsTnedldSBlHR0DOM+39O2Vh6N\nRUaIjQScV81d4w2z+dIVJa5F0VcuNSx4OetN8e+I1abElrzHowVSGLVFsq4f\nlNaebRWNma2QPJqsp2tDwaj3kbjdQFncOKSHO2GpfFq/yhu34UUceW2TFRWZ\nPKpYSGebxFRi94DBrz5BAIVtlPYGa2grWa3KVFzw075hMsD3h1wCgSsFQ6iI\nY+ZX2Qu5kpxH0wjzLMoalvWMCx5aOVPpfCym+MrSA1bLGMyzyjSU8BdZQr4O\ne7qfd/tAjU5iIZ5MYimR9xToE1uIe5o+CA+PPk/RqBF/CBnCu56Qh9vyF2j1\nahcIz5cwsTlGliU2vQrSZYgQ1DoqnJD3KirWETEd/76x/S7+nvdte+bkKNUe\nIjT7OnV6hJjX/EOoHkHFVBC7kmwfhvtpg1Rsh4MZoNcK50GDYT/ZcGioedbS\ngNpylQBeVLI+080huMOj8fWlTJMuoaWuo58j30eVn6ySnlc/tQwDwE1HsjcN\ny0HgoDhR8Ig0TzIHQC/zDapnS3weFS5RS0XFcmSG9beMmmAdkW66NLMjuJKa\nz2Xz\r\n=3mM/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"8eeac26a663b2aa55d59db476695d84d79df82c5","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.1.2_1608262579582_0.05884913061417785","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"ts-guardian","version":"1.1.3","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.1.3","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"1c19cb12fbd2cfc3f301c7f56dd23a0edc5bc457","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.1.3.tgz","fileCount":6,"integrity":"sha512-Xgyn3lis797/btbj+qOfsKI7VColZ+3hw9GJ/+CwBmoGGlZ1+fIwIAOv2yXkpRji+UTSkmOOodpFyFY+uW8cKQ==","signatures":[{"sig":"MEUCIEfHjLZqJG8xYnKQyoWps3LOJ3dMoRBwJdf7KJHeZvNlAiEAj+Rfwm03G9ocmMBlqMxFndCVn5hhhEI4ekmRA9oCyRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4RreCRA9TVsSAnZWagAAcu8P/1L8LgN8vvpijyv51QzP\nY12crcyeQ7McHtBBq9RcQJi3O8sTsV31zHUkxsCZIxrXptaSIpO8/j/mP+mA\neU5EvtChSWieMOR6qu0zNo59zZ2g5gyGW92QdjKJ/6gF10Uq8tG9TLomR8T5\n+AZU0tVC6x0XUQhqfqkuF3T7Qn6A8Fcanx06p2bI648lP2Z4uGu3VPG0jtoN\nE99wp/71u/sV55PP76jdm3R7eB/jCKD6/PN3JodSbp9Q1LtFJqvGzbZyyI1x\nsjyUFgGegBuUJRpLCc5/kvs+RVU5GOavvG8PLl7XF8ToTmFwzXX+/KVvnoY6\nUkAKuod8WOjBwyr+DRE5QmpOT4+x2dUumYVYfv/Zjd13W8Q+1JsR9tAsbX0J\nk1arUASCLGhAC8kkNen223/hORtuAIdQg/oooUzArxJfb2ArF05sSJFalRyv\nfv53cW7rPZW84hF/JLpUfmtwPkjZfiTgoVKV62mNVc0xvEwxzNJuXTJblYrI\nbSUNGBKwhSXvgvo4O1ysAP3n+iqTU+S0aSTc91aU2U5WaNC6oFV6IVp0o3so\nAjNk6pQi4Li6WMigBsc7aGDAENsR7kibWz7LTmFqGoRMrsKm7shNf5R28EqP\nPzfSAtI/16EKx9I//ade8CnBbPEb4/E14DheDNhwaHg81rMuWVClVYRnNonZ\n6Mo4\r\n=3410\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"6c17a25b992286dbabc77c70432c23ea8cd51e17","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.1.3_1608587997982_0.5133002507378477","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"ts-guardian","version":"1.2.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.2.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"0dbd35a2e085a960a54604ecbaf00abe800872a0","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.2.0.tgz","fileCount":6,"integrity":"sha512-e9chBk1deZv/VAx1rG+YDV2OPK9I1gr4HYdy4pdndAWUC4j0tly1wj/jY1qddxYxbGKKfMIgBxPxxaTePCwzKQ==","signatures":[{"sig":"MEUCIQCWLNmPeyPyjctulOco831T1MpIVRmoIEyHzyZJNwf+QgIgFn6+ifClnYBxPqPuzhvPBZa99wRLhRVoNsfnwwy5GBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6A+eCRA9TVsSAnZWagAAGZYP/14dU5pSFsKgCf74bS/R\nyDcwjMuwpIX71GaktMSrQx/cTM5LzuoFC2lm/e/74H9LqzcuEOVFAn+TSnv6\nJqKUU+PR8AfLG54YEUKp+HGgLjC1O2F2Y8XtZS7s5R7lrmmGA/8ni4H9zfRt\nvnKW16LXoQ980a5/KNqH98KxhSCXrzn/Vz0b1CJ2sP3y4KB/lVxZOOSGFEEb\n/wG/QMdumUn5wyEeORi5bz6lbkGeL/lqgyosJo8SiLs/adYJzLhyiTjpau4M\nFNMVyQkv/xs80Qkc4eUnpMHEmiXw97+OpcKDzJrvboM/zFOhom3DA6dDfXa3\nUp9rjCqn3cJb6bkeUrl5KjJqxoHf94O+ORWfPXyJflydfeDLe/ZJs8IgE5cS\nBJBYvcmCYDYoiROaeNdJNJNsKUvg++Bk0nMdecYcQPccwStN0HW9oBdOQ6Kd\ngZX1oNAdBbmobLahg4hkNO+IuTCYGqv3J5Jtoi06rts1idcKI1oHyud3keTt\n5v3xvN0Ljig6G0JzQgbFO5AylbeDferrmkeEM1qM+O9DvcBj2UKHyJgeI39w\nMIgRyXm4uK5lvqmQfMi8Db9mXR4oe4Siu7DmdBo2yKSJabZv//GLkWVevQAx\nOeA3uHVJgywnIjw0TBkVEX0lTDrICTZGvdmlgU7WYOuneHEyD5RLyX9OPvdz\nVWH9\r\n=og9g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"dee9deae5e7b7fe18b99585fadef6a93a220dfe0","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.2.0_1609043869654_0.8042332538552681","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"ts-guardian","version":"1.3.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.3.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"cf912a2ddf1265061f768d3f335ccc62854b7e17","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.3.0.tgz","fileCount":6,"integrity":"sha512-IxJB4LAO7hcxgSfCgJbFvPA8yhVwcchmYqL/qAzVJef7THQ/nBijn/gnW4hiaXiTY8McIYlC0T0YmowxXgO5xA==","signatures":[{"sig":"MEYCIQDdaorrk5OYXjUhd7h0lsIyY+PzUdZXf5PypBBeARUEUQIhAId87TDi3VqwX5OPC+rUPEAcDhBoXVmg68/HCm+daKfy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHw/rCRA9TVsSAnZWagAAVY8QAI1LxkSu3NRkKQ8wLjWx\n1YfntzQJE1kD2d/aZbIqCWmDQB625M5hRRxtVk32VqymnKUHQofLx/Nnwt8z\nYn+7QoBu1W/tRcQa7cX9rv9V7oj5lO9+WW0ocY0dYU9/i9bwSY7dqqaApgdc\n2b0X13l35+IMfkmpBRi7hA89b6vlY/Nns2sQiadl+DVqIL0C+oXXFWX6cctI\nd6sxxA1ZbPwEwRIJNggybYA2YUz15VWsFDPkFoccjUmOPadmm6m5Q684FfI/\n6CXT481MzWQgBhaFGZUd4OC69iwFRvJc8YmsHNYr8IDjY72JiOYndFBMCQqr\nzhISzv9KDkYjfxdy4PfSQ1kXPR83Y7AxTYkdXgNKhHB/oYCjgngJSFIxaJft\nBSr9W+5AI/WXfgpr28cjL6OPsOK2kLNCs5Hw6SHNvsefYWj+jY6/Mmkcy3KN\n6zAVDsXe33EwukleJMeiWjT4QEPRw6XCqoyghw3FBmQ3Sctl/WDVrmXkfjif\n0pAuX4ailTJO83xlyuIt2HnZhY6g2mSXN9mSdpyAKgr/zLsO8iqJ48SrLUQ/\niwF66OAJPyINx3er0CPiXz9obCOxuIQSplDtEFZ5rdIVoDtmn37nHlm1nYgG\nUQWwb5Y+Ee7OaAbSd0rDOMob3TtdNHGUbE7lN782bJLmZu4M3HkPMGdqrUDa\nX55w\r\n=EogV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"a34037b1187ac2aa5b135b6045f7de410b4608a4","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","prettier":"^2.2.0","typescript":"^4.1.2","@babel/core":"^7.12.3","@types/jest":"^26.0.15"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.3.0_1612648426455_0.5815920829386636","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"ts-guardian","version":"1.4.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.4.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"b2ffa19046aa3da552d384f0af62e4131626d562","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.4.0.tgz","fileCount":6,"integrity":"sha512-8gh+JG41Ds2f7verKzuoGdqwMdA2OYIARa6JTP55QPe2DbwbDsRad2fov14KQiwQHRIBrLcSt4XEmAA5EBUQfA==","signatures":[{"sig":"MEUCIG3qkEP3f13Pocx0pjNspykYkRf22UI12hbDoufY8ErvAiEAm3J7ZsucBd+jVQ+amaFT2U/lQhyHos26CPjdzTukl9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOXlECRA9TVsSAnZWagAAFqwP/iWqyJyU//rWMhKcTki+\nSRHmdl7lZs8YrKlsbW3oHFc+X5Dx+oRAKrhSnOXWBDo6ekokaM9ySOYrXiIb\nYXNjXkMdifE+shWxEgJK8PSTtApdpCHHpzMm+pP5AyYkO1lkkOV9A5pOUQYH\n1VehWxxCBnpNOxlNZUAYwF17A7n3HH2WA1Z6gF0eyZqusYW03bo8yxFpZ717\nQ62jiBjrXdhKG7YLbKEan4c0J3W8w7GN/qlxZcYA1XIumPz/unj1FBGODgTR\n9tgiTMFt8pHzokWdfq8fsZjV/ZnjlvrPb/zfPCsrToGZGYOTr7NMWPJQq2Ju\nDqmTAF7B9NLL+FlI5VzU46+FAjaXCev5EqS6oGoNRIpnnhl0LUZOJo3TLZOS\n+17y8+BM0JJwi5hMAbWvel8FiiTA4+sNK1M9AynNJiYfB0XK3aW/K4pJ0kji\nnS3C/A7h9ew/CKvF+LeEKBA08uNCE0Vwh/7d+hpl/WmZCFNTxJBZaFAxy5iF\np6xU4OGZU0uZZxmpE6YuPS3N2/LaJxjNFtefdx3LWcpVP68MfNEFfNVSje2u\nfTSDaWeNI3Cq7sia2DAIDHS5GTagH+IS4xS4yaYyLBEWo7V1mChoX3mRtI8G\nV2jqmR+dltzdNKfKCQAsm+bfqAvFOg5rKg6D/OuDuwqsB8D2kGOrGKB85vQl\nAmDx\r\n=QxH9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"0e6d3f95ba897b616bfad40c69a28c256263152c","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.5.2","prettier":"^2.2.1","typescript":"^4.2.2","@babel/core":"^7.13.1","@types/jest":"^26.0.20"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.4.0_1614379332441_0.6119404782661726","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"ts-guardian","version":"1.4.1","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.4.1","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"91f447ef2f8a98763f671144e5ca0ba9391d14a0","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.4.1.tgz","fileCount":6,"integrity":"sha512-VkMePMpYPuO5sASP/RmRLIqUl08QDR12Jd4VUPXZ/IQGvNhJ6XtFCx08XA5dJegaX++dIVsTYpoaYPuiJZ5vDQ==","signatures":[{"sig":"MEUCIQDJ63mVHgvXKi6Gd1n83Q3yJk7FOWw6l9/+lGGAVbObNQIgWr9mPiMBshEjJiEmQCfV/cRuRSouK9YRTiULM/5ncAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSoxhCRA9TVsSAnZWagAAV7oQAKFgmTg65vrzD7+k78Tb\nQgXNxkXurQZNhIqTidPPo+os6k/dNsGY01Trb5yIkX0D6rMR2b4jmWcFxLl6\nI7mWHe6e0toPDOXBhKYwv27O/vGgK7HyYWzmBkRbO9yu9pyRxE0+89yOxLYs\nK0t9k53gR961Gb2VKnafiJEdUN0MCPh4EDdlMELYOe+mgRDoaZeOtHJLZhl6\nqsr2+XWpja375B31MAqc+4bEzlqaMOx86d19JGL+Hs1941Q/atJF/CaeCM6L\nw1w3mIGtIJ+XAwGlea8RNcVet+iWRd2EHx02qpHdUbTG+N1TwTUYwzyyHwu+\nz6aU+/aH7S6ZuQ38iKTri6P3ahD/i9Yri9oc4+fG44yBEQ0hw5kegXKJCNMx\nZL9aLFeKp3NEmYNXw7GxmiZzfMJAF3K64WEvGqmhKRgee0xUJHJtkMGwh5cP\n3ufyACS7lFhFTpOK/TAYWgROx+YKjrV1fa7qEnPViP3sXE3ZfKJpUTeJUvVA\n+k5yYXj9dy93c9YIor1bKi2EXMFAjHoCySeGRPdu5gx1YeD1BU46gaL/dpCK\nLOwqsQ9FxPx/mg230c1F0LOuSbg7SwshLWhEiylZSxXlY41+psJGrDQEP58o\n++/yApgOADml+GVmfRQrSupm12gm8o9PIO79JOu/WqRBk3Uy9x3rkaWp2KO+\nVDUW\r\n=bjbs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"54e19a16f8ee2b9fde68139f72814bde28242468","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"6.14.8","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.5.2","prettier":"^2.2.1","typescript":"^4.2.2","@babel/core":"^7.13.1","@types/jest":"^26.0.20"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.4.1_1615498337297_0.4428871584360523","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"ts-guardian","version":"1.5.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.5.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"da5bc940f30d0027997b76f28e30e58c7967eef7","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.5.0.tgz","fileCount":5,"integrity":"sha512-eEgcQWMW+vPmCU3AbttCXf4vaDI800IYebGiowecYukBpBKMPnL0fsWOzUMjuxszjlYGzY+bIaw1r29+ZeOrXA==","signatures":[{"sig":"MEQCIAKa1EZAyKXroaTaiFSxehWcygocoh3ux5waZLe+Q4/7AiAhjlwHU1SGDKgRLc293cRw6mTCE+TUw/ZimeAof0EI6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHxYDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrI5g/+IevshJspKmiprJR9sR35CIaLhw812t5NPqpQ1AMh42h2gQmL\r\nRZLGHKrxGFqYAEvltAXkcJS6XAbF8/DHoglNXOcdjx8t87hwOUo8sTZms8hE\r\nG3fwENuvSaH8KClblRqA3fwnF/yrY59XCap+tP4AVegkCZhSqIxr8XW7pZPq\r\nRgvzv3Usjn7jazTp2dEEQhm+o6MXgC+PnplpolhPJjCa3Aa/CgsLM04sjYcM\r\nfNeZSyttFUFpbocw5rULtLF1BmUIh/jh0BAKN2hslmPyiqp2+sZHadctfk1p\r\nkXKGmcOcYkxGXdxGkzbma26Vz41xMGufZ8UDuz1T2DnGvI49BqLqoMwg9PSB\r\nxEfQhfRrygig4div/4lLBC/E9a2vV3IuTrOPS1Vk1wpHTPLeCwiw2xdJWgRD\r\nivzkZRgYEQUmowzQDI5X46LQ6NoFF+GEiOa7TybqC8NwC8lyZJsfkPxQdXS8\r\n28AHOT42Xiru8ionJ3CrmlRxOSLbxoC+svGJBZaDUhxHA3ZRecg5FQL5/2ZW\r\nLD9OCGQhwSqwSRtim202TscMCJcs+1hBXJOaYER7o/oSlZ830o/nzG/ZrW+L\r\nbQ/8lLlq9Xb2dYohXl7A10eMd8Ug7qCZ6UGXnXA0xALknZxkMwX5X4KaF7+s\r\n/5LQ6ZygBI2Bt7tq0Bam5KI7RlvqyBDZyUA=\r\n=cMHs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"3a0a189583b4c427a5a463fd9c99ce109519b6b6","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"8.1.0","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.5.0_1646204418897_0.19391065024376064","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"ts-guardian","version":"1.6.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.6.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"dbfa51bc4ff2fc029541b48917ba6ff92ae93f96","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.6.0.tgz","fileCount":5,"integrity":"sha512-pNSK2EhHPEsnXM/T9nGGiRKMZJ16tPteVWd8yzD8o36IRbkKYU4Ri3rXm2MVlbF8/NbGNqHrSGF3DerCcxaLkw==","signatures":[{"sig":"MEUCIA/z9nq1+kApYlYJvR3qBe1qRS1J3tcn4mMz0h4SU9h7AiEAuBq+SEjgbpmkoIFzNENz+qqmA3VU6AuPhR6XQyElIQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOCHzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWMg/+PkTf7/dNTzUIMjYfY8iQmDrYraM2GbgDcgX+kl+CDjeP/wH1\r\nbsTXCuaMsuldPFF0lzUaRFRe1kE7wMkA+h/Q3JARg7zBypwQy7bow7LgT+eI\r\nXVGziqSaYm2zl8O1kbtVeXpbl+3tqwbVaBplIjGzamudsBzxCasT+Dbiw6ga\r\nR1R1H3O/0pxIAJ7iQuec/T03SOGuao2kSshKgvybZM4AIe8d2XaIKd1mmeRa\r\nlU94i5bGtzRmAezLM/eZ0twigUrxBDnsudi+1pUnRpNa6UwEgXlp1APsoebG\r\n9FhiX5mrXKTnfxVVbwIaEVLe1BAWYyygWuTkdnhesGqzPZ4p7XRgmD8sxGQa\r\nPiiWtmYZI290KUj4C4chJ8mH6lU5Bj8ZW7qR7dzFqvkrB/qDlQhBQPZXgqiD\r\nkGEiM3dyGkNJKeOHU+y6kARLICATnrn2TUM1y852lPFrhYq+SvO/962GG6Tq\r\n8AAHrm79JnzYR5lCKioawPD77Y1pMTaTnaYIcIPRwn+nsjuXW2wEPuS/XCZw\r\nQI6ARbt272Di9RHnA21t9DM+0Ro76DJSTln6obvIrNypsbEpQOk2QiPveukU\r\nFaGTtzqiWL78ZXeZZRSFrqzt7ei8Ayi/bBjsx6WkfmjwP3ugEI49/JG+SmyC\r\nbjTFUvssa/kAbfh92LXpOIZjW5pf5ghtmQ0=\r\n=r+wi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"680a6cc0e08699773f5c8904cd237c750d3ef339","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"8.1.0","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.6.0_1647845875329_0.7344414935854091","host":"s3://npm-registry-packages"}},"1.6.1":{"name":"ts-guardian","version":"1.6.1","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.6.1","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"596bdf313f3b5eef7c6ef2a047900879699752ef","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.6.1.tgz","fileCount":5,"integrity":"sha512-iwViHCqWcFIFo1U0vJamxtYWrXLygNs9dLI85cdNlUES5WZl/qN6iE5MFlaVVlH2GPTOekeK2IksYk5BqeDj0g==","signatures":[{"sig":"MEYCIQC/kKp49AnsO9oNNFwCDsbK1x7Howm5zLpEG0DpX7J/FwIhAKcbmuMhwc/6SvJ1IrO2LzpNXsFlLetXQ+TaWK43+VHO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOoXGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFYA//drnWMf4M37mtUDr6iqyRUtGnmqCWdOkT1B2BgzXPUn/0nBQK\r\njGLa0WKbbOHoWwaETB5cJXQ+QbJDfaPZkRkcR0WAfC5G59hC3j23pFr3sc9c\r\n54KHKD0wdh/frb2ysn/INmrSuOnJDUlzsNGuw7gLc9Lw16CYZxG68GAZqsOH\r\n6l1ZvEj/EwSLFU3NqRRi7i3l+Aom8G4iV+XA3zzhn4DZi8//7PmSrgjgNOP+\r\nVXr2t4fxH8lZs8xRSKaQUWbtXWSDbP8UqAEt52Khs7tWjsenJoUHx8S1PHXN\r\nFbFfIlR/t4mBWtJa2u8uESMArYnAbc/f3YcByAPMvykgG7cDzQKv3KErRIHT\r\nWWPEQFS7bhF1eaWzW8zZYG+j7/yaAUifdMQDK+cOHzCh1+EWI+AqhDvxmC3G\r\nrytaaE7yV2T/BlvmvJ8MB1NaPg7XmXgqOiHfNz7IWZFRbGZ5PP46iXlI8D3K\r\nMIjxUSqU9BFFKs5MTDfTKR0EhpEj2bH4ICi50zFHurwgLuVY/lSQPz04yZV0\r\nTYUapereOsTemVMhqke3EpTi7ggQGKPcT3zgNP7ez/iwTi9B7zfNBSD1r3Ou\r\nWAzTdlkJfHO9pWk0wxCTDBl4G9Bi2jSVScVCFHAqpK6m1XIfyvEnC1veo0I7\r\nWALlBFbfKIaq8g87kSmbpka8qQozkCvo8zo=\r\n=0IZ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"c76714b7239eb9a080d7c724679979289aecc249","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"8.1.0","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.6.1_1648002501906_0.9958139012635241","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"ts-guardian","version":"1.7.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.7.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"e5b7c010fff93988d4362d5c9b9621c266495a2f","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.7.0.tgz","fileCount":5,"integrity":"sha512-Q3qTxBZKOsyp7euZfdNfaplQuYSrmDZgSNxHJt8CS3Qswcyb909/qRkKNXKioa4cF2TG0nnAK8MxxrACC56YfA==","signatures":[{"sig":"MEQCIGUniOCbJoLYrTolBIsyf9nNSQP4d2W65fhjNld0TzznAiBiE5bUFjymNblzFk9zpXBYByWNiifTftYBjunOdoKJLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixRGSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqy1BAAh4Rpz2NG56v0lpjzOjr5nZlzj6i1QHOiX9wFP29TF7Xz2iuK\r\ny+wLWu4XKUQQOk5HcR/JdOwMQt92VdWJWZ1f0stU1pp20PYNR72lSCVq0iAU\r\nEXn/CeXHKMsKnKMeW6iqqy/AXGSKlq0Q2f/EI4HuuuH0wffb8ugumFfoNZH9\r\n8a0icPgdGg0KpB4eqk8ohth9ncZsjnISsyptBCvXI+erxwvkOtOAm9INjHkH\r\nrSxLtRXLnTOb+9xmmcPGDqwRn2q53YyWi+vf0JSm50IcDcGqU0mNWzEvYSk/\r\nnoet0Ib1Yr9g1yGvdI57YyxcpRfbxVt8wdNuqK0dHdBEL62Mo8tPHlwlqyb2\r\n0GjfH1oNGvH/xVwF+T4vnzhyAYPW194RHXLhpcbtncYrfMX62Vk86vZvwwy+\r\nsqaS0xy55r8f7dj7E93v9wYRGHbmsHofqs0OVPqT30am8dC04p+9ZWAnYVVG\r\nyRdFFiuHoBknWs+5/qz4AqI6WPSsNtBUU5tqbg/CoOT0t3mJS+w5e5zB1Car\r\nO63UWBgn8eqGfdjsYJHaOYyVDVIb77k5nAmPoNJuiWiFNap5F4A1vDBv6Tig\r\nSA++z9/ZPYIBIIhxFtALZ/xbqKGopaOdbx8qATwmcDbrWhOHySJtMDzv7aRR\r\naIMjkF0CR9TDAOtDIlAqyEqwExyOaggyBDk=\r\n=S87d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"3edf3c44386f00998368b5d5cc420282fbdae7d3","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"8.1.0","description":"Functional, composable, reliable type guards","directories":{},"sideEffects":false,"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.7.0_1657082258523_0.88749468944828","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"ts-guardian","version":"1.8.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.8.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"001224aeaa07df11baf1a03e860843f31789605c","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.8.0.tgz","fileCount":5,"integrity":"sha512-TsxzP7nfJHAvCvTYR7yE0205GjM7jk0DRqvVjOeea6a0OoY9+WBEfsagL1ehBd0mjdu5uRPmo43TMK7b2zS9sQ==","signatures":[{"sig":"MEQCIH1taP6cZSOhmgf8VNRnl6FGSaBsHDsI6Cqs7Q2UOqk6AiAc50nwWKpXXP0wy6O1tfyKXFgphPmUn0yBsejfGwwVjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixiqOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr46Q/+OA1Kcobi82HNLj6eEdO+MrA1eCNU58kHfrzrcXRpgzhew0mJ\r\n11+WrXPlhZob2KLR8f51L7CGXBvJcF+Tc/qycwjs8HvTW+qb4sg5EtFpSt/V\r\ni6vRUUNV45ePihIkgXdUnoOPSb28ec0hfWEw3PcSyy0mR+spDsswAtuFzquP\r\nXT88R12NPw84WsOvZirQwGd5RfMm4P55AboklJdMbyLcawoXpHdxPlNB0nZj\r\nQmGI/fZDsI+OG/A6BUN1cStkEnB2LTvJ0oOHIXBo7MKidUpKNMdSQHx0JMaE\r\nwpdsjwCgiOcB8b1Db75ir6T4j4vY/ve10zvN1tQJ3PEaadnbHwxTBnb0vXvr\r\npSB3yDpy+iHQbETeMD/Kj3nnsGPxFNhMx1PmRu6+Doj065D9qQsEOFeY0IFF\r\nGKyIcJaKTYdbd49YrBAOnTPHWiIDkPHAxHVtJ4BgDCwm/WXxGb5VARQnkyOE\r\nWJ2J272qMoUnK0ohRBMfdaMiwK5PHybFWA5U+uZwyAMTuxsCSoWPXWVt/nA9\r\nlohcsIr1Gvusm+eN2het5DSLLPJgwtI0da9NtRzCmn9UdhuTrk0Si3HzIxq3\r\nzE8VirHluHD6YlVO16JH5SmNCVnKI9Uu6loyIa5rR4MgzpVgN6SLHe8ShWVw\r\n7B+y+LWOZAXxl+FAZV2XGngh2zBP8yfo4Fo=\r\n=gK7i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"8549665f767b4ee257cc48da4c75fc58a4ee0d4b","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"yarn build","prepublishOnly":"yarn format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"8.1.0","description":"Declarative, composable type guards","directories":{},"sideEffects":false,"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.8.0_1657154190201_0.11677726629034013","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"ts-guardian","version":"1.9.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.9.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"6b351601c0ff1296d3a7a72efdfd3486d939ee0f","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.9.0.tgz","fileCount":5,"integrity":"sha512-CXvt4XvMn5gjujqS7uOghtxAZ6K/6peYOxDUYm0mqa3Y0TQyuvw05ppKLTGoi21KKTWbVRVCFnCDTodT7ApQRQ==","signatures":[{"sig":"MEQCIExlRlPWZ4+Aku3+PfD/OZBnZ9GRbBoxC+zxWy+xYPlaAiAVkLiZb9GPw+aqlkhV6d9KgcA0Lp/3xQ5IBixbzytOqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34701},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"b41335d153750e68ac1dc43a095399b5bf2a387a","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"npm run build","prepublishOnly":"npm run format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"10.9.2","description":"Declarative, composable type guards","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.9.0_1745344820109_0.2201628357877654","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"ts-guardian","version":"1.9.1","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.9.1","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"2cc43b31a6f2db3ff46edb13efffd85ca3bd8d77","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.9.1.tgz","fileCount":5,"integrity":"sha512-9Y5txeCBtrg9Tqlk5gOULotstBOUsnBGVhHrABi6q/ykazREt35krNS3LyAnL99tFKEc81+w/MagUuxG61QTHg==","signatures":[{"sig":"MEYCIQCIecGdUwCHd7fmP+rReldsmHsxAlvvKGOg7ZCSSifRpQIhAImb4psJ5LtshndCAwQsVPLtklXtJz7bX9EKP6hRKrqt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34759},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"d89823c701eb25963bebef611e4ecdfb87847745","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"npm run build","prepublishOnly":"npm run format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"10.9.2","description":"Declarative, composable type guards","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.9.1_1745380830793_0.11627844631848028","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"ts-guardian","version":"1.10.0","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","_id":"ts-guardian@1.10.0","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"homepage":"https://github.com/jmadelaine/ts-guardian#readme","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"dist":{"shasum":"18e2d478e09bc69f9b543888ba4f812359c17970","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.10.0.tgz","fileCount":5,"integrity":"sha512-gLbYCUMlTs5MOiExdUGdA6YZOXjYT6UhQLvS4aeZ8BVgz9ry+jGKyNucW/Sica/rvn9wSqABMPZinrTVQZ3R6g==","signatures":[{"sig":"MEYCIQC7eDhJ1eYnR8xgxuuiwftbW7Gm1jeYkoAfyPIzokOUXgIhAMNhKNMHJu7uY1cHcsFfHDRDCm5ETs7MiawgN+c4/pFK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33748},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"7ed6687c61cb50a9b9bb9eb30519307fe94daa23","scripts":{"test":"jest --config jestconfig.json --watch","build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"npm run build","prepublishOnly":"npm run format"},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"repository":{"url":"git+https://github.com/jmadelaine/ts-guardian.git","type":"git"},"_npmVersion":"10.9.2","description":"Declarative, composable type guards","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","ts-jest":"^27.1.3","prettier":"^2.5.1","typescript":"^4.6.2","@babel/core":"^7.17.5","@types/jest":"^27.4.1"},"_npmOperationalInternal":{"tmp":"tmp/ts-guardian_1.10.0_1745476018765_0.740168408331985","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"ts-guardian","version":"1.11.0","description":"Declarative, composable type guards","main":"lib/index.js","types":"lib/index.d.ts","sideEffects":false,"scripts":{"build":"tsc","format":"prettier --write \"src/**/*.tsx\"","prepare":"npm run build","prepublishOnly":"npm run format","test":"jest --config jestconfig.json --watch"},"keywords":["type","predicate","typescript","guard","guards","functional","composable"],"author":{"name":"Jonathan Madelaine"},"license":"MIT","devDependencies":{"@babel/core":"^7.17.5","@types/jest":"^27.4.1","jest":"^27.5.1","prettier":"^2.5.1","ts-jest":"^27.1.3","typescript":"^4.6.2"},"repository":{"type":"git","url":"git+https://github.com/jmadelaine/ts-guardian.git"},"_id":"ts-guardian@1.11.0","gitHead":"64914288c240d8805fda6e1309cb84ac63210df4","bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"homepage":"https://github.com/jmadelaine/ts-guardian#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gQSh4OvjBGFUrOSVtYdAugBp3FHn8duC7OJgTJfpDd0//lfiVwDpjE0uLqIB7KZ5XP7gjq7BfpmjO18rFp9VPg==","shasum":"c601ba82d3f066c434bd2b59c12d08842f913efb","tarball":"https://registry.npmjs.org/ts-guardian/-/ts-guardian-1.11.0.tgz","fileCount":5,"unpackedSize":34959,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIApLrd6yRzOA7yxby4YIi59/DAc1fFrTNyQibctZ1lYhAiEAjxt3tW3NQaBMknKZzdxC9Uwl/FEmpKgoUcAjX8RUjok="}]},"_npmUser":{"name":"jmadelaine","email":"jmadelaine91@gmail.com"},"directories":{},"maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ts-guardian_1.11.0_1745490647619_0.1938467169878353"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-22T22:02:56.249Z","modified":"2025-04-24T10:30:47.995Z","0.0.1":"2020-11-22T22:02:56.397Z","0.0.2":"2020-11-23T04:44:19.690Z","0.0.3":"2020-11-23T04:45:36.299Z","0.0.4":"2020-11-24T12:41:37.878Z","0.0.5":"2020-11-25T04:31:10.750Z","0.0.6":"2020-11-25T09:23:34.749Z","0.0.7":"2020-11-26T09:50:24.177Z","0.0.8":"2020-12-07T05:40:35.227Z","0.0.9":"2020-12-08T02:47:21.300Z","0.0.10":"2020-12-16T09:18:13.897Z","1.0.0":"2020-12-16T09:20:55.757Z","1.1.0":"2020-12-17T08:48:00.755Z","1.1.1":"2020-12-17T08:58:19.002Z","1.1.2":"2020-12-18T03:36:19.701Z","1.1.3":"2020-12-21T21:59:58.163Z","1.2.0":"2020-12-27T04:37:49.804Z","1.3.0":"2021-02-06T21:53:46.622Z","1.4.0":"2021-02-26T22:42:12.577Z","1.4.1":"2021-03-11T21:32:17.561Z","1.5.0":"2022-03-02T07:00:19.238Z","1.6.0":"2022-03-21T06:57:55.473Z","1.6.1":"2022-03-23T02:28:22.040Z","1.7.0":"2022-07-06T04:37:38.725Z","1.8.0":"2022-07-07T00:36:30.452Z","1.9.0":"2025-04-22T18:00:20.342Z","1.9.1":"2025-04-23T04:00:30.962Z","1.10.0":"2025-04-24T06:26:58.967Z","1.11.0":"2025-04-24T10:30:47.814Z"},"bugs":{"url":"https://github.com/jmadelaine/ts-guardian/issues"},"author":{"name":"Jonathan Madelaine"},"license":"MIT","homepage":"https://github.com/jmadelaine/ts-guardian#readme","keywords":["type","predicate","typescript","guard","guards","functional","composable"],"repository":{"type":"git","url":"git+https://github.com/jmadelaine/ts-guardian.git"},"description":"Declarative, composable type guards","maintainers":[{"name":"jmadelaine","email":"jmadelaine91@gmail.com"}],"readme":"[![MIT license][license-badge]][license]\n[![NPM version][npm-badge]][npm]\n\n# ts-guardian\n\n**Runtime type guards. Composable, TypeScript-like syntax. 100% type-safe.**\n\nFull TypeScript support _(TypeScript not required)_.\n\n<br />\n\n### Type guards?\n\nType guards let you check whether a value matches a type at runtime.\n`ts-guardian` makes them composable, readable, and type-safe — no more verbose checks or unsafe assertions.\n\nIf you're working with API responses, optional object members, or unknown values, `ts-guardian` will help you out.\n\n<br />\n\n## Installation\n\n```\nnpm install ts-guardian\n```\n\n<br />\n\n## Quick Start\n\nImport the `is` function and create a type-guard, such as `isUser`. Use that type-guard to confirm objects match the type:\n\n```ts\nimport { is } from 'ts-guardian'\n\nconst isUser = is({\n  id: 'number',\n  name: 'string',\n  email: 'string?',\n  teamIds: 'number[]',\n})\n\nisUser({ id: 1, name: 'John', teamIds: [2, 3] }) // true\n```\n\n<br />\n\n### Core principles\n\n- **Minimal and declarative syntax** improves readability.\n- **Composable type guards** mimick the way types are constructed.\n- **100% type-safety** means no assumptions, [type assertions, or inaccurate type predicates](#type-safe-type-guards).\n\n<br />\n\n## API\n\n- [`is` function](#is-function)\n- [Basic types](#basic-types)\n- [Union types](#union-types)\n- [Intersection types](#intersection-types)\n- [Literal types](#literal-types)\n- [Array types](#array-types)\n- [Object types](#object-types)\n- [Tuple types](#tuple-types)\n- [Instance types](#instance-types)\n- [Optional and nullable types](#optional-and-nullable-types)\n- [Parsing to user-defined types](#parsing-to-user-defined-types)\n- [Composition](#composition)\n- [Throwing](#throwing)\n\n<br />\n\n### `is` function\n\n```ts\nimport { is } from 'ts-guardian'\n```\n\nThe main tool to create type guards. The `is` function takes a parameter that defines a type, and returns a guard for that type:\n\n```ts\nconst isNumber = is('number') // guard for 'number'\nisNumber(0) // true\nisNumber('') // false\n```\n\n<br />\n\n### Basic types\n\nPass a type string to create guards for basic types:\n\n```ts\nconst isBoolean = is('boolean') // guard for 'boolean'\nconst isNull = is('null') // guard for 'null'\n```\n\nAll basic type strings:\n\n| String        | Type        | Equivalent type check           |\n| ------------- | ----------- | ------------------------------- |\n| `'any'`       | `any`       | `true` (matches anything)       |\n| `'boolean'`   | `boolean`   | `typeof <value> === 'boolean'`  |\n| `'bigint'`    | `bigint`    | `typeof <value> === 'bigint'`   |\n| `'function'`  | `Function`  | `typeof <value> === 'function'` |\n| `'null'`      | `null`      | `<value> === null`              |\n| `'number'`    | `number`    | `typeof <value> === 'number'`   |\n| `'object'`    | `object`    | `typeof <value> === 'object'`   |\n| `'string'`    | `string`    | `typeof <value> === 'string'`   |\n| `'symbol'`    | `symbol`    | `typeof <value> === 'symbol'`   |\n| `'undefined'` | `undefined` | `<value> === undefined`         |\n| `'unknown'`   | `unknown`   | `true` (matches anything)       |\n\n> Basic guards will return false for objects created with constructors. For example, `is('string')(new String())` returns `false`. Use [`isInstanceOf`](#instance-types) instead.\n\n<br />\n\n### Union types\n\nEvery guard has an `or` method with the same signature as `is`. You can use `or` to create union types:\n\n```ts\nconst isStringOrNumber = is('string').or('number') // guard for 'string | number'\nisStringOrNumber('') // true\nisStringOrNumber(0) // true\nisStringOrNumber(true) // false\n```\n\n<br />\n\n### Literal types\n\nPass a `number`, `string`, or `boolean` to the `isLiterally` function and the `orLiterally` method to create guards for literal types. You can also pass multiple arguments to create literal union type guards:\n\n```ts\nimport { isLiterally } from 'ts-guardian'\n\nconst isCat = isLiterally('cat') // guard for '\"cat\"'\nconst is5 = isLiterally(5) // guard for '5'\nconst isTrue = isLiterally(true) // guard for 'true'\nconst isCatOr5 = isLiterally('cat').orLiterally(5) // guard for '\"cat\" | 5'\nconst isCatOr5OrTrue = isLiterally('cat', 5, true) // guard for '\"cat\" | 5 | true'\n```\n\n<br />\n\n### Array types\n\nTo check that every element in an array is of a specific type, use the `isArrayOf` function and the `orArrayOf` method:\n\n```ts\nimport { is, isArrayOf } from 'ts-guardian'\n\nconst isStrArr = isArrayOf('string') // guard for 'string[]'\nconst isStrOrNumArr = isArrayOf(is('string').or('number')) // guard for '(string | number)[]'\nconst isStrArrOrNumArr = isArrayOf('string').orArrayOf('number') // guard for 'string[] | number[]'\n```\n\n> Note the difference between `isStrOrNumArr` which is a guard for `(string | number)[]`, and `isStrArrOrNumArr` which is a guard for `string[] | number[]`.\n\nFor basic array types, you can simply pass a string to the `is` function instead of using `isArrayOf`:\n\n```ts\nimport { is } from 'ts-guardian'\n\nconst isStrArr = is('string[]') // guard for 'string[]'\nconst isStrArrOrNumArr = is('string[]').or('number[]') // guard for 'string[] | number[]'\n```\n\n<br />\n\n### Record types\n\nTo check that every value in an object is of a specific type, use the `isRecordOf` function and the `orRecordOf` method:\n\n```ts\nimport { is, isRecordOf } from 'ts-guardian'\n\nconst isStrRecord = isRecordOf('string') // guard for 'Record<PropertyKey, string>'\nconst isStrOrNumRecord = isRecordOf(is('string').or('number')) // guard for 'Record<PropertyKey, string | number>'\nconst isStrRecordOrNumRecord = isRecordOf('string').orRecordOf('number') // guard for 'Record<PropertyKey, string> | Record<PropertyKey, number>'\n```\n\n<br />\n\n### Tuple types\n\nGuards for tuples are defined by passing a tuple to `is`:\n\n```ts\nconst isStrNumTuple = is(['string', 'number']) // guard for '[string, number]'\nisStrNumTuple(['high']) // false\nisStrNumTuple(['high', 5]) // true\n```\n\nGuards for nested tuples can be defined by nesting tuple guards inside tuple guards:\n\n```ts\nconst isStrAndNumNumTupleTuple = is(['string', is(['number', 'number'])]) // guard for '['string', [number, number]]'\n```\n\n<br />\n\n### Object types\n\nUse `is({})` to check for any non-null object. Avoid `is('object')` as it matches null:\n\n```ts\nconst isObject = is({}) // guard for '{}'\nisObject({ some: 'prop' }) // true\nisObject(null) // false\n```\n\nTo create a guard for an object with specific members, define a guard for each member key:\n\n```ts\nconst hasAge = is({ age: 'number' }) // guard for '{ age: number; }'\nhasAge({ name: 'John' }) // false\nhasAge({ name: 'John', age: 40 }) // true\n```\n\n<br />\n\n### Intersection types\n\nEvery type guard has an `and` method which has the same signature as `or`. Use `and` to create intersection types:\n\n```ts\nconst hasXOrY = is({ x: 'any' }).or({ y: 'any' }) // guard for '{ x: any; } | { y: any; }'\nhasXOrY({ x: '' }) // true\nhasXOrY({ y: '' }) // true\nhasXOrY({ x: '', y: '' }) // true\n\nconst hasXAndY = is({ x: 'any' }).and({ y: 'any' }) // guard for '{ x: any; } & { y: any; }'\nhasXAndY({ x: '' }) // false\nhasXAndY({ y: '' }) // false\nhasXAndY({ x: '', y: '' }) // true\n```\n\n<br />\n\n### Instance types\n\nGuards for object instances are defined by passing a constructor object to the `isInstanceOf` function and the `orInstanceOf` method:\n\n```ts\nconst isDate = isInstanceOf(Date) // guard for 'Date'\nisDate(new Date()) // true\n\nconst isRegExpOrUndefined = is('undefined').orInstanceOf(RegExp) // guard for 'undefined | RegExp'\nisRegExpOrUndefined(/./) // true\nisRegExpOrUndefined(new RegExp('.')) // true\nisRegExpOrUndefined(undefined) // true\n```\n\nThis works with user-defined classes too:\n\n```ts\nclass Person {\n  name: string\n  constructor(name: string) {\n    this.name = name\n  }\n}\n\nconst john = new Person('John')\nconst isPerson = isInstanceOf(Person) // guard for 'Person'\nisPerson(john) // true\n```\n\n<br />\n\n### Optional and nullable types\n\nUse `isOptional`, `isNullable`, and `isNullish` to quickly create guards for optional and nullable types:\n\n```ts\nimport { isOptional, isNullable, isNullish } from 'ts-guardian'\n\nconst isOptionalNumber = isOptional('number') // guard for 'number | undefined'\nconst isNullableNumber = isNullable('number') // guard for 'number | null'\nconst isNullishNumber = isNullish('number') // guard for 'number | null | undefined'\n```\n\nFor optional basic types, you can simply pass a string to the `is` function instead of using `isOptional`:\n\n```ts\nimport { is } from 'ts-guardian'\n\nconst isOptionalString = is('string?') // guard for 'string | undefined'\nconst isOptionalNumberArray = is('number[]?') // guard for 'number[] | undefined'\n```\n\n<br />\n\n### Parsing to user-defined types\n\nConsider the following type and its guard:\n\n```ts\ntype Book = {\n  title: string\n  author: string\n}\n\nconst isBook = is({\n  title: 'string',\n  author: 'string',\n})\n```\n\nIf `isBook` returns `true` for a value, that value will be typed as:\n\n```ts\n{\n  title: string\n  author: string\n}\n```\n\nIdeally, we want to type the value as `Book`, while [avoiding type assertions and user-defined type predicates](#type-safe-type-guards).\n\nOne way is with a parse function that utilizes TypeScript's implicit casting:\n\n```ts\nconst parseBook = (input: any): Book | undefined => {\n  return isBook(input) ? input : undefined\n}\n```\n\nTypeScript will complain if the type predicate returned from `isBook` is not compatible with the `Book` type. This function is type-safe, but defining it is tedious.\n\nInstead, you can use the `parserFor` function:\n\n```ts\nimport { parserFor } from 'ts-guardian'\n\nconst parseBook = parserFor<Book>(isBook)\n```\n\nThe `parserFor` function takes a guard, and returns a function you can use to parse values.\n\nThis function acts in the same way as the previous `parseBook` function. It takes a value and passes it to the guard. If the guard matches, it returns the value typed as the supplied user-defined type. If the guard does not match, the function returns `undefined`:\n\n```ts\nconst book = {\n  title: 'Odyssey',\n  author: 'Homer',\n}\n\nconst film = {\n  title: 'Psycho',\n  director: 'Alfred Hitchcock',\n}\n\nparseBook(book) // book as type 'Book'\nparseBook(film) // undefined\n```\n\nThe `parserFor` function is type-safe. TypeScript will complain if you try to create a parser for a user-defined type that isn't compatible with the supplied type guard:\n\n```ts\nconst parseBook = parserFor<Book>(isBook) // Fine\nconst parseBook = parserFor<Book>(isString) // TypeScript error - type 'string' is not assignable to type 'Book'\n```\n\n<br />\n\n### Composition\n\nGuards can be composed from existing guards:\n\n```ts\nconst isString = is('string') // guard for 'string'\nconst isStringOrNumber = isString.or('number') // guard for 'string | number'\n```\n\nYou can even pass guards into `or`:\n\n```ts\nconst isStrOrNum = is('string').or('number') // guard for 'string | number'\nconst isNullOrUndef = is('null').or('undefined') // guard for 'null | undefined'\n// guard for 'string | number | null | undefined'\nconst isStrOrNumOrNullOrUndef = isStrOrNum.or(isNullOrUndef)\n```\n\n<br />\n\n### Throwing\n\nUse the `requireThat` function to throw an error if a value does not match a guard:\n\n```ts\nimport { is, requireThat } from 'ts-guardian'\n\nconst value = getSomeUnknownValue()\n// Throws an error if type of value is not 'string'\n// Error message: Type of '<value>' does not match type guard.\nrequireThat(value, is('string'))\n// Otherwise, type of value is 'string'\nvalue.toUpperCase()\n```\n\nYou can optionally pass an error message to `requireThat`:\n\n```ts\nimport { isUser } from '../myTypeGuards/isUser'\n\nrequireThat(value, isUser, 'Value is not a user!')\n```\n\n<br />\n\n## Type-safe type guards\n\nConsider the following problem:\n\nYou fetch data from an API. How do you ensure it's a valid User before using it?\n\nThe `User` type:\n\n```ts\ntype User = {\n  id: number\n  name: string\n  email?: string\n  phone?: {\n    primary?: string\n    secondary?: string\n  }\n  teamIds: string[]\n}\n```\n\n### Solution 1 - User-defined type guards 👎\n\nWith TypeScript's [user-defined type guards][user-defined-type-guards], you could write an `isUser` function to confirm the value is of type `User`. It might look something like this:\n\n```ts\nconst isUser = (input: any): input is User => {\n  const u = input as User\n  return (\n    typeof u === 'object' &&\n    u !== null &&\n    typeof u.id === 'number' &&\n    typeof u.name === 'string' &&\n    (typeof u.email === 'string' || u.email === undefined) &&\n    ((typeof u.phone === 'object' &&\n      u.phone !== null &&\n      (typeof u.phone.primary === 'string' || u.phone.primary === undefined) &&\n      (typeof u.phone.secondary === 'string' || u.phone.secondary === undefined)) ||\n      u.phone === undefined) &&\n    Array.isArray(u.teamIds) &&\n    u.teamIds.every(teamId => typeof teamId === 'string')\n  )\n}\n```\n\nHard to read, but it works. However, you could also write:\n\n```ts\nconst isUser = (input: any): input is User => {\n  return typeof input === 'object'\n}\n```\n\nClearly this function is not enough to confirm that `input` is of type `User`, but TypeScript doesn't complain because _type predicates are effectively type assertions._\n\nUsing type predicates means you potentially lose type safety and introduce **runtime errors** into your app.\n\n### Solution 2 - Primitive-based type guards 👍\n\nRather than making assumptions about the value, you define a **primitive-based type** of what a `User` object looks like, and rely on TypeScript to determine compatibility with the `User` type:\n\n> A _primitive-based type_ is a type constructed from only primitive TypeScript types (`string`, `number`, `undefined`, `any`, etc...).\n\n```ts\nimport { is, isOptional } from 'ts-guardian'\n\n// We make no assumptions that the data is a user-defined type\nconst isUser = is({\n  id: 'number',\n  name: 'string',\n  email: 'string?',\n  phone: isOptional({\n    primary: 'string?',\n    secondary: 'string?',\n  }),\n  teamIds: 'string[]',\n})\n```\n\nThis is much more readable, and more importantly, it's 100% type-safe.\n\nIn this case, the type predicate looks like:\n\n```ts\n// Type predicate for our primitive-based type\ninput is {\n    id: number\n    name: string\n    email: string | undefined\n    phone: {\n        primary: string | undefined\n        secondary: string | undefined\n    } | undefined\n    teamIds: string[]\n}\n```\n\nNow TypeScript will tell you if this type is compatible with `User`:\n\n```ts\n// TypeScript complains if the primitive-based type is not compatible with 'User'\nconst parseUser = parserFor<User>(isUser)\n```\n\nIf the type from `isUser` is not compatible with the `User`, a TypeScript compiler error will let you know. 🎉\n\n<br />\n\n[license-badge]: https://img.shields.io/badge/license-MIT-informational.svg\n[license]: license.md\n[npm]: https://npmjs.org/package/ts-guardian\n[npm-badge]: https://badge.fury.io/js/ts-guardian.svg\n[user-defined-type-guards]: https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards\n[typescript]: https://www.typescriptlang.org/docs\n[functional-programming]: https://en.wikipedia.org/wiki/Functional_programming\n","readmeFilename":"README.md"}