{"_id":"@caeljs/tsh","_rev":"9-01430780a6f63c42de9a76c89540f555","name":"@caeljs/tsh","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@caeljs/tsh","version":"1.0.0","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.0.0","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"12c6072eed9dd09b857377c6560a7cc795080806","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.0.0.tgz","fileCount":16,"integrity":"sha512-BIJgLYn06I7u9LyHBomJBeTcX8/3tQ9I/yJneDiWYM2WsDUSit1OZklz4U8QSZ4Fv403GPuqMKTzx3/XMi6gPA==","signatures":[{"sig":"MEQCIAEPVo4XOM7a5HaysC8WVaNK4fIUVSGLjOTkw+zbYheBAiAoaPREm37HdRitRNx4u7CVdq3wlJKuhIb+/4cB5JXiIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171643},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.0.0_1745441972139_0.6994995460331306","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@caeljs/tsh","version":"1.0.1","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.0.1","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"2800a312aadbdcaf501bee209c9b12ea440a05e5","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.0.1.tgz","fileCount":16,"integrity":"sha512-h7xTdzdD8DcvEEg+4Cg65/3WIQH3l56KWNwNfBFn/jc2HpH8yc3gp2tPszk6WjiYzmooaZ8UMqPp9QCUgVYtcQ==","signatures":[{"sig":"MEUCIDW+c4O6ig/S9IFYAXSnpUTmpKGXy7hTg4PLmEtGLVERAiEA4jGPSP/HC4yrVFm2mqmgywW17B6qa5kGT3cB38MBqgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171143},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.0.1_1745467673725_0.8626352514642204","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@caeljs/tsh","version":"1.0.2","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.0.2","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"2cfcc9c5607d01448d13de35c38d2a628e19c5c6","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.0.2.tgz","fileCount":16,"integrity":"sha512-pM3nxIhcCBnTeznAPijV6s/0ReQTL6enhnGzktNkCXfS10jdEaU66y0z09wUX7cnn4UJxSbvC9eTP1DcyxiJlw==","signatures":[{"sig":"MEQCIEVP+wUzMa07aquuqjgFxtMPw302mMViPNtduSY84MpqAiBEAtdeADH2gjxi+XcgEg+KP7hqnIKOfz/N4NpjNE3SQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171163},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.0.2_1745472961773_0.11385549989081634","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@caeljs/tsh","version":"1.0.3","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.0.3","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"ff84a0be8f13df5a5876a20dc54f9bd09ff1cac9","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.0.3.tgz","fileCount":16,"integrity":"sha512-o73UgoivA1/zF4pUB1KRqIiwztaGSIt/Ch7zUIGipgzsCcmaCoag1eSjNViKxnjb9qJpue5kUlOaiHPI0iUi8g==","signatures":[{"sig":"MEYCIQCLMgvbKY/d+v9AdShmQsrjcIJbL1QAg3LNbeV1uXq/gAIhAIGIpXUwCWjobnFcTxYwcOnL8+xN5+f2+d687kujgq3w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171202},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.0.3_1745487005329_0.4549169232253274","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@caeljs/tsh","version":"1.0.4","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.0.4","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"444f77b15672c7299685d4a7c934e25b4524ae18","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.0.4.tgz","fileCount":16,"integrity":"sha512-iu43hFLr9JbOSFJYlGvWh2f9ByG0+TVwpgyv0WivRMhtS48/eFJUX+yrHqqw0EbCotmRSvNeiU8qD8brLoCncQ==","signatures":[{"sig":"MEQCIHC9dxSMR99MHkFAGagoFhxqS4VPUzHjO6oScD5XVmp3AiB/3vkvciH+gNciN05g/UBjIeJ4ddMpm4ZxqlNtyAFELQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170460},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.0.4_1745488678313_0.6452982343801952","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@caeljs/tsh","version":"1.1.0","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.1.0","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"8368c2494579a68d51da78777240a610d04e7ad3","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.1.0.tgz","fileCount":16,"integrity":"sha512-pFYNdHDJNhLYEk/RSdUu8YTqpg0dVMkDRNQ74s7wZ71AMVnmAXpT/9L41wVSZTyjGFX3zSC8cwdPB8j06BaAEg==","signatures":[{"sig":"MEUCIQC6y5W9nZnFgjRmciBaRGYAq65Yil9UwnxKd0b3cqqZAAIgauyq3t84I02GBnah2H5RXBG4nJoWas3vTX8Igb7HbAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557211},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.1.0_1745605190042_0.4606991709453516","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@caeljs/tsh","version":"1.1.1","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.1.1","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"b82adbeafcc3ccf34f1791384bfe47a535ae8983","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.1.1.tgz","fileCount":8,"integrity":"sha512-Y2Ylffdp8dREIDOv2a08s2LC85qcXjvj4ALTjrYajW0u5MP7fU6m4oyLqCcUMaiZp5ENdYgDxjv9QtqvbLC5Cw==","signatures":[{"sig":"MEQCIBVCobjXfm18slIBdiD0jjw9Gt0mkZTmLBBmE8wJ6CsKAiAe9vlBdLAFrCT323RbTUbvybJRxkkdbFQ8QZ8UNwlb8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107268},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.1.1_1745605950819_0.9820156950498233","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@caeljs/tsh","version":"1.1.2","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","_id":"@caeljs/tsh@1.1.2","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"homepage":"https://github.com/drylian/tsh#readme","bugs":{"url":"https://github.com/drylian/tsh/issues"},"dist":{"shasum":"865d7842d2f1702d843cd5b5e0391da0187a6ca3","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.1.2.tgz","fileCount":8,"integrity":"sha512-NS3uDJfGI8jwKt7OF3lS0qZHcnfiYv6jaCGSWLorhpq4vo758vlMw4v0PH2acGiR4G1eBX23PyD6EP1/GnwGwg==","signatures":[{"sig":"MEUCIQCsT6U0RXeZ9UHGfC1H75Q5DRQVOML+L+PrH4i64tAY2QIgL41AzMFgsfUIv0MOd/rMl3z4IKpyCZgibPpb2NBw3NE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107047},"main":"cjs/Tsh.cjs","type":"module","types":"Tsh.d.ts","module":"esm/Tsh.js","exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"repository":{"url":"git+https://github.com/drylian/tsh.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","directories":{},"_nodeVersion":"20.19.0","typesVersions":{"*":{".":["./Tsh.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/bun":"^1.2.10","typescript":"^5.0.0","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1"},"_npmOperationalInternal":{"tmp":"tmp/tsh_1.1.2_1745654484274_0.9256120759767203","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@caeljs/tsh","type":"module","description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","version":"1.1.3","main":"cjs/Tsh.cjs","module":"esm/Tsh.js","types":"Tsh.d.ts","repository":{"type":"git","url":"git+https://github.com/drylian/tsh.git"},"typesVersions":{"*":{".":["./Tsh.d.ts"]}},"exports":{".":{"types":"./Tsh.d.ts","import":"./esm/Tsh.js","require":"./cjs/Tsh.cjs"}},"keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"author":{"name":"Drylian"},"license":"MIT","bugs":{"url":"https://github.com/drylian/tsh/issues"},"homepage":"https://github.com/drylian/tsh#readme","scripts":{"build":"bun run build.ts"},"devDependencies":{"@types/bun":"^1.2.10","@types/node":"^22.13.10","dts-bundle-generator":"^9.5.1","tsup":"^8.3.5","typescript":"^5.0.0"},"_id":"@caeljs/tsh@1.1.3","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-FeseXrcKaY6f1D9p40uvAWAo0zNMh059xsVjTBVFS0qR0D0DtJ9yxAXR/5Fa1pAIHIpQzqSdA+TxsDSntsGOOA==","shasum":"2714d532e924ba1ab4616e32a862c8fd9ec9f028","tarball":"https://registry.npmjs.org/@caeljs/tsh/-/tsh-1.1.3.tgz","fileCount":8,"unpackedSize":106982,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@caeljs%2ftsh@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwreKE4eicgsYPtTosWi/DcHKnDU/z2emu+howPQ8vnwIhAJKMuibLZpPPb8ZrVFEkftrqcESWm72k4Ol3vNG39Ns8"}]},"_npmUser":{"name":"drylian","email":"danielolxlol@gmail.com"},"directories":{},"maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsh_1.1.3_1745747978266_0.7968890333603929"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-23T20:59:32.030Z","modified":"2025-04-27T09:59:38.816Z","1.0.0":"2025-04-23T20:59:32.358Z","1.0.1":"2025-04-24T04:07:53.944Z","1.0.2":"2025-04-24T05:36:01.971Z","1.0.3":"2025-04-24T09:30:05.495Z","1.0.4":"2025-04-24T09:57:58.490Z","1.1.0":"2025-04-25T18:19:50.263Z","1.1.1":"2025-04-25T18:32:30.998Z","1.1.2":"2025-04-26T08:01:24.453Z","1.1.3":"2025-04-27T09:59:38.449Z"},"bugs":{"url":"https://github.com/drylian/tsh/issues"},"author":{"name":"Drylian"},"license":"MIT","homepage":"https://github.com/drylian/tsh#readme","keywords":["backend","standardization","standard","env","config-js","json","config","tsh","typed","npm","node","bun","deno","typescript","debug","output","performance"],"repository":{"type":"git","url":"git+https://github.com/drylian/tsh.git"},"description":"A flexible typed data validation library that allows you to define schemas with TypeScript and validate data at runtime.","maintainers":[{"name":"drylian","email":"danielolxlol@gmail.com"}],"readme":"```markdown\n# Type-Safe Validation Library\n\nA robust, type-safe validation library for TypeScript that provides runtime validation while maintaining full type safety.\n\n## Features\n\n- 🛠️ **Type-safe validators** with TypeScript inference\n- 🧩 **Composable API** for building complex validation schemas\n- 🔍 **Runtime validation** with detailed error reporting\n- 🏗️ **Object shape validation** with nested structures\n- 🔄 **Coercion support** for common type conversions\n- ✨ **Utility functions** for common validation patterns\n\n## Installation\n\n```bash\nnpm install @caeljs/tsh\n# or\nyarn add @caeljs/tsh\n```\n\n## Basic Usage\n\n```typescript\nimport { t } from '@caeljs/tsh';\n\n// Define a schema\nconst userSchema = object({\n  name: t.string().required(),\n  age: t.number().positive().int(),\n  email: t.string().email(),\n  tags: t.array(t.string()).minLength(1),\n});\n\n// Validate data\nconst result = t.validate({\n  name: \"Drylian\",\n  age: 23,\n  email: \"drylian@example.com\",\n  tags: [\"developer\", \"typescript\"]\n}, userSchema);\n\nif (result.success) {\n  console.log(\"Valid data:\", result.data);\n} else {\n  console.error(\"Validation error:\", result.error);\n}\n```\n\n## Core Validators\n\n### Primitive Validators\n\n- `t.string()` - Validates string values\n- `t.number()` - Validates number values\n- `t.boolean()` - Validates boolean values\n- `t.any()` - Accepts any value\n- `t.enum()` - Validates against enum values\n\n### Complex Validators\n\n- `t.object(shape)` - Validates object structures\n- `t.array(shape)` - Validates arrays\n- `t.record(keyShape, valueShape)` - Validates dictionary/map structures\n- `t.union(shapes)` - Validates against multiple possible shapes\n\n## Modifiers\n\n- `.optional()` - Makes a field optional\n- `.nullable()` - Allows null values\n- `.required()` - Requires non-null, non-undefined values\n- `.partial()` - Makes all object properties optional\n- `.refine(predicate, message)` - Adds custom validation\n\n## Utility Functions\n\n### Validation\n\n- `t.validate(value, shape)` - Validates a value against a shape\n- `t.isValid(value, shape)` - Checks if a value is valid\n\n### Object Manipulation\n\n- `t.pick(shape, keys)` - Creates a shape with only specified keys\n- `t.omit(shape, keys)` - Creates a shape without specified keys\n- `t.merge(shape1, shape2)` - Merges two object shapes\n- `t.extend(shape, extensions)` - Extends an object shape\n\n### Array Utilities\n\n- `t.nonEmptyArray(shape)` - Requires non-empty arrays\n- `t.uniqueArray(shape)` - Requires unique array elements\n- `t.minLength(shape, min)` - Sets minimum array length\n- `t.maxLength(shape, max)` - Sets maximum array length\n\n## Common Validators\n\n### String Validators\n\n- `t.email()` - Validates email format\n- `t.uuid()` - Validates UUID format\n- `t.url()` - Validates URL format\n- `t.ip()` - Validates IP address\n- `t.regex(pattern)` - Validates against regex\n\n### Number Validators\n\n- `t.int()` - Validates integers\n- `t.positive()` - Validates positive numbers\n- `t.negative()` - Validates negative numbers\n- `t.port()` - Validates port numbers\n- `t.percentage()` - Validates percentages\n\n## Advanced Features\n\n### Logical Operators\n\n- `t.and(shape1, shape2)` - Requires both shapes to match (intersection)\n- `t.or(shape1, shape2)` - Requires either shape to match (union)\n- `t.not(shape)` - Requires value to NOT match shape\n\n### Coercion\n\n```typescript\nimport { t } from '@caeljs/tsh';\n\n// Coerce values to specific types\nconst coercedString = t.coerce.string(); // Converts value to string\nconst coercedNumber = t.coerce.number(); // Converts value to number\nconst coercedBoolean = t.coerce.boolean(); // Converts value to boolean\n```\n\n### Custom Validators\n\n```typescript\nimport { t } from '@caeljs/tsh';\n\n// Create custom validator\nconst evenNumber = t.custom(\n  (value): value is number => typeof value === 'number' && value % 2 === 0,\n  'Value must be an even number'\n);\n```\n\n## Error Handling\n\nAll validation errors include detailed information about what failed:\n\n```typescript\ntry {\n  shape.parse(invalidValue);\n} catch (error) {\n  if (error instanceof TshShapeError) {\n    console.error(error.message);\n    console.error(error.path); // Path to invalid field\n    console.error(error.value); // Invalid value\n  }\n}\n```\n\n## Type Safety\n\nThe library provides full TypeScript type inference:\n\n```typescript\nconst userSchema = t.object({\n  name: t.string(),\n  age: t.number(),\n});\n\ntype User = t.infer<typeof userSchema>;\n// Equivalent to:\n// type User = {\n//   name: string;\n//   age: number;\n// }\n```\n\n## Random Value Generation\n\n```typescript\nimport { random, randomInt, randomUuid } from '@caeljs/tsh';\n\nt.random(); // Random string\nt.randomInt(1, 100); // Random integer between 1-100\nt.randomUuid(); // Random UUID v4\n```\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\nMIT\n```","readmeFilename":"README.md"}