{"_id":"ts-typetools","_rev":"10-32905635c6afba4989891b2830c465cc","name":"ts-typetools","dist-tags":{"latest":"1.1.0","rc":"0.6.2-rc.0"},"versions":{"0.4.0":{"name":"ts-typetools","version":"0.4.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"487a2d12f23b3b2714dd06dc5388348e94c070b2","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.4.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eWUIuiGG+tNzzKnC9oEfpkDrFfeLBgDo5oDYee/5wmW+R/vzaXCDX7nmtU1SWvVNEul5sG6hg2BS5yJ29mRgjQ==","shasum":"d762bc61ce7908fadf127b388f365bb1e7900dcf","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.4.0.tgz","fileCount":142,"unpackedSize":95009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhuZECRA9TVsSAnZWagAAbQUP/iVgmyeUnsBFhPdwvC0A\n3vGyAkwmbE9vNHyhyCSJsS8DDRZwEC23J43HdNte7oCqJSVPLZTiOVi8+O6O\n3GYfNREbLvhj24rkCH3XAgFjkZ7ujoDi382XNiEPtYRcVh3GEC6PFCxpsNkw\n7eSNA2QKnaCKHZ3PsteUFq8CErN5tlYgUwGoX28K4PUgudLxXFvkKxVAlg2h\n5DMChqA+cUffHz3piegObOmw9PRuDNBALUrTQuaGbjV7bYiSvW16W5MAZrGR\n8+bOUSeqGL/Cwh0ShzGEvVqAiztO5sfQyTmDIPB/5czqRqoizdfnqWAEdH5w\nXS3HvFXtgPsZ516F0ZH79xkdzVinftHisv6eeMl8EDV4pY8066W14p+SYe4v\nU5/oq8AEIglkzQfBGevXTgUx76rtqrO0CYG5nCPLjr00c3otp7p62YuPFXxw\nf/14UVGriGjxMo9+i5pb8p4lutyppJSSStfaIlSrKMicj1sG+CUkyWxl9yxQ\nYeYi9eTPF1/PFnjKdtVrNiuuOornJAB5Jy0RmIiAD4blJW4fy5lqgi1S26Q6\nTn+eQY65GNCqbibUeDir5OPB/mbSGx3MeFcUhKaiSkkiZjIdCS8Y9OgaIkM+\n7KwVG7VTwP2V6gzfqlWbOd2dFmXtbXuwHIZX++vndaK9E3XQr4fduRHVHizX\ndW/x\r\n=yV1r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYpTg4UaZ7f1uJRl5jAsLEOEUxTWn01S+CGZ1mF0MseAiAKdTPu3wJcM17pV9NCfSpSNRI0Xd3J1cRRv8NkntOcwg=="}]},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.4.0_1602676292489_0.40811308892482323"},"_hasShrinkwrap":false},"0.5.0":{"name":"ts-typetools","version":"0.5.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"c6e4125511123bbbffa4f23a0f295257d1af7725","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.5.0","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-R8b7rnp0sYCHP01jSuGZku35pcCryFl2jvhtCiotHa4h64ZKrZi/DOh8dD/Dis+hqw1yoQtk+VlKwqEVpXMM0w==","shasum":"6f6aae4490f5845af344b2456382a3826a2f4071","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.5.0.tgz","fileCount":162,"unpackedSize":101342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhuunCRA9TVsSAnZWagAAeMAP/jEQKHOLzycP0/Cr8L40\n8CCBNXBFTCnIliLq0QlyWb2LrtysK0dNDiotb59kxpbGWROutxpRAnBbM4m2\nTHKaCaOZ12jR20OeRLUgFpOtmdN++1vtxym8mq4w4AzdF6cAoaM0pc9ENeMp\nDfZV4LMRAOctEHSg9NH+isr1h+69jLSThP/irgc6bW+UXdcbRbIrxpExRAsv\nDcJbRx/+pBvCoiMHhRvvlVIBopsdzyU3fUFBGS1cc6mPcCrnz9fbndO69KGy\nManYjiTvgXZx2mnmF1/62zNZD0Yzk0yOe+oB0GZlvelG6Isszwb4G5vHkhmr\nihyfX5wSao3sTsgyz8wLWEu7X+evpfw++bFZnTBeiTlTD3P+AprjaCiVLY7U\nJ6Ilr03Dx9s0McKz6Xc3ydEqm3IINg7r98D8fM1/FvueCv+cBUIQHSgbmLZs\n27OyhX9B0RCA+zldu8guUKkByK6LYGK9zrmFgUbE/Qrur0+w21//0VkHOcTy\nBqqKOSPgI3xGJ+Tl2FVBRyLIij1HXbkNxa8JXnIT4GKCXHGiked36s4KoogP\nWuDK7LezLIBjsqL607XNR2lvGusgizggKcSA+wntZ0+ptez5wesj1UNYSztT\nF0dtOLuaSwbYp6hB51MV2XE5oRCegzAoMv8wyaa1G5R6YrKMxCj3FHiqEvlG\n6khb\r\n=Zo6R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnq1TG3B0dbMOlLtQ7pKI4cpecclmZ+/o8m8DJgU7GcwIgNBz0/dFQ6J6kfrJSMHzZKPdO7pwYqVEWYDb+jWVpbZo="}]},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.5.0_1602677670584_0.9143385824184862"},"_hasShrinkwrap":false},"0.5.1":{"name":"ts-typetools","version":"0.5.1","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"9c8035490bc4e71b932252e22b123d030ef0bec3","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.5.1","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-N7t8wtTjEcV4mdgBwQ3PEgqza/yQatrafPBp/U8GA5ztCZkxeHKm5zpA15SIv4umqHor3NQjG/0JBUCmhGZdJQ==","shasum":"c9894c3a530959c56a80c6d4eb1d5ab1595d13b1","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.5.1.tgz","fileCount":170,"unpackedSize":103078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh8QhCRA9TVsSAnZWagAAvUMP/AtUy03jnVhHLSuRVT6f\n8mu8opUZeTYOmWln75xBoMjybaybLzyCwk59aEcHimHuagWb2kg4L2afdPRC\n1tu87/jQaIS37W9pWxo8UiGtO6PV0CMYtJZXLxROtNKP8NEt7a7RMgLJBkEB\nJeBSXy7FD0QJoa9v4GDFoIdlaiXaEPhcwPRQTqWMSpVAUpV6ikXmLh5P0KBC\nc3eexgaCkOw4THkg4tsff3KJFIZYmYIxRerY1QX3dGKNy7Sjo9Ux6SzUtGyW\nPHd1gLveWRSud73CmR5X0zrReL2+OCQtPDx0to1QdiA/GoFByWK1Y1oXAEud\ngIHSTyAgaH8KPApD8i6GQWLsjCLZJ1z9GUXUiNsBXR9KIC3cL/NCVtnMwVLd\nUj9D3WpmThZX4nZwnuvBjhg/AXLJA62rWzerKYHhFBdrYP6Kadt9zx6PrLWr\nXMt8iIAmM0/Ef+Rz1jLIhTMpsEsXIoKME6q0dkkdizlIK5nDNQjZdU2x/Um9\nc+Hh5PuCVN910yOx95fNBT1NHGwWQ+0juFiEDpjLvC0l2O627LbnqXFzLAXI\nGeGtKzkH9FBkz6ApwXAF0WCQKSAPdpTaY53oyl26LEajO3jp5TZVUvnSXKPI\n1F/Ok9+TxqXr8uQPbAo8ansdOSa6Twj6VCxEafDL7ZwRJiIRTqvsE2p6H7j3\naOQf\r\n=hBKj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChNYWZW/En4B91ocxko7v7ZNtHvzDRqmHAERzJ9wmI2AIhALKsVF7ajKdCi+zdNahb5L8Nk0Rqfp91kFmzQmHIigxQ"}]},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.5.1_1602733089388_0.9682066086223129"},"_hasShrinkwrap":false},"0.5.2":{"name":"ts-typetools","version":"0.5.2","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"729b83cf20136257ffeb56d52bb5af65e151a5bd","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.5.2","_nodeVersion":"13.14.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LzcZvmOfZPuc/6xZ1EF0XYc6sL3An3pu3/exaQ9mY7XefH2WyC3l5lZfSf8pNvIIYvAMtFIZK+8v6yEXdNMzWQ==","shasum":"7e1c06fc9d0b8ae902d5ea66e7d35ad3e515fb6e","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.5.2.tgz","fileCount":170,"unpackedSize":103189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCaTSCRA9TVsSAnZWagAAFhkP/3TeH3tzEyqUcHXnN+10\n2JgOufh5OXrb7jVpe2/G0VX2U4eNhV4pXlSp0b36hSN9IFbYdhaiM7rh4Q8+\nK+XKBi18HiE4SC8fy/1yU8jOyjpr/C1LTBOdQu9eqUpHZI3CkilotjOQ+o7z\nJTo7mFQB3ShDuBLPwwuKHw+fmAoTYVWkNLjSAJOV5g4dPUdbRAacrOYA1fdh\nPwqbt6/dnQpiYlGFD/GenOLDgqL+bStvLzXZ3+pEhKWdULndVTCzkcswu7sq\ntceIA4F//wc20G0umZdsHUk95dZHE6DYUoznZYqHYN/0lVkbg2mtS/xOXkZu\nvX4/00+lfV3JKRK360kbamyNR2brhTQMl7NbJCsQmp2kkPT9VGI4mvvy+SQT\n50X1GzR6DAz7De7ehvX3P++KrguasfZTXT9bT2wtEuek5uMGHoh0PcsQWL0N\nlt04dFAWOGKP9o5M5HiCUJdLANin4CarQcKIZevZgXEygFia5vNBMaNE9ktZ\ncltdOuJtsnOG4JeJfIZNuWchWR8eZ8BcKGULwOZLbhWGFJLt/bPcyPXJumjh\nouhqGN9obA1EognSciDCrxAV44/b25WUl62nNHT1IN75Zy+44miWdTZY2+WI\ntdzOJRDi4iSmqgjNimT73p1N6CYIphATa1fM4xlxWUfD2Ke4ziY4FZkkjFnu\n1VyE\r\n=S8nK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHzBRMlZanQeAHhTRj1rNAUB84dqCfkFpAXwzJd3Ve9+AiEAgT/aEnk0Kohy+m+Kri1A28/fv8r7k5diGA1pge7HH40="}]},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.5.2_1611244754363_0.9725459984795273"},"_hasShrinkwrap":false},"0.6.0":{"name":"ts-typetools","version":"0.6.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"dc405eeecd7ff4921b8c52b82e002528acfc108f","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.6.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-C5zf/JB/3tv5GwNJoq8WGzO/JBc4TuKNESHPpHp8tcTSkbmWT5TuOx3QIu/MDwFA5eBH4zNAuXb4aqTYErylNA==","shasum":"2279a4982e9c29984d6c9774b25145b7b920d6c3","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.6.0.tgz","fileCount":170,"unpackedSize":110274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9A75CRA9TVsSAnZWagAAR0cP/igaPyawsUAe3GWX3ukV\na7PGSQaonDjdbwHIAuOw3+gbC9pMq22sTZB+vpix1r+urroqhOdj/s5rV3oz\novkEQ5yUZovdEHTeloF3Q1mdsd1RFmZroNUDxCWqw2ajgVP7dnF5261N2cQR\nrBbjK9m5v1bvdT1YLf1NNIcwx8hhnaupKAMERS7+kEXGBgLHEh+V5VuK+NL7\niL32Nlg6wKTzaojC6TYaC739s4wa+zFQqdVH/L9L+IInuMEQfJ34/cLwGmGm\nyxJ9gfZeDvK9I8symhjN6rW20kBXgzvJk49Bf9gYzbu+S674B6fxt9kCzR4m\n2uSWBrHir+2lVkJts3OAD5XmZ2ir2c0gW9bXB7HoGRJxht3jBHbuceKsP2Bj\nQiiR6R1hHZgp6HhJqKnb7mVKaqP82r6zVM6vhNYWHvGxEzypJZdbRdYXBOy/\n5WKG+25P7/3kphe4wxBDSyAiECzAqjvYxiiVOivp4H6r3FFHzA/A3e7ghnDk\ndyilA2uBFTJEVOIbfnhRKOUHcxsYEDcYneE84tl1kACcrdyAuoZ/kKtKTwoH\nBa8JNJ3TzgOs0ysq6bMrjWjIDe20UdsHJ9AmBp/Ya7w4XLA2dl66GEtdkNkS\nDloGjVZX6LJYMLVBxh6YuKuUYoUG70jdr+kVUyVUZY02PHSqqYd/asy4MDZa\ndA00\r\n=VHqj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/DaplS0lCadURUrhDkn4zTLKz3rkayBNApGDYgMV2bAiBhfZuxIrcNy09VgshiiJKfAMLeSF83ppKL0sl1KBMkXg=="}]},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.6.0_1626607353232_0.7099982014542356"},"_hasShrinkwrap":false},"0.6.1":{"name":"ts-typetools","version":"0.6.1","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && tsc","watch":"tsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"tsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"d136254541aa7a76d48ad271c1c308e132af5a95","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.6.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-A4TcVw40hKKgdK22M6vDvqEmzxuE21uyeGuFBHzgl9USRmmQRnvwY9fURIQfdP8pXV6wIq6O4g3kr3/O3Yl0hA==","shasum":"3827d1d06ef7dd578a43effd963378f0458036c2","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.6.1.tgz","fileCount":170,"unpackedSize":110534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9A+oCRA9TVsSAnZWagAAEZEP/3oxWoLFJQULx6LS1/KM\nzpx1kCI1hSCIf+CZNM6R54ENGw4YIEJ6R+KtDOKmrhLHPjB3xFuoADDdPSy2\nLtJnhE0eqs458cQPh87wGLhAo4sd4db3RwskfM8QlhcY0wvyKvc3Z/TyJDTo\noPXy8ttfxnKlc1rp5YJQsEQ6lqaev/q8XRp3wGQlLXhA3BBcAsyODDn0jk5g\n+DgdUkcVOCUGYErz9Y0RVVafxftARuvKAiY7N6QhFyXdYPOBqBIk9ochWbJY\nOFyalUCp3TUk7PbWyl8RTam7o38enUHsKp/CSJOyXx543hu7eQEdzTUFZZZI\nZk1RGy2cqmPCI+AZg6WY8FSeyE8PClyT/ucE4rUTtXAObbDSyWoWFY7racu6\nFpfE/o0SBcqGjhTHBpCqwR4BEFvuWXSN0aIorW2qdEStgbBrECMTtthiHS4W\nFCncblPJcXQuSmPH692Hh3WQb4ycEBnCylxkgqjR4yYOIT9Wd4Z0fuJNozuq\nWGYOVgG99ixUv/7g8XcKD64M/48oA42kWTHasNXecUqF6gRZ1vff7fjfRxSD\nlVwZMVGY3QelMIGzFYKuM5+Vutx3ERJRHLE6ujvldBc/Fam9cZ7M3entV3C4\nepeTy4DlFGwb6MOmsAsaO/EBFtqw+E4VdLWJMykJGXNfP/YeUY3wAeTMzjKm\nzqgi\r\n=uji7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPuTrpz0kaOr2hCoQwdgPIF23UFLn4f33mTyOspWpeWAIhAPQEIiEsBVK7babiXqJpuWJCCiYxWHnynAOZg4NyTnq4"}]},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.6.1_1626607528061_0.3012508559764846"},"_hasShrinkwrap":false},"0.6.2-rc.0":{"name":"ts-typetools","version":"0.6.2-rc.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && ttsc","watch":"ttsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"ttsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","@zoltu/typescript-transformer-append-js-extension":"^1.0.1","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","ttypescript":"^1.5.13","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"readme":"TypeTools are a collection of TypeScript type, type expressions and functions that aid writing idiomatic JavaScript in TypeScript a little easier.\n\n## Convenience Type Aliases\n\n- `Falsy` represents the type of all falsy values.\n- `NullLike` represents the `null` and `undefined` types.\n- `Key` represents the type of all valid keys, namely `number`, `string` and `symbol`.\n- `Primitive` represents the type of all primitive (not object) values, namely\n  `string`, `number`, `boolean`, `symbol`, `null`, `undefined`.\n- `Concrete` represents the type of everything that is not `null` or `undefined`,\n  (the opposite of `NullLike`).\n\n## Convenience Type Expressions\n\n- `MaybePromise<T>` is a shortcut for `T | Promise<T>`.\n- `ResolveType<T>` obtains the `resolve()` type of a promise `T`, or the\n  `resolve()` type of the return value of a function `T`, otherwise `T` itself.\n- `MaybeArray<T>` is a shortcut for `T | Array<T>`.\n- `ArrayItemType<T>` obtains the element type of an array `T`, otherwise `T`\n  itself.\n- `ExtractRefine<T, U, V>` refines part of type `T` that extends `U` (like\n  the built-in `Extract` type) by interesecting that extraction with the\n  `V` type.\n- `ExtractOmit<T, U, K>` selectively omits properties `K` from a part of type\n  `T` that extends `U`.\n- `ExtractReplace<T, U, V>` selectively replaces a type in `T` that extends `U`\n  with `V`.\n- `UnionKeyOf<T>` obtains the union of the key types of each union component.\n  This is different from applying `keyof` to a union, which returns an\n  _intersection_ of the key types of each union component. While `keyof` returns\n  keys that exist in every union component, `UnionKeyOf` returns keys that\n  existing in at least one (but not necessarily all) union component.\n- `OmitStrict<T, K>` drops keys `K` from type `T`, just like native `Omit`, except\n  that here the keys are constrained to the union of keys of `T` (see `UnionKeyOf`).\n- `FitsSub<Sub, Super>` gives `Sub` type back, but will require that it extends\n  `Super`.\n- `FitsSuper<Super, Sub>` gives `Super` type back, but will require that `Sub`\n  extends from it.\n\n## Convenience Guards\n\n- `isConcrete()` guards for the `Concrete` type\n- `isTruthy()` guards for the truthy type.\n- `isEnum(enumObject)` produces a function that guards for the enum provided by\n  the `enumObject`.\n- `hasKey(key)` produces a function that guards for the subset of values that\n  are objects containing a property with the name specified in `key`.\n- `hasTag(tagOrTags, prop)` produces a function that guards for the objects containing\n  a property named as specified in `prop`, whose value is one of the tags\n  specified. This is used to narrow discriminated unions.\n\n## Type-aware utilities\n\n- `not(fn)` produces a function that returns the boolean-negated version of the\n  original functin's result. If the given function is a guard, it produces\n  an \"anti-guard\".\n- `sieve(fnMap, tagProp)` produces a function that calls a different function on\n  the map based on the tag of input value, which is a discrimated union.\n- `asType<T>(value)` is an identity function that casts `value` into a broader\n  type specified in `T`. This is the same as if we were to save `value` into\n  a temporary `const` of type `T`, and is the opposite of doing `value as T`,\n  where `value` could be cast into a narrower type without assertion\n  (`as` is therefore unsafe).\n- `fitsType<T>(value)` is an identity function that checks that `value` is a\n  subtype of `T` without casting the type of `value` itself into `T`.\n- `readonly(value)` is an identity function that\n\n## Test utilities\n\n- `expectType(value)` or `expectType<T>()` can be used to perform type testing,\n  using the quasi-human language and one of the four assertion symbols:\n  `ExactType`, `SubType`, `SuperType` and `Unrelated`. Examples:\n\n```ts\n// Use types\nexpectType<number>().assert<number>().toBe(ExactType);\nexpectType<number>().assert<2>().toBe(SubType);\nexpectType<number>().assertBase<2>().toBe(SuperType);\nexpectType<number>().assert<boolean>().toBe(Unrelated);\n\n// Or use values\nexpectType(10).assert(10).toBe(ExactType);\nexpectType(10)\n  .assert(2 as const)\n  .toBe(SubType);\nexpectType(10)\n  .assertBase(2 as const)\n  .toBe(SuperType);\nexpectType(10).assert(false).toBe(Unrelated);\n\n// Or mix them up\nexpectType<number>().assert(10).toBe(ExactType);\nexpectType(10).assert<2>().toBe(SubType);\nexpectType<number>()\n  .assertBase(2 as const)\n  .toBe(SuperType);\nexpectType(10).assert<boolean>().toBe(Unrelated);\n```\n","readmeFilename":"README.md","gitHead":"96b997dd5d8421d2e6f8fd7611d97ecda2ca4bac","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.6.2-rc.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-erLEN+tyVzJSUMVk0LMYHbsPKy5qD58EzsokT6muKZe7tbn7oHPgQ7mVfz0EQKDQi9kMAVH49HzKZuYiRxyI6w==","shasum":"af50e4107e440a8615c62e95c6b6f89bc2d5344b","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.6.2-rc.0.tgz","fileCount":170,"unpackedSize":110982,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBXzFTtv01Ayv1DUrnaBuSbvuS4I68lsXKkZgA4Dr+T+AiBqHts7vFoRXuxnGGPVBsR8O5ySuN4ISMMhPIKDXTeKbw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJir/XJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeIQ//XoYCt9FQwjJ26n8JcmdFf388EkDbj5hyzoo3d5Hj+gUwo7ra\r\n7/ZERAZU/pE5PgN2zethQym7X2C9xqvRvZqkWAIZXaXE5ijlBbV8Yyk4tiMa\r\n3kZEWeLRhEi3KMDE6frQk1abhjCuguxB4RKDBG2XozibZOZq9BJDlM+bRYQg\r\ndatddqjJIC4Nk8mgUIFbkbN883w0ijN2+d0IxA4Ad+0PVPEBFb0cV84T0S/6\r\nGGuVbxaijHLaV4nCEKpDWCqEzhcMskAywRLIaQ2OvyWnAgQNYug3m3N3zpor\r\nY5uvQSJNwTOn6wtyUx7VupcyT7KPkh9MV6tFBr68kCbjqEdLcL7A5JghV6xn\r\nmirEMysQ9IaaHoCQNXaZ/Q8N8iVKfMYlHzmCVXR+HCeC45Wg9Irh/AZNUn9q\r\n3xpIUTKGEcVlXYH/dxSdcJE8pImWQwG2mvMO6m8pBxKlpBeRmTY6JKTvumCp\r\nv6u0p246iUYtZN23SGqR6f2fMKTHPzmDnLl9n4ntHdqs9IDR38pcaJKyK8fL\r\n6SvZkRV+VG2DF/taDbgHQ4nWDpMkctQsQMYibLlz5xetach1IdAVgyJLJfi1\r\nt0wgC4SFGZMfy8VyF6y2S6wEpH6YkNg1Spta3q4gnky2bFFMEDTAZsmFlf7e\r\ndwQxty559oypjGEnx+tYYJxqSABbccXpZbQ=\r\n=hWH3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.6.2-rc.0_1655698889686_0.21590523217267998"},"_hasShrinkwrap":false},"0.6.2":{"name":"ts-typetools","version":"0.6.2","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && ttsc","watch":"ttsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"ttsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","@zoltu/typescript-transformer-append-js-extension":"^1.0.1","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","ttypescript":"^1.5.13","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"45aaab3a12dd432303be7e9a5a9f489cb52174ef","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@0.6.2","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Ke2q5ejYamdlJxs5lvcl7uet+2Bm22MXlTTT9vjopVaDlx/rHMek60qap1tTzPlYoab+aeaIL8fHS7XakJQx7A==","shasum":"8067b06d04e49fb88049f3e602076ebacdfb2c81","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-0.6.2.tgz","fileCount":170,"unpackedSize":110967,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHL/G4uQdRaIepeKnlz+E86W8drnxJnQ82gbndtfh7bvAiBwbvSAbPId1iPysXrxcMr16nO/2Q3RX7bwGuzpcw9Szg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisCVeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqY7w/5AciX5BuUzQQPqbe/zQAmLWQi828ZcYCROxdmBRbSWf98Ge9d\r\ng6nzG7ipKS5RF4G6Lo/BxZfzaPUctLqiHBussJf65wmSmrSd+68rEZrJgTiM\r\nVvR+Z0r8c+6dIl+iKXyzdNDnDhRQH4zPanedZ5LNny1GcPZlG0CW34RkP0B9\r\nnpB4naUhZ0wwCbF5F1Gsh2JrceLdP2TH7B2IoQRC7PQ2Sbg0izJybiAWv984\r\nuJ68+ABukptYbWxY6dYov0jh0KA5rK+RYd+Yz1uMSFUPSrbFzq55QhL1W4Q8\r\nO/dx9asjI1SQw63uQyKILCf1KeDhrW7d+Bx/h5ZaVH/1fOs2cWOENgYqkv5Y\r\n7p9pm3QDGk77j0cNx/vXhBuMdOf1S2fuavKUrfMheoD9s3I7FfHsOlEImkKt\r\ntTsOwzwD08sukd68IxsGXX23apzdcriPsBq4vpUXe73MbDSrUHkAtJIYUD0q\r\n/rKMZDO6nrSW0zyX+afW1IPC9+Bt7iYXLLUcsKIkT5e4Smd8GjRTZdyJ/Kb+\r\ndgDet1UtPFtENb8e6It1YuwQC1NcliNkzjOfBDAxd2GNjeLzzLhlRC4bNfru\r\nU7XyV3ZKQUF8KKoZxGXqkbYg0mP2781SFsCiSx9VLXrRg6eoYL+ikLKLIupH\r\nW4TBMwCmCAiGfenbXr26dkI+XI2FfLqxta8=\r\n=kvC8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_0.6.2_1655711070209_0.021194090605307858"},"_hasShrinkwrap":false},"1.0.0":{"name":"ts-typetools","version":"1.0.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && ttsc","watch":"ttsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"ttsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","@zoltu/typescript-transformer-append-js-extension":"^1.0.1","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","ttypescript":"^1.5.13","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"gitHead":"c84aef6625b56ad1052c8dd498917fa135addde3","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@1.0.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/pVmWNQ8F2HLozU9DwXIljPhvHCygJYG7CCwDn6TgLA3ejXMVIpMppaQnbAE+AC9K8UJ/0Uflm/2eweElZAAXg==","shasum":"c5880148894cdb4a8bee6a511b2904317c5792a4","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-1.0.0.tgz","fileCount":170,"unpackedSize":111057,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfLAnOZMVxITPSREQBFT0UCxQBIgSGq2sJ6zwuYKPaJQIgJN9FNXtB7xxkVo65R0tKC8HVBHgCgX0ettfJfp0Ct4Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisCd2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrb3A//fkyAsQX2zzPgBCAREmQjwF8odvak5dhAxaK3W2nvk7eaKQNf\r\nQrhLC7VhTEX2fC9IalvWbaXZuiIkaWszYOMFov8Own7jv1iuEQYeT0N5vNf8\r\nHnyVq++11XirUqG26iE+Pv/llYzH2cr5QlpS3LJx8On0m1nsx0rdXmNgbZbK\r\nbJS8kvOrfYhkwQ14EQ8V6HOQu5UK7wqUG708x99pY8TtFk1H/p6yRAZTYwyU\r\nDRQRnvk7LDdYW18wOLpN+2KCjIuiLdqp0MjSrqk5MABUjEYAHS79APWVJ+17\r\nt8JSIjy26R27yfokwzAeFXmHaRGXW5uW247YzKZd+5IiWUeu5Z5Ny44Q+tVb\r\nx7aij0NhmUJ9cI7tYAorV4CWxf6B5SEBCCYR4RYHY8+eTZrKSewUv0bSSsef\r\n2Zx1AJlinEt33AFmHO7szlP0ZZdT/mHx5aBOjXWA9KqhhM16e/3GwGsmgv3W\r\nA3WPEc2Qf5LGnOMWsi7YYZWdxnmTML2QJQ+nbvXMrxaPYdsIvlIpbxmYbFZb\r\ni1iSWtvwV7HYZt5071/Hylh2hEq2k/D1WG6MDlLOOnbRXigiOc6HyljqsBSF\r\nLTHrZlycJPlsSvqTnBHWH/LmlNq6BPC44/mE/EkxaT6ZukyCSREZkyYqLSFU\r\nOP9PeifwoniWhkkIGaWwhfNOZ9gqxVLRYqY=\r\n=qaEl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_1.0.0_1655711606724_0.3337855596792676"},"_hasShrinkwrap":false},"1.1.0":{"name":"ts-typetools","version":"1.1.0","repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","keywords":["typescript","ts","type guard","utility"],"type":"module","scripts":{"clean":"rm -rf lib","prepare":"npm run clean && ttsc","watch":"ttsc --watch --noEmit","test":"npm run test:unit:clean && npm run test:unit && npm run test:typing","test:unit":"jest","test:unit:clean":"jest --clearCache","test:typing":"ttsc --noEmit --project src/typing-test/tsconfig.json","release":"npm run prepare && release-it"},"main":"lib","types":"lib","dependencies":{},"devDependencies":{"@release-it/conventional-changelog":"^1.1.0","@types/jest":"^24.0.25","@types/node":"^13.1.4","@zoltu/typescript-transformer-append-js-extension":"^1.0.1","cz-conventional-changelog":"^3.0.2","jest":"^24.9.0","prettier":"^2.0.5","release-it":"^13.7.0","ts-jest":"^24.2.0","ttypescript":"^1.5.13","typescript":"4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release-it":{"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"license":"MIT","gitHead":"e2ae1467e3d9a6816cb10ff0f7a96529bb005ea5","bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","_id":"ts-typetools@1.1.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-uEB2NH28ogebuonoUKosZzWSPwFWGcg20IwqRiyU+xAPyfDPYgmXEpNxJcwBBhMWeBsI3xibOcWK3kwep1e72A==","shasum":"e8f7de2804886dad0b5cd503d247546b944e8c04","tarball":"https://registry.npmjs.org/ts-typetools/-/ts-typetools-1.1.0.tgz","fileCount":171,"unpackedSize":112406,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmDL4goPNmbRUkObowcXpJxxex/A6M/uCbwreN6mzcmAiB+CXztI5TwX6dTyMgkK3S1ob6lanUeRla3YPta9lmIhg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi69CrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpiqw/+L3bcefuU16CMMplq/v8d9hBvROWMGQLwow1Mehm+9/0trO56\r\nCpGbbib0cRbHd/vuDagPy1pyrvnJ217eJyszjWY7FWZkriH9DHm+rho4N1k2\r\nR5F3uCRioUJCq1pSu8QHeDfvKjIQ/2MzdIfMmHXBPUkv3X+AAJoaBTotzIPY\r\nGXD9sAwDe06kSALS1+bEldiLbaZI+NpzLfhq8JnlJlaDEM9pW+M2Odm5799a\r\nyAzgUs2MH8NW3NS0kGiigE6YRIY60642H/H/Obuyeo4VQNhmvWChF8Lp1OG+\r\nJWhPQOqk4LJ4ttIRPKZz39RLIRI4BfemRe481xhGP4vyWxXeEI4zFtHbDSJ3\r\n3FdN4AJPMRRsvXSi/OUHGqc+C5DrNzVoqGDQ9VdW9G6gQaIb1AOZkEpGAe4Z\r\nUjj/CVW3z6b7DB/Ek4P7BiH1ZWlNagKFlrwfbXktpRhiw7MaPDvUFSodr3/z\r\nHgadcF8FatRUlR1Nwsp8F+xXttHBV5EfTey11yNR9EbYErFyajH9r7tHX0ln\r\nIZaXygKBzSnCrHw1EmSd24wA75hQNk/Q54yAG7BT0h4oSsUFZvKRgojsdwdF\r\n1JkbgIhHsdXCld8FiChV2km/NEz0DxRRgSbzcRJfFlGn06PBbfE7/zsbxbq8\r\nrK8+eldEmUbTer8rodTwl9Q+CkD7tCG0qT8=\r\n=OQT7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"soul-codes","email":"reach.soul.codes@gmail.com"},"directories":{},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-typetools_1.1.0_1659621547597_0.7578848594257517"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-14T11:51:32.489Z","0.4.0":"2020-10-14T11:51:32.607Z","modified":"2022-08-04T13:59:07.886Z","0.5.0":"2020-10-14T12:14:30.723Z","0.5.1":"2020-10-15T03:38:09.526Z","0.5.2":"2021-01-21T15:59:14.525Z","0.6.0":"2021-07-18T11:22:33.612Z","0.6.1":"2021-07-18T11:25:28.254Z","0.6.2-rc.0":"2022-06-20T04:21:29.887Z","0.6.2":"2022-06-20T07:44:30.373Z","1.0.0":"2022-06-20T07:53:26.933Z","1.1.0":"2022-08-04T13:59:07.819Z"},"maintainers":[{"name":"soul-codes","email":"reach.soul.codes@gmail.com"}],"description":"A collection of TypeScript type, type expressions, guard functions, and type-smart identity functions.","homepage":"https://gitlab.com/soul-codes/ts-typetools#readme","keywords":["typescript","ts","type guard","utility"],"repository":{"url":"git+https://gitlab.com/soul-codes/ts-typetools.git"},"bugs":{"url":"https://gitlab.com/soul-codes/ts-typetools/issues"},"readme":"TypeTools are a collection of TypeScript type, type expressions and functions that aid writing idiomatic JavaScript in TypeScript a little easier.\n\n## Convenience Type Aliases\n\n- `Falsy` represents the type of all falsy values.\n- `NullLike` represents the `null` and `undefined` types.\n- `Key` represents the type of all valid keys, namely `number`, `string` and `symbol`.\n- `Primitive` represents the type of all primitive (not object) values, namely\n  `string`, `number`, `boolean`, `symbol`, `null`, `undefined`.\n- `Concrete` represents the type of everything that is not `null` or `undefined`,\n  (the opposite of `NullLike`).\n\n## Convenience Type Expressions\n\n- `MaybePromise<T>` is a shortcut for `T | Promise<T>`.\n- `ResolveType<T>` obtains the `resolve()` type of a promise `T`, or the\n  `resolve()` type of the return value of a function `T`, otherwise `T` itself.\n- `MaybeArray<T>` is a shortcut for `T | Array<T>`.\n- `ArrayItemType<T>` obtains the element type of an array `T`, otherwise `T`\n  itself.\n- `ExtractRefine<T, U, V>` refines part of type `T` that extends `U` (like\n  the built-in `Extract` type) by interesecting that extraction with the\n  `V` type.\n- `ExtractOmit<T, U, K>` selectively omits properties `K` from a part of type\n  `T` that extends `U`.\n- `ExtractReplace<T, U, V>` selectively replaces a type in `T` that extends `U`\n  with `V`.\n- `UnionKeyOf<T>` obtains the union of the key types of each union component.\n  This is different from applying `keyof` to a union, which returns an\n  _intersection_ of the key types of each union component. While `keyof` returns\n  keys that exist in every union component, `UnionKeyOf` returns keys that\n  existing in at least one (but not necessarily all) union component.\n- `OmitStrict<T, K>` drops keys `K` from type `T`, just like native `Omit`, except\n  that here the keys are constrained to the union of keys of `T` (see `UnionKeyOf`).\n- `FitsSub<Sub, Super>` gives `Sub` type back, but will require that it extends\n  `Super`.\n- `FitsSuper<Super, Sub>` gives `Super` type back, but will require that `Sub`\n  extends from it.\n\n## Convenience Guards\n\n- `isConcrete()` guards for the `Concrete` type\n- `isTruthy()` guards for the truthy type.\n- `isEnum(enumObject)` produces a function that guards for the enum provided by\n  the `enumObject`.\n- `hasKey(key)` produces a function that guards for the subset of values that\n  are objects containing a property with the name specified in `key`.\n- `hasTag(tagOrTags, prop)` produces a function that guards for the objects containing\n  a property named as specified in `prop`, whose value is one of the tags\n  specified. This is used to narrow discriminated unions.\n\n## Type-aware utilities\n\n- `not(fn)` produces a function that returns the boolean-negated version of the\n  original functin's result. If the given function is a guard, it produces\n  an \"anti-guard\".\n- `sieve(fnMap, tagProp)` produces a function that calls a different function on\n  the map based on the tag of input value, which is a discrimated union.\n- `asType<T>(value)` is an identity function that casts `value` into a broader\n  type specified in `T`. This is the same as if we were to save `value` into\n  a temporary `const` of type `T`, and is the opposite of doing `value as T`,\n  where `value` could be cast into a narrower type without assertion\n  (`as` is therefore unsafe).\n- `fitsType<T>(value)` is an identity function that checks that `value` is a\n  subtype of `T` without casting the type of `value` itself into `T`.\n- `readonly(value)` is an identity function that\n\n## Test utilities\n\n- `expectType(value)` or `expectType<T>()` can be used to perform type testing,\n  using the quasi-human language and one of the four assertion symbols:\n  `ExactType`, `SubType`, `SuperType` and `Unrelated`. Examples:\n\n```ts\n// Use types\nexpectType<number>().assert<number>().toBe(ExactType);\nexpectType<number>().assert<2>().toBe(SubType);\nexpectType<number>().assertBase<2>().toBe(SuperType);\nexpectType<number>().assert<boolean>().toBe(Unrelated);\n\n// Or use values\nexpectType(10).assert(10).toBe(ExactType);\nexpectType(10)\n  .assert(2 as const)\n  .toBe(SubType);\nexpectType(10)\n  .assertBase(2 as const)\n  .toBe(SuperType);\nexpectType(10).assert(false).toBe(Unrelated);\n\n// Or mix them up\nexpectType<number>().assert(10).toBe(ExactType);\nexpectType(10).assert<2>().toBe(SubType);\nexpectType<number>()\n  .assertBase(2 as const)\n  .toBe(SuperType);\nexpectType(10).assert<boolean>().toBe(Unrelated);\n```\n","readmeFilename":"README.md","license":"MIT"}