{"_id":"sury","_rev":"31-f018cff11b8ac85a4d90484bebd1432d","name":"sury","dist-tags":{"latest":"11.0.0"},"versions":{"9.3.0":{"name":"sury","version":"9.3.0","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@9.3.0","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/rescript-schema#readme","bugs":{"url":"https://github.com/DZakh/rescript-schema/issues"},"ava":{"files":["packages/tests/src/**/*_test.res.mjs","packages/tests/src/**/*_test.ts"],"extensions":{"ts":"module","mjs":true},"nodeArguments":["--no-warnings","--import=tsimp"]},"dist":{"shasum":"7414ab1c93a1e3d9eb9883a1bf7e0d43d600d32a","tarball":"https://registry.npmjs.org/sury/-/sury-9.3.0.tgz","fileCount":14,"integrity":"sha512-sgWzZkq73utIDyivZdWn41EwRhOzr0HSJqfNE5XF3oLE2il2DRprNViK3kDe9MyNPDqcsdUyn/wvK8XcUifamg==","signatures":[{"sig":"MEQCIHCeWjuddcwr79siAzojKJofONC768hQZj0WJz846jFuAiAcCjlB3i0FoQtNyCQVJCq8tAGDWNNb58GmxRI8Yq3s4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600043},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"ava","build":"node ./packages/prepack/src/Prepack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","res:build":"rescript build","lint:stdlib":"rescript-stdlib-vendorer lint --project-path=packages/tests --ignore-path=src/ppx/Ppx_Primitive_test.res","ppx:install":"node ./packages/rescript-schema-ppx/install.cjs","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/rescript-schema.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest parser in the entire JavaScript ecosystem with a focus on small bundle size and top-notch DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.0.5","devDependencies":{"c8":"7.12.0","ava":"5.2.0","zod":"3.24.2","tsimp":"2.0.12","arktype":"2.1.0","valibot":"1.0.0-rc.1","rescript":"11.1.0","benchmark":"2.1.4","ts-expect":"1.3.0","typescript":"4.9.3","@rescript/core":"^1.3.0","rescript-schema":"link:","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_9.3.0_1740761832596_0.9778837320551441","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.0":{"name":"sury","version":"10.0.0-rc.0","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.0","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["packages/tests/src/**/*_test.res.mjs","packages/tests/src/**/*_test.ts"],"extensions":{"ts":"module","mjs":true},"nodeArguments":["--import=tsimp"]},"dist":{"shasum":"66c02d48be90a6bb80a49abce5b901d22f2d5e9c","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.0.tgz","fileCount":17,"integrity":"sha512-5wpr74gPYyXk+0k9bB8sJcnbqkI9EIJdPAvszjC0vHyWM0xU57mMHO+dPrLL+hgKF1+E5GGLDeEyJ28dnoLi+A==","signatures":[{"sig":"MEUCIEc/Y3DBoSGCHfqvs926ZYhOk+DP/a3r4bMcz7VVg9LWAiEAiPtV0G4mG2lr0jrq9sxaRWWuE1v7vawexSESaTh/BhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625412},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"ava","build":"cd ./packages/prepack && pnpm rescript && node ./src/Prepack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","res:build":"rescript build","lint:stdlib":"rescript-stdlib-vendorer lint --project-path=packages/tests --ignore-path=src/ppx/Ppx_Primitive_test.res","ppx:install":"node ./packages/rescript-schema-ppx/install.cjs","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.0.5","devDependencies":{"c8":"7.12.0","ava":"6.2.0","zod":"4.0.0-beta.20250420T053007","sury":"link:","tsimp":"2.0.12","arktype":"2.1.20","valibot":"1.0.0","rescript":"11.1.0","benchmark":"2.1.4","ts-expect":"1.3.0","typescript":"4.9.3","@rescript/core":"^1.3.0","@sinclair/typebox":"0.34.33","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.0_1745231852441_0.9182513875862683","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.1":{"name":"sury","version":"10.0.0-rc.1","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.1","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["packages/tests/src/**/*_test.res.mjs","packages/tests/src/**/*_test.ts"],"extensions":{"ts":"module","mjs":true},"nodeArguments":["--import=tsimp"]},"dist":{"shasum":"c06839e8fd7813327f6d0530760b32882e1852aa","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.1.tgz","fileCount":17,"integrity":"sha512-EWRSEP21c56t2ilbjF73r5zy5IvH2g/KmINjzeXUO5wgYGfqTi9NPpBHhR0F9cOtaPB6SeXppHeTB24jJ60yig==","signatures":[{"sig":"MEYCIQDoiSsyoWPoI78uCYUfRnIW456G88FAQQO/f9ru1kQxhwIhAIgolvibU0wG3vjnv8UTl6h7ZrZLJC59HnCDWFw8jFOX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638081},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"ava","build":"cd ./packages/prepack && pnpm rescript && node ./src/Prepack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","res:build":"rescript build","lint:stdlib":"rescript-stdlib-vendorer lint --project-path=packages/tests --ignore-path=src/ppx/Ppx_Primitive_test.res","ppx:install":"node ./packages/rescript-schema-ppx/install.cjs","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.0.5","devDependencies":{"c8":"7.12.0","ava":"5.2.0","zod":"4.0.0-beta.20250420T053007","sury":"link:","tsimp":"2.0.12","arktype":"2.1.20","valibot":"1.0.0","rescript":"11.1.0","benchmark":"2.1.4","ts-expect":"1.3.0","typescript":"4.9.3","@rescript/core":"^1.3.0","@sinclair/typebox":"0.34.33","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.1_1745349506570_0.245516819005541","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.2":{"name":"sury","version":"10.0.0-rc.2","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.2","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"2268bf11832a07b8294b9b30190ea886312d581b","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.2.tgz","fileCount":17,"integrity":"sha512-FQcehjFtrCIML+dgCKlWNZRMvZAatYALzGikvuRWfj3d7CkV4ihTz9IZhBI61++XmS0qs/n0fWCPzYZRPgHJJQ==","signatures":[{"sig":"MEUCIGvniUJw0q1Ns7/D3SodlaOV9d5EH4kPOSjVlWDFyvE3AiEAhiUIkeF0CQDdUsTLfMDuRl2T9g8gpNlIwa02SmAOov4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":639176},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.2_1745824876805_0.1628578275399879","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.3":{"name":"sury","version":"10.0.0-rc.3","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.3","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"664ba161ebd3a3426ef2800899144b8d14f8353e","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.3.tgz","fileCount":17,"integrity":"sha512-AAc3MCs2mN/Hrs1nCKkP1SjrFdeJpaN3yRi9LGsZODInSN08QpBVflxstTu4s8QHS9zspFKwGtmo0kb8jXn6aw==","signatures":[{"sig":"MEQCIDgOt2vXRKV8DHwMtgIryx9MK/5N7GYTWbhua0Yb9UW7AiBOy4Z/mZR0STg8+B5OPZ4PL/qYvN+sgVSn+Rwkj7P7cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636027},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.3_1746287331679_0.5743873912887876","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.4":{"name":"sury","version":"10.0.0-rc.4","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.4","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"90aae589900f9cd61f35c41ea8eccbca04eb4868","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.4.tgz","fileCount":17,"integrity":"sha512-BnGcpxbhbtmJ2rNepTOIc8f1fFnVS2S7T5HLltFcmCNmij6iZq6JFERY0AxsdRd5PP0yp5FByiBngxo3TLokKQ==","signatures":[{"sig":"MEYCIQDhgcYPgYX5hY4qcoHhegSEzsEvKwfjyy5J6rny/b7EqAIhAL8nPyOKuEgjt8YqkFGY3Fa7Mq7f+B+M+hhJDn996+n4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631564},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.4_1746386260038_0.559981403330472","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.5":{"name":"sury","version":"10.0.0-rc.5","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.5","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"f20180e8bbaca7df1b09aaf0cb9223608ff78ddc","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.5.tgz","fileCount":17,"integrity":"sha512-oJNbTd2ZFFeJmbGXzOq1pUY8nTTyVbcleoWlabL6WcrqIUaXyy2UQDdfMXbHzAbnzLeao4O2ZlFlHFNZAtx6Dw==","signatures":[{"sig":"MEUCIQDR4xZl8b49GUDXyQw8quDsHh9bxibfx1hEHybU5ul0xQIgdIUbGrgLGgBLVhropJ9JBDul+rQM1lbBsDeNl6vrxgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674318},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.5_1746469997851_0.8317531030000638","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.6":{"name":"sury","version":"10.0.0-rc.6","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.6","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"20015741c7ae6e0676e0d9f287c5dfb0e3d83b87","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.6.tgz","fileCount":17,"integrity":"sha512-0Ane14r27NDRzNCuZ0xRzl8iHYFD7yyaspADOg54DDPruN1EI7BpvnQ7xsrG5G4FBk34x4ALwgoiNMJ3AzL3jA==","signatures":[{"sig":"MEUCIQCvRUe+dFYYyVmekz/6BpzvxOuCzgvcl/QHyBe+vF7OkAIgAgaiFP02bK1F9bsrQ3zfPofrbwl5dqQWVl8RA5PYhVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":679092},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.6_1747158843630_0.8460064454293112","host":"s3://npm-registry-packages-npm-production"}},"10.0.0-rc.7":{"name":"sury","version":"10.0.0-rc.7","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0-rc.7","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"88eae09027b949c066663722263dfa8ef272b512","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0-rc.7.tgz","fileCount":19,"integrity":"sha512-EaE+5t6uHZTu4CzhwXxw0B5g8wF8kaabvdYd7Q0e5bAVEWDq3kQJKvVLVekV6ppwxFgso+RoNpmULJFYjG0NDg==","signatures":[{"sig":"MEUCICxmE/KLrMmVGyDO0dXRRoYFUFVi/lyuM6gEdXXCqYhgAiEAlpExY6boj+oYykbLwqMd//LLnRHDG6eWl/MmkpoP1jE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727295},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0-rc.7_1747498659109_0.18754131847276456","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"sury","version":"10.0.0","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.0","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"5ba143bb959d45fae7fce9f0cc4906133d462059","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.0.tgz","fileCount":19,"integrity":"sha512-Ynq90SUswvsqHAWm6oZstfw7mCZVOQZL7BijB271q40zIl44C9hmxgFIw+GpXUnjxallBmuCL/6fovlHCjQtgw==","signatures":[{"sig":"MEUCIQCqp9i/fuziDJdw+fF6TMBn+DyAYL1uLJpXI+MD5MnjWgIgYoEOL/bg9F997adyo9/6XMuG6+ANvG8mSrEfiwX932I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727291},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.0_1747757684678_0.7774796901943763","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"sury","version":"10.0.1","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.1","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"c8b6a58a986ca1bc7714302fa1f8b9c6bed928f7","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.1.tgz","fileCount":19,"integrity":"sha512-l8Tq5lMwVsEUqseWMkH6QD02VA0LMUKp4J7L81haPxoGZnG1HzHhKCIvsPLHyLVKswAyutYfgRKpc5DtJEU08w==","signatures":[{"sig":"MEQCIEFJUa3LzzSlolr+y9BVhzKymz2G1RiHC/J5erKz7UMWAiADWDM/24UZA0LM7vYYnhTgmk6pKeFARpEhxeA8REALhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719643},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.1_1748086330735_0.8119684476090363","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"sury","version":"10.0.2","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.2","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"9213488ed4b7799cdb0ac58beb68d5ac4c1fe32c","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.2.tgz","fileCount":19,"integrity":"sha512-vHhCUO6pGiIXBeDdD/rx0bdEYfPDxZAL1p2yPjBt0yg7UgrG9VDxCAR1XWMR/qYDlNhXzzKt+W/ytsG+kkstIQ==","signatures":[{"sig":"MEUCIQCMf/3wqVejmvoARRx2oFilGteg4ozVYHYAnjjt/9GOQQIga8Q5fo0uAizscgjFpD7AL1/mF2b750be1Y7ebhem00Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719653},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.2_1749106088176_0.12456830417048703","host":"s3://npm-registry-packages-npm-production"}},"10.0.3":{"name":"sury","version":"10.0.3","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.3","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"b2e72c297bbe2ff287da62fa6f1f5da56b674ae7","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.3.tgz","fileCount":19,"integrity":"sha512-9Jf3GzV34+4G8sA9gk82JuvzpmX5N3oeMQXxC0nnb8Hf0+3HLm4Qn8P/dGAvpf0zDCYae3SWyJ9u7vVtuveyUA==","signatures":[{"sig":"MEQCIEkfvEQw+Z5Autc527L8ez2CM/vziiR67hVHMZimDEraAiByVisLrMsFkbSDYcZkvljBX4ydU5xvgc7kyTxl5GTSuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719544},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","actor":{"name":"dzakh","type":"user","email":"dzakh.dev@gmail.com"},"email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.3_1750524984327_0.11754968690240686","host":"s3://npm-registry-packages-npm-production"}},"10.0.4":{"name":"sury","version":"10.0.4","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@10.0.4","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"62c0ed9b45ddcde5479b085bd0591cd7bdec9e8b","tarball":"https://registry.npmjs.org/sury/-/sury-10.0.4.tgz","fileCount":19,"integrity":"sha512-dWKqOv+6D4AwGCjeKyaWr157RVBtvnPUp1I6RxReYD1dYuBl4k6oUd/t5INh1mBhUuAEC9SP+rZmIunCyNjXzQ==","signatures":[{"sig":"MEUCIA9Z5PkgkP2k4tDt5AyI66NRnvOTkbkSc2zA9ER13OijAiEAqX7+JvzVr3rTY0JkVwCsFLBFu/6Me396dqjN/3N944M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719598},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","actor":{"name":"dzakh","type":"user","email":"dzakh.dev@gmail.com"},"email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"2.3.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_10.0.4_1750536722151_0.1894879932327671","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.0":{"name":"sury","version":"11.0.0-alpha.0","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.0","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"f3bcefc61db8ecfb32cf8db69090bc3d36321d19","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.0.tgz","fileCount":19,"integrity":"sha512-itmFoiIv/kwL0Ql7EVP8HfKGAzv6AzKBneCj6ONN5uVlSF639851if4APl1dV7Jl4iwkSfosw48p/SYi1dGN8Q==","signatures":[{"sig":"MEUCIQC5z2fJhXC8li+mcjKDhTMWvPD86KsYOVMD/tKKwhz0SgIgQROsapD4zYAKIUQsk13SdfMZw2EGr59T5/QX4LgNQuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":711042},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.0_1752561807158_0.4108745843152948","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.1":{"name":"sury","version":"11.0.0-alpha.1","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.1","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"3958bfea6dcf9f91d2979435a5dbcc70fd928b9a","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.1.tgz","fileCount":19,"integrity":"sha512-yD/QtsjvenA6Vg9Ihk7RbJLwayc0oNZf/H1bu8SxSEbu05b8cHh9lES3tK2swlTPJpD49CmWOr98GUJWqky8iA==","signatures":[{"sig":"MEQCIBrb3+jjHix8XKPYVmx2GNgQYRgNqJfjBVhiOXjgsNBlAiAhrjwJx2E6ufHc1fTORy4uqOPbvxF4OFatksyqhMUIrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708409},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.1_1753603318313_0.8105142945253545","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.2":{"name":"sury","version":"11.0.0-alpha.2","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.2","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"b7d472666259cbf26d8b54f25d6595dfeaa3b360","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.2.tgz","fileCount":19,"integrity":"sha512-lWbGQ43NhwcGDFksI0DxyF93u49ljfEOggyTW4xJ/jkEmryiBKgCK3X+x9cSQchXjYFnIw7QbVCSkeDd7wF4Iw==","signatures":[{"sig":"MEUCIQCLJGgHUBy4vueZViHZGaLz6EPiVm7hUXrg6I/eyeT66AIgHtJLy6HzHvQXvpz/Oq1phE0DQ5DJ4R9KaIt1+G8u4Qw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730619},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript -w","test":"pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript -w","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"11.1.0","ts-expect":"1.3.0","typescript":"5.8.3","@rescript/core":"1.3.0","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"11.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.2_1754235528632_0.30496067623879286","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.3":{"name":"sury","version":"11.0.0-alpha.3","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.3","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"d1e86623e9d87fc99ef065b0a9c1ec122b8cf565","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.3.tgz","fileCount":19,"integrity":"sha512-gYMHfco6+IqXNgxnhImtpx3sIb6q1GTbpY9ygTOmdzP2R3muMBt3TqEnAmkFVTDJNOj6T8/zTORjOs2vGPvaJA==","signatures":[{"sig":"MEQCIH/QIg3ZzoVfRiNDizb3qouyTSifT849dEwKzoYRRkTNAiBCM0CNquqQm9Poz3cWrVqmXI6hEIdNet4sp9niRDZFKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688153},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript watch --dev","test":"pnpm tsc && ava","build":"pnpm rescript --dev && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript watch --dev","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"12.0.0-beta.5","ts-expect":"1.3.0","typescript":"5.8.3","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","@rescript/darwin-arm64":"12.0.0-beta.5","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.3_1755290736544_0.3158991383347409","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.4":{"name":"sury","version":"11.0.0-alpha.4","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.4","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"8a28fb732f5a228691b31cf2dd001b42391c9868","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.4.tgz","fileCount":19,"integrity":"sha512-oeG/GJWZvQCKtGPpLbu0yCZudfr5LxycDo5kh7SJmKHDPCsEPJssIZL2Eb4Tl7g9aPEvIDuRrkS+L0pybsMEMA==","signatures":[{"sig":"MEUCIE2jVP9+GbzS9xsG7Px9Z1k3CBMCzJCcX3Q7hnyptVNIAiEAwlSkGdSsepRT68fQuQ8SGvYJPW+nWZLaAocrYztfqhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":691546},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","private":false,"scripts":{"res":"rescript watch --dev","test":"pnpm tsc && ava","build":"pnpm rescript --dev && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript watch --dev","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"10.8.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"12.0.0-beta.5","ts-expect":"1.3.0","typescript":"5.8.3","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","@rescript/darwin-arm64":"12.0.0-beta.5","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.4_1759212192082_0.5867566761827436","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.5":{"name":"sury","version":"11.0.0-alpha.5","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.5","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"c06b5b9a673ff4715e0cd1283853e63e6106b84c","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.5.tgz","fileCount":19,"integrity":"sha512-7olnTkE87yljA+Ze5cw2lBfP+RtQBo32flIHrQXL2uOq5re+DQUJC4lH96lwIIiwioHS7/cGDWsb/DxGlP8nRw==","signatures":[{"sig":"MEUCIQComTbHm6djzgl1NfZrYAsftdpD+mER1TimuWdwnk7W9gIgV0pEWcOh7shS4UHjzjPq/9QMOxBNa/kzTGU3RVmpI/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832088},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"rescript watch --dev","test":"rescript build --dev && pnpm tsc && ava","build":"pnpm rescript --dev && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript watch --dev","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"12.0.0-beta.5","ts-expect":"1.3.0","typescript":"5.8.3","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","@rescript/darwin-arm64":"12.0.0-beta.5","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.5_1779020674729_0.006634510841440511","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.6":{"name":"sury","version":"11.0.0-alpha.6","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.6","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"ava":{"files":["tests/**/*_test.res.mjs","tests/**/*_test.js"]},"dist":{"shasum":"94c78c0a71c5c924a5a26da131383d5e4dd612f1","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.6.tgz","fileCount":19,"integrity":"sha512-PzSh4b21wr0NEHWm1+emQz+rtLe7v5rzYS0sobxTpwg6cObQ83KimJE6pCExhU6T6XxpDjz0oDc7tbwTFSBgoA==","signatures":[{"sig":"MEYCIQDzfYo9YQM/fcHog9tcZrOJTDviClagd4Hx5J49Zi1EgQIhAMDz7RNehDvRvTMEexgA9itHOnUgGg73soVQJOmEaI4w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832368},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"rescript watch","test":"rescript build && pnpm tsc && ava","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"c8 --reporter=lcov npm test","test:res":"cd ./packages/tests && rescript clean && rescript watch","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","ava":"5.2.0","execa":"7.1.1","rollup":"3.21.0","rescript":"12.2.0","ts-expect":"1.3.0","typescript":"5.8.3","rescript-nodejs":"16.1.0","@dzakh/rescript-ava":"3.1.0","@rescript/darwin-arm64":"12.2.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.6_1779812197629_0.3772368059643436","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.7":{"name":"sury","version":"11.0.0-alpha.7","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.7","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"812abd6ebdb346b53b5cf73a75fd95bb08d0b436","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.7.tgz","fileCount":19,"integrity":"sha512-N5+h5jjtWO9ICalP0a6nfToCR+bjfHy02mqL86je1sOllYQdeQvHiqSQJ2mNnPwY1tbrLVa+lV3nyiMaV2wo7w==","signatures":[{"sig":"MEUCIH1x4PRI12n5xLaaxoLKNcz3sS7OrT4UITTmkdsm59i9AiEAoHWsmvseACxz4fSyRIZ1KOhd3m71IsNMIq2Y7F661Rs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832194},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"rescript watch","test":"rescript build && pnpm tsc && vitest run","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"vitest run --coverage","test:res":"cd ./packages/tests && rescript clean && rescript watch","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","bench:types":"tsx tests/types.bench.ts","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","rescript":"12.2.0","ts-expect":"1.3.0","typescript":"5.8.3","@ark/attest":"0.56.0","@types/node":"20.19.41","rescript-nodejs":"16.1.0","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.7_1780256896187_0.919780996184485","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.8":{"name":"sury","version":"11.0.0-alpha.8","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.8","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"9c361a5e396d8fba53a98928f77f607d95cd68f9","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.8.tgz","fileCount":19,"integrity":"sha512-EeseGfQ2D38cXPOsQ5F2+sAy5lp3thNExsJl4zZ/3ryK8DnNACo+2j0tVfWmj/GbsrGlKMJ/kueP1Pv8uOxICA==","signatures":[{"sig":"MEUCICx+W/OlxkgLcGeK/jDcd3XoJGId/TPN7m0ik5AWnNgHAiEArL9CAfzBaRL3nA3boTIzvhsghhwpVmokq2EianYbWGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":850119},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"rescript watch","test":"rescript build && vitest run","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"vitest run --coverage","test:res":"cd ./packages/tests && rescript clean && rescript watch","benchmark":"node ./packages/tests/src/benchmark/Benchmark.res.mjs","typecheck":"vitest run --typecheck.only","bench:types":"tsx tests/types.bench.ts","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src","benchmark:comparison":"node ./packages/tests/src/benchmark/comparison.js"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","rescript":"12.2.0","typescript":"5.8.3","@ark/attest":"0.56.0","@types/node":"20.19.41","rescript-nodejs":"16.1.0","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.8_1781514137868_0.8435352289463014","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.9":{"name":"sury","version":"11.0.0-alpha.9","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.9","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"a8f04ebd4f1589c9f475955724a41afee5013fc2","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.9.tgz","fileCount":19,"integrity":"sha512-hyJuZsILflnsUC/PMQya+VJYHMlfrIOtpQyYrKdVHxF+4iNxgwynQkUQyVMuIXL4SnHDrYmPRnH5ZqEkwKj4bA==","signatures":[{"sig":"MEUCIQDhvJH/o/5bNhS2JlGFMPuNHmdzLcf9fA5LNw5ND7xr+wIgPD6ukQHT8+hqU5MhPIdg1c73E910qaXrQuxXY4W1RtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":870922},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"rescript watch","test":"rescript build && vitest run","bench":"vitest bench --run","build":"pnpm rescript && node ./scripts/pack/Pack.res.mjs","coverage":"vitest run --coverage","test:res":"cd ./packages/tests && rescript clean && rescript watch","typecheck":"vitest run --typecheck.only","bench:types":"tsx tests/types.bench.ts","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","rescript":"12.2.0","typescript":"5.8.3","@ark/attest":"0.56.0","@types/node":"20.19.41","rescript-nodejs":"16.1.0","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","@codspeed/vitest-plugin":"5.6.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.9_1782985330893_0.5337191649094641","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.10":{"name":"sury","version":"11.0.0-alpha.10","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.10","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"35115f98498509e180db9e338003ea03e3396a58","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.10.tgz","fileCount":33,"integrity":"sha512-8V5LMnS7oofwRJGdW7y2xKTUg7arAH89/idT9y92+Ot/eupT8lOa5RTxI/Xhy21pLaeo/hljAnqBZEWj5YglHg==","signatures":[{"sig":"MEUCIQCenY+Xe2Q1JL1MGZMRJHAwnP7nuH/3aWrlDPJcrcHEtQIgd3TBkiw96+ZM3/GHkfO/YG1XBNKFYrSEJTl6iw490gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703411},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"pnpm build:entry && rescript watch","spec":"pnpm build:entry && tsx ../spec/cli.ts","test":"pnpm build:entry && rescript build && vitest run","bench":"pnpm build:entry && vitest bench --run","build":"pnpm rescript && tsx ./scripts/pack.ts for-publish","coverage":"pnpm build:entry && vitest run --coverage","test:res":"cd ./packages/tests && rescript clean && rescript watch","typecheck":"vitest run --typecheck.only","build:entry":"tsx ./scripts/pack.ts entry-only","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","zod":"4.4.3","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","esbuild":"0.28.1","rescript":"12.2.0","typescript":"5.8.3","@types/node":"20.19.41","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","@codspeed/vitest-plugin":"5.6.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.10_1783926629349_0.06750393971232604","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-alpha.11":{"name":"sury","version":"11.0.0-alpha.11","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-alpha.11","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"659eb1ebff3a4365305238e9e2dba79990192295","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-alpha.11.tgz","fileCount":33,"integrity":"sha512-InF86J6SXry/WCk1wMNq1x5rJT0wZZX+hGhC9IuW1DKJAL+qa1IrANCZ4sAOITie0H9XhQQP6Yuyzy5ZGKc2Eg==","signatures":[{"sig":"MEUCIQCGNKEWg+PKyrNXDMU5AVrDWhmL+4xZerIm1blRquo5rAIgUSJAbFeHtFWTQZ2ozcOng/khXg3ljvzjtwUE0BRzea4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703220},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"pnpm build:entry && rescript watch","spec":"pnpm build:entry && tsx ../spec/cli.ts","test":"pnpm build:entry && rescript build && vitest run","bench":"pnpm build:entry && vitest bench --run","build":"pnpm rescript && tsx ./scripts/pack.ts for-publish","coverage":"pnpm build:entry && vitest run --coverage","test:res":"cd ./packages/tests && rescript clean && rescript watch","typecheck":"vitest run --typecheck.only","build:entry":"tsx ./scripts/pack.ts entry-only","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","zod":"4.4.3","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","esbuild":"0.28.1","rescript":"12.2.0","typescript":"5.8.3","@types/node":"20.19.41","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","@codspeed/vitest-plugin":"5.6.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-alpha.11_1784886390242_0.36422052589286324","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-rc.0":{"name":"sury","version":"11.0.0-rc.0","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-rc.0","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"9c9667b70d8ed70cbccac7760d1beadcbc022379","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-rc.0.tgz","fileCount":36,"integrity":"sha512-tCRBVO5Uy7N1vMRNoc31+8syeOyNdBU1aRSy7PBLCj/ipxdWZ0LguRUUyP/QGQX/Wc4ASziIo+4I12ZC3ni7rg==","signatures":[{"sig":"MEUCIQDdDwgZyMq4GsAZYUrUQwFMBfIrPHdemA3LdEZS39tkrQIgCq/Jeg6Pz+rMw1wGZLBc0LJvDTyTxNXj5tdtB6o7AN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":780729},"main":"./src/S.js","type":"commonjs","types":"./src/S.d.ts","module":"./src/S.mjs","exports":{".":{"types":"./src/S.d.ts","import":"./src/S.mjs","require":"./src/S.js"},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"scripts":{"res":"pnpm build:entry && rescript watch","spec":"pnpm build:entry && tsx ../spec/cli.ts","test":"pnpm build:entry && rescript build && vitest run","build":"pnpm rescript && tsx ./scripts/pack.ts for-publish","coverage":"pnpm build:entry && vitest run --coverage","typecheck":"vitest run --typecheck.only","fuzz:union":"tsx ./scripts/unionFuzz.ts","build:entry":"tsx ./scripts/pack.ts entry-only","lint:stdlib":"rescript-stdlib-vendorer lint --ignore-path=src"},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"sideEffects":["./src/S.res.mjs","./src/S.res.js"],"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"4.22.4","zod":"4.4.3","execa":"7.1.1","rollup":"3.21.0","vitest":"4.1.7","esbuild":"0.28.1","rescript":"12.2.0","typescript":"5.8.3","@types/node":"20.19.41","@vitest/coverage-v8":"4.1.7","@rescript/darwin-arm64":"12.2.0","rescript-stdlib-vendorer":"1.1.0","@rollup/plugin-node-resolve":"16.0.0"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-rc.0_1785490936227_0.3382691589412403","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-rc.1":{"name":"sury","version":"11.0.0-rc.1","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-rc.1","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"9edee6e2a5bc2f24abbcfbb8f62b10473f328f75","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-rc.1.tgz","fileCount":23,"integrity":"sha512-UzxKHMmL2iNdKmbckYDYgaQOnv1l6I+r6orv03P29oAEC9CpzljkpYeIcJ/oAoBc63VSFaCnmoL6gfuhPDTimA==","signatures":[{"sig":"MEUCIQCzzGxwNtXFmEYzSGUn/NcN6jiyfV4gQf1ARN//oDPKyQIgTddHJhf6CFVBL1uUQ8NTxi/oUoc+9KAF04WW3np0/KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707009},"main":"./index.js","type":"commonjs","types":"./index.d.ts","module":"./index.mjs","exports":{".":{"import":{"types":"./index.d.mts","default":"./index.mjs"},"require":{"types":"./index.d.ts","default":"./index.js"}},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"sideEffects":["./src/S.res.mjs","./src/S.res.js"],"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-rc.1_1786351173590_0.6055214412022678","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-rc.2":{"name":"sury","version":"11.0.0-rc.2","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-rc.2","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"c5d9e251e7053c2a0b0453b518cf0998ab712ec2","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-rc.2.tgz","fileCount":23,"integrity":"sha512-2sibppQ43Al/AxcXzOg/XorS5QDsQUO1FNnDFp88U+OVPyFg8DX7IUwWoWZeloaz5L7lDY8KFhGHptyFFklc4g==","signatures":[{"sig":"MEUCIHEZgdhnzfHpKQbFuFcDKunckNP1YL0XzS9z6DNbJuRaAiEA+fLejtIjdnUZv7/oCLe+FX4k5CTYewJojc7T+MZGY/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767218},"main":"./index.js","type":"commonjs","types":"./index.d.ts","module":"./index.mjs","exports":{".":{"import":{"types":"./index.d.mts","default":"./index.mjs"},"require":{"types":"./index.d.ts","default":"./index.js"}},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 The fastest schema with next-gen DX","directories":{},"sideEffects":["./src/S.res.mjs","./src/S.res.js"],"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-rc.2_1787234566490_0.6671700159352723","host":"s3://npm-registry-packages-npm-production"}},"11.0.0-rc.3":{"name":"sury","version":"11.0.0-rc.3","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","_id":"sury@11.0.0-rc.3","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"dist":{"shasum":"eb7842c4458783406123f33eab41af3bae4fccac","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0-rc.3.tgz","fileCount":23,"integrity":"sha512-lDbLdwBlfAuY6QVvbwR93IG6OJhTPDem3c4Y+AUzBLX+ixg+NG+ZcIihr46IdRIMAY4MwMzjqKsKhd6+b1JTIQ==","signatures":[{"sig":"MEUCIQDB3Ad/VxjcLokRQv8lKBL9vwTXkZiJmD1Vi0Z4xmYfEwIgAuv7lH6JEyIY0k+vkie/Ct9laX+XJYF3IHq0oiCdp40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":954217},"main":"./index.js","type":"commonjs","types":"./index.d.ts","module":"./index.mjs","exports":{".":{"import":{"types":"./index.d.mts","default":"./index.mjs"},"require":{"types":"./index.d.ts","default":"./index.js"}},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"private":false,"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"repository":{"url":"git+https://github.com/DZakh/sury.git","type":"git"},"_npmVersion":"11.4.2","description":"🧬 Schema for everything - faster than hand-written code","directories":{},"sideEffects":["./src/S.res.mjs","./src/S.res.js"],"_nodeVersion":"24.4.1","_hasShrinkwrap":false,"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sury_11.0.0-rc.3_1789034878866_0.3391709990064822","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"sury","version":"11.0.0","private":false,"description":"🧬 Schema for everything - faster than hand-written code","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"homepage":"https://github.com/DZakh/sury#readme","bugs":{"url":"https://github.com/DZakh/sury/issues"},"repository":{"type":"git","url":"git+https://github.com/DZakh/sury.git"},"license":"MIT","author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"type":"commonjs","sideEffects":["./src/S.res.mjs","./src/S.res.js"],"main":"./index.js","module":"./index.mjs","types":"./index.d.ts","exports":{".":{"import":{"types":"./index.d.mts","default":"./index.mjs"},"require":{"types":"./index.d.ts","default":"./index.js"}},"./src/*":"./src/*","./S.gen.js":{"types":"./src/S.gen.d.ts"},"./package.json":"./package.json"},"peerDependencies":{"rescript":"12.x"},"peerDependenciesMeta":{"rescript":{"optional":true}},"_id":"sury@11.0.0","_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-ixo9P04kr1VB15m+9OX1llkGYityBl5z79XBZqU4hIUjixbdoaoK92wO25DsPqVH8UjyB1rbotf8Gqj0K/uRwA==","shasum":"e3ad5d0aa2a201a87ced8a5bdab3ca98fc24b35e","tarball":"https://registry.npmjs.org/sury/-/sury-11.0.0.tgz","fileCount":23,"unpackedSize":1003666,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCm/rIjxNSrIi0mf9FIzSCV6MOo4Z/J0EkoyLHv2IpCmwIgC/f4omnJu7yOHqlqvILQjsNhlaO4Z5No0St98MBDj2A="}]},"_npmUser":{"name":"dzakh","email":"dzakh.dev@gmail.com"},"directories":{},"maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sury_11.0.0_1789210618666_0.05609039081287959"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-28T16:57:12.595Z","modified":"2026-09-12T10:56:58.979Z","9.3.0":"2025-02-28T16:57:12.838Z","10.0.0-rc.0":"2025-04-21T10:37:32.644Z","10.0.0-rc.1":"2025-04-22T19:18:26.797Z","10.0.0-rc.2":"2025-04-28T07:21:16.983Z","10.0.0-rc.3":"2025-05-03T15:48:51.962Z","10.0.0-rc.4":"2025-05-04T19:17:40.214Z","10.0.0-rc.5":"2025-05-05T18:33:18.107Z","10.0.0-rc.6":"2025-05-13T17:54:03.822Z","10.0.0-rc.7":"2025-05-17T16:17:39.397Z","10.0.0":"2025-05-20T16:14:44.879Z","10.0.1":"2025-05-24T11:32:10.979Z","10.0.2":"2025-06-05T06:48:08.401Z","10.0.3":"2025-06-21T16:56:24.593Z","10.0.4":"2025-06-21T20:12:02.406Z","11.0.0-alpha.0":"2025-07-15T06:43:27.406Z","11.0.0-alpha.1":"2025-07-27T08:01:58.519Z","11.0.0-alpha.2":"2025-08-03T15:38:48.873Z","11.0.0-alpha.3":"2025-08-15T20:45:36.833Z","11.0.0-alpha.4":"2025-09-30T06:03:12.317Z","11.0.0-alpha.5":"2026-05-17T12:24:34.908Z","11.0.0-alpha.6":"2026-05-26T16:16:37.814Z","11.0.0-alpha.7":"2026-05-31T19:48:16.341Z","11.0.0-alpha.8":"2026-06-15T09:02:18.030Z","11.0.0-alpha.9":"2026-07-02T09:42:11.061Z","11.0.0-alpha.10":"2026-07-13T07:10:29.515Z","11.0.0-alpha.11":"2026-07-24T09:46:30.381Z","11.0.0-rc.0":"2026-07-31T09:42:16.407Z","11.0.0-rc.1":"2026-08-10T08:39:33.741Z","11.0.0-rc.2":"2026-08-20T14:02:46.666Z","11.0.0-rc.3":"2026-09-10T10:07:59.026Z","11.0.0":"2026-09-12T10:56:58.816Z"},"bugs":{"url":"https://github.com/DZakh/sury/issues"},"author":{"name":"Dmitry Zakharov","email":"dzakh.dev@gmail.com"},"license":"MIT","homepage":"https://github.com/DZakh/sury#readme","keywords":["ReScript","Schema","Parser","Serializer","JSON","Encode","Decode","Validation","Contract","TypeScript","Zod","Valibot","Ajv","rescript-struct"],"repository":{"type":"git","url":"git+https://github.com/DZakh/sury.git"},"description":"🧬 Schema for everything - faster than hand-written code","maintainers":[{"name":"dzakh","email":"dzakh.dev@gmail.com"}],"readme":"[![CI](https://github.com/DZakh/sury/actions/workflows/ci.yml/badge.svg)](https://github.com/DZakh/sury/actions/workflows/ci.yml)\n[![sury npm](https://img.shields.io/npm/dm/sury?label=Sury)](https://www.npmjs.com/package/sury)\n[![rescript-schema npm](https://img.shields.io/npm/dm/rescript-schema?label=ReScript%20Schema)](https://www.npmjs.com/package/rescript-schema)\n[![license](https://img.shields.io/npm/l/sury)](https://github.com/DZakh/sury/blob/main/LICENSE)\n\n# Sury 🧬\n\n**Schema for everything - faster than hand-written code.**\n\nDeclare your data once, in TypeScript or ReScript. The wires it travels are schemas too, and they chain:\n\n```ts\nconst signupSchema = S.schema({ id: S.bigint, email: S.email, avatar: S.blob });\ntype Signup = S.Infer<typeof signupSchema>;\n\nconst signupsFileSchema = S.file.with(S.to, S.jsonString).with(S.to, S.array(signupSchema));\n\nawait S.decodeAsPromiseOrReject(signupsFileSchema)(file);\n// => [{ id: 7n, email: \"a@b.co\", avatar: Blob }], the avatar rode as base64\nawait S.encodeAsPromiseOrReject(signupsFileSchema)(signups);\n// => a File, from the same declaration - input and return strictly typed\n```\n\nWires today: `S.json`, `S.jsonString`, `S.formData`, `S.env`, `S.urlSearchParams`, `S.queryString`, `S.base64`, `S.base64url`, `S.uint8Array`, `S.file` and `S.blob`. Coming next: `S.request`, `S.response`, `S.protobuf`, `S.capnp`, `S.rkyv`, `S.toon`.\n\n```sh\nnpm install sury\n```\n\n**API Reference:** [TypeScript](https://github.com/DZakh/sury/blob/main/docs/js-usage.md) | [ReScript](https://github.com/DZakh/sury/blob/main/docs/rescript-usage.md) | [ReScript PPX](https://github.com/DZakh/sury/blob/main/packages/sury-ppx/README.md)\n\n## Sponsors\n\nSury's sponsors, who make the time to build it possible:\n\n<p>\n  <a href=\"https://rescript-association.org/\"><img alt=\"ReScript Association\" height=\"30\" src=\"https://raw.githubusercontent.com/DZakh/sury/main/assets/sponsors/rescript-association.png\"></a>\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://envio.dev/\"><img alt=\"Envio\" height=\"26\" src=\"https://raw.githubusercontent.com/DZakh/sury/main/assets/sponsors/envio.png\"></a>\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  <a href=\"https://www.carla.se/\"><picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/DZakh/sury/main/assets/sponsors/carla-dark.png\">\n    <img alt=\"Carla\" height=\"28\" src=\"https://raw.githubusercontent.com/DZakh/sury/main/assets/sponsors/carla.png\">\n  </picture></a>\n</p>\n\n> If you want to support the development of the project, [DM me on X](https://x.com/dzakh_dev) and get your logo here as a gratitude.\n\n## Why Sury\n\nDescribe your data model once - unions, constraints and metadata included, with a type you can actually read on hover:\n\n```ts\nimport * as S from \"sury\"; // Tree-shakable: a schema + parse operation starts at 8.6 kB gzip\n\nconst eventSchema = S.union([\n  {\n    type: \"user.created\",\n    id: S.bigint,\n    tags: S.array({ name: S.string }).with(S.nonEmpty, \"Add at least one tag\"),\n  },\n  { type: \"user.deleted\", id: S.bigint, payload: S.json },\n]).with(S.meta, { description: \"User lifecycle event\" });\n\ntype Event = S.Output<typeof eventSchema>;\n//   ^? { type: \"user.created\"; id: bigint; tags: [{ name: string }, ...{ name: string }[]] }\n//      | { type: \"user.deleted\"; id: bigint; payload: S.JSON }\n```\n\nThe same schema parses and encodes - no second definition. Encoding is even faster than `JSON.stringify` - read more in [Encode, Don't Stringify: How JSON.stringify Lies to You](https://dev.to/dzakh/encode-dont-stringify-how-jsonstringify-lies-to-you-38fk):\n\n```ts\nconst parseEvent = S.decodeOrThrow(S.jsonString, eventSchema);\nparseEvent('{\"type\":\"user.created\",\"id\":\"42\",\"tags\":[{\"name\":\"vip\"}]}');\n// => { type: \"user.created\", id: 42n, tags: [{ name: \"vip\" }] }\n\nS.encodeOrThrow(eventSchema, S.jsonString, { type: \"user.deleted\", id: 7n, payload: { reason: \"spam\" } });\n// => '{\"type\":\"user.deleted\",\"id\":\"7\",\"payload\":{\"reason\":\"spam\"}}'\n```\n\nErrors tell you exactly where to look, in wire terms - the missing `id` is a missing string:\n\n```ts\nparseEvent('{\"type\":\"user.deleted\"}');\n// => throws S.Error: Failed at id: Expected string, received undefined\n\nparseEvent('{\"type\":\"user.created\",\"id\":\"42\",\"tags\":[]}');\n// => throws S.Error: Failed at tags: Add at least one tag\n```\n\nAll possible ways to run your schema, with a decision required where safety matters - perfect to navigate and review agentic code:\n\n```ts\nS.parseOrThrow(eventSchema, input); // => Event, or throws S.Error\nS.parseAsResult(eventSchema, input); // => { success: true, value } | { success: false, error }\nS.parseAsPromiseOrReject(eventSchema, input); // => Promise<Event>, rejects with S.Error\nS.parseAsResultPromise(eventSchema, input); // => Promise<Result<Event>>\nS.parseAsPromisableResult(eventSchema, input); // => Result<Event> for a sync schema, Promise<Result<Event>> for an async one\n\nS.parseAsResult(input, eventSchema); // Data first works too\nS.parseAsResult(S.jsonString, eventSchema, input); // A pipeline of up to three schemas\nconst safeParseEvent = S.parseAsResult(eventSchema); // Schema alone compiles the operation beforehand\nsafeParseEvent(input);\n```\n\nNeed a different wire? Wrap the same model in base64url. The pipeline knows both of its ends, so `S.encodeOrThrow` and `S.decodeOrThrow` take just the schema:\n\n```ts\nconst b64Event = S.base64url.with(S.to, S.jsonString.with(S.to, eventSchema));\n\nS.encodeOrThrow(b64Event, { type: \"user.deleted\", id: 7n, payload: { reason: \"spam\" } });\n// => \"eyJ0eXBlIjoidXNlci5kZWxldGVkIiwiaWQiOiI3IiwicGF5bG9hZCI6eyJyZWFzb24iOiJzcGFtIn19\"\n\nS.decodeOrThrow(b64Event, \"eyJ0eXBlIjoidXNlci5kZWxldGVkIiwiaWQiOiI3IiwicGF5bG9hZCI6eyJyZWFzb24iOiJzcGFtIn19\");\n// => { type: \"user.deleted\", id: 7n, payload: { reason: \"spam\" } }\n```\n\nThanks to [Standard Schema](https://standardschema.dev/), the schema plugs straight into tRPC, Hono, TanStack and 28+ other libraries. Its Standard JSON Schema extension describes the wire - and a `bigint` has no wire until you give it one:\n\n```ts\nS.enableStandardJSONSchema(); // Opt-in, so unused JSON Schema code tree-shakes away\n\neventSchema[\"~standard\"].validate({ type: \"user.deleted\", id: 7n, payload: null });\n// => { value: { type: \"user.deleted\", id: 7n, payload: null } }\n\neventSchema[\"~standard\"].jsonSchema.input({ target: \"draft-07\" });\n// => throws: Failed at id: Expected JSON, received bigint\n\nS.json.with(S.to, eventSchema)[\"~standard\"].jsonSchema.input({ target: \"draft-07\" });\n// => { anyOf: [...], description: \"User lifecycle event\", ... } - with id: { type: \"string\" }\n```\n\nYou can go the other way too: feed JSON Schema in and get a typed Sury schema back. 93% of the official draft-07 test suite passes in CI:\n\n```ts\nconst emailSchema = S.fromJSONSchemaOrThrow({ type: \"string\", format: \"email\" });\n//? S.Schema<string, string>\n\nS.parseOrThrow(emailSchema, \"hi@sury.dev\"); // => \"hi@sury.dev\"\n```\n\nRecursive schemas work out of the box:\n\n```ts\ntype Node = { id: string; children: Node[] };\nconst nodeSchema = S.recursive<Node>(\"Node\", (nodeSchema) =>\n  S.schema({ id: S.string, children: S.array(nodeSchema) }),\n);\n```\n\nRenaming fields between the wire and your code is one `S.shape` call, and the encode direction follows automatically:\n\n```ts\nconst userSchema = S.schema({\n  USER_ID: S.string.with(S.to, S.bigint),\n  USER_NAME: S.string,\n}).with(S.shape, (input) => ({\n  id: input.USER_ID,\n  name: input.USER_NAME,\n}));\n\nS.parseOrThrow(userSchema, { USER_ID: \"0\", USER_NAME: \"Dmitry\" });\n// => { id: 0n, name: \"Dmitry\" }\nS.encodeOrThrow(userSchema, { id: 0n, name: \"Dmitry\" });\n// => { USER_ID: \"0\", USER_NAME: \"Dmitry\" }\n```\n\nThe other side of the wire is yours too. A constructor checks a value you built in code - refinements included, and whether the schema can encode it - and hands back the very object it was given. For a branded schema, it's how the brand gets minted:\n\n```ts\nconst makeEvent = S.makeOutputOrThrow(eventSchema);\n\nmakeEvent({ type: \"user.deleted\", id: 7n, payload: { reason: \"spam\" } });\n// => the object you passed in, checked\n\nmakeEvent({ type: \"user.created\", id: 7n, tags: [] });\n// => throws S.Error: Failed at tags: Add at least one tag\n\nconst userIdSchema = S.uuid.with(S.brand, \"UserId\");\nconst userId = S.makeOutputOrThrow(userIdSchema, \"f81d4fae-7dec-11d0-a765-00a0c91e6bf6\");\n//? S.Brand<string, \"UserId\">\n```\n\nThe same schema lets you compare your values, fast and safe:\n\n```ts\nconst sessionSchema = S.schema({ kind: \"session\", id: S.string, startedAt: S.date });\n\nS.isEqualOutput(\n  sessionSchema,\n  { kind: \"session\", id: \"s1\", startedAt: new Date(\"2026-01-01\") },\n  { kind: \"session\", id: \"s1\", startedAt: new Date(\"2026-01-01\") },\n);\n// => true, two Date objects for the same instant\n\nconst isSameSession = S.isEqualOutput(sessionSchema);\n//? (a, b) => a === b || (a.id === b.id && +a.startedAt === +b.startedAt)\n```\n\nEvery operation that looks at one side of a schema says which side in its name - `S.makeOutputOrThrow` and `S.isInput`, `S.toInputJSONSchemaOrThrow` for the wire and `S.toOutputJSONSchemaOrThrow` for your types.\n\nReading a `File` is asynchronous, so a pipeline that starts from one becomes async too:\n\n```ts\nconst configSchema = S.file.with(S.to, S.jsonString.with(S.to, S.schema({ theme: S.string })));\n\nawait S.parseAsPromiseOrReject(configSchema, new File(['{\"theme\":\"dark\"}'], \"config.json\"));\n// => { theme: \"dark\" }\n```\n\nNo need for a separate library to decode your env vars:\n\n```ts\nconst envSchema = S.schema({\n  PORT: S.port,\n  DEBUG: S.boolean,\n  NAME: S.nullable(S.string),\n});\n\nS.decodeOrThrow(process.env, S.record(S.env), envSchema);\n// { PORT: \"8080\", DEBUG: \"true\" } => { PORT: 8080, DEBUG: true, NAME: null }\n```\n\nSome data arrives in awkward layouts - like the columnar arrays that [boost Postgres INSERT performance by 2x](https://www.timescale.com/blog/boosting-postgres-insert-performance). Describe the layout instead of writing glue code, and `S.compactColumns` turns columns into rows and back:\n\n```ts\nconst rows = S.compactColumns(S.json).with(S.to, S.array({ id: S.bigint, city: S.string }));\n\nS.decodeOrThrow(rows, [[\"1\", \"2\"], [\"Tbilisi\", \"Batumi\"]]);\n// => [{ id: 1n, city: \"Tbilisi\" }, { id: 2n, city: \"Batumi\" }]\nS.encodeOrThrow(rows, [{ id: 1n, city: \"Tbilisi\" }, { id: 2n, city: \"Batumi\" }]);\n// => [[\"1\", \"2\"], [\"Tbilisi\", \"Batumi\"]]\n```\n\nA form submission is strings, files and missing checkboxes. `S.formData` reads it as what you declared, and builds the body you post back:\n\n```ts\nconst signup = S.formData.with(\n  S.to,\n  S.schema({\n    name: S.string.with(S.nonEmpty),\n    age: S.number, // \"42\" -> 42\n    agree: true, // a checkbox that has to be ticked\n    newsletter: S.optional(S.boolean), // tri-state: absent -> undefined\n    role: S.union([\"admin\", \"user\"]),\n    tags: S.array(S.string), // every \"tags\" entry\n    avatar: S.file,\n    prefs: S.jsonString.with(S.to, S.schema({ theme: S.string })),\n  }),\n);\n\nS.decodeOrThrow(signup)(await request.formData());\n// => { name: \"Ann\", age: 42, agree: true, newsletter: undefined, role: \"user\",\n//      tags: [\"a\", \"b\"], avatar: File, prefs: { theme: \"dark\" } }\n\nS.encodeOrThrow(signup)(value);\n// => a FormData with one append per field, ready for fetch(url, { body })\n```\n\n### The code a schema turns into\n\nHere's what `parseEvent` from above actually runs - a function specialized for this exact shape: the union dispatches on the discriminant, the `bigint` coercion is inlined as a bare `BigInt()` call, your `nonEmpty` message is a plain length check, and `S.jsonString` -> union -> fields fuse into one pass:\n\n```js\n(i) => {\n  let v0;\n  try {\n    v0 = JSON.parse(i);\n  } catch (t) {\n    e[0](i);\n  }\n  if (typeof v0 === \"object\" && v0 && !Array.isArray(v0)) {\n    for (;;) {\n      if (v0.type === \"user.created\") {\n        let v2 = v0.id, v3 = v0.tags;\n        typeof v2 === \"string\" || e[2](v2);\n        let v1;\n        try {\n          v1 = BigInt(v2);\n        } catch (_) {\n          e[1](v2);\n        }\n        Array.isArray(v3) || e[6](v3);\n        // ...validates each tag, tracking the error path\n        v8.length > 0 || e[5](v8); // e[5] throws your nonEmpty message\n        v0 = { type: v0.type, id: v1, tags: v8 };\n        break;\n      }\n      if (v0.type === \"user.deleted\") {\n        // ...one branch per variant, no loop over union members\n      }\n      e[9](v0);\n    }\n  } else {\n    e[10](v0);\n  }\n  return v0;\n};\n```\n\nThe encoder gets the same treatment right below - and that's why Sury tends to outrun even hand-rolled validation ([benchmarks](#comparison)).\n\n### Encoding vs `JSON.stringify`\n\nThe encoder builds the JSON text directly - no intermediate object, the structure baked in as literals, and `JSON.stringify` left only the free-form `payload`:\n\n```js\n(i) => {\n  if (typeof i === \"object\" && i && !Array.isArray(i)) {\n    for (;;) {\n      // ...one branch per variant\n      if (i.type === \"user.deleted\") {\n        let v6 = JSON.stringify(i.payload);\n        let v7 = '{\"type\":\"user.deleted\",\"id\":\"' + i.id + '\"';\n        if (v6 !== void 0) {\n          v7 += ',\"payload\":' + v6;\n        }\n        i = v7 + \"}\";\n        break;\n      }\n    }\n  }\n  return i;\n};\n```\n\nAnd the values `JSON.stringify` silently corrupts throw instead:\n\n```ts\nJSON.stringify({ price: Infinity });\n// => '{\"price\":null}'\n\nS.encodeOrThrow(S.schema({ price: S.number }), S.jsonString, { price: Infinity });\n// => throws S.Error: Failed at price: Expected JSON, received Infinity\n```\n\n| Encode to JSON string                 | **Sury**    | `JSON.stringify` | fast-json-stringify |\n| ------------------------------------- | ----------- | ---------------- | ------------------- |\n| API response (user profile, 7 fields) | **305 ns**  | 590 ns           | 382 ns              |\n| Event feed (50 tagged-union events)   | **5.05 µs** | 7.82 µs          | 20.26 µs            |\n| `bigint` id + binary payload + `Date` | **1.17 µs** | 1.51 µs          | 1.45 µs             |\n\nAnd 3.2× lighter than fast-json-stringify - 18.0 kB against 56.9 kB, encoder included.\n\n## Comparison\n\nSury has the fastest parsing and encoding in the ecosystem - the hot path. Creating a schema and using it once is the one workload where an interpreted library wins a row below.\n\nIt's also small. Instead of a few large classes with many methods, the API and source are built from many small, independent functions. A bundler follows your imports and drops everything you don't use, which can cut the shipped size by up to 2× compared to [Zod](https://github.com/colinhacks/zod). (The approach is borrowed from [Valibot](https://github.com/fabian-hiller/valibot), which pioneered it.)\n\nAnd the types stay readable. Hovering the event schema from [Why Sury](#why-sury) reads `S.Schema<{ type: \"user.created\"; id: bigint; ... } | { type: \"user.deleted\"; ... }>` - the same model in Valibot reads `v.UnionSchema<[v.ObjectSchema<{ readonly type: v.LiteralSchema<\"user.created\", undefined>; readonly id: v.BigintSchema<undefined>; readonly tags: v.SchemaWithPipe<...>; }, undefined>, v.ObjectSchema<...>], undefined>`.\n\n### Size & speed\n\nMeasured with [this repo's comparison benchmark](https://github.com/DZakh/sury/tree/main/packages/e2e/src/benchmark) against `sury@11.0.0`, `zod@4.4.3`, `typebox@0.34.52`, `valibot@1.4.2`, `arktype@2.2.3`.\n\n|                                 | Sury           | Zod          | TypeBox                        | Valibot      | ArkType        |\n| ------------------------------- | -------------- | ------------ | ------------------------------ | ------------ | -------------- |\n| **Total size** (min + gzip)     | 43.4 kB        | 64.7 kB      | 31.2 kB                        | 15.2 kB      | 47.1 kB        |\n| **Benchmark size** (min + gzip) | 8.7 kB         | 19.6 kB      | 22.6 kB                        | 1.29 kB      | 47.0 kB        |\n| **Parse with the same schema**  | 210,061 ops/ms | 9,367 ops/ms | 158,185 ops/ms (no transforms) | 1,970 ops/ms | 106,520 ops/ms |\n| **Create schema & parse once**  | 99 ops/ms      | 11 ops/ms    | 103 ops/ms (no transforms)     | 315 ops/ms   | 11 ops/ms      |\n\n\"Benchmark size\" is what actually ships after tree-shaking for the benchmarked schema. The TypeBox numbers are validation-only - it doesn't run the transforms.\n\nIndependent benchmarks and conformance suites that include Sury:\n\n- [typescript-runtime-type-benchmarks](https://moltar.github.io/typescript-runtime-type-benchmarks/) - throughput across the ecosystem\n- [schemabenchmarks.dev](https://schemabenchmarks.dev/) - per-step breakdown: download, initialization, validation, parsing, Standard Schema, codec\n- [json-schema-compliance-suite](https://github.com/sinclairzx81/json-schema-compliance-suite) - JSON Schema validation, semantics, and round-trip fidelity\n\n### Features\n\n|                                          | Sury                                     | Zod                                       | TypeBox                   | Valibot                                                               | ArkType                   |\n| ---------------------------------------- | ---------------------------------------- | ----------------------------------------- | ------------------------- | --------------------------------------------------------------------- | ------------------------- |\n| **Inferred TS type** (what you hover)    | `S.Schema<{foo: string}, {foo: string}>` | `z.ZodObject<{foo: z.ZodString}, $strip>` | `TObject<{foo: TString}>` | `v.ObjectSchema<{readonly foo: v.StringSchema<undefined>}, undefined>` | `Type<{foo: string}, {}>` |\n| **JSON Schema**                          | both directions + `S.fromJSONSchemaOrThrow`     | `z.toJSONSchema`                          | 👑                        | `@valibot/to-json-schema`                                             | `myType.toJsonSchema()`   |\n| **Validated constructor** (from your types) | ✅                                    | ❌                                        | ⭕ unvalidated            | ❌                                                                    | ❌                        |\n| **Compiled equality** (from your schema) | ✅                                       | ❌                                        | ⭕ interpreted            | ❌                                                                    | ❌                        |\n| **Standard Schema**                      | ✅                                       | ✅                                        | ❌                        | ✅                                                                    | ✅                        |\n| **Codegen-free** (doesn't need compiler) | ✅                                       | ✅                                        | ✅                        | ✅                                                                    | ✅                        |\n| **Eval-free**                            | ❌                                       | ⭕ opt-out                                | ⭕ opt-in                 | ✅                                                                    | ⭕ opt-out                |\n| **Ecosystem**                            | ⭐️⭐️                                   | ⭐️⭐️⭐️⭐️⭐️                           | ⭐️⭐️⭐️⭐️⭐️           | ⭐️⭐️⭐️                                                             | ⭐️⭐️                    |\n\n## Integrations\n\nUse Sury anywhere a schema is accepted:\n\n- [tRPC](https://trpc.io/), [TanStack Form](https://tanstack.com/form), [TanStack Router](https://tanstack.com/router), [Hono](https://hono.dev/), and 28+ more via the [Standard Schema](https://standardschema.dev/) spec\n- Anything that speaks [JSON Schema](https://json-schema.org/), via `S.toInputJSONSchemaOrThrow` / `S.fromJSONSchemaOrThrow`\n\n## Used by\n\n- [HyperIndex](https://github.com/enviodev/hyperindex) - Envio's blockchain indexing framework, which uses Sury to power native high-performance external calls\n- [rescript-rest](https://github.com/DZakh/rescript-rest) - RPC-like client, contract, and server implementation for a pure REST API\n- [rescript-envsafe](https://github.com/DZakh/rescript-envsafe) - makes sure you don't accidentally deploy apps with missing or invalid environment variables\n- [rescript-stripe](https://github.com/enviodev/rescript-stripe) - describe and manage Stripe billing in a declarative way with code\n- Internal form library at [Carla](https://www.carla.se/)\n\nBuilding something with Sury? [Let me know](https://x.com/dzakh_dev) and I'll add it here.\n\n## FAQ\n\n### Is `new Function` safe to use?\n\nYes. It's the same technique TypeBox, Zod v4 and ArkType use, and it's where much of the speed comes from ([the code a schema turns into](#the-code-a-schema-turns-into)). Cloudflare Workers allows `new Function` during Worker startup (the default since compatibility date 2025-06-01), so schemas and operations created at the top level work there.\n\nThere's currently no eval-free mode, so Sury won't run where dynamic code evaluation is forbidden: pages under a strict CSP without `'unsafe-eval'`, some browser extension contexts, and a few restricted edge runtimes. If that's your environment, [Valibot](https://valibot.dev/) is the honest recommendation today.\n\n### Why \"Sury\"?\n\nIt's short, it's pronounceable, and the 🧬 fits: a schema is the DNA of your data - one definition that everything else is derived from.\n\n## Resources\n\n- Welcome Sury - The fastest schema with next-gen DX ([Dev.to](https://dev.to/dzakh/welcome-sury-the-fastest-schema-with-next-gen-dx-5gl4))\n- ReScript Schema unique features ([Dev.to](https://dev.to/dzakh/javascript-schema-library-from-the-future-5420))\n- Building and consuming REST API in ReScript with rescript-rest and Fastify ([YouTube](https://youtu.be/37FY6a-zY20?si=72zT8Gecs5vmDPlD))\n\n## Contributing\n\nBug reports, ideas, and pull requests are all welcome - open an [issue](https://github.com/DZakh/sury/issues) to get started.\n\n## License\n\n[MIT](https://github.com/DZakh/sury/blob/main/LICENSE)\n","readmeFilename":"README.md"}