{"_id":"idonttrustlikethat","_rev":"21-16446747a76b03f12ce8273016ce8e2a","name":"idonttrustlikethat","dist-tags":{"latest":"2.1.2"},"versions":{"0.0.30":{"name":"idonttrustlikethat","version":"0.0.30","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.0.3"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"9f5232f0e93e0d47b55b394d2b220ec23145c024","_id":"idonttrustlikethat@0.0.30","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-EvUCizPa1QYScpWt6p1qzWCrxFhp18sr5u/F3P3EnYvXsdOLNdgZrJfXG60lahASHI2FHslrIBaQQ22Bxa3lyw==","shasum":"c1219133b26b32655e69514b0e4e1bd8a6ddc7fd","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-0.0.30.tgz","fileCount":6,"unpackedSize":60118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgfDICRA9TVsSAnZWagAAYqwQAIb8a7ZNq21EzAJb+OJ0\nok6/xKnTXEIsnHjKmR6wkn6w4UfTgt0GWjULlYaLXu/6wopBv+1Ki/hEFspf\n0Tuwsg1Ac9d8TurHZHro5PfG2iGT1ErY1eMsh7jwnswEzDpocsUJdCgSi/6Z\n26NcdWRG5PR03EXmqQp1qdCzBsTW3oZgNS/SrNscre4cJX4wDG6YK5aTKZdO\nDt8Wy77BhD7tI5pyotkMGSB2c0/FioONMyNn4lgW7Te7Oao2zs40bYrECA2V\nhfHFm+goXqBQiaz/LhLqecT9vkNYwFWcvhFxBOpk3wa7BQE7lN3QJ1Ij8l+R\ni1xY0PGmdHCSNTlV4hFJAmiyk4pVcxRXOiqMTrwF5lvzgv5MdJEzFLm41b9a\n5ODLTPOMMrGy5veW6ohiQG3S8nh9qHOa0DZ4YLnXmW7sN5XG98p+YsO/UyP2\n3uGxNtaBOEdfUvmKbyEbs9vKe7LMHdBnTCVblzDFMx1mL0PYeylRNDOMcJC4\nce/iYyxTxFfGvnlyo//BfD0cPjeUUdH8jrOFV2djhGKszzbHo4OlFUV4dYrz\n6oRZKk3stolztrgnE18wGlmL2cUbzdiBrs/sY5YZOC/7V7FvgufRtjTC7eSc\nLBIzwmKKSUPrKMvD24BmyqYRr+fF/gZ7Me+HP1/KEPz108XTLt7KCcut3JGI\nB6NG\r\n=ORbu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEkT1up4zXKJHYtMJG5qkuL06MnPjMeZR1DXjgxaU0gQIhAJ75cOJUHxB5EF7V8vyPen0aoL0VB9EIaXaFUb0Q8Vo7"}]},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_0.0.30_1602351303495_0.6206483951001875"},"_hasShrinkwrap":false},"1.0.0":{"name":"idonttrustlikethat","version":"1.0.0","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.0.3"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"09bdc670a1cecb8f404ee3a8c2eea6ed7d644411","_id":"idonttrustlikethat@1.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-leRR3EQtxAE+6D9gvDjHNORSIMevzIHtg3GgQau4Gz5TAc/kJCd2PIo+xlBrAvM0LfnyHPMfVNcmTyICylubAw==","shasum":"60aec2b0158547196341c0a0dd40cf51a0ceb30b","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.0.tgz","fileCount":6,"unpackedSize":61175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgvUrCRA9TVsSAnZWagAAtNsP/132UCd2wrpcJQDpCDBO\nXqJCmPKdKvTPKrxRL89979kjZSeCdGxd7tM8BlmCqbPy6Icn/PfeNbYyet5N\nYqFbzOwi6b0SR87AyzkHlgzdrmRyelHzUU1JV5PdvsgIYmzH2IzzVFQnsH7v\nVFw49qXovfijmEBzQa0YAvYLr90z+6n3S116leBYfAb4VsrMJGmb+XTA4rPz\n/bVREP5IHQAVzaVnxh0uGsi8+/xNhYKhfoRwq6fZC/xkTnA+Lz9NNMsrPVVn\nxZ2Y4nNvlBzU8I+hy9zpDuwd5TwJ5BCTr1O1d7Wf2jvmkRn6KzE6p5aSn+SH\nHPwGPclkuJwQ/qtq/3MVZUhPr14CwfQuKgnMJQDzy1jJJaKLP0RTCamatFI4\nbsfXDzMFzcUkEObNrOL6yZc+eelcia4xxwHNshw0N8yDRdj8b8qMcr5kvXCF\nMQhcKa+fAaTtAijCNwwE9FQjn6OJZkFcca1xNwzNr6W06xLp5rlyQRjPwI4Q\nucmDV7carNZgzp2g/GDFe7Hfi9moiDttKaGm0lYJBDtLynq29jl59ngPRAKs\nF9iAsQ+84Nm2yC1vIPuNeOa42QaPHyZz9IHNT2VAbIWxFpVAOtvhOnq+25fq\n2n0x8PfdXritvrQ2hJS/YXhuce4Lx8j9UbUVvCPTH92Uu5ADD2WhPyNtNT+S\nUegt\r\n=85XK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEKFqmDEzE5WehU6vRajpEXzONL7UQKKBHBxQlKVNq7AiBBPRivfdLKnQQxhOTAj1xFmVBr0Wb1jlCaWth3Ln09jA=="}]},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.0_1602417963227_0.17725879530036215"},"_hasShrinkwrap":false},"1.0.1":{"name":"idonttrustlikethat","version":"1.0.1","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.0.3"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"50884040091cf1b5535837f2d73b9e8ac246e576","_id":"idonttrustlikethat@1.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-RwVZSgNI+UfeXIyvq8c7dOAuMK72YfX+gxUwMsTtir5iDXI+pbTye7YjIbMeXOVwdnUhtALgi46+hxtkRP7cTg==","shasum":"441756ce8c34a4d61f18eb3fc73976327ef777a8","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.1.tgz","fileCount":6,"unpackedSize":60902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgx5xCRA9TVsSAnZWagAAVhQQAIX6oHAJOiPDfmrLwcq1\nLZgD6bFVz7Tl6WV6lT9FUMvfTOhUkiUGbsVEz48/FnDRVxvjkqw3GdDvZHJ7\nNG2s8f2LegtKNxU+Zy1XwCFLj1DYfl6USypF828hNuuTakM1iuoth9M2Rqew\ny+Vfjfv6gFvSyq06CFUdiTVKeqYTFGfkVPfHvS77dIW4yPDQPBHcnhjJycdo\nzLexrRDHGfFddFYLFefNnGjltvQJktUvXXJohwQvy+ik+uePfyIPplCB1xf8\nlj7MVUWSKBKVZ7IL3ikYeEdU3aa/O1f0mxmX81b4cPlUwDt9l3Bwsb1tB2io\n5Xsg9p4hDYQNQovTjJYFllQKxdO4gA5A7jacJPWkJDBc6NlWWp6h9uBzWpUx\ns/YlGhmehOF4VTYbuJKMTAIzH7nsIDKLye2Zn7tzg1zZz3LbyoD5SO7tCBXn\nOO5YLcM2CTYPPVIf/pPPUGnVQw1hgNsRkLxLuo/5SwlyBc3WQmT5zptJ3W/2\nf6PajXP3uZ1W/NdgU/oYcihogw8B4cNsrZos+c7y71dmYuV2++w0Qdv9eNOc\nQr7PG3ndZZYogbZenxjmrFWf0nGUI68AgvOvCxpL1sLnJBo/9YNSsNj9pjUT\nJOJsD8SQ/sQ0DsRodGHW2iY9mgBTwGfTh3jcmb0Z0FxDMMUX+yRd2aZpZ5LU\nskdS\r\n=Y3jZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYZ5J+nOflOk4nrbCVEhtar8A2uAZ4+uHp43oM9coUjAiASnpGfE11UiNnr4+ODREDs0zrfswqQWoALYu406JLObw=="}]},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.1_1602428529317_0.5835036365384922"},"_hasShrinkwrap":false},"1.0.2":{"name":"idonttrustlikethat","version":"1.0.2","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.0.3"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"a76f2cc6f33a1f9c6c451cbff9d01f01ec7beb21","_id":"idonttrustlikethat@1.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+/bTKav+xRojcQT9SacBvBGlto/+kaQbHZjn0VEuPCKccdJUNT6MksCYGzq0AV/GZ4A/aexEJf6gRChOBmupng==","shasum":"0f08522f411ae62a882d1458c3893fda2e2fc954","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.2.tgz","fileCount":6,"unpackedSize":48504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgzbQCRA9TVsSAnZWagAAnFsP/iaun5ZFWaYlzPA0CCeM\np7qDGH44RyDZYnBffL+FkmH1sQqjeAXc/ucm+Ef3kplpKccUESlg82jrerKs\nr/T83GYROWJ34+pVIHtzLA8WuHFqLoKE60Bi1HRreFzspN0d3R8kL0Mnge+5\nLuk2Yef/Iq0TBGqCEf1Iaa30NKaQVEx3lDp1LrbXU82bbsrXhaW1mQVYEqDT\nj01veTSGbePrStH8D3y8OPHOMPq573pPzuTNbGnlRK28CEKz03SDaUk9ifi6\nXQGdYRglO0rJ4kfZijvjeNQ9CU61Fz0xGRP9SJ+xdMVtUIgqPjriRrMD4M6S\nvLYWTvWWbckH9pblUqqMS8ZVQhNqEGI3cCr8RH2+rlTOzkc2GB3u/OedXwTy\nm7qOYA53yaQKPRiHbbEGN0R2X8OuFxvVa9PYxtKPu1XcNFlZ0d7GN+nSmTeh\nxWFO/RF4w0ahfv8PT77UW6FaFv848oeffzzn22XFLQ5vDTKntFFcNJpspNxt\ngj45l6+R35s/4EofycjOoxEj4QbHVDzuI9X+DLIP+YcsO8ZJ/Hu2mwNgpyql\nmumPFGcisH7FfVa+jc0YleEB/zwLL5ypfca5mlEKnAkdr8yiS3xfQcdel+n+\nxYs0EOrJcJO4nA0NRmUP7SAyTrhmATAX/7W4v3kEsQiEmXZmhYgTTpSXdzqr\noAy+\r\n=X+GR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICm+WD27mE0XiBSKDIxUrjxwaSiRIxh9DU7rBHPp71FbAiEA3CuqI3fjX9zBOdkb1imcRUmskBTyikRH/CfGB28bBMs="}]},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.2_1602434767610_0.7585112433508701"},"_hasShrinkwrap":false},"1.0.3":{"name":"idonttrustlikethat","version":"1.0.3","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.0.3"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"16509f3627253a5d870d0e2c07ff202ef0479e8f","_id":"idonttrustlikethat@1.0.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-tEmAM9VFAHxnWjvlEOR/ulTac33xZzKm9fidj5FDEjtQm2Hhp2wWykoHULU6wl+bEX46M1ZLg/QssZgJpcjODA==","shasum":"c06365a749b365d3408bf7a30010f887155a333e","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.3.tgz","fileCount":6,"unpackedSize":49933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmfobCRA9TVsSAnZWagAAgKUP/1WqHHZ7FbAbAaSm5rJh\nPfMlqWC+LRjKNn9vfvgh6JxmKTA7r9c12v37ZErNw8z6q81EndQOtqIaBOWJ\nrkylc6a2eTyV8MCyV5WrX42KQ36o8WsteV5XSpSc26iYFzK9SGRAcAoX265S\nEYu3p3IIjsw1Y+CxKFuFhb4+m03tItfYlAeQ+/bvUX7LPBUwInmi/8ADrOJs\nFQA/QAcxCu3Yxa0gCF8CHOvY79i2VSqOncdc35FgaZqv2ko3vkvcuDs5EDYb\n139sK/fhDwYpA4NA3HrNy6mMXYeZX15ey3lAT5Qc4mP2VBNvYLPRJpV0YQAL\nIaiItFCQNhpq26NXKpGEGHBdoTTO3kMWagEiG+sQ7kLT8+fzMH/7+foFnOUV\n8804alJR3p5/lgAZAMh318wYbLKkURtaX8IWZ5ST0EhqRz7C3E2chVPeP2uc\nBck5SjWhJMA/K3ltBvU5i+cOuWnZqWYIHiWMxr1LNqFqdLaxQd/fHTC5oLn1\nxCEY1kGWds+AGlc3LRqJmv4j/GqogPT2tMEydQGiffC+dyzSZe10wdSy5QGf\nsdRvncCOxfdbeKo7NmuHtClK7CA7M70qt2M4wF214dWXqujYDzL9VZj8bgav\nHKfdbHx3hprALvbXefrCq5IjqekHk/ixTx+5Lt4GNeW4BtoVB/c+U+nJmCbC\nssij\r\n=oSY4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNCvTTFCJ/X3EGEMn/YcJLI/MV/tNXnKrDGQeYuC+4vgIhAKBvSq0aj8oKNU9dsNS3VMFceoxxJVeR1a8G+Tqpq0kN"}]},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.3_1603926555155_0.6831960653404976"},"_hasShrinkwrap":false},"1.0.4":{"name":"idonttrustlikethat","version":"1.0.4","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"689ca1be1e056fcef6661e53e5a6291210b1364b","_id":"idonttrustlikethat@1.0.4","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hzCBRWD8jY6mU1cJvLKBSoFtBFTvmU/2RB2SiRgrZa0VVXDQlUq1F7m8Z4K/vwcnFom6nFHLDD4idhG/NXVUAQ==","shasum":"4997289438bdb1145821d5bd2117acd61806e260","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.4.tgz","fileCount":6,"unpackedSize":49330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxLarCRA9TVsSAnZWagAAeSUQAJATntLfya36RUlUv68M\nx/tCC9cWqoyv7OWFENpNlom+s5ATytghLr9DDR7Xx0XvVi4xOyOyLRhqD8zA\n4/0sEGoplTYkxb/H+SK3BVc5GhZYMi7uS3inBYkcQCcGuomy+5FviJu1Tt2b\nPTptWeiR8KzzyvodxHMlrX63Rlta2u+rAWFSKPq06DemgR7Gx35qvd1W6vZQ\nCHwx1QIvscBnyLAz3ku95zykJ+7d+74ORD1u0SQo0Shhw8KzhEaPPuFT4o5W\nBOapkix5ozWYVjIubG3CbDKZYtoesoKPbTEdQVPgztpRgXaQbTa3NsixP4mJ\nw3klsRdg8sQfW2s5JK9UxQNSJdB58tAhhV1BSWNlDXp1xy2gm1yxDJF5uTmL\nA5KDba7RC3ddgQLBLRDQQgp1311e3Uu+y+HQZ3NF0tzz3YP801NPeRWvqpxs\nXrYr9PdpOP0fb0EkKDl3293xLUYJ7XMYGUbWuwgOxgr7oHfX12fU+uQJ7C7+\noUQ7Kh6wcKsKBG+BB5GgP8D37Gj9etlPCPG5R5VGoFm26MxgC1DPd5qpzFZM\n9MuOc+WXYiInp7oUORUbGuV5vMtwZEwijuoq+i6G+yXKpPUGv3Pa84a9kvC5\nWAACl1HAQtTUI7+cJQ/53Si5TxwiJ+q3Ua1fYNUwmTZQtMKYi0jEMBTE8uFR\nZM0n\r\n=wD2c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcDU0Gc0+v50y711lAiBeXPzsZFztLo2RYC4sdkBAwjwIgT92C//9tG1x/JfC1QMOrEDGbhWLdkSczCKDuXgBXpSg="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.4_1606727338556_0.4272571219246373"},"_hasShrinkwrap":false},"1.0.5":{"name":"idonttrustlikethat","version":"1.0.5","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"49549a205874bf105894f1e4e48bdbb377a1a1ce","_id":"idonttrustlikethat@1.0.5","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-pnSL8dCNhAdb4+KN6yPPVsHCs0hoZpzQ1XY8oHqc3e4KzhU0B5iVsT4/SLJ/szzIysFL9cPHJ+Pm/vwDSwGUkQ==","shasum":"b35f360b3e9605ede39648fd92075b585373cda5","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.5.tgz","fileCount":6,"unpackedSize":48877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz/CiCRA9TVsSAnZWagAA2P8P/iVA5wgqDuBP8SGYfqlF\nqPt0vVkcWTAKcOH9cVYPAZaZ0Qq3LXnfqxd4nhZwKyZl1fkZQxwKCJu/VN5i\npJaqdLKcOAcQoOkGpMJUe7iRqFFKI+nuumtBJ8gUbo7g6feeIrlYeq5/tO0M\nb5KhaSV5xPeiAQm9dlTM0JmLNpueMdyMbzDg+kmwAmCN5qUUJXDitRiMm19v\nSS+RiuS+nh1Wj8NkJ4qBNILwbMqJYxCF1JVuPMlB/mldPNZ8wdPgt8dGkBRu\nmsV6TAKBdljacSM5hP5T9VQYiB9dXAA2N1pac6eOyIo7QAnA6fjr7kHnEhp9\nIQ4ySHYS87qQMrjaRvNvIF+1ZOICOp/eOr0HeYihEo9kisK2wSNUkMreyZQH\nBzQzWyfTNSr55JgrHcOSrA54u+dfNWiOECaL06QA1GKwfFLSY3NQMztQ/pbg\nVQMoJ7s/BiCgakh2FqCiZ5+31O61owOSH3lbXb/bjstXTCaMxPPxVVphnCfB\nmDRY6GIlAwoPpmN468l7lkBbwkjDqD7MuikvvbYnvnf1FctTJORkH7lEi+GL\nzFT4EyHwN5GuduGQKLJ2GnHaBZb+MZYywfXbqx5wz3/KRUTWEmHDbtk0reur\nYBAJywDJLNPXAM7+xODGqSWroFvgwCT3Rg4lYXs8ZNs9CILzF+6XekEjNvn1\nTMo1\r\n=WJUL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3/e+F9zKYN0RgnJLqbu8pK/KdmKaRODVYM8DWVci07wIgSYC8GxSMqFyyP45Fgz92o/MwkkBM3fq3fNLPjgbII6E="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.5_1607463074172_0.8660494801720604"},"_hasShrinkwrap":false},"1.0.6":{"name":"idonttrustlikethat","version":"1.0.6","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid"},"gitHead":"d922c73e48f06b2e9fe53ea6ee570458f3e53d44","_id":"idonttrustlikethat@1.0.6","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PZyhAvBXsgC9MlrRL+eS8BOsk62vfieLhBZPeKa2DIZ6pm53NS40NfouMC5KF3myrUJNAb6C3le9PRDg0Oceeg==","shasum":"a5628c7259b7292a0c8792c24fa820b52b8bb84e","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.6.tgz","fileCount":6,"unpackedSize":52048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf91EaCRA9TVsSAnZWagAAfuAP/0JeDAGmhuiCmbuFqDg8\ni7Z+dMWOAtfJXK7F6wkvFV108B6WYBPQ6zfuQcIzxNvprU431vz1uHWD/YDB\nCq3TDWL2Pg7UHgaMYZm0o40ziaDOZdFGt035f6P3AtUJ8SpYwpTkF+LOf8J1\nz0oHYLh1m/gatT4AbwsdSUOyClRBu7XNUqAThHh3/SAd9TNuRFVfe0pMVWtF\nBeVqst41YN1xLhHgJEfUvHH9tPve+RXUbJ4SkEqDG0cMnW27DcKb564NF1Em\n7uCjqtW4FMurjCvesEAG8hZ0scepgwnvkzKFmBjYS3IldnBHQCbbhMUZ5pvk\nCpnbRNUx1saBg/6fI17r2A3vtFyxjFNqQ483Cf2JKa9KyD2DlzsFbtmidyRu\nxj0LFsB95sVAoZahn3K7dFemfAfXCGCST+KQoN9sYNSJ7O/dvx9pX/ddzHOz\nT39gKEM1os6xZtXFdTJM6knkTACFS0OIxfcvJbvAwnFKfqM0ng4iY8s/N7gg\nQs9b9N8EBUsKR8Gy/2072y85dkC+iyNv75mPbqBxnCVqlhpb87j77BSw4Uwm\nSCzrkHajYJ8I7ToHATLFEHXtXdvbigpak+C1rGa7B5gQuISrpD2gZgw2FHaw\nug3hGXca1XjTD9xfWZwLycqwmj/44a5SE9QvZso8grwjM+q73/hXwl3XfiUd\neX9P\r\n=SyGA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrwuJU43x9juwCg0dYe3dDlHIicqtCgc7ufMUfIyFD9gIhAO/Hi8C0lAWzZLO6L0134uYIJp4nS6FrgYkYIgkMAHWG"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.6_1610043673878_0.36980176366295914"},"_hasShrinkwrap":false},"1.0.7":{"name":"idonttrustlikethat","version":"1.0.7","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/global.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"0313fd1bc3d23e210e989bab7ab7abea21947514","_id":"idonttrustlikethat@1.0.7","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-E6LEwwZAwgiuUgm4SZ80ZqOPsD1aJbVTPl5LEMEJR/+mR+R5htdYn7Sx4bJhuEdcLqd19mojqDwiwQTwD4pfZw==","shasum":"d6e2483edfc6d7edcc4b617db379199287fa8326","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-1.0.7.tgz","fileCount":6,"unpackedSize":52873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQPMuCRA9TVsSAnZWagAArwgP/RKmh6XNhMedCVUFrjwG\nPvnc6ST8w4X7q3DMtaIcXPJu5k4gDiV6h3bvfHVZ1Kks3qRxbrjkEOOJ2oya\n2TiVCT6BJ60sg0N244qnoYI8+Dt7e/h1l8dCT/zstk8vkMe3SAfs2Vqom0uR\ns+ZdOCCWFInjN9SXUrFb2lP9YpU2ijUTlyrfm4zcFs+5h8H/8ABo7bDLJ8pa\nXHUX7cRYyC5AltHiwO8llxWpQe83BhHwoAv6TBVDd3oHEiPmCaL6ApqEvE6E\nlXj3Ak854ym6oK30LAzrrGaKHJ4XjiYPQgm0gU1wHRl5Ec+7rARIVSR1oySK\nJ534QF83NuGEQtv1cnDUpibh2Hu6IYESxVokEBPYJ2fhuPkSb3fB2U6mYuNO\nORVIRmS+h8P2vYXrSKLX/QmH+6nfzTkWcgBzoisZ44vDcYtzAuFPo4yWO/VJ\nSpT6WoZuBNhmvER98hZWsTMJ8+X5n9yaMf6WnkUJJf0jK/O+ayYxIKETpnB3\nc3/ELTS+8AJK7vANkWrT5UahFbBavDhvotYqJGwit86M4Q14Hj7WKvyZc8Vu\nP6GnOJ+5dK3C9mylDr21HLPquKpic8nJZ7yhEgx3omDXKeWJssLN/Xq0pWRj\nwKZajXrjyMjGRNy+uGMTRX8f26rJsQ7qOiYk9cOqO9N3t31/spL4qGrf2Tdu\n1oCO\r\n=miFa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh5edGht8PWb69ALqAttSmgxgn/rS6CaWhQGMRFA/tVwIhAJlPJgUd4DOfM85q5hs0obtD9oIxhf7g+7bR2sGKmhr6"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_1.0.7_1614869294356_0.9603721244074392"},"_hasShrinkwrap":false},"2.0.0":{"name":"idonttrustlikethat","version":"2.0.0","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/core.js","module":"es/core.js","typings":"commonjs/core.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/core.ts src/extra.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/core.ts src/extra.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts test/extra.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"9d6eee5c522022854643f1098167aee420962eca","_id":"idonttrustlikethat@2.0.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-yJJz56+dSjFZlgwsAdyudGauY/VcHZjMqyxID1aoN35BcRvZiM101hVq1IB/vM9AJJ6GojRQ8QGQTB8p+PwaDQ==","shasum":"8df2155537dad7caba701ec5519696a98108825c","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.0.tgz","fileCount":10,"unpackedSize":60218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeE0iCRA9TVsSAnZWagAAygIP/0AIcVRQ4cEfwdqY3N1r\n6EmqSvu2XIJqw9slz7vcaDuTA+8skfZJg+4cqpf7cKGFjIwgpeq3zXl6LHNv\nL9QnqYDZEwhyfWIQrdk/jPHEfV+P08iR1fCWmqztO/UML6M2mS+DYBuxGjjP\nueQWdjgFRTkY669XcjBxxcLWcowGgcqr0mdZQqedjTDRhZRxIVK4YPNdKNzZ\nQ88OhgRUI2woV3p4jgsD7ApOh0Kp0SgjH2B0wZL10Cos19JvOUdIkGHqdDfb\nZv7qBR7oMWu0MlQyyuA7rB5ujz0gdTDdg0ckx2rxQNu92Lxa4LJaJzPOAbb7\n1+h9nU2BlXiQ2tv8DwCcdHdf/afTnQ7QeBcylUWxCIT48clqYnaY15RQeL7N\nZJ+ZQIHQOmF2yeEFx423rb1k88Fvpz986fNFFSHxn1VytUFviXhAlRlUXgyI\nEbKLK94zKwgyYG3m9i1XoPQWifDu/6ClRm3xOa+Zgmxj6FJXU063Bv8G1Nlo\nMfJTDSrIovX0GvIW640tusgTY3mRj1cAMZBNmY5VYv+trEB/l91XURtnYZa1\nO+kc369UY5mXAb4M9ZKmXYlmvwGmrStAdg9yeK0zr4cUagpq39cb97kA8deT\neeOEr1S0F4F/mrHs/1dBtUTFRnkWmk2CFLFEbTPJAP+q7P7AjtsxaC/2FV/0\nUXoE\r\n=c5gg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc2xBE1MXNxSRbuKd+vm2zTq89pDy0lLLKyRnX+Tb6NAIhAINDbTtxCEo7QNMhPh9MqC44zXuTz1lEfrM5Sb0Xjxa+"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.0_1618496802296_0.6330402279162339"},"_hasShrinkwrap":false},"2.0.1":{"name":"idonttrustlikethat","version":"2.0.1","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"1be1c9f4bda245309ab8572a8d908d72deeb1cb9","_id":"idonttrustlikethat@2.0.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LzJBeeoZB6Mj7FbDGls44XLawuagBoQFYX3rNOpa/6jP+Y0dyKHDumZyeTxfBJG/rH9eoiWa3FK+kwhSkNfhGg==","shasum":"03ca09484d1498ce2ceaa4ff6980c6575f03baae","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.1.tgz","fileCount":6,"unpackedSize":59471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgecJACRA9TVsSAnZWagAADFMQAIWOXaGtAKwhJ0mhmXia\nX4fLNxD0Cz8Y1mY6jayfjNzaFFEnBaGvwMdrnjpfCkMIofKcpYOUSg29SfTb\nQFz4vWoN2o4TnrE7RWG5A09bA8AOpVp0pj5yYhnRj1u+XF9s6dMteA1bgeSZ\njF8wNxQCk6MWLgl8sMmFkb6nil4H5gq3uV98D+XpW6QVHo6cIRlyGDfYcYWm\nTkxt+bjrAw19nfpzWOEb+l8tpvBk9T1LisybacP2YTs+GD0N6iADTJdta41a\n9sggwmyaaWWRnTYxkloI6eaGMVk/+nfL7xWIU/smVxPgANdDkq0dNPmKUSNn\nOrWy6fUEGlfIKRCD0zqGStICdoA9t152o8lfFKZLW0vgZrs5Iw+mhFCY/uOD\n9Py3GgNLk+VlEeJMSCPo/Cx8vd8jZ66AZxTxAbMkp3K0EX/KBdn5Y8qPp/AO\nKU7tR79FvuvF5CJr3m9LZsNQCOyddxgyZ/hwX9Qgxh6i3CEHI0WEwhYQi2Pq\nuERpgYwTRBCXz7NPqtDEsVNyy0TpeFBGbRlRVpGPDUq2zaNM+YSWQpoHWMym\nj6lxzVSbRxhjf/hzOAPrWgU3EPAZ5Ej8x88It2oQZeE8arJHU0eAqMSnureu\nBZO9K+eAvx9CuCwLbAJhdmYf/TzGxr2ydlZXrIk0AGDeAWwfcZaO6n3FVwVf\nbS6v\r\n=X4Cm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICca3heN+MANdYKrjwD+7gp4YSjAcoxRwHbmRq4SI3zMAiAx6Al6v+6cl00nQr0AjJtI6gKqfeLMRVa656GF3LMPKg=="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.1_1618592319691_0.24766017370953208"},"_hasShrinkwrap":false},"2.0.2":{"name":"idonttrustlikethat","version":"2.0.2","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"2927838e9ce9b448b9b226567da7e6dc9b317a58","_id":"idonttrustlikethat@2.0.2","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-e1qjgiihGBhNp6UNz+wwNlFCH4wrMIZNxrVqam0FNXoW/jTM4zorywzCO8DBwgHuj4JV31rhKQ3BkXrDSmeMgg==","shasum":"6264c8d886237f9285ce6cea680f774f9b0cb8d7","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.2.tgz","fileCount":6,"unpackedSize":59352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf+73CRA9TVsSAnZWagAA9DQP/iFxEcDzS0jIKaQL9RR0\naELmxyvEjJRV842uNSSYlxEZ9JvmNDITYa01rKVe0gVpuE5YfXfylCEgBXDq\nq6gSnN97fd5TW4ld/5BB/tgmMSXNI03r687QFkSKnWz2gtgkhhprdiNxV1CV\nz3yn8XYOzoluE8yv/PgdLBQpNbC748qT5ifNhPHeU5O2ErtViVhmFyT2Wk5b\niBuvzxZhhg+OAi3D6MGGPpuZKUgmTBl8LbJNvyDbLrpOp8F6nBHwPC2R4XDX\nwUDIhs6QDtv31ecpGtaarfqc5rn+ydXA3YAurMY/XSIYlk7v073E2aFo/Oo2\nSzONEcA4SQAqxW4fItKB+pn++Z0y4sB9SmkkrzoAJE3wQGaHt96wbw5XhpUT\nsSDIwF+ozyPyiC64KT03LaSO0muXb0IUUuui/qZVL/fpR6Vh5tm+RSHkztPi\nluS9hJaUMZMD8cvWdRGrZvvcf39lLaOXEa3NEn35KZRrlGnv+rROROyHY/EM\nENnBU9UPG3d4S2Zu943i+H2IQtSIqOIYZuSXxgOhKkVgnSY9dxjk9iVmRKxo\n0OwLMZSMjJMWmoHDvHKNTAuSqNJTkVqJs8c/5ZFKkfwRhmCG2KvGyMfHzorz\nKssPE8N+ppen7+lH+tvFwkuMtlP5VFrDadeJUpCVmkhGZBfEEzk2QtxNPOPT\nRF7/\r\n=pU15\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiYIrI5fYC/mEYOQA8v5Ffm52TwkueyJKQRgaDCcKOmQIgabcSbFxl8mHUueu3YQfI7/xIOoCMc2P6KnKCPlY5hbw="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.2_1618996983324_0.5885177306300073"},"_hasShrinkwrap":false},"2.0.3":{"name":"idonttrustlikethat","version":"2.0.3","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"434827ef4d92f5f4969214419c8bf68d14a1b101","_id":"idonttrustlikethat@2.0.3","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-MnzzrHCLmoMtWy/cE2ZFF9Lh7CDX4LTMwxLLm4FuNh4krbxQvhXOMi+gwLOaWrGnSm/vJu3Hl8UbdaKdw22+NA==","shasum":"2eff34e8f70aff5a4f6c8a1a27b3ef90e5aa116c","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.3.tgz","fileCount":6,"unpackedSize":60282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3c0FCRA9TVsSAnZWagAAe/4P/2a4x6aVG6EdYlf6tYok\nlibWsQhwG6MBiFiJV7u94yDJditFyU+4w2pMcvGMxz+kjmRE36Wlwpaemdw1\n4F7yXZ3s0Q8BWUjuhI5E+h9IdAQcdC3bAzSmKVyeyay8eRhTzzcq3DSUjezd\nipquS7KIbuxYqsqL5CjVA+shzsB7/LreD17sKY2+f/8ewOXCMDBl2GneqCNI\ngfebilzZ2vIC/vfn9fx6urwD/wl6dY9Vf1PaWlFnRs59M+ljg8eXl1HwUEF2\noJRm1CRKBmUtgAq36YHaWe8wZ1zVNuFrSCcqWH2h/fV79gaYJhOT+ECgzGr/\n/GDv2uuKJiwW0g0xRhYP1Bx6qaSXxvHke+oCjmtO1Vs7Lb0uU8NpfPzD95a7\n/rTwIp5lic2wSwqJ2upyBNATeA8+AJAePyhUG1+XGvfynWxeb3h91zBhg36K\nQNI81RZL/W+pQajitEsH1NwNhoLEpsGgtdlqAMi/wMeWnglTpaY9yu14GF2G\nADH5OI4YG/0dOgeverDWxX+mVrg/K2kWyOkQga452CW6/lgQBd9m5fI/ynT8\nP/YuKlbz82x58XxD1RtooVZBOxFBsDsEeXLSoycSZEQV4c70PSJjTdE6f5Ms\nI1nUmDSaLMuWBnyzlEqjmfvke4wPZnvHu/zHoEKHrFlAHM1FKx1YWJqQbE68\nei9n\r\n=WjUG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHv7xPbNul6JmdX9/diQWYKjiIK6o+23daEDE/+oj64+AiALJhvZCNSpkGbkdAiA1fDkKiNcTvANNoE+rdHq/ypfsQ=="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.3_1625148677066_0.7694413836553757"},"_hasShrinkwrap":false},"2.0.4":{"name":"idonttrustlikethat","version":"2.0.4","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"3942f88d6d5b84c5f179adf1a5be806377953c95","_id":"idonttrustlikethat@2.0.4","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-AS/c/fnRzdYSx2GNaociDEhQ8s0tdgZZHWPhJ0Csbugna1qCSx8QyHM4nbR4k2GO67KLvFSubjwMemYab55tbw==","shasum":"ab58f952e5e77b8ee28452915e3ea643ea165c07","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.4.tgz","fileCount":6,"unpackedSize":61526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9X9rCRA9TVsSAnZWagAA/7wP/RVcmR+ySi49+2S9rl6c\nmd4W83kakpX1jtcv97Qu7T0wjQBMPqbfeeYNVsYteiuBiv0ZAx7cOHlS2t6T\nqGZMxqgxISD44bC/EeRz1i7JMqfyrjYMl2mL7U1A53EADVbYthIFWphm9iFK\nRXGyxEiWdyNQphHeYTOuNF8/DbLid0GuBTtCrsMUjtmrcgCOANKbd2I1D7sp\n/vR/UjrzbwflMC0SNQGhqux8Y84HcKcdOdAU0POZYlQLhPBazYhNHgEz8jQg\nO+jf80/rbm3VDF26wgpodvqEgIXijVgl/KT9xZDqu5lNA3JbsOUhnXQ8Yshg\neh2vnWsWyALR/sRMSWpwn4WlHTABN//WWLfF1BQ0U13xrURs9tBfV2d2bFib\nWumhHrLDsizq7dFne4NMiZAVQDb8MVIyU3UzlCC32lMuF+ywovZG0XsSE64b\n73TbnZtzhm0vd+CYZ0p7S+WL9/Lw8iYwOv4p8V5nfK/vsQsS3VjS75MhOJCt\naUIOnIRg5Vh2elCd8PtIaRDwfhw2JWyxdMJTJ9FUTs3+3nDP/c5in7MJ/qsU\nXE+iXzUl15ovNAzzwODJlQiH0nihvu+ye2SD3tREqcOqRuqmaFlJrMv17AsF\n+PFq9qwXsyPXqqmUuCVrwgIpKKoO0aaWBMtIqkuFVD3CJNhMw4dR9ZwGr6iW\nojEz\r\n=Oze3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhC0Fvt+5Jp7VnKBOPdD6iEgzkq2/i42E9LfzGa5JHZAIgZms2YMvVvrnx9eaSgTEfwnsSn3LjVwFIS/wkzP3AmPw="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.4_1626701675256_0.7939484235447445"},"_hasShrinkwrap":false},"2.0.5":{"name":"idonttrustlikethat","version":"2.0.5","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"4e91935bb223a6f0b92017ed0144caf670a13d97","_id":"idonttrustlikethat@2.0.5","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-sTFsAw/q+Of8fsuxN0yaQcQ9odK5t+6P3R00Uoexh0C6gxWoaZLxC6IpeqWiavv3vSFEoCdLAqOTwKJL9JVJHA==","shasum":"880888eaa03f8efd54eae0e93ca1a3467c29e0f4","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.5.tgz","fileCount":6,"unpackedSize":65138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9xZwCRA9TVsSAnZWagAARhgP/03FnC7SNP1Rp3LHf2OI\nGpq46ZLzQ9gDGKxmU14pXookySanzeeFMzeKQ37UJqPrFXjtCSYf9wzNRPjU\nqg5wOgwbHaGZ2R1vNCNKUA4o2nxER4Ml9lV4/t++qWmjH6Xkq0UZGW9GN4tO\naGNoO7jLPgfIa7qwZgFG0tCyu1IFPqoS6LddGOt0udGIjfAjikeL1LcPjvtv\nGE8qmRtws+MAE90p+X+GFWr9T6m0r6tx3HiYeMmS8J8NK1eaRhS/02xUtA20\nmS+kJwYNzkRh5e2mCUGaeLVd2eSvi/QIL/544vw/HMg9nd00rz8pEaP1m6Ae\nlVecudgC8euWWIgCSGlGrnxpzh9kq81auqjHgTdORCaY//40LAVPhdNjCSvM\nPUEvOCnMwAWVduy+TGr5XefxmBrv7aa9hDjU3g4LBvQC604k72sEkVs2RPGJ\n8fRjWfeDY/9BRcidt9El+EXkRgu22hv/FRXXBg603911csxmVtu6qcrOzOBj\n9aBxPVsKvqVSss68BEO/LiY6NiuT7cFGiPwOozbe9EWaFLUsb7ihipG/Rgw/\nlqEqtHuBD/Gs+cvlXKhxOHdn7eo0FUiHDdXe70gDpq7qX4wIwcVrxhlyo6pS\nP8VJVdBUZEa/pdvzVhHrK8TXmOITTRhEMIYsvkdZdPtWRo6acTssoKcZFpZK\n23k9\r\n=l6/u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyfgFLx0hd9M6NMyWQmAIUxkIlBboE7e+aY8Qy2ns7DQIhAOTgS8qIY2JImzhpd3EapFzrWF+f77fc3VLP7iHLsS1B"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.5_1626805872563_0.7341388423258941"},"_hasShrinkwrap":false},"2.0.6":{"name":"idonttrustlikethat","version":"2.0.6","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"8c03c1f42fed9f6ab87d98a0eaf0352fefa76789","_id":"idonttrustlikethat@2.0.6","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-FjwlRnPiyWpONUt9g0/dFxIPd91zQEypQWsElez48fr+Og5RzrCgF51VsmvIQy5MNrLbFTY2b8uCuAyGFc9oBg==","shasum":"e7a0035a17e45a0322c40e89e9a866a3bec9337e","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.6.tgz","fileCount":6,"unpackedSize":65465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+sxWCRA9TVsSAnZWagAAvlwP/3sLTLghuG/9sKnbyhHs\nj6BXAld8tnR94t1/r0utm+aAt8fTpKfzqPMmMne4MhRmQS5Yz7fph/xvqERx\nycz67BfQT5VprGiQkFl6VzYymfo8wrVubXIJrgn0E+GByAQqwOQcVjzQDmkM\nSDoVGQnplHN8quCgRDFHNwHPhvlWKNNp4rVsrTdf4t7Otfpe4gbk3xcR+ddg\nH3/uQG+Z7GurAXCV5RT5onH1YwZ/fn32Jd0ZQd9aC5DT47xTXd3XS21BMpcJ\n0P7g2/lvy3DsXpM4Mk8cv1fZDirME7WxnYVuMVPm6alr6rOrCs5qg2TWf2zH\nL+IdSMxI7f7tY8uPrWRo67cpZI1pUtu15r5HH8Cwo2Sk9pIMAQVAGJvLJPTX\nH1wGgh5wgKCAxz9dFRWbSkp+nWUV1Y9cVMJ65KB+apPqLlvYQAA62UejscmY\n7yXBgTTbVELjCAPCDGi/JX6Aek9R/7JVNgYgL2aoUtEFpWEIm0Qvpp58vUi8\npbhf8tcFkcel9cx1IqvwBtpFNnoVrnKtpU3AyGaKx/g7rVpJ3/RWd9+fbYyc\n4AV/hLkiAHedmAMCbOjZm2VgEi6K3UjiuRp/MVd/865lJVImwDsxNvlVJDmF\n6sMliIhkN1a7u9quMJwtSZSh8o8dOanlOlyFg6lw/ZgC/BMh1sX5nksiU36k\nPfFe\r\n=1BKc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfHi/jWIbYt3NyUMv5g3WX8RHlU1eYoAXrM4MKG7VPRAiBOVKCNWCqfVtRMFLe32v+mt5RvxYc9pvJaPKnUz39oGw=="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.6_1627049046353_0.0803439454960233"},"_hasShrinkwrap":false},"2.0.7":{"name":"idonttrustlikethat","version":"2.0.7","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"86ceb86bd24c2f5cd7069492adc7ffeefce51a49","_id":"idonttrustlikethat@2.0.7","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RX62Q+bVL1mJwlIfBWFFXQ4VLhbTHaQzynlkFMHpPMD65d12+4vLlluKrkB7aorEjXDei1KNGErfLwSY52aCCA==","shasum":"8cb2ed3fcd3f365a877b24882da812eac71ddc3f","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.7.tgz","fileCount":6,"unpackedSize":68824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBCSMCRA9TVsSAnZWagAARuYP/R2gziB1kkdkD1pFyid8\n/RoYHpyc9RiX0WyznSqDVq/A0rxB/9KpztnvvaZBCTP8tLIi6CpMFUAUoXzI\nyLAlZemz/TVaY5wvo0PmeCJi+xwqTrJ0hY6FQF+gjoaPM1xIVOcyQ9JQHCYz\ncm9tVQS2ZiK9QcIt9ZTehVMtp7391FmIvypPOdBsmc1EsnHxsTKPkbWoAGfL\nJaUxdv7m7FAHELrJB5Hz98ke+j5MY6NU+lARPXahEc2cW0NK4vG0CsE1O9IA\nXzWqVq3QZPkAly4ZRha4fOqKlr2ePd4LClt74hgfBxr2DUHmAfReIO5G10Lj\nJ0ReFYk0h+E9CZMISg0JyY6Gd2ap0WJEQXDt2XhekBZUYJdYUpk1phIstDop\nnOFyP2MPGqf9nkrJq+yOC5p1pzAGbERzfYHB+bo6dXN8ztcvEPW074EJzUGL\nierhdqSBuPbdBOKNTK6U8kxML6sgJFfotyovNsuzOSalvSe8lO8MX893cFyq\nwpplGbIDU6WZaBKcYX3qoKBylXvgZcPlpDQq7KgI4atGhYxgWqPKHt3soWJF\nIAMJY6yjd+5pfY5SNOR9wU09Z90kqTM2JkJqKI+JQSoZ+YEhC3RfhFp5pD59\nXTLVLMGclfPkEuM8yjk5zC7/d/jlc9rupMB2/j0q3+sI5QN8iOPqSlnGigsD\nYQVj\r\n=uUkr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaLQrQnY6Y1qRnTgjDR1dZ0xvD0DSs6muakxe5gUWR4QIhAJuzYwYbTNbbnZ2KHPFWUepnLE1iW/4bMfHZMt7F+pZv"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.7_1627661452229_0.42143208101555496"},"_hasShrinkwrap":false},"2.0.8":{"name":"idonttrustlikethat","version":"2.0.8","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.1.2","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"b5d3ddf2de99b91e5b0c3e03375c113a9847a7ca","_id":"idonttrustlikethat@2.0.8","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Drz2OV5XfToR4zkIpDlzb7iwQ5UHuuKxWgh+gog7WueHwZMO02aK+AJ2A5kyQ1qmRxrZX9M2Ft9v46CxkMvxGQ==","shasum":"45b7090c3d0acd35bdebc90eeed9f28867efcfd0","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.0.8.tgz","fileCount":6,"unpackedSize":72617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLeBbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRLg//fi7Xpo74AbSMqDjgA+4cwOH7BNX8FcxFaSI9Pc5w8Yrl4C3x\r\nGRg8CyWYymlybbSGltoCMAS9iu6UXdb1IHcZHaZjK7yNCnX6aGswqrHlHQ9j\r\nZCJRZFwXntHMG2xXstCNZlRvOJ26Obp8OOv+9SzRe0J61uX0+ydtfQHexl7y\r\nMi8jMH5qX4jK3ZE9MUHSNMvWcTWS1YV/YBU9K/crySmWBmzn152+VcxWCKdI\r\nriyYQznkF0Vn5JArDp4YH1N7EGbAtAep/zzEF9/O1vRpuPnW2Wa/bkvSQ0fh\r\nc1KkPXedq0ZxpntZ/R56WlojUuc3hDQVikMbUyD+rkDwbXhnmebFGzZSeyjr\r\nz9B4DBUiIC6/hksL13ERIHbURO4E4vLY9HK35G/DG8moToo+7ZQdOulBGnV4\r\nm3nWCXAhK/bXZX+Oz0JWhA7CdwSiuRuqA9z44DjnKutQmaMD+hvwQbqLT0kH\r\ngUpEV9YFggNugVTS2Ap7SnMHWKDf3+Q6UcLK/iPxCJXrTbVCMTPCTd0F6OS6\r\n+Q/TVZlqvehqbJXJWXkDHJX8fYVKEODE8Kkpvc8N+ob2uuWnQQj+Z0i4VuZd\r\nNGQjKBsEET9pGjAT1mdChldIHFjQoMv5KiV053W83m+JbAs3zPcVx9/GfZhq\r\nqkuB0tLWDh7MHidR2vhhuHkmMD5f0ucioD8=\r\n=oUR2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ2bB2n/Lz6erV4Mtm4AXuJwXCtb9tZOvV+y9kU8UfmwIgGUrN+uECZQW+EovhEVPuMP7ALThIe5+XqyXRYMNOavw="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.0.8_1647173723633_0.26043983860787745"},"_hasShrinkwrap":false},"2.1.0":{"name":"idonttrustlikethat","version":"2.1.0","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.7.3","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"6de82a358f5d558c82b212ff6c0e9d85be1649bf","_id":"idonttrustlikethat@2.1.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WXiWntC19mYSULxHkPiyA3mp2JLFKKmLYvUNyKwcYafgvH4tqQSeb5XfmN3IE4hTQNGzu1AViNnPt0Z8w5FEPQ==","shasum":"657300b6838f1798ab74f79e72e1108d0304e5da","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.1.0.tgz","fileCount":6,"unpackedSize":72670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBAuyhcTBs06RRWqHt/uNub3NkVghmXDqc3B7WID00BAIhAMUnCzIfJ3Shre62EK45cPSI9ci4iZz8JMCT1tjhIm5g"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirFd5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5Mw//ejkUg3i3f0rX6OfQbE9umYMjS4Bfk+psJ2gY7ktDXhNpGHi0\r\nrwazaZuUcCSYTJa0/AQ9K1B/zEKQNgSFzXC6ZMHBe9qjNkKekyV0CmzlMh0m\r\nXD7zpLGnJEHgKzZh2cggpcs9cH+oGUZzNbAy7PkIhq9UodnMzATAn8CWGy6T\r\nWQpvk6cyEKMo0qkwzcPoHkt+HfjamwAJAfvrahYpa5qY4zQ0bo7uAkyZhejd\r\nk//akMSckZr3783PVm6AtLv6AFf3tOGvZDcpNWJl7mhSXNujNM9BFkH3GfAV\r\nfY2/yUqQuSTy72GQup0odNdgYL18W7axkCTWnt4LuQ3UvNW2P7bziSa/RUu+\r\nY/NzdfLcV8u/4gZYXaQy0ybImTYJ35i3iQf/XZ0xfAlN1D/pB4min5Sj7gio\r\nGE/w9eYOaMULeNt7UzQ9vC1shz9MBPiRNyn9vI+RUtlto28Ckbi3i7JbsbF2\r\noou3QBQnTkjqOwAHs+OXNyWuwWcOIFJ2Dqrtc+QLDZdmpmsNG6qKj/9b0B+V\r\nJ4Skw5QIhcm4lNOcTZODoxczAzDVQU8Akq2czmZN648WiKmhVxRKIhw464YP\r\noT1SzcUtOCc31hgWYFZWpzB2+Tf0uKg9WsPLJIl1eSv0By5CaHtEKMLwpJju\r\n9PtyRKD4qDynR0rwxHENSAhaVFhXhmrzB+c=\r\n=QXKu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.1.0_1655461753528_0.8811962402403686"},"_hasShrinkwrap":false},"2.1.1":{"name":"idonttrustlikethat","version":"2.1.1","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.7.3","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"9cbc8bc582c1d8c15ebb0a31acccd525da60aed8","_id":"idonttrustlikethat@2.1.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Dg2EewvWQbYooMQwWYgcFACd3COpMGb2OeMGuxLKEHHjLYK9utqwtuY3gbuyq+J4OOteXlXdAmUNDDjg9+kxiQ==","shasum":"200dadb57962dcd0e6f1117a287288186a957476","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.1.1.tgz","fileCount":2,"unpackedSize":17468,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/Rox8eP/+70u5euY/Kc5BhQDEk1vcfPmEA/cRDELyGgIhANtIRNp3c0C32yAMbZ9RReSXKKCrP+UBr94Ll3zZ94i9"}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.1.1_1704312800128_0.8071310107839751"},"_hasShrinkwrap":false},"2.1.2":{"name":"idonttrustlikethat","version":"2.1.2","sideEffects":false,"description":"Validation for TypeScript","license":"MIT","main":"commonjs/validation.js","module":"es/validation.js","typings":"commonjs/validation.d.ts","devDependencies":{"chalk":"1.1.1","cross-env":"5.2.0","expect":"1.8.0","mocha":"2.2.5","typescript":"4.7.3","space-lift":"1.0.0"},"scripts":{"build":"npm run build-es && npm run build-commonjs","build-es":"tsc src/validation.ts --outDir es --strict --noUnusedParameters --declaration --lib dom,es5,es6 --module es6 --target es6 --moduleResolution node","build-commonjs":"tsc src/validation.ts --outDir commonjs --strict --noUnusedParameters --declaration --lib dom,es5,es6 --target es5","pretest":"npm run build && tsc test/mocha.d.ts test/expect.d.ts test/test.ts --lib dom,es5,es6 --strict --noUncheckedIndexedAccess","test":"mocha --recursive && node test/testCompilationErrors.js","locale-test":"cross-env LANG=tr_TR npm run test"},"keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"homepage":"https://github.com/AlexGalays/validation.ts","prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"arrowParens":"avoid","trailingComma":"none"},"gitHead":"0e5ad23d0d43876e622126b00bd62e9a3e8f5435","_id":"idonttrustlikethat@2.1.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-lbCZfysBbwtcyrNvBzIWUwHYy//XYsebs9rL2KC+DBotL2AU4eLNy8Kq77C/LljfGna6eg1FcZmuRcDL09RcdQ==","shasum":"22c6ced94bccd84bfd0b57a3f9a883a6d9f4cde3","tarball":"https://registry.npmjs.org/idonttrustlikethat/-/idonttrustlikethat-2.1.2.tgz","fileCount":6,"unpackedSize":75933,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZ8gQvClLygTDdWOWO8mkxY59b5L3/ydlu43rVovmRdAiBNK7sitIJary+U7nIlwy2cAiYtG+AwuOYJilLRkcNFaA=="}]},"_npmUser":{"name":"boubiyeah","email":"boubiyeah@hotmail.com"},"directories":{},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idonttrustlikethat_2.1.2_1704313004771_0.37624456343100854"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-10T17:35:03.495Z","0.0.30":"2020-10-10T17:35:03.712Z","modified":"2024-01-03T20:16:45.095Z","1.0.0":"2020-10-11T12:06:03.386Z","1.0.1":"2020-10-11T15:02:09.433Z","1.0.2":"2020-10-11T16:46:07.794Z","1.0.3":"2020-10-28T23:09:15.410Z","1.0.4":"2020-11-30T09:08:58.693Z","1.0.5":"2020-12-08T21:31:14.299Z","1.0.6":"2021-01-07T18:21:14.013Z","1.0.7":"2021-03-04T14:48:14.521Z","2.0.0":"2021-04-15T14:26:42.481Z","2.0.1":"2021-04-16T16:58:39.821Z","2.0.2":"2021-04-21T09:23:03.461Z","2.0.3":"2021-07-01T14:11:17.193Z","2.0.4":"2021-07-19T13:34:35.398Z","2.0.5":"2021-07-20T18:31:12.696Z","2.0.6":"2021-07-23T14:04:06.482Z","2.0.7":"2021-07-30T16:10:52.353Z","2.0.8":"2022-03-13T12:15:23.787Z","2.1.0":"2022-06-17T10:29:13.741Z","2.1.1":"2024-01-03T20:13:20.267Z","2.1.2":"2024-01-03T20:16:44.931Z"},"maintainers":[{"name":"boubiyeah","email":"boubiyeah@hotmail.com"}],"description":"Validation for TypeScript","homepage":"https://github.com/AlexGalays/validation.ts","keywords":["validation","io","typescript","type derivation"],"author":{"name":"AlexGalays"},"license":"MIT","readme":"# idonttrustlikethat\n\nThis module helps validating incoming JSON, Form values, url params, localStorage values, server Environment objects, etc in a concise and type safe manner.  \nThe focus of the lib is on small size and an easy API to add new validations.\n\nNote: This module uses very precise Typescript types. Thus, it is mandatory to at least have the following `tsconfig` / `tsc`'s compiler options flag: `strict`: `true`.\n\n- [How to](#how-to)\n  - [Create a new validation](#create-a-new-validation)\n  - [Deriving the typescript type from the validator type](#deriving-the-typescript-type-from-the-validator-type)\n  - [Customize error messages](#customize-error-messages)\n  - [Perform async checks](#perform-async-checks)\n\n- [Exports](#exports)\n- [API](#api)\n  - [validate](#validate)\n  - [primitives](#primitives)\n  - [tagged string/number](#tagged-stringnumber)\n  - [literal](#literal)\n  - [object](#object)\n  - [array](#array)\n  - [tuple](#tuple)\n  - [union](#union)\n  - [intersection](#intersection)\n  - [optional, nullable](#optional-nullable)\n  - [default](#default)\n  - [withError](#witherror)\n  - [dictionary](#dictionary)\n  - [map, filter](#map-filter)\n  - [and](#and)\n  - [then](#then)\n  - [recursion](#recursion)\n  - [minSize](#minSize)\n  - [isoDate](#isoDate)\n  - [url](#url)\n  - [booleanFromString](#booleanFromString)\n  - [numberFromString](#numberFromString)\n  - [intFromString](#intFromString)\n\n## How to\n\n### Create a new validation\n\nThis library exposes a validator for all [primitive](#primitives) and object types so you should usually start from one of these then compose it with extra validations.\n\nHere's how `isoDate` is defined internally:\n\n```ts\nimport { string, Err, Ok } from 'idonttrustlikethat'\n\nconst isoDate = string.and(str => {\n  const date = new Date(str)\n  return isNaN(date.getTime())\n    ? Err(`Expected ISO date, got: ${pretty(str)}`)\n    : Ok(date)\n})\n\nisoDate.validate('2011-10-05T14:48:00.000Z').ok // true\n```\n\nThis creates a new Validator that reads a string then tries to create a Date out of it.\n\nYou can also create an optional validation step that wouldn't make sense on its own:\n\n```ts\nimport { string, Err, Ok, array, string } from 'idonttrustlikethat'\n\n// This is essentially a basic filter() but with a nicer, custom error message.\nconst minSize = (size: number) => <T>(array: T[]) =>\n  array.length >= size\n    ? Ok(array)\n    : Err(`Expected an array with at least ${size} items`)\n\nconst bigArray = array(string).and(minSize(100))\nbigArray.validate(['1', '2']).ok // false\n```\n\nNote: the `minSize` validator does exactly that, but for more input types.  \n\nIf you need to start from any value, you can use the `unknown` validator that always succeeds.\n\n### Deriving the typescript type from the validator type\n\nThis can be used with any combination of validators except ones using `recursion`.\n\nYou can get the exact type of a validator's value easily:\n\n```ts\nimport { object, string, number } from 'idonttrustlikethat'\n\nconst person = object({\n  name: string,\n  age: number,\n})\n\ntype Person = typeof person.T\n\nconst person: Person = {\n  name: 'Jon',\n  age: 80\n}\n```\n\n### Customize error messages\n\nIf you say, use this library to validate a Form data, it's best to assign your error messages directly in the validator so that the proper error messages get accumulated, ready for you to display them.\n\n```ts\nimport { object, string } from 'idonttrustlikethat'\n\nconst mandatoryFieldError = 'This field is mandatory'\nconst mandatoryString = string.withError(_ => mandatoryFieldError)\n\nconst formValidator = object({\n  name: mandatoryString,\n})\n\n// {ok: false, errors: [{path: 'name', message: 'This field is mandatory'}]}\nconst result = formValidator.validate({})\n```\n\n### Perform async checks\n\nYou don't! Some \"similar\" libraries offer this functionality but it's a pretty bad idea. It accumulates concerns inside your validation layer (you now have to pass DB connections, API tokens, etc to what should be dumb validators) and polutes the API signatures (once you go async for a tiny bit, everything now has to be async)  \n\nFor instance, instead of trying to make a call to the DB to check some unicity constraint inside your validator, instead prepare the call's result before hand then pass that to a function that creates a new validator using that result, for instance:\n\n```ts\nimport {string, object} from 'idonttrustlikethat' \n\nfunction makeUserValidator(params: {isEmailKnown: boolean}) {\n  const {isEmailKnown} = params\n\n  return object({\n    name: string,\n    email: string\n      .withError(_ => 'The email is mandatory')\n      .filter(_ => !isEmailKnown)\n      .withError(_ => 'This email is already in use')\n  })\n}\n\nconst isEmailKnown = await db.user.checkIfEmailIsKnown(...)\n\nconst validatedUser = makeUserValidator({isEmailKnown}).validate(body)\n```\n\n## Exports\n\nHere are all the values this library exposes:\n\n```ts\nimport {\n  Err,\n  Ok,\n  array,\n  dictionary,\n  errorDebugString,\n  intersection,\n  union,\n  is,\n  literal,\n  unknown,\n  null as vnull,\n  number,\n  object,\n  string,\n  boolean,\n  tuple,\n  undefined,\n} from 'idonttrustlikethat'\n```\n\n```ts\nimport {\n  isoDate,\n  recursion,\n  snakeCaseTransformation,\n  relativeUrl,\n  absoluteUrl,\n  url,\n  booleanFromString,\n  numberFromString,\n  intFromString,\n  minSize,\n  nonEmpty\n} from 'idonttrustlikethat'\n```\n\nAnd all the types:\n\n```ts\nimport {\n  Result,\n  Err,\n  Ok,\n  Validation,\n  Validator,\n  Configuration,\n} from 'idonttrustlikethat'\n```\n\n## API\n\n### validate\n\nEvery validator has a `validate` function which returns a Result (either a `{ok: true, value}` or a `{ok: false, errors}`)\nErrors are accumulated.\n\n```ts\nimport { object, errorDebugString } from 'idonttrustlikethat'\n\nconst myValidator = object({})\nconst result = myValidator.validate(myJson)\n\nif (result.ok) {\n  console.log(result.value)\n} else {\n  console.error(errorDebugString(result.errors))\n}\n```\n\nIn case of errors, `errors` contains an Array of `{ message: string, path: string }` where `message` is a debug error message for developers and `path` is the path where the error occured (e.g `people.0.name`)\n\n`errorDebugString` will give you a complete debug string of all errors, e.g.\n\n```\nAt [root / c] Error validating the key. \"c\" is not a key of {\n  \"a\": true,\n  \"b\": true\n}\nAt [root / c] Error validating the value. Type error: expected number but got string\n```\n\n### primitives\n\n```ts\nimport * as v from 'idonttrustlikethat'\n\nv.unknown\nv.string\nv.number\nv.boolean\nv.null\nv.undefined\n\nv.string.validate(12).ok // false\n```\n\n### tagged string/number\n\nSometimes, a `string` or a `number` is not just any string or number but carries extra meaning, e.g: `email`, `uuid`, `UserId`, `KiloGram`, etc.  \nTagging such a primitive as soon as it's being validated can help make the downstream code more robust and better documented.  \n\n```ts\nimport { string, object } from 'idonttrustlikethat'\n\ntype UserId = string & { __tag: 'UserId' } // Note: You can use any naming convention for the tag.\n\nconst userId = string.tagged<UserId>()\n\nconst user = object({\n  id: userId\n})\n\n```\n\nIf you don't use tagged types, it can lead to situations like:  \n\n```ts\nconst user = object({\n  id: string,\n  companyId: string\n})\n\nconst user = {\n  id: '12345678',\n  companyId: '7cd3821a-553f-4d26-84f9-88776005612b'\n}\n\nfunction fetchCompanyDetails(companyId: string) {}\n\n// Nothing prevents you from passing the wrong ID \"type\"\nfetchCompanyDetails(user.id)\n```\n\nUsing tagged types fixes all these problems while also retaining that type's usefulness as a basic `string`/`number`.  \n\n### literal\n\n```ts\nimport { literal } from 'idonttrustlikethat'\n\n// The only value that can ever pass this validation is the 'X' string literal\nconst validator = literal('X')\n```\n\n### object\n\n```ts\nimport { string, object, union } from 'idonttrustlikethat'\n\nconst person = object({\n  id: string,\n  prefs: object({\n    csvSeparator: union(',', ';', '|').optional(),\n  }),\n})\n\nvalidator.validate({\n  id: '123',\n  prefs: {},\n}).ok // true\n```\n\nNote that if you validate an input object with extra properties compared to what the validator know, these will be dropped from the output.  \nThis helps keeping a clean object and let us avoid dangerous situations such as:  \n\n```ts\nimport { string, object } from 'idonttrustlikethat'\n\nconst configValidator = object({\n  clusterId: string,\n  version: string\n})\n\nconst config = {\n  clusterId: '123',\n  version: 'v191',\n  extraStuffFromTheServer: 100,\n  _metadata: true\n}\n\n// Let's imagine what could happen if this kept all non declared properties in the output.\nconst result = configValidator.validate(config)\n\nif (result.ok) {\n  // As far as typescript is concerned, all values are string in the validated object, which let us manipulate it as such, perhaps to pass it some generic utility:  \n  const configDictionary: Record<string, string> = result.value\n\n  // But it's a lie, some properties are still found in the object that aren't strings.\n  // This will throw an exception when the entire point of validating is to avoid that.\n  Object.values(configDictionary).forEach(str => str.padStart(2))\n}\n```\n\n### array\n\n```ts\nimport { array, string } from 'idonttrustlikethat'\n\nconst validator = array(string)\n\nvalidator.validate(['a', 'b']).ok // true\n```\n\n### tuple\n\n```ts\nimport { tuple, string, number } from 'idonttrustlikethat'\n\nconst validator = tuple(string, number)\n\nvalidator.validate(['a', 1]).ok // true\n```\n\n### union\n\n```ts\nimport { union, string, number } from 'idonttrustlikethat'\n\nconst stringOrNumber = union(string, number)\n\nvalidator.validate(10).ok // true\n```\n\nUnions of literal values do not have to use `literal()` but can be passed the values directly:  \n\n```ts\nimport {union} from 'idonttrustlikethat'\n\nconst bag = union(null, 'hello', true, 33)\n```\n\n### discriminatedUnion\n\nAlthough you could also use `union` for your discriminated unions, `discriminatedUnion` is faster and has better error messages for that special case. It will also catch common typos at the type level.  \nNote that `discriminatedUnion` only works with `object` and `intersection` (of objects) validators. Also, the discriminating property must be either a `literal` or `union` of primitives.\n\n```ts\nimport {discriminatedUnion, literal, string} from 'idonttrustlikethat'\n\nconst userSending = object({\n  type: literal('sending')\n})\n\nconst userEditing = object({\n  type: literal('editing'),\n  currentText: string\n})\n\nconst userChatAction = discriminatedUnion('type', userSending, userEditing)\n```\n\n### intersection\n\n```ts\nimport { intersection, object, string, number } from 'idonttrustlikethat'\n\nconst object1 = object({ id: string })\nconst object2 = object({ age: number })\nconst validator = intersection(object1, object2)\n\nvalidator.validate({ id: '123', age: 80 }).ok // true\n```\n\n### optional, nullable\n\n`optional()` transforms a validator to allow `undefined` values.  \n\n`nullable()` transforms a validator to allow `undefined` and `null` values, akin to the std lib `NonNullable` type.  \n\nIf you must validate a `T | null` that shouldn't possibly be `undefined`, you can use `union()`  \n\n```ts\nimport { string } from 'idonttrustlikethat'\n\nconst validator = string.nullable()\n\nconst result = validator.validate(undefined)\n\nresult.ok && result.value // undefined\n```\n\n\n### default\n\nReturns a default value if the validated value was either null or undefined.  \n\n```ts\nimport { string } from 'idonttrustlikethat'\n\nconst validator = string.default(':(')\n\nconst result = validator.validate(undefined)\n\nresult.ok && result.value // :(\n```\n\n### withError\n\nSets a custom error message onto the validator.  \nThe validator have decent error messages by default for developers but you will sometimes want to customize these.  \nNote that the first `withError` encountering an error wins but a single `withError` will apply to **any** error encountered in the chain.  \n\n```ts\nimport {object, string} from 'idonttrustlikethat'\n\nconst validator = object({\n  id: string\n    .withError(i => `Expected a string, got ${i}`) // This will activate if the input is not a string or is missing.\n    .and(nonEmpty())\n    .withError(_ => `The id cannot be the empty string`) // This will activate only if the id is a string but is empty.\n})\n```\n\n\n\n### dictionary\n\nA dictionary is an object where all keys and all values share a common type.\n\n```ts\nimport { dictionary, string, number } from 'idonttrustlikethat'\n\nconst validator = dictionary(string, number)\n\nvalidator.validate({\n  a: 1,\n  b: 2,\n}).ok // true\n```\n\nIf you need a partial dictionary, simply type your values as optional:  \n\n```ts\nimport { dictionary, string, number, union } from 'idonttrustlikethat'\n\nconst validator = dictionary(union('a', 'b', 'c'), number.optional())\n\nvalidator.validate({\n  b: 1\n}).ok // true\n```\n\n### map, filter\n\n```ts\nimport { string } from 'idonttrustlikethat'\n\nconst validator = string.filter(str => str.length > 3).map(str => `${str}...`)\n\nconst result = validator.validate('1234')\nresult.ok // true\nresult.value // 1234...\n```\n\n### and\n\nUnlike `map` which deals with a validated value and returns a new value, `and` can return either a validated value or an error.\n\n```ts\nimport { string, Ok, Err } from 'idonttrustlikethat'\n\nconst validator = string.and(str =>\n  str.length > 3 ? Ok(str) : Err(`No, that just won't do`)\n)\n```\n\n### then\n\n`then` allows the chaining of Validators. It can be used instead of `and` if you already have the Validators ready to be reused.\n\n```ts\n// Validate that a string is a valid number (e.g, query string param)\nconst stringToInt = v.string.and(str => {\n  const result = Number.parseInt(str, 10)\n  if (Number.isFinite(result)) return Ok(result)\n  return Err('Expected an integer-like string, got: ' + str)\n})\n\n// unix time -> Date\nconst timestamp = v.number.and(n => {\n  const date = new Date(n)\n  if (isNaN(date.getTime())) return Err('Not a valid date')\n  return Ok(date)\n})\n\nconst timeStampFromQueryString = stringToInt.then(timestamp)\n\ntimeStampFromQueryString.validate('1604341882') // {ok: true, value: Date(...)}\n```\n\n### recursion\n\n```ts\nimport { recursion, string, array, object } from 'idonttrustlikethat'\n\ntype Category = { name: string; categories: Category[] }\n\nconst category = recursion<Category>(self =>\n  object({\n    name: string,\n    categories: array(self),\n  })\n)\n```\n\n### minSize\n\nEnsures an Array, Object, string, Map or Set has a minimum size. You can also use `nonEmpty`.\n\n```ts\nimport {dictionary, string} from 'idonttrustlikethat'\nimport {minSize} from 'idonttrustlikethat'\n\nconst dictionaryWithAtLeast10Items = dictionary(string, string).and(minSize(10))\n```\n\n### isoDate\n\n```ts\nimport { isoDate } from 'idonttrustlikethat'\n\nisoDate.validate('2011-10-05T14:48:00.000Z').ok // true\n```\n\n### url\n\nValidates that a string is a valid URL, and returns that string.\n\n```ts\nimport { url, absoluteUrl, relativeUrl } from 'idonttrustlikethat'\n\nabsoluteUrl.validate('https://ebay.com').ok // true\n```\n\n### booleanFromString\n\nValidates that a string encodes a boolean and returns the boolean.\n\n```ts\nimport { booleanFromString } from 'idonttrustlikethat'\n\nbooleanFromString.validate('true').ok // true\n```\n\n### numberFromString\n\nValidates that a string encodes a number (float or integer) and returns the number.\n\n```ts\nimport { numberFromString } from 'idonttrustlikethat'\n\nnumberFromString.validate('123.4').ok // true\n```\n\n### intFromString\n\nValidates that a string encodes an integer and returns the number.\n\n```ts\nimport { intFromString } from 'idonttrustlikethat'\n\nintFromString.validate('123').ok // true\n```\n\n## Configuration\n\nA Configuration object can be passed to modify the default behavior of the validators:\n\n**Configuration.transformObjectKeys**\n\nTransforms every keys of every objects before validating.\n\n```ts\nimport {snakeCaseTransformation} from 'idonttrustlikethat'\n\nconst burger = v.object({\n  options: v.object({\n    doubleBacon: v.boolean,\n  }),\n})\n\nconst ok = burger.validate(\n  {\n    options: {\n      double_bacon: true,\n    },\n  },\n  { transformObjectKeys: snakeCaseTransformation }\n)\n```\n","readmeFilename":"README.md"}