{"_id":"ts-type-guards","_rev":"17-c45b416abe994ce18e60bb269cc56590","name":"ts-type-guards","description":"Curried TypeScript type guards for primitive types and classes","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.2":{"name":"ts-type-guards","version":"0.1.2","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/ts-type-guards.js","scripts":{"build":"tsc -p .","release":"npm run build && npm version patch && git push --tags && npm publish"},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"21a5d60fef74bd2227a49c3e4240b92ed8c30e51","_id":"ts-type-guards@0.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"integrity":"sha512-5O9OIM4XMouNwIAhOMnEwiVENI1BYQ1tEa+pFmLzte+jTI9+O8bQC3j6YJaGGQZj2HEHUdOrXiY7tlotenaGdw==","shasum":"5a5b6da37d026b87cf1e05e126c19415be584bc1","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4FjN2TyX21cRJs43fCA+j01Q9uR1eHiQVRIc58BKRLwIgeQqV8jHps51Rm/k4PF8Ue9sSK2EI8CU6SmWhaGScVPo="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards-0.1.2.tgz_1509907483490_0.4288476500660181"},"directories":{}},"0.1.3":{"name":"ts-type-guards","version":"0.1.3","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"53a5d59ffdfd80de76428d9c39a7830b972707b8","_id":"ts-type-guards@0.1.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"integrity":"sha512-Ei6CFR7ifyTHilZn60WFQbhgm39TWwOGiLiyyfMRm/2yIAkgQoQwRpUJvgEarblzBeCGeIUa8JTR/xJZZJNIhg==","shasum":"a469dce504464f2ed8cc72335101cba87cce93d1","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAI7XZwdA+4CJVcXCjQKSETlufETFHfkd04f+gfy/VawIhAN5cDD2TAY6Pz4JSrb+znTJS+mwegvRM48/RGAW3MRnB"}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards-0.1.3.tgz_1509908175815_0.1339519089087844"},"directories":{}},"0.1.4":{"name":"ts-type-guards","version":"0.1.4","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"fd25ca7e9cdbe404bf6ecd629f13ff1b93bd3323","_id":"ts-type-guards@0.1.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"integrity":"sha512-c+IZ1X15SEWietRsP/f5GEs/h9JwBsElVCFdKKUp0/eXgQ+9vE4KEjxMpwk2HZQBINGwA77TbRZl18O3KXWYUQ==","shasum":"a3d52671f55c50742f40b18aece5f3ec1dd35ef4","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfQnIzg9o5UZE6uXrmsk/DguQGjHd8IEo4eRSLdhCBtAiADjh0jWTU60sw6t8/2YzZewx45RTyFs/wSKtnBe9EUJg=="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards-0.1.4.tgz_1509908218296_0.19857790530659258"},"directories":{}},"0.1.5":{"name":"ts-type-guards","version":"0.1.5","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"27e93d2dcf86990ab567ae0a57aedc27e3f0ad9b","_id":"ts-type-guards@0.1.5","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"integrity":"sha512-qCcchSQQaAyyDRaD3tZH2A4mNlnXSj1H+cZATSmaCrmA1XXR8rySX5H9E6XJohRKCT6Zey6btnV+JzUn8ViVVQ==","shasum":"f17ea2ab607ff4fd0942ae7dc1343bcfd8e3a82b","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVzjVsgv876dVi32kvP1x0lC7LvEzvsTzkwflgwEjacAiEAubCQqi0p1CNAmpmhKWcIrI4VIMjS2bQnt0/vVQefskY="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards-0.1.5.tgz_1509909066896_0.7839097448159009"},"directories":{}},"0.2.0":{"name":"ts-type-guards","version":"0.2.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"d5031ad5908783a5037ff7597c8264fcaa88601a","_id":"ts-type-guards@0.2.0","_shasum":"89077cd39610bc805c44be4b926ad92251a12b58","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"shasum":"89077cd39610bc805c44be4b926ad92251a12b58","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.2.0.tgz","integrity":"sha512-vQR/L2mlbiD0PWfNB1Xvy0SWNr++gPvrZto9z2gMiI0JUPrem91qGWHTDN9gLv6Yi/XsZe1s7JpBxc69DBQ0WA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzAmQ974ziWO5dtuBoDi0E8vGm4Iu1RZcdZGlsuoaPpwIgTMIKJUgM35O51Ypjqx6qZNSRfhVsZwZ5dKww456tAkU="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards-0.2.0.tgz_1514808929435_0.6458562461193651"},"directories":{}},"0.2.1":{"name":"ts-type-guards","version":"0.2.1","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"d476b8dea9164c02b1efec50244c7f1aaf07177d","_id":"ts-type-guards@0.2.1","_shasum":"5e299fcdcd36a9493b5ef2f59b4f17ad825e4c3e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"shasum":"5e299fcdcd36a9493b5ef2f59b4f17ad825e4c3e","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.2.1.tgz","fileCount":20,"unpackedSize":30146,"integrity":"sha512-EX450SRblLgt9DNjqLT5NU15AZSLnnzbPDEfc7Pt/6n/AIls7lBBocwKRg/aafeaX632KadZ5OvGyTcqlVPLIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM9mbCWu6dJs6ZLtB9VSNuYZ+CB/UpZC7F4NQ1ELm8HgIhALGkP4i+PMhRWjdyziaOiZBfnJOhLwGkRtlniI0qOZji"}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.2.1_1518129717189_0.07205587551190629"},"_hasShrinkwrap":false},"0.2.2":{"name":"ts-type-guards","version":"0.2.2","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"ca810be33bb01b9ed306b773a0d00fd38d6a0be0","_id":"ts-type-guards@0.2.2","_shasum":"5b003714875889b85835fe9659ebc6a95f4e5841","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"alling","email":"alling@dtek.se"},"dist":{"shasum":"5b003714875889b85835fe9659ebc6a95f4e5841","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.2.2.tgz","fileCount":29,"unpackedSize":39234,"integrity":"sha512-7lfpSxVigVV2yR6BS4zQgn1pbWPzyPByahf23r9sL0bvBolW7ielpdx9oqH7TRRuBn7wPdtGnmU08IcKLvJHDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJBM5coONfSjt3LWIqk5HA1lWuW+C4sRBov8nJV3nVmQIgdDqGPcnryv9VK419pbf3vI/y0yVR0ATZ1NwbH7YXIh8="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.2.2_1518164926435_0.8884289679228594"},"_hasShrinkwrap":false},"0.3.0":{"name":"ts-type-guards","version":"0.3.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling@dtek.se","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"07206b46e97def55c61d3bef50fcbe6d451f03a2","_id":"ts-type-guards@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-hBtIhw9/EGyfMrHjFvCo6gQmcXZjUUOd3zHNBNj1bGe8oGh/AxTtRR0Ib1L2cInHZSTDv1oQ64ov9r5XjxQQ8A==","shasum":"bc49318a169c7a6d69dedc6e3df3672c18efcbb8","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.3.0.tgz","fileCount":18,"unpackedSize":23747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP+7FCRA9TVsSAnZWagAAd2UP/idMBHc8LCvLrXnsYrKD\nhiqKlPNnYMkI1ISRufXVA/MwbJBtT/bLNARLciBVGqjTwSv9M66qsDjxbN4h\n6hf4QpWQHgRHfZPcwoIAUhoBYk8nNAO634ReExAckQoe6kVmxDGjPd/PahPf\ndQOWqvysLsdawXO0iHHm3qkLo+Nh9UF17CXRxLKBT2TWrtKnsJObCBSHlbCB\n86o9L9M2p4m6K3Q9oGQkMy1P360XY/ZIyPtiWLgIVzFBXXjv5WgjRtAy1Ztj\nCuLACiHF6SIfd1+vF00cpVhuK3f8zSIh0IQ84rVcTOJoo8+UcHsCO9eEdES2\nKXvgYgOtGTnq6n+BdsSfBfidP9kJLnQahZ3YlGAYep0b4msyJl8/NRU9RSOb\nfesTxQJHp629Mvb1nazGVsWUVtUUIOTtDPJypMNQDG8f2ssPQBOHrYwTrkVg\n0jujmjEChJx16mqbVl11x6A6ipyd5cUWMfCTRypPR6i9+6FsC/jCZRLr2LFd\n8rTDPD30awcqbtj0iT0eg9Vc8ObzVhiuwN6aDQR94ac8rHHHRowPiNIcQjsJ\nGzuoqfxJ7E85OFngIKWkirp/lGvprl/h6wEVrro4KxQiux6It6URX1kjFKbF\nHbFDNrTnfUV5TRswNig2YDfOlNDbkgBpKqskxP34R8I9nzej2ik6381j5AkG\nQUjZ\r\n=da2l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHABa0N4x9q93/lDnMVa2/EdcPyAU1opdFJ6FCWwg9sUAiANxUTJ/XvnwPiCN47INxwQhA3hkPH8HfgRVYAuSAj3Nw=="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.3.0_1530916549076_0.7497483165756724"},"_hasShrinkwrap":false},"0.3.1":{"name":"ts-type-guards","version":"0.3.1","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.5.3"},"gitHead":"60868645adff4e8f0d24b1d2dc1b34ec66500013","_id":"ts-type-guards@0.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-jDfs/pfPN6LHQ7Rwv5Zcn+slcee/igae9prITt8WGFmzDdNdh828R196QpEb9PO26D/TlDnc4k9v3dT98/f+Fw==","shasum":"a601e683473e5f563713421b6bfe9af49bc84674","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.3.1.tgz","fileCount":18,"unpackedSize":23673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQeUeCRA9TVsSAnZWagAAuUoQAJ5+89t32VHTD3ALvvvS\nGKKJVzm6LlItMkQIs1pkttcQHXzdvz8t4EzTP4TTghs7DWxIXgI60k8P/+bY\nobSd4uF/IJ7lZuffH1rwY8zTW5g4hwJ5e3zhHCbfd4p0GYl9Lj63k1PO9OTI\n6kQ2yDXj9duD0trmAYpYv1DMulO3hbpfEExZiODHqtmey8v5COKSOJKFfCr1\naHAjmRbYxjLg+RenEsfTHzk0SA7B3T69vpA5pUe6Jht+cmazQlV3WuO/xCag\nxAwCelggvSp8fpay7RRJ7S2JRZK6tF7PKnnAICf/GqmokFye+80VpXpu1WFW\n5i800DdfgHqWFRkRRBWyr24rPTPVjE26EIU6UxywfkRLnjBwXrApNsyxVu6r\nWOGLWsxxJ7ohFSm3TYO4pCYUE3K3S+abnD9AEGNsl5GP0hTQzsxddHKbV6i5\nbrvhUKV3aOkLczZn7oulgk4O2gxh3MBXI8F98NQASYOW/bVAxltqiReY48W0\njT6KtCUhnOe6Y0mXx0+hztZOgaVkXq6ip8QzpGzuaShC8h16sOxLDiv5ZpVt\n6xws33AP++9BXpxsX/STp0BIvwcZmt30tF3blv50lIXdIs/4lWWX0NQpsWUv\nOwQfI8kljaHt/UaKdcyk7tf3wLxSC6Ndu0QoOC4tsR4MpezIZ6gzWRh18GEn\ngfYM\r\n=EyfM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqDMsCQ4v8qo86Jbh/RAHupUsNyGWmLXqwR1h1ghs0VAiA+3TP82qYkF8g0kUjrPLgf9biuxUdxsIyKxqOu/O4FlA=="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.3.1_1531045150463_0.9573060334615575"},"_hasShrinkwrap":false},"0.4.0":{"name":"ts-type-guards","version":"0.4.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"sideEffects":false,"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p ."},"devDependencies":{"typescript":"^2.9.2"},"gitHead":"80b6381a9d8aa4ef13e02f1bfccdbd285e35b726","_id":"ts-type-guards@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-vvVJP0rFoqnAgO8XvjB0KCYsNoQJOGgKpIDH1lAvawj7oKCSYq0/v+hAWPA2VtMAsmAcCHazy2tC/4rIkaTElA==","shasum":"1a3cf820b266251b820a926428710c0209e7b901","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.4.0.tgz","fileCount":18,"unpackedSize":18111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSQ5zCRA9TVsSAnZWagAAepUP/35MOsh3P1YYHSkYCK/l\npAYV5sx3XkRV5esgBqx3fKA9KycmYE2uOP4RVuSvCv33iBliEPptr+oyTom3\n6WdIUQyIPqvYkkylWLJFdfllxLgpXye1+nt0IDscJnlDeudobrOCCtegHOL2\ni4067xXkssA8USHi4NrWP2IRPYma3ChZ/4B7x43wdDRcZWgccJPN2pL2hfa2\n3Xo/iCtrjKV4BibWPseA37kuiNIqwpmyVKJT5622Y/rShy+B5jb4nlFs96Fl\n/IWh9ZZuqVr2ipmxF0HrSM52QbMuOBIWoM2Cuuljgzx4Hoxh3xZeyNswPbk8\nn45a5njo7CoQ5SMofYyZ2QCeT6EFX5+UAZ/LlHGI99QhGYcVLL6Hfi9JYsBc\nuvLB0fSVko1kN+vDmVX/gGf4j03hw7KAXXEjs/oQgEAZTZn/O3Z3qdcBWN67\nU6Q9DgbN/Xx25c2Hn9A6r4fAtFmSRwiJ6RB46qLQ89G3dIHuphiLGmf+NoaV\n0SCkwj76i/7OEcyJPqS/uYc8JkzU/GgTz2baR43wMTxnL3k2U9S2lXDvwuBJ\nTOmJYN4ZYJbsuWtkOXyyYmKN0Fm2NXWJxYDX68F4y3m3l1q2XtB2nObJVxG2\nUMWHAIf2O89B6FxO3mnyMkFD4DNvMefEAs5oUclJpbw868fYEUa1R2DyZxAR\n963u\r\n=VWi6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrQ/g1sSvYoao/ws6w/SYV+nfltA5GG5ebpQ6XcygHUQIhALcx10p0hOM7ydhlu7jQvEpbQ0s2/LrI59Vi8LFnaCme"}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.4.0_1531514483710_0.28126892475021537"},"_hasShrinkwrap":false},"0.5.0":{"name":"ts-type-guards","version":"0.5.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"sideEffects":false,"main":"dist/index.js","types":"./dist/index.d.ts","scripts":{"test":"jest","build":"tsc -p ."},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(js|ts)$","moduleFileExtensions":["ts","js"]},"devDependencies":{"@types/jest":"^23.3.1","jest":"^23.5.0","ts-jest":"^23.1.4","typescript":"^2.9.2"},"gitHead":"18bb2ae6150312424ba728923d701ae940ef6296","_id":"ts-type-guards@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-5atdjgKS/0I0xazo2RG1XRtZ+pnaG98E/bhR20nQoxv7MB9DGZE3fGz/H2/JCz0tMZLGBrwXYeL/vBrsh93Qvw==","shasum":"281f8fd702df7eb221035b0c4bf0f09788c118b2","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.5.0.tgz","fileCount":19,"unpackedSize":27218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblm3jCRA9TVsSAnZWagAABjcP/RjctKoeu4D636MVYKvz\nvXfr+23kBwR2+CEzJxFEl6r2KpKIcF/8H8WGk5+l1l6u45CQ7FfIyyRpwfjp\nx3iy0ZL6ZY59Xot/gD4lULq6dyqqNUcfihymelBR22sfvZS1UpSENBOQN5LZ\nDyqyNRr0F7RRgCKhi5f5AS3PdHZ0g1UB7xN23SFMwKGukbRodSdUdvXgUPQn\njU/G30Ag+aoBBIkzk66fHJ1PPCjGPBRGwwxx1f1KiL75fzOeXsCmWiWSVWqs\niuyiJTaIL+nMjuuQUaVMZzeOIg3gHYGup1x09z7ntYIIkGdhKbwW+XRzm75E\nxnKnlua68BAeRdg/3aXzyIILdYkq44RnW0piWfzlCPadXTO0oIbSZiI1G+LE\nQRqWX7yRPmnnRBXKkxCSNkQCfASYYslYZUmeaUM/EDmaKtlfqlLNvTcU5v9z\nlw/WKgy6ZI8sDgMNZixq/arsjx9LYG5MmC5l2DBzxb/gIlLD8iSOFad1V+og\n4r8YzeNI5xSH0NYFcr1rb0kW+u7+dP6REBU2ooMFx3Jty+Hbzu/YIuSqDw2M\noz7D91rlWfA8EWpOVUSMuuoc+NjYgjX8LiyC5Rie3clL7F+gJA1AcUCKnCnJ\nCXb8JwNaUcA7EqbZFVTwW0x8DVTmWv0ZOxcJw+FHpQTGqA9AO2NgGztOH8SW\niQuf\r\n=9mnp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPN6pVZ34A8uvHxlnLyNHLvL9VVc0P/8fDzWgt4HrenAiEA7XsIag32ACl85e6cUHrRdXE3Ose677NVUPeoLAniV/o="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.5.0_1536585186787_0.7470545047412205"},"_hasShrinkwrap":false},"0.6.0":{"name":"ts-type-guards","version":"0.6.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"sideEffects":false,"main":"dist/index.js","module":"dist/index.mjs","types":"./dist/index.d.ts","scripts":{"build":"npm run clean && tsc -p . && npm run rename && npm run commonjs","clean":"rm -rf dist/*","commonjs":"babel **/*.mjs --out-dir dist","prepublishOnly":"npm run build && npm test","rename":"renamer --force --find \"/\\.js$/\" --replace \".mjs\" \"dist/**\"","test":"jest"},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(js|ts)$","moduleFileExtensions":["ts","js"]},"devDependencies":{"@types/jest":"^23.3.1","jest":"^23.5.0","renamer":"^1.1.1","ts-jest":"^23.1.4","typescript":"^2.9.2"},"gitHead":"607581375b91ee1c6e50b4beae86236c20eefb3a","_id":"ts-type-guards@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-TKPbzRgyVMqGMqH8UPZY158wNNOOMlxvQozix3zyCJkS5Le9gmu6964157SgtuWi13H2lKMAan48mLvrVgbkWg==","shasum":"1504578dbbf3524ced704ea33e64c0b9a60c0480","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.6.0.tgz","fileCount":25,"unpackedSize":34629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLK9SCRA9TVsSAnZWagAArIQP/ifb6bq1/BNdtKmqWpu5\nHa0mIl4Mw6Ja8ahjKnsbK0F3mkkMk1fmSdcVUQx5wgsiacGzxjR1/izJCWyQ\n7heEoL7pOmN/yElVEOIeM81U5GzsFBNoOpzOF3jV/i3rDXo254noRWehrfcU\nxRMdHHpVaxvcLX+4GqpInpxMSPtTkRbXVZc9uFrxIjO1yJK1bcTGuIfB9lyy\nNLI3rsxtXZHxsWc3I2WMVawAeN8ozKL9ZrHSyEs3CcIq4XY6MsC8knqYtPSm\naryQCQB7YfI50ldTjehUSSsXaubDuTeVHoMNfQwi4tfOSUF8hZNcNjpoF4SY\ngl4zYggBH53bTwGgxQqzL9iZZDiVXdFnqd2XzggsBeeTiSsUdSMcGzfOeids\nAPeC4u1unh8fz51JQHfKs02gKV032IyWoI+gRk4pdEnvS2YIVrJB5B6211AG\nBU9tGKCGGbi9pzCkRdTtHxj96jwCtmsGb7dmBy2OpKWeKEJlLQ3UvC0bIsti\n3Gj+8e4/ebqPx6hSbGA5kAkfP2fSOgur2p+eR1JVKCL5yydcDx8xRvsQqwHq\nwZgucwZm8cUDv3DiBLoAHFdbr2nmUtKrTS8wOOtXsEKyCmKkhEqlyc6AnZZy\nPsE0wHZoagrVhinpmzNG3poEX6R9kbOmjLIoYqxOpJbPeWCMkX2CfsQiAZYz\njp2m\r\n=gq/0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlRwqooaav4q2L64mbpc0Y5zviL0n0yV3o/lHXD9t4BAiEAzJSm+a7SINfqLB7eGURtIusBGViGWRdjgTF6L0Bo2Z4="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.6.0_1546432337308_0.5584982132995511"},"_hasShrinkwrap":false},"0.6.1":{"name":"ts-type-guards","version":"0.6.1","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"sideEffects":false,"main":"dist/index","types":"./dist/index.d.ts","scripts":{"build":"npm run clean && tsc -d -p . && npm run rename && tsc --module CommonJS -p .","clean":"rm -rf dist/*","prepublishOnly":"npm run build && npm test","rename":"renamer --force --find \"/\\.js$/\" --replace \".mjs\" \"dist/**\"","test":"jest"},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(js|ts)$","moduleFileExtensions":["ts","js"]},"devDependencies":{"@types/jest":"^23.3.1","jest":"^23.5.0","renamer":"^1.1.1","ts-jest":"^23.1.4","typescript":"^2.9.2"},"gitHead":"39ccf5ab57b57458d888aec1347925cd9016bd28","_id":"ts-type-guards@0.6.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"dist":{"integrity":"sha512-YplsxDSkqPoLH/QiLqMpIc8+VGTx6q58qAvVHMC0SzL10JsF529elVqjIgShFiBL9U2yBw+dQYxDDCNPDDJyQw==","shasum":"44fec2f35bfa8d78eeb50476ce22e86954804e62","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.6.1.tgz","fileCount":25,"unpackedSize":34155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLTHbCRA9TVsSAnZWagAA7aoP/jGA7CUUrP4JMrkdCxzw\n5dFbfponSmwbNFMlVX3SO1Zbw0hw0mcHhHsSVeJM03+TVPY3d9nnH+JMNlkb\n6O5DNBKNEX4eeF0AqiHy57l2sEo5km07Kdlf3RKQpcBtQBe5shej277NJv+I\nmC0/qzpWywAI6/UY1Qyxy1zNvFLK+QbWYzWxgPwmMSh3/4LGajeB5sZoYL+K\ne0Lb5fL0ACc4C4YuPw/F5XnorjXKosm57cZoLZnbUtqVZpfB0o3+ToEHeWTv\nIoy/xB4Os6GeJmWxb204BRi0HdAhbXF/LXckmQGbFuWUcM3zkPnQ1woL74lx\nl9YM8pcY6vQn/ZO39WVsqrK/aUQVDl3vlJvzqFcd3HD9esN9OOvzCMgnnJf/\nQs90i2uhkAoquIRXidSx15mxAhYrSBv88uI5+edX1JeWhmkM54Ckzg1wPVCB\nTnG1Wga9MG7MOH2VJaBGkfVx8Wtl+YEBoFb3gJ1J9TMeKHrclVB0tgBrujeo\n4bWTEndjx5Xq7/GOyR2QqLZzd0T8Ch83LTUd9f9E57iH/b4mt2gg9Nh5Q3B6\nP96ye7/g0gAzfTpM1qAI6twbx1RY/oaDg2tBlMUK91GMB9yccPWWzh2t4UTc\nVCYY0zj5IYFJ6gHnwMCNklNf5Zwx4Xcwiqaf5Xspxn4CS2VupIA/0WtW/bFV\nXiej\r\n=Y9pX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0eg1f1NUEg4pfJ8tQkH+1VloUpRTb0cgFwmPOYnI3bQIge8eu7SVCXuvOOIrVToEFznzPWzJGPrrUAh9UIrHRnHA="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.6.1_1546465754904_0.3422748134127518"},"_hasShrinkwrap":false},"0.7.0":{"name":"ts-type-guards","version":"0.7.0","description":"Curried TypeScript type guards for primitive types and classes","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"license":"MIT","homepage":"https://github.com/simonalling/ts-type-guards","repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"sideEffects":false,"main":"dist/index","types":"./dist/index.d.ts","scripts":{"build":"npm run clean && tsc -d -p . && npm run rename && tsc --module CommonJS -p .","clean":"rm -rf dist/*","prepublishOnly":"npm run build && npm test","rename":"renamer --force --find \"/\\.js$/\" --replace \".mjs\" \"dist/**\"","test":"jest"},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(js|ts)$","moduleFileExtensions":["ts","js"]},"devDependencies":{"@types/jest":"^23.3.1","jest":"^23.5.0","renamer":"^2.0.1","ts-jest":"^23.1.4","typescript":"^3.3.4000"},"gitHead":"1c61f509994a0efd76e1cc337c3d3f20c0d0bc8b","_id":"ts-type-guards@0.7.0","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-f+IUliQzU09E8Ml5JwL+sxWenrebphNhy0LaCmkwACOvliuB7LxuAXUrAVfjwF+2PX5yMs9hfydBPR5lIIuUCA==","shasum":"8c1cebea4c22fb72dee37e77906ac5590a29b63c","tarball":"https://registry.npmjs.org/ts-type-guards/-/ts-type-guards-0.7.0.tgz","fileCount":26,"unpackedSize":39248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+Ll0CRA9TVsSAnZWagAAX24P/3efXEe9qyQLahujFspr\n4CQ63hPqypPkwZBFK9xVC4XEjvqesDhFciFzL/jND5mj/UVA+MxGWRrCYU4g\nzaIDzajE6c1SeeCbRxx+Ehs7EQvI/UOo83t1+blAmc8evJxMiv0ncP8aTSzH\nKOOkDA6h5atrMH4ymViY354IdJNrROPjs3rEYvQFi5XbzV6X0adqcP6zHYP9\n3wo+hownXn6qPlCC7UtsCpymNO2TNSTc44yWkKYI6Vgy9RVwyy8NQL/ktCiF\nI055werBDg/mlrXomicXR1+62LyTjTqMzrbiWltPJybbDiOyW2XosC9fOgeh\nNXiE3fFw9818dYikWgeB4mCI9p3S1z611b/kb5cPwJp/N9YtOxurKo9/nWYy\nZhthrLbL20KeAmt74xktcfS/qPhpcyhYzdP4C8YL58WlEkRI0LHlLGT3MrKP\newyAHtEHToP2yvkb39rF+mFZAtarzXMwIS9fmujxAtWT+COpwVaDAdCVh8wW\nj+6jC+BcXLmr1/Fy2jvAdPfkittRKJITopYoH4iOasHquOF3yk+gCT8silob\nglliXbdPuHyYQutgHHVbHW0Xwma1RXYYidtr9kMd5L31UA99/e8z2O9Rw44Z\n1SQYFoeOtaOg135qllDaNrwmlyfUdjiUrjBshFTfZ/RnVQ5PrpiIboiW0sFE\nkvNC\r\n=PRYy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJEIeEunYvTO3jRRzeIAZvr4f9PmJZxXPfRYjCjzotTAIgPaacGukts9zC1cI3f4W/kbKNF0hjDfdAxCA5/cr3Xsk="}]},"maintainers":[{"name":"alling","email":"alling@dtek.se"}],"_npmUser":{"name":"alling","email":"alling.simon@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-type-guards_0.7.0_1593358708515_0.48477051496569223"},"_hasShrinkwrap":false}},"readme":"# ts-type-guards\n> Curried TypeScript type guards for primitive types and classes\n\n[![NPM Version][npm-image]][npm-url]\n[![Downloads Stats][npm-downloads]][npm-url]\n\nSimplifies typechecking by providing type guards to check if something is of a certain type or of the same type as something else. Includes tailor-made type guards for the primitive types and a general one for \"classy\" types.\n\n\n\n## Installation\n\n```sh\nnpm install ts-type-guards --save\n```\n\n\n\n## Usage Examples\n\n### Basic Usage\n\n```javascript\nimport { is } from \"ts-type-guards\";\n\nconst header = document.querySelector(\"header\");\nconsole.log(header.textContent); // Error: Object is possibly 'null'.\nif (is(HTMLElement)(header)) {\n    console.log(header.textContent); // Compiles and runs safely.\n}\n```\n\nBecause `is`, `only` etc are curried, you can use them like so:\n\n```javascript\nimport { is } from \"ts-type-guards\";\n\nconst foos = Array.from(document.querySelectorAll(\".foo\"));\nconst fooImages = foos.filter(is(HTMLImageElement));\nconst srcs = fooImages.map(img => img.src); // Compiles and runs safely.\n```\n\nEquivalent:\n\n```javascript\nimport { only } from \"ts-type-guards\";\n\nconst foos = Array.from(document.querySelectorAll(\".foo\"));\nconst fooImages = only(HTMLImageElement)(foos);\nconst srcs = fooImages.map(img => img.src); // Compiles and runs safely.\n```\n\n\n### Checking Against Another Value\n\nUse `isLike` to check if something is of the same type as a reference value:\n\n```javascript\nimport { isLike } from \"ts-type-guards\";\n\n// We want to make sure that this function always returns a T:\nfunction getFromLocalStorage<T>(key: string, fallback: T): T {\n    const saved: string | null = localStorage.getItem(key);\n    if (isNull(saved)) {\n        return fallback;\n    }\n    const parsed: any = JSON.parse(saved);\n    return (\n        isLike(fallback)(parsed)\n        ? parsed // parsed is like fallback, so it is a T!\n        : fallback // parsed has wrong type, so return fallback.\n    );\n}\n\ngetFromLocalStorage(\"volume\", 50); // Guaranteed to be a number.\n```\n\n(Note that this function can still throw `DOMException` or `SyntaxError`, but that's not a typechecking problem.)\n\n\n### Subclasses\n\n`is` is basically a partially applicable `instanceof`. For classy types, `isLike(ref)(x)` is equivalent to `x instanceof ref.constructor`.\n\n```javascript\nclass Animal {}\nclass Lion extends Animal {}\nclass Warthog extends Animal {}\n\nconst someone = new Animal();\nconst simba = new Lion();\nconst nala = new Lion();\nconst pumbaa = new Warthog();\n\nis(Animal)(simba);  // true\nis(Lion)(simba);    // true\nis(Warthog)(simba); // false\nis(Lion)(someone);  // false\n\nisLike(someone)(simba); // true\nisLike(nala)(simba);    // true\nisLike(pumbaa)(simba);  // false\nisLike(nala)(someone);  // false\n```\n\n\n### Primitive Types\n\n`is` can only handle classy types, so the primitive ones have their own type guards:\n\n```javascript\nisUndefined(undefined); // true\nisNumber(\"5\"); // false\n```\n\n`isLike` supports the primitive types as well:\n\n```javascript\nisLike(5)(1.0); // true (because all numbers are floating point in JS)\nisLike(null)(undefined); // false\n```\n\nThe non-primitive types `Boolean`, `Number` and `String` share some, but not all, semantics with the primitive types `boolean`, `number` and `string`, respectively. The main difference lies in their equality semantics:\n\n```javascript\n           \"foo\"  ===            \"foo\" ; // true\nnew String(\"foo\") === new String(\"foo\"); // false\n```\n\n`ts-type-guards` includes type guards for the cases when you don't care whether a value is of a primitive type or its pseudo-primitive counterpart. For example, to check if a value is either a `string` or a `String`, use `isStringLike`.\n\n\n### Reusing Type Guards\n\nAlthough it may seem clunky to have to write `is(x)(y)` instead of `is(x, y)`, this is a design choice based on the fact that partial application is so awesome. Not only does it get rid of `xs.filter(x => is(T, x))` in favor of `xs.filter(is(T))`, it also lets you save and reuse type guards:\n\n```javascript\nconst isFoo = is(LongModuleName.Foo);\n\nif (isFoo(x)) {\n    x.baz();\n}\n\nxs.filter(isFoo).forEach(x => x.baz());\n```\n\n\n### Arrays\n\nYou can check if something is an array of a certain type:\n\n```javascript\nisArrayOfNumbers([1, 2, 3]); // true\nisArrayOfNumbers([1, 2, \"3\"]); // false\nisArrayOf(Error)([\n    new RangeError(),\n    new TypeError(),\n]); // true\n```\n\n\n\n## Contributing\n\n1. [Fork the repo](https://github.com/SimonAlling/ts-type-guards/fork).\n1. Create your feature branch (`git checkout -b feature/foobar`).\n1. Examine and add your changes (`git diff`, then `git add ...`).\n1. Commit your changes (`git commit -m 'Add some foobar'`).\n1. Push your feature branch (`git push origin feature/foobar`).\n1. [Create a pull request](https://github.com/SimonAlling/ts-type-guards/pulls).\n\n\n\n## License\n\n[MIT](http://vjpr.mit-license.org)\n\n\n[npm-image]: https://img.shields.io/npm/v/ts-type-guards.svg\n[npm-url]: https://npmjs.org/package/ts-type-guards\n[npm-downloads]: https://img.shields.io/npm/dm/ts-type-guards.svg\n","maintainers":[{"name":"alling","email":"alling@dtek.se"}],"time":{"modified":"2022-06-27T22:22:40.651Z","created":"2017-11-05T18:44:44.489Z","0.1.2":"2017-11-05T18:44:44.489Z","0.1.3":"2017-11-05T18:56:16.901Z","0.1.4":"2017-11-05T18:56:59.261Z","0.1.5":"2017-11-05T19:11:07.844Z","0.2.0":"2018-01-01T12:15:30.299Z","0.2.1":"2018-02-08T22:41:57.994Z","0.2.2":"2018-02-09T08:28:47.221Z","0.3.0":"2018-07-06T22:35:49.141Z","0.3.1":"2018-07-08T10:19:10.559Z","0.4.0":"2018-07-13T20:41:23.757Z","0.5.0":"2018-09-10T13:13:06.931Z","0.6.0":"2019-01-02T12:32:17.436Z","0.6.1":"2019-01-02T21:49:15.027Z","0.7.0":"2020-06-28T15:38:28.672Z"},"homepage":"https://github.com/simonalling/ts-type-guards","keywords":["TypeScript","type guards","type","guard","isBoolean","isNumber","isString","isSymbol","isNull","isUndefined","isPrimitive","isNonPrimitive","is","isLike","isArrayOf","only"],"repository":{"type":"git","url":"git+https://github.com/simonalling/ts-type-guards.git"},"author":{"name":"Simon Alling","email":"alling.simon@gmail.com","url":"https://simonalling.se"},"bugs":{"url":"https://github.com/simonalling/ts-type-guards"},"license":"MIT","readmeFilename":"README.md"}