makecoder 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +281 -0
- package/claude/commands/dev/ultra-think.md +153 -0
- package/claude/commands/docs/generate-api-documentation.md +80 -0
- package/claude/commands/git/commit.md +63 -0
- package/claude/commands/git/status.md +39 -0
- package/claude/commands/setup/migrate-to-typescript.md +76 -0
- package/claude/commands/test/generate-test-cases.md +76 -0
- package/dist/cc.mjs +4654 -0
- package/dist/coder.js +201 -0
- package/dist/codex +0 -0
- package/dist/codex.exe +0 -0
- package/dist/codex.mjs +162 -0
- package/dist/gcli.mjs +3162 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/annotations-23.0.0.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/claude-code-jetbrains-plugin-0.1.12-beta-searchableOptions.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/claude-code-jetbrains-plugin-0.1.12-beta.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/config-1.4.3.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/jansi-2.4.1.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlin-logging-jvm-7.0.0.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlin-reflect-2.0.21.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlin-sdk-jvm-0.4.0.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlin-stdlib-2.1.20.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-coroutines-core-jvm-1.9.0.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-coroutines-slf4j-1.9.0.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-io-bytestring-jvm-0.5.4.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-io-core-jvm-0.5.4.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-serialization-core-jvm-1.8.1.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/kotlinx-serialization-json-jvm-1.8.1.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-client-cio-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-client-core-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-events-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-http-cio-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-http-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-io-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-network-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-network-tls-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-serialization-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-server-cio-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-server-core-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-server-sse-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-server-websockets-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-sse-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-utils-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-websocket-serialization-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/ktor-websockets-jvm-3.0.2.jar +0 -0
- package/dist/vendor/claude-code-jetbrains-plugin/lib/slf4j-api-2.0.16.jar +0 -0
- package/dist/vendor/ripgrep/COPYING +3 -0
- package/dist/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/dist/vendor/ripgrep/arm64-darwin/ripgrep.node +0 -0
- package/dist/vendor/ripgrep/arm64-linux/rg +0 -0
- package/dist/vendor/ripgrep/arm64-linux/ripgrep.node +0 -0
- package/dist/vendor/ripgrep/x64-darwin/rg +0 -0
- package/dist/vendor/ripgrep/x64-darwin/ripgrep.node +0 -0
- package/dist/vendor/ripgrep/x64-linux/rg +0 -0
- package/dist/vendor/ripgrep/x64-linux/ripgrep.node +0 -0
- package/dist/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/dist/vendor/ripgrep/x64-win32/ripgrep.node +0 -0
- package/dist/zod/LICENSE +21 -0
- package/dist/zod/README.md +208 -0
- package/dist/zod/index.cjs +33 -0
- package/dist/zod/index.d.cts +4 -0
- package/dist/zod/index.d.ts +4 -0
- package/dist/zod/index.js +4 -0
- package/dist/zod/package.json +118 -0
- package/dist/zod/src/index.ts +4 -0
- package/dist/zod/src/v3/ZodError.ts +330 -0
- package/dist/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/dist/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/dist/zod/src/v3/benchmarks/index.ts +59 -0
- package/dist/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/dist/zod/src/v3/benchmarks/object.ts +69 -0
- package/dist/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/dist/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/dist/zod/src/v3/benchmarks/string.ts +55 -0
- package/dist/zod/src/v3/benchmarks/union.ts +80 -0
- package/dist/zod/src/v3/errors.ts +13 -0
- package/dist/zod/src/v3/external.ts +6 -0
- package/dist/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/dist/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/dist/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/dist/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/dist/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/dist/zod/src/v3/helpers/util.ts +224 -0
- package/dist/zod/src/v3/index.ts +4 -0
- package/dist/zod/src/v3/locales/en.ts +124 -0
- package/dist/zod/src/v3/standard-schema.ts +113 -0
- package/dist/zod/src/v3/tests/Mocker.ts +54 -0
- package/dist/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/dist/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/dist/zod/src/v3/tests/array.test.ts +71 -0
- package/dist/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/dist/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/dist/zod/src/v3/tests/base.test.ts +29 -0
- package/dist/zod/src/v3/tests/bigint.test.ts +55 -0
- package/dist/zod/src/v3/tests/branded.test.ts +53 -0
- package/dist/zod/src/v3/tests/catch.test.ts +220 -0
- package/dist/zod/src/v3/tests/coerce.test.ts +133 -0
- package/dist/zod/src/v3/tests/complex.test.ts +56 -0
- package/dist/zod/src/v3/tests/custom.test.ts +31 -0
- package/dist/zod/src/v3/tests/date.test.ts +32 -0
- package/dist/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/dist/zod/src/v3/tests/default.test.ts +112 -0
- package/dist/zod/src/v3/tests/description.test.ts +33 -0
- package/dist/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/dist/zod/src/v3/tests/enum.test.ts +80 -0
- package/dist/zod/src/v3/tests/error.test.ts +551 -0
- package/dist/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/dist/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/dist/zod/src/v3/tests/function.test.ts +257 -0
- package/dist/zod/src/v3/tests/generics.test.ts +48 -0
- package/dist/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/dist/zod/src/v3/tests/intersection.test.ts +110 -0
- package/dist/zod/src/v3/tests/language-server.source.ts +76 -0
- package/dist/zod/src/v3/tests/language-server.test.ts +207 -0
- package/dist/zod/src/v3/tests/literal.test.ts +36 -0
- package/dist/zod/src/v3/tests/map.test.ts +110 -0
- package/dist/zod/src/v3/tests/masking.test.ts +4 -0
- package/dist/zod/src/v3/tests/mocker.test.ts +19 -0
- package/dist/zod/src/v3/tests/nan.test.ts +21 -0
- package/dist/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/dist/zod/src/v3/tests/nullable.test.ts +42 -0
- package/dist/zod/src/v3/tests/number.test.ts +176 -0
- package/dist/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/dist/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/dist/zod/src/v3/tests/object.test.ts +434 -0
- package/dist/zod/src/v3/tests/optional.test.ts +42 -0
- package/dist/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/dist/zod/src/v3/tests/parser.test.ts +41 -0
- package/dist/zod/src/v3/tests/partials.test.ts +243 -0
- package/dist/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/dist/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/dist/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/dist/zod/src/v3/tests/primitive.test.ts +440 -0
- package/dist/zod/src/v3/tests/promise.test.ts +90 -0
- package/dist/zod/src/v3/tests/readonly.test.ts +194 -0
- package/dist/zod/src/v3/tests/record.test.ts +171 -0
- package/dist/zod/src/v3/tests/recursive.test.ts +197 -0
- package/dist/zod/src/v3/tests/refine.test.ts +313 -0
- package/dist/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/dist/zod/src/v3/tests/set.test.ts +142 -0
- package/dist/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/dist/zod/src/v3/tests/string.test.ts +916 -0
- package/dist/zod/src/v3/tests/transformer.test.ts +233 -0
- package/dist/zod/src/v3/tests/tuple.test.ts +90 -0
- package/dist/zod/src/v3/tests/unions.test.ts +57 -0
- package/dist/zod/src/v3/tests/validations.test.ts +133 -0
- package/dist/zod/src/v3/tests/void.test.ts +15 -0
- package/dist/zod/src/v3/types.ts +5136 -0
- package/dist/zod/src/v4/classic/checks.ts +30 -0
- package/dist/zod/src/v4/classic/coerce.ts +27 -0
- package/dist/zod/src/v4/classic/compat.ts +66 -0
- package/dist/zod/src/v4/classic/errors.ts +75 -0
- package/dist/zod/src/v4/classic/external.ts +50 -0
- package/dist/zod/src/v4/classic/index.ts +5 -0
- package/dist/zod/src/v4/classic/iso.ts +90 -0
- package/dist/zod/src/v4/classic/parse.ts +33 -0
- package/dist/zod/src/v4/classic/schemas.ts +2054 -0
- package/dist/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/dist/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/dist/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/dist/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/dist/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/dist/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/dist/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/dist/zod/src/v4/classic/tests/brand.test.ts +63 -0
- package/dist/zod/src/v4/classic/tests/catch.test.ts +252 -0
- package/dist/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/dist/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/dist/zod/src/v4/classic/tests/continuability.test.ts +352 -0
- package/dist/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/dist/zod/src/v4/classic/tests/date.test.ts +31 -0
- package/dist/zod/src/v4/classic/tests/datetime.test.ts +296 -0
- package/dist/zod/src/v4/classic/tests/default.test.ts +313 -0
- package/dist/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/dist/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
- package/dist/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/dist/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
- package/dist/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/dist/zod/src/v4/classic/tests/file.test.ts +91 -0
- package/dist/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
- package/dist/zod/src/v4/classic/tests/function.test.ts +268 -0
- package/dist/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/dist/zod/src/v4/classic/tests/index.test.ts +829 -0
- package/dist/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
- package/dist/zod/src/v4/classic/tests/intersection.test.ts +171 -0
- package/dist/zod/src/v4/classic/tests/json.test.ts +108 -0
- package/dist/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/dist/zod/src/v4/classic/tests/literal.test.ts +92 -0
- package/dist/zod/src/v4/classic/tests/map.test.ts +196 -0
- package/dist/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/dist/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/dist/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
- package/dist/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/dist/zod/src/v4/classic/tests/number.test.ts +247 -0
- package/dist/zod/src/v4/classic/tests/object.test.ts +563 -0
- package/dist/zod/src/v4/classic/tests/optional.test.ts +123 -0
- package/dist/zod/src/v4/classic/tests/partial.test.ts +147 -0
- package/dist/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
- package/dist/zod/src/v4/classic/tests/pipe.test.ts +81 -0
- package/dist/zod/src/v4/classic/tests/prefault.test.ts +37 -0
- package/dist/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
- package/dist/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/dist/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/dist/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/dist/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/dist/zod/src/v4/classic/tests/record.test.ts +342 -0
- package/dist/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
- package/dist/zod/src/v4/classic/tests/refine.test.ts +532 -0
- package/dist/zod/src/v4/classic/tests/registries.test.ts +204 -0
- package/dist/zod/src/v4/classic/tests/set.test.ts +179 -0
- package/dist/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
- package/dist/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
- package/dist/zod/src/v4/classic/tests/string.test.ts +881 -0
- package/dist/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
- package/dist/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
- package/dist/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
- package/dist/zod/src/v4/classic/tests/transform.test.ts +250 -0
- package/dist/zod/src/v4/classic/tests/tuple.test.ts +163 -0
- package/dist/zod/src/v4/classic/tests/union.test.ts +94 -0
- package/dist/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/dist/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/dist/zod/src/v4/core/api.ts +1594 -0
- package/dist/zod/src/v4/core/checks.ts +1283 -0
- package/dist/zod/src/v4/core/config.ts +15 -0
- package/dist/zod/src/v4/core/core.ts +134 -0
- package/dist/zod/src/v4/core/doc.ts +44 -0
- package/dist/zod/src/v4/core/errors.ts +424 -0
- package/dist/zod/src/v4/core/function.ts +176 -0
- package/dist/zod/src/v4/core/index.ts +15 -0
- package/dist/zod/src/v4/core/json-schema.ts +143 -0
- package/dist/zod/src/v4/core/parse.ts +94 -0
- package/dist/zod/src/v4/core/regexes.ts +135 -0
- package/dist/zod/src/v4/core/registries.ts +96 -0
- package/dist/zod/src/v4/core/schemas.ts +3842 -0
- package/dist/zod/src/v4/core/standard-schema.ts +64 -0
- package/dist/zod/src/v4/core/tests/index.test.ts +46 -0
- package/dist/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/dist/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/dist/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/dist/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/dist/zod/src/v4/core/to-json-schema.ts +977 -0
- package/dist/zod/src/v4/core/util.ts +775 -0
- package/dist/zod/src/v4/core/versions.ts +5 -0
- package/dist/zod/src/v4/core/zsf.ts +323 -0
- package/dist/zod/src/v4/index.ts +4 -0
- package/dist/zod/src/v4/locales/ar.ts +125 -0
- package/dist/zod/src/v4/locales/az.ts +121 -0
- package/dist/zod/src/v4/locales/be.ts +184 -0
- package/dist/zod/src/v4/locales/ca.ts +127 -0
- package/dist/zod/src/v4/locales/cs.ts +142 -0
- package/dist/zod/src/v4/locales/de.ts +124 -0
- package/dist/zod/src/v4/locales/en.ts +127 -0
- package/dist/zod/src/v4/locales/eo.ts +125 -0
- package/dist/zod/src/v4/locales/es.ts +125 -0
- package/dist/zod/src/v4/locales/fa.ts +134 -0
- package/dist/zod/src/v4/locales/fi.ts +131 -0
- package/dist/zod/src/v4/locales/fr-CA.ts +126 -0
- package/dist/zod/src/v4/locales/fr.ts +124 -0
- package/dist/zod/src/v4/locales/he.ts +125 -0
- package/dist/zod/src/v4/locales/hu.ts +126 -0
- package/dist/zod/src/v4/locales/id.ts +125 -0
- package/dist/zod/src/v4/locales/index.ts +39 -0
- package/dist/zod/src/v4/locales/it.ts +125 -0
- package/dist/zod/src/v4/locales/ja.ts +122 -0
- package/dist/zod/src/v4/locales/kh.ts +126 -0
- package/dist/zod/src/v4/locales/ko.ts +131 -0
- package/dist/zod/src/v4/locales/mk.ts +127 -0
- package/dist/zod/src/v4/locales/ms.ts +124 -0
- package/dist/zod/src/v4/locales/nl.ts +126 -0
- package/dist/zod/src/v4/locales/no.ts +124 -0
- package/dist/zod/src/v4/locales/ota.ts +125 -0
- package/dist/zod/src/v4/locales/pl.ts +126 -0
- package/dist/zod/src/v4/locales/ps.ts +133 -0
- package/dist/zod/src/v4/locales/pt.ts +123 -0
- package/dist/zod/src/v4/locales/ru.ts +184 -0
- package/dist/zod/src/v4/locales/sl.ts +126 -0
- package/dist/zod/src/v4/locales/sv.ts +127 -0
- package/dist/zod/src/v4/locales/ta.ts +125 -0
- package/dist/zod/src/v4/locales/th.ts +126 -0
- package/dist/zod/src/v4/locales/tr.ts +121 -0
- package/dist/zod/src/v4/locales/ua.ts +126 -0
- package/dist/zod/src/v4/locales/ur.ts +126 -0
- package/dist/zod/src/v4/locales/vi.ts +125 -0
- package/dist/zod/src/v4/locales/zh-CN.ts +123 -0
- package/dist/zod/src/v4/locales/zh-TW.ts +125 -0
- package/dist/zod/src/v4/mini/checks.ts +32 -0
- package/dist/zod/src/v4/mini/coerce.ts +22 -0
- package/dist/zod/src/v4/mini/external.ts +40 -0
- package/dist/zod/src/v4/mini/index.ts +3 -0
- package/dist/zod/src/v4/mini/iso.ts +62 -0
- package/dist/zod/src/v4/mini/parse.ts +1 -0
- package/dist/zod/src/v4/mini/schemas.ts +1579 -0
- package/dist/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/dist/zod/src/v4/mini/tests/brand.test.ts +51 -0
- package/dist/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/dist/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/dist/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/dist/zod/src/v4/mini/tests/functions.test.ts +43 -0
- package/dist/zod/src/v4/mini/tests/index.test.ts +871 -0
- package/dist/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/dist/zod/src/v4/mini/tests/object.test.ts +185 -0
- package/dist/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/dist/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/dist/zod/src/v4/mini/tests/string.test.ts +299 -0
- package/dist/zod/src/v4-mini/index.ts +1 -0
- package/dist/zod/v3/ZodError.cjs +138 -0
- package/dist/zod/v3/ZodError.d.cts +164 -0
- package/dist/zod/v3/ZodError.d.ts +164 -0
- package/dist/zod/v3/ZodError.js +133 -0
- package/dist/zod/v3/errors.cjs +17 -0
- package/dist/zod/v3/errors.d.cts +5 -0
- package/dist/zod/v3/errors.d.ts +5 -0
- package/dist/zod/v3/errors.js +9 -0
- package/dist/zod/v3/external.cjs +22 -0
- package/dist/zod/v3/external.d.cts +6 -0
- package/dist/zod/v3/external.d.ts +6 -0
- package/dist/zod/v3/external.js +6 -0
- package/dist/zod/v3/helpers/enumUtil.cjs +2 -0
- package/dist/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/dist/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/dist/zod/v3/helpers/enumUtil.js +1 -0
- package/dist/zod/v3/helpers/errorUtil.cjs +9 -0
- package/dist/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/dist/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/dist/zod/v3/helpers/errorUtil.js +6 -0
- package/dist/zod/v3/helpers/parseUtil.cjs +124 -0
- package/dist/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/dist/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/dist/zod/v3/helpers/parseUtil.js +109 -0
- package/dist/zod/v3/helpers/partialUtil.cjs +2 -0
- package/dist/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/dist/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/dist/zod/v3/helpers/partialUtil.js +1 -0
- package/dist/zod/v3/helpers/typeAliases.cjs +2 -0
- package/dist/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/dist/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/dist/zod/v3/helpers/typeAliases.js +1 -0
- package/dist/zod/v3/helpers/util.cjs +137 -0
- package/dist/zod/v3/helpers/util.d.cts +85 -0
- package/dist/zod/v3/helpers/util.d.ts +85 -0
- package/dist/zod/v3/helpers/util.js +133 -0
- package/dist/zod/v3/index.cjs +33 -0
- package/dist/zod/v3/index.d.cts +4 -0
- package/dist/zod/v3/index.d.ts +4 -0
- package/dist/zod/v3/index.js +4 -0
- package/dist/zod/v3/locales/en.cjs +111 -0
- package/dist/zod/v3/locales/en.d.cts +3 -0
- package/dist/zod/v3/locales/en.d.ts +3 -0
- package/dist/zod/v3/locales/en.js +109 -0
- package/dist/zod/v3/standard-schema.cjs +2 -0
- package/dist/zod/v3/standard-schema.d.cts +102 -0
- package/dist/zod/v3/standard-schema.d.ts +102 -0
- package/dist/zod/v3/standard-schema.js +1 -0
- package/dist/zod/v3/types.cjs +3775 -0
- package/dist/zod/v3/types.d.cts +1031 -0
- package/dist/zod/v3/types.d.ts +1031 -0
- package/dist/zod/v3/types.js +3693 -0
- package/dist/zod/v4/classic/checks.cjs +32 -0
- package/dist/zod/v4/classic/checks.d.cts +1 -0
- package/dist/zod/v4/classic/checks.d.ts +1 -0
- package/dist/zod/v4/classic/checks.js +1 -0
- package/dist/zod/v4/classic/coerce.cjs +47 -0
- package/dist/zod/v4/classic/coerce.d.cts +17 -0
- package/dist/zod/v4/classic/coerce.d.ts +17 -0
- package/dist/zod/v4/classic/coerce.js +17 -0
- package/dist/zod/v4/classic/compat.cjs +57 -0
- package/dist/zod/v4/classic/compat.d.cts +46 -0
- package/dist/zod/v4/classic/compat.d.ts +46 -0
- package/dist/zod/v4/classic/compat.js +27 -0
- package/dist/zod/v4/classic/errors.cjs +67 -0
- package/dist/zod/v4/classic/errors.d.cts +30 -0
- package/dist/zod/v4/classic/errors.d.ts +30 -0
- package/dist/zod/v4/classic/errors.js +41 -0
- package/dist/zod/v4/classic/external.cjs +70 -0
- package/dist/zod/v4/classic/external.d.cts +13 -0
- package/dist/zod/v4/classic/external.d.ts +13 -0
- package/dist/zod/v4/classic/external.js +18 -0
- package/dist/zod/v4/classic/index.cjs +33 -0
- package/dist/zod/v4/classic/index.d.cts +4 -0
- package/dist/zod/v4/classic/index.d.ts +4 -0
- package/dist/zod/v4/classic/index.js +4 -0
- package/dist/zod/v4/classic/iso.cjs +60 -0
- package/dist/zod/v4/classic/iso.d.cts +22 -0
- package/dist/zod/v4/classic/iso.d.ts +22 -0
- package/dist/zod/v4/classic/iso.js +30 -0
- package/dist/zod/v4/classic/parse.cjs +32 -0
- package/dist/zod/v4/classic/parse.d.cts +23 -0
- package/dist/zod/v4/classic/parse.d.ts +23 -0
- package/dist/zod/v4/classic/parse.js +6 -0
- package/dist/zod/v4/classic/schemas.cjs +1109 -0
- package/dist/zod/v4/classic/schemas.d.cts +630 -0
- package/dist/zod/v4/classic/schemas.d.ts +630 -0
- package/dist/zod/v4/classic/schemas.js +1006 -0
- package/dist/zod/v4/core/api.cjs +1039 -0
- package/dist/zod/v4/core/api.d.cts +284 -0
- package/dist/zod/v4/core/api.d.ts +284 -0
- package/dist/zod/v4/core/api.js +906 -0
- package/dist/zod/v4/core/checks.cjs +591 -0
- package/dist/zod/v4/core/checks.d.cts +278 -0
- package/dist/zod/v4/core/checks.d.ts +278 -0
- package/dist/zod/v4/core/checks.js +565 -0
- package/dist/zod/v4/core/core.cjs +67 -0
- package/dist/zod/v4/core/core.d.cts +49 -0
- package/dist/zod/v4/core/core.d.ts +49 -0
- package/dist/zod/v4/core/core.js +61 -0
- package/dist/zod/v4/core/doc.cjs +39 -0
- package/dist/zod/v4/core/doc.d.cts +14 -0
- package/dist/zod/v4/core/doc.d.ts +14 -0
- package/dist/zod/v4/core/doc.js +35 -0
- package/dist/zod/v4/core/errors.cjs +226 -0
- package/dist/zod/v4/core/errors.d.cts +208 -0
- package/dist/zod/v4/core/errors.d.ts +208 -0
- package/dist/zod/v4/core/errors.js +195 -0
- package/dist/zod/v4/core/function.cjs +102 -0
- package/dist/zod/v4/core/function.d.cts +52 -0
- package/dist/zod/v4/core/function.d.ts +52 -0
- package/dist/zod/v4/core/function.js +75 -0
- package/dist/zod/v4/core/index.cjs +44 -0
- package/dist/zod/v4/core/index.d.cts +15 -0
- package/dist/zod/v4/core/index.d.ts +15 -0
- package/dist/zod/v4/core/index.js +15 -0
- package/dist/zod/v4/core/json-schema.cjs +2 -0
- package/dist/zod/v4/core/json-schema.d.cts +87 -0
- package/dist/zod/v4/core/json-schema.d.ts +87 -0
- package/dist/zod/v4/core/json-schema.js +1 -0
- package/dist/zod/v4/core/parse.cjs +87 -0
- package/dist/zod/v4/core/parse.d.cts +25 -0
- package/dist/zod/v4/core/parse.d.ts +25 -0
- package/dist/zod/v4/core/parse.js +57 -0
- package/dist/zod/v4/core/regexes.cjs +103 -0
- package/dist/zod/v4/core/regexes.d.cts +62 -0
- package/dist/zod/v4/core/regexes.d.ts +62 -0
- package/dist/zod/v4/core/regexes.js +95 -0
- package/dist/zod/v4/core/registries.cjs +56 -0
- package/dist/zod/v4/core/registries.d.cts +35 -0
- package/dist/zod/v4/core/registries.d.ts +35 -0
- package/dist/zod/v4/core/registries.js +51 -0
- package/dist/zod/v4/core/schemas.cjs +1748 -0
- package/dist/zod/v4/core/schemas.d.cts +1041 -0
- package/dist/zod/v4/core/schemas.d.ts +1041 -0
- package/dist/zod/v4/core/schemas.js +1717 -0
- package/dist/zod/v4/core/standard-schema.cjs +2 -0
- package/dist/zod/v4/core/standard-schema.d.cts +55 -0
- package/dist/zod/v4/core/standard-schema.d.ts +55 -0
- package/dist/zod/v4/core/standard-schema.js +1 -0
- package/dist/zod/v4/core/to-json-schema.cjs +854 -0
- package/dist/zod/v4/core/to-json-schema.d.cts +88 -0
- package/dist/zod/v4/core/to-json-schema.d.ts +88 -0
- package/dist/zod/v4/core/to-json-schema.js +849 -0
- package/dist/zod/v4/core/util.cjs +539 -0
- package/dist/zod/v4/core/util.d.cts +183 -0
- package/dist/zod/v4/core/util.d.ts +183 -0
- package/dist/zod/v4/core/util.js +493 -0
- package/dist/zod/v4/core/versions.cjs +8 -0
- package/dist/zod/v4/core/versions.d.cts +5 -0
- package/dist/zod/v4/core/versions.d.ts +5 -0
- package/dist/zod/v4/core/versions.js +5 -0
- package/dist/zod/v4/index.cjs +22 -0
- package/dist/zod/v4/index.d.cts +3 -0
- package/dist/zod/v4/index.d.ts +3 -0
- package/dist/zod/v4/index.js +3 -0
- package/dist/zod/v4/locales/ar.cjs +142 -0
- package/dist/zod/v4/locales/ar.d.cts +4 -0
- package/dist/zod/v4/locales/ar.d.ts +4 -0
- package/dist/zod/v4/locales/ar.js +116 -0
- package/dist/zod/v4/locales/az.cjs +141 -0
- package/dist/zod/v4/locales/az.d.cts +4 -0
- package/dist/zod/v4/locales/az.d.ts +4 -0
- package/dist/zod/v4/locales/az.js +115 -0
- package/dist/zod/v4/locales/be.cjs +190 -0
- package/dist/zod/v4/locales/be.d.cts +4 -0
- package/dist/zod/v4/locales/be.d.ts +4 -0
- package/dist/zod/v4/locales/be.js +164 -0
- package/dist/zod/v4/locales/ca.cjs +144 -0
- package/dist/zod/v4/locales/ca.d.cts +4 -0
- package/dist/zod/v4/locales/ca.d.ts +4 -0
- package/dist/zod/v4/locales/ca.js +118 -0
- package/dist/zod/v4/locales/cs.cjs +161 -0
- package/dist/zod/v4/locales/cs.d.cts +4 -0
- package/dist/zod/v4/locales/cs.d.ts +4 -0
- package/dist/zod/v4/locales/cs.js +135 -0
- package/dist/zod/v4/locales/de.cjs +142 -0
- package/dist/zod/v4/locales/de.d.cts +4 -0
- package/dist/zod/v4/locales/de.d.ts +4 -0
- package/dist/zod/v4/locales/de.js +116 -0
- package/dist/zod/v4/locales/en.cjs +145 -0
- package/dist/zod/v4/locales/en.d.cts +5 -0
- package/dist/zod/v4/locales/en.d.ts +5 -0
- package/dist/zod/v4/locales/en.js +117 -0
- package/dist/zod/v4/locales/eo.cjs +144 -0
- package/dist/zod/v4/locales/eo.d.cts +5 -0
- package/dist/zod/v4/locales/eo.d.ts +5 -0
- package/dist/zod/v4/locales/eo.js +116 -0
- package/dist/zod/v4/locales/es.cjs +143 -0
- package/dist/zod/v4/locales/es.d.cts +4 -0
- package/dist/zod/v4/locales/es.d.ts +4 -0
- package/dist/zod/v4/locales/es.js +117 -0
- package/dist/zod/v4/locales/fa.cjs +148 -0
- package/dist/zod/v4/locales/fa.d.cts +4 -0
- package/dist/zod/v4/locales/fa.d.ts +4 -0
- package/dist/zod/v4/locales/fa.js +122 -0
- package/dist/zod/v4/locales/fi.cjs +148 -0
- package/dist/zod/v4/locales/fi.d.cts +4 -0
- package/dist/zod/v4/locales/fi.d.ts +4 -0
- package/dist/zod/v4/locales/fi.js +122 -0
- package/dist/zod/v4/locales/fr-CA.cjs +143 -0
- package/dist/zod/v4/locales/fr-CA.d.cts +4 -0
- package/dist/zod/v4/locales/fr-CA.d.ts +4 -0
- package/dist/zod/v4/locales/fr-CA.js +117 -0
- package/dist/zod/v4/locales/fr.cjs +142 -0
- package/dist/zod/v4/locales/fr.d.cts +4 -0
- package/dist/zod/v4/locales/fr.d.ts +4 -0
- package/dist/zod/v4/locales/fr.js +116 -0
- package/dist/zod/v4/locales/he.cjs +143 -0
- package/dist/zod/v4/locales/he.d.cts +4 -0
- package/dist/zod/v4/locales/he.d.ts +4 -0
- package/dist/zod/v4/locales/he.js +117 -0
- package/dist/zod/v4/locales/hu.cjs +143 -0
- package/dist/zod/v4/locales/hu.d.cts +4 -0
- package/dist/zod/v4/locales/hu.d.ts +4 -0
- package/dist/zod/v4/locales/hu.js +117 -0
- package/dist/zod/v4/locales/id.cjs +142 -0
- package/dist/zod/v4/locales/id.d.cts +4 -0
- package/dist/zod/v4/locales/id.d.ts +4 -0
- package/dist/zod/v4/locales/id.js +116 -0
- package/dist/zod/v4/locales/index.cjs +84 -0
- package/dist/zod/v4/locales/index.d.cts +39 -0
- package/dist/zod/v4/locales/index.d.ts +39 -0
- package/dist/zod/v4/locales/index.js +39 -0
- package/dist/zod/v4/locales/it.cjs +143 -0
- package/dist/zod/v4/locales/it.d.cts +4 -0
- package/dist/zod/v4/locales/it.d.ts +4 -0
- package/dist/zod/v4/locales/it.js +117 -0
- package/dist/zod/v4/locales/ja.cjs +141 -0
- package/dist/zod/v4/locales/ja.d.cts +4 -0
- package/dist/zod/v4/locales/ja.d.ts +4 -0
- package/dist/zod/v4/locales/ja.js +115 -0
- package/dist/zod/v4/locales/kh.cjs +143 -0
- package/dist/zod/v4/locales/kh.d.cts +4 -0
- package/dist/zod/v4/locales/kh.d.ts +4 -0
- package/dist/zod/v4/locales/kh.js +117 -0
- package/dist/zod/v4/locales/ko.cjs +147 -0
- package/dist/zod/v4/locales/ko.d.cts +4 -0
- package/dist/zod/v4/locales/ko.d.ts +4 -0
- package/dist/zod/v4/locales/ko.js +121 -0
- package/dist/zod/v4/locales/mk.cjs +144 -0
- package/dist/zod/v4/locales/mk.d.cts +4 -0
- package/dist/zod/v4/locales/mk.d.ts +4 -0
- package/dist/zod/v4/locales/mk.js +118 -0
- package/dist/zod/v4/locales/ms.cjs +142 -0
- package/dist/zod/v4/locales/ms.d.cts +4 -0
- package/dist/zod/v4/locales/ms.d.ts +4 -0
- package/dist/zod/v4/locales/ms.js +116 -0
- package/dist/zod/v4/locales/nl.cjs +143 -0
- package/dist/zod/v4/locales/nl.d.cts +4 -0
- package/dist/zod/v4/locales/nl.d.ts +4 -0
- package/dist/zod/v4/locales/nl.js +117 -0
- package/dist/zod/v4/locales/no.cjs +142 -0
- package/dist/zod/v4/locales/no.d.cts +4 -0
- package/dist/zod/v4/locales/no.d.ts +4 -0
- package/dist/zod/v4/locales/no.js +116 -0
- package/dist/zod/v4/locales/ota.cjs +143 -0
- package/dist/zod/v4/locales/ota.d.cts +4 -0
- package/dist/zod/v4/locales/ota.d.ts +4 -0
- package/dist/zod/v4/locales/ota.js +117 -0
- package/dist/zod/v4/locales/pl.cjs +143 -0
- package/dist/zod/v4/locales/pl.d.cts +4 -0
- package/dist/zod/v4/locales/pl.d.ts +4 -0
- package/dist/zod/v4/locales/pl.js +117 -0
- package/dist/zod/v4/locales/ps.cjs +148 -0
- package/dist/zod/v4/locales/ps.d.cts +4 -0
- package/dist/zod/v4/locales/ps.d.ts +4 -0
- package/dist/zod/v4/locales/ps.js +122 -0
- package/dist/zod/v4/locales/pt.cjs +142 -0
- package/dist/zod/v4/locales/pt.d.cts +4 -0
- package/dist/zod/v4/locales/pt.d.ts +4 -0
- package/dist/zod/v4/locales/pt.js +116 -0
- package/dist/zod/v4/locales/ru.cjs +190 -0
- package/dist/zod/v4/locales/ru.d.cts +4 -0
- package/dist/zod/v4/locales/ru.d.ts +4 -0
- package/dist/zod/v4/locales/ru.js +164 -0
- package/dist/zod/v4/locales/sl.cjs +143 -0
- package/dist/zod/v4/locales/sl.d.cts +4 -0
- package/dist/zod/v4/locales/sl.d.ts +4 -0
- package/dist/zod/v4/locales/sl.js +117 -0
- package/dist/zod/v4/locales/sv.cjs +144 -0
- package/dist/zod/v4/locales/sv.d.cts +4 -0
- package/dist/zod/v4/locales/sv.d.ts +4 -0
- package/dist/zod/v4/locales/sv.js +118 -0
- package/dist/zod/v4/locales/ta.cjs +143 -0
- package/dist/zod/v4/locales/ta.d.cts +4 -0
- package/dist/zod/v4/locales/ta.d.ts +4 -0
- package/dist/zod/v4/locales/ta.js +117 -0
- package/dist/zod/v4/locales/th.cjs +143 -0
- package/dist/zod/v4/locales/th.d.cts +4 -0
- package/dist/zod/v4/locales/th.d.ts +4 -0
- package/dist/zod/v4/locales/th.js +117 -0
- package/dist/zod/v4/locales/tr.cjs +143 -0
- package/dist/zod/v4/locales/tr.d.cts +5 -0
- package/dist/zod/v4/locales/tr.d.ts +5 -0
- package/dist/zod/v4/locales/tr.js +115 -0
- package/dist/zod/v4/locales/ua.cjs +143 -0
- package/dist/zod/v4/locales/ua.d.cts +4 -0
- package/dist/zod/v4/locales/ua.d.ts +4 -0
- package/dist/zod/v4/locales/ua.js +117 -0
- package/dist/zod/v4/locales/ur.cjs +143 -0
- package/dist/zod/v4/locales/ur.d.cts +4 -0
- package/dist/zod/v4/locales/ur.d.ts +4 -0
- package/dist/zod/v4/locales/ur.js +117 -0
- package/dist/zod/v4/locales/vi.cjs +142 -0
- package/dist/zod/v4/locales/vi.d.cts +4 -0
- package/dist/zod/v4/locales/vi.d.ts +4 -0
- package/dist/zod/v4/locales/vi.js +116 -0
- package/dist/zod/v4/locales/zh-CN.cjs +142 -0
- package/dist/zod/v4/locales/zh-CN.d.cts +4 -0
- package/dist/zod/v4/locales/zh-CN.d.ts +4 -0
- package/dist/zod/v4/locales/zh-CN.js +116 -0
- package/dist/zod/v4/locales/zh-TW.cjs +143 -0
- package/dist/zod/v4/locales/zh-TW.d.cts +4 -0
- package/dist/zod/v4/locales/zh-TW.d.ts +4 -0
- package/dist/zod/v4/locales/zh-TW.js +117 -0
- package/dist/zod/v4/mini/checks.cjs +34 -0
- package/dist/zod/v4/mini/checks.d.cts +1 -0
- package/dist/zod/v4/mini/checks.d.ts +1 -0
- package/dist/zod/v4/mini/checks.js +1 -0
- package/dist/zod/v4/mini/coerce.cjs +47 -0
- package/dist/zod/v4/mini/coerce.d.cts +7 -0
- package/dist/zod/v4/mini/coerce.d.ts +7 -0
- package/dist/zod/v4/mini/coerce.js +17 -0
- package/dist/zod/v4/mini/external.cjs +62 -0
- package/dist/zod/v4/mini/external.d.cts +11 -0
- package/dist/zod/v4/mini/external.d.ts +11 -0
- package/dist/zod/v4/mini/external.js +13 -0
- package/dist/zod/v4/mini/index.cjs +32 -0
- package/dist/zod/v4/mini/index.d.cts +3 -0
- package/dist/zod/v4/mini/index.d.ts +3 -0
- package/dist/zod/v4/mini/index.js +3 -0
- package/dist/zod/v4/mini/iso.cjs +60 -0
- package/dist/zod/v4/mini/iso.d.cts +22 -0
- package/dist/zod/v4/mini/iso.d.ts +22 -0
- package/dist/zod/v4/mini/iso.js +30 -0
- package/dist/zod/v4/mini/parse.cjs +8 -0
- package/dist/zod/v4/mini/parse.d.cts +1 -0
- package/dist/zod/v4/mini/parse.d.ts +1 -0
- package/dist/zod/v4/mini/parse.js +1 -0
- package/dist/zod/v4/mini/schemas.cjs +839 -0
- package/dist/zod/v4/mini/schemas.d.cts +356 -0
- package/dist/zod/v4/mini/schemas.d.ts +356 -0
- package/dist/zod/v4/mini/schemas.js +732 -0
- package/dist/zod/v4-mini/index.cjs +17 -0
- package/dist/zod/v4-mini/index.d.cts +1 -0
- package/dist/zod/v4-mini/index.d.ts +1 -0
- package/dist/zod/v4-mini/index.js +1 -0
- package/package.json +42 -0
- package/scripts/postinstall.js +75 -0
|
@@ -0,0 +1,775 @@
|
|
|
1
|
+
import type * as checks from "./checks.js";
|
|
2
|
+
import type { $ZodConfig } from "./core.js";
|
|
3
|
+
import type * as errors from "./errors.js";
|
|
4
|
+
import type * as schemas from "./schemas.js";
|
|
5
|
+
|
|
6
|
+
// json
|
|
7
|
+
export type JSONType = string | number | boolean | null | JSONType[] | { [key: string]: JSONType };
|
|
8
|
+
export type JWTAlgorithm =
|
|
9
|
+
| "HS256"
|
|
10
|
+
| "HS384"
|
|
11
|
+
| "HS512"
|
|
12
|
+
| "RS256"
|
|
13
|
+
| "RS384"
|
|
14
|
+
| "RS512"
|
|
15
|
+
| "ES256"
|
|
16
|
+
| "ES384"
|
|
17
|
+
| "ES512"
|
|
18
|
+
| "PS256"
|
|
19
|
+
| "PS384"
|
|
20
|
+
| "PS512"
|
|
21
|
+
| "EdDSA"
|
|
22
|
+
| (string & {});
|
|
23
|
+
export type IPVersion = "v4" | "v6";
|
|
24
|
+
export type MimeTypes =
|
|
25
|
+
| "application/json"
|
|
26
|
+
| "application/xml"
|
|
27
|
+
| "application/x-www-form-urlencoded"
|
|
28
|
+
| "application/javascript"
|
|
29
|
+
| "application/pdf"
|
|
30
|
+
| "application/zip"
|
|
31
|
+
| "application/vnd.ms-excel"
|
|
32
|
+
| "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
33
|
+
| "application/msword"
|
|
34
|
+
| "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
35
|
+
| "application/vnd.ms-powerpoint"
|
|
36
|
+
| "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
|
37
|
+
| "application/octet-stream"
|
|
38
|
+
| "application/graphql"
|
|
39
|
+
| "text/html"
|
|
40
|
+
| "text/plain"
|
|
41
|
+
| "text/css"
|
|
42
|
+
| "text/javascript"
|
|
43
|
+
| "text/csv"
|
|
44
|
+
| "image/png"
|
|
45
|
+
| "image/jpeg"
|
|
46
|
+
| "image/gif"
|
|
47
|
+
| "image/svg+xml"
|
|
48
|
+
| "image/webp"
|
|
49
|
+
| "audio/mpeg"
|
|
50
|
+
| "audio/ogg"
|
|
51
|
+
| "audio/wav"
|
|
52
|
+
| "audio/webm"
|
|
53
|
+
| "video/mp4"
|
|
54
|
+
| "video/webm"
|
|
55
|
+
| "video/ogg"
|
|
56
|
+
| "font/woff"
|
|
57
|
+
| "font/woff2"
|
|
58
|
+
| "font/ttf"
|
|
59
|
+
| "font/otf"
|
|
60
|
+
| "multipart/form-data"
|
|
61
|
+
| (string & {});
|
|
62
|
+
export type ParsedTypes =
|
|
63
|
+
| "string"
|
|
64
|
+
| "number"
|
|
65
|
+
| "bigint"
|
|
66
|
+
| "boolean"
|
|
67
|
+
| "symbol"
|
|
68
|
+
| "undefined"
|
|
69
|
+
| "object"
|
|
70
|
+
| "function"
|
|
71
|
+
| "file"
|
|
72
|
+
| "date"
|
|
73
|
+
| "array"
|
|
74
|
+
| "map"
|
|
75
|
+
| "set"
|
|
76
|
+
| "nan"
|
|
77
|
+
| "null"
|
|
78
|
+
| "promise";
|
|
79
|
+
|
|
80
|
+
// utils
|
|
81
|
+
export type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
|
|
82
|
+
export type AssertNotEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? false : true;
|
|
83
|
+
export type AssertExtends<T, U> = T extends U ? T : never;
|
|
84
|
+
export type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
85
|
+
export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
86
|
+
export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
|
|
87
|
+
export type MakePartial<T, K extends keyof T> = Omit<T, K> & InexactPartial<Pick<T, K>>;
|
|
88
|
+
export type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
89
|
+
|
|
90
|
+
export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>;
|
|
91
|
+
export type NoUndefined<T> = T extends undefined ? never : T;
|
|
92
|
+
export type Whatever = {} | undefined | null;
|
|
93
|
+
export type LoosePartial<T extends object> = InexactPartial<T> & {
|
|
94
|
+
[k: string]: unknown;
|
|
95
|
+
};
|
|
96
|
+
export type Mask<Keys extends PropertyKey> = { [K in Keys]?: true };
|
|
97
|
+
export type Writeable<T> = { -readonly [P in keyof T]: T[P] } & {};
|
|
98
|
+
export type InexactPartial<T> = {
|
|
99
|
+
[P in keyof T]?: T[P] | undefined;
|
|
100
|
+
};
|
|
101
|
+
export type EmptyObject = Record<string, never>;
|
|
102
|
+
export type BuiltIn =
|
|
103
|
+
| (((...args: any[]) => any) | (new (...args: any[]) => any))
|
|
104
|
+
| { readonly [Symbol.toStringTag]: string }
|
|
105
|
+
| Date
|
|
106
|
+
| Error
|
|
107
|
+
| Generator
|
|
108
|
+
| Promise<unknown>
|
|
109
|
+
| RegExp;
|
|
110
|
+
export type MakeReadonly<T> = T extends Map<infer K, infer V>
|
|
111
|
+
? ReadonlyMap<K, V>
|
|
112
|
+
: T extends Set<infer V>
|
|
113
|
+
? ReadonlySet<V>
|
|
114
|
+
: T extends [infer Head, ...infer Tail]
|
|
115
|
+
? readonly [Head, ...Tail]
|
|
116
|
+
: T extends Array<infer V>
|
|
117
|
+
? ReadonlyArray<V>
|
|
118
|
+
: T extends BuiltIn
|
|
119
|
+
? T
|
|
120
|
+
: Readonly<T>;
|
|
121
|
+
export type SomeObject = Record<PropertyKey, any>;
|
|
122
|
+
export type Identity<T> = T;
|
|
123
|
+
export type Flatten<T> = Identity<{ [k in keyof T]: T[k] }>;
|
|
124
|
+
export type Mapped<T> = { [k in keyof T]: T[k] };
|
|
125
|
+
export type Prettify<T> = {
|
|
126
|
+
[K in keyof T]: T[K];
|
|
127
|
+
} & {};
|
|
128
|
+
|
|
129
|
+
export type NoNeverKeys<T> = {
|
|
130
|
+
[k in keyof T]: [T[k]] extends [never] ? never : k;
|
|
131
|
+
}[keyof T];
|
|
132
|
+
export type NoNever<T> = Identity<{
|
|
133
|
+
[k in NoNeverKeys<T>]: k extends keyof T ? T[k] : never;
|
|
134
|
+
}>;
|
|
135
|
+
export type Extend<A extends SomeObject, B extends SomeObject> = Flatten<
|
|
136
|
+
// fast path when there is no keys overlap
|
|
137
|
+
keyof A & keyof B extends never
|
|
138
|
+
? A & B
|
|
139
|
+
: {
|
|
140
|
+
[K in keyof A as K extends keyof B ? never : K]: A[K];
|
|
141
|
+
} & {
|
|
142
|
+
[K in keyof B]: B[K];
|
|
143
|
+
}
|
|
144
|
+
>;
|
|
145
|
+
|
|
146
|
+
export type TupleItems = ReadonlyArray<schemas.SomeType>;
|
|
147
|
+
export type AnyFunc = (...args: any[]) => any;
|
|
148
|
+
export type IsProp<T, K extends keyof T> = T[K] extends AnyFunc ? never : K;
|
|
149
|
+
export type MaybeAsync<T> = T | Promise<T>;
|
|
150
|
+
export type KeyOf<T> = keyof OmitIndexSignature<T>;
|
|
151
|
+
export type OmitIndexSignature<T> = {
|
|
152
|
+
[K in keyof T as string extends K ? never : K extends string ? K : never]: T[K];
|
|
153
|
+
};
|
|
154
|
+
export type ExtractIndexSignature<T> = {
|
|
155
|
+
[K in keyof T as string extends K ? K : K extends string ? never : K]: T[K];
|
|
156
|
+
};
|
|
157
|
+
export type Keys<T extends object> = keyof OmitIndexSignature<T>;
|
|
158
|
+
|
|
159
|
+
export type SchemaClass<T extends schemas.SomeType> = {
|
|
160
|
+
new (def: T["_zod"]["def"]): T;
|
|
161
|
+
};
|
|
162
|
+
export type EnumValue = string | number; // | bigint | boolean | symbol;
|
|
163
|
+
export type EnumLike = Readonly<Record<string, EnumValue>>;
|
|
164
|
+
export type ToEnum<T extends EnumValue> = Flatten<{ [k in T]: k }>;
|
|
165
|
+
export type KeysEnum<T extends object> = ToEnum<Exclude<keyof T, symbol>>;
|
|
166
|
+
export type KeysArray<T extends object> = Flatten<(keyof T & string)[]>;
|
|
167
|
+
export type Literal = string | number | bigint | boolean | null | undefined;
|
|
168
|
+
export type LiteralArray = Array<Literal>;
|
|
169
|
+
export type Primitive = string | number | symbol | bigint | boolean | null | undefined;
|
|
170
|
+
export type PrimitiveArray = Array<Primitive>;
|
|
171
|
+
export type HasSize = { size: number };
|
|
172
|
+
export type HasLength = { length: number }; // string | Array<unknown> | Set<unknown> | File;
|
|
173
|
+
export type Numeric = number | bigint | Date;
|
|
174
|
+
export type SafeParseResult<T> = SafeParseSuccess<T> | SafeParseError<T>;
|
|
175
|
+
export type SafeParseSuccess<T> = { success: true; data: T; error?: never };
|
|
176
|
+
export type SafeParseError<T> = {
|
|
177
|
+
success: false;
|
|
178
|
+
data?: never;
|
|
179
|
+
error: errors.$ZodError<T>;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export type PropValues = Record<string, Set<Primitive>>;
|
|
183
|
+
export type PrimitiveSet = Set<Primitive>;
|
|
184
|
+
|
|
185
|
+
// functions
|
|
186
|
+
export function assertEqual<A, B>(val: AssertEqual<A, B>): AssertEqual<A, B> {
|
|
187
|
+
return val;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export function assertNotEqual<A, B>(val: AssertNotEqual<A, B>): AssertNotEqual<A, B> {
|
|
191
|
+
return val;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function assertIs<T>(_arg: T): void {}
|
|
195
|
+
|
|
196
|
+
export function assertNever(_x: never): never {
|
|
197
|
+
throw new Error();
|
|
198
|
+
}
|
|
199
|
+
export function assert<T>(_: any): asserts _ is T {}
|
|
200
|
+
|
|
201
|
+
export function getEnumValues(entries: EnumLike): EnumValue[] {
|
|
202
|
+
const numericValues = Object.values(entries).filter((v) => typeof v === "number");
|
|
203
|
+
const values = Object.entries(entries)
|
|
204
|
+
.filter(([k, _]) => numericValues.indexOf(+k) === -1)
|
|
205
|
+
.map(([_, v]) => v);
|
|
206
|
+
return values;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export function joinValues<T extends Primitive[]>(array: T, separator = "|"): string {
|
|
210
|
+
return array.map((val) => stringifyPrimitive(val)).join(separator);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export function jsonStringifyReplacer(_: string, value: any): any {
|
|
214
|
+
if (typeof value === "bigint") return value.toString();
|
|
215
|
+
return value;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export function cached<T>(getter: () => T): { value: T } {
|
|
219
|
+
const set = false;
|
|
220
|
+
return {
|
|
221
|
+
get value() {
|
|
222
|
+
if (!set) {
|
|
223
|
+
const value = getter();
|
|
224
|
+
Object.defineProperty(this, "value", { value });
|
|
225
|
+
return value;
|
|
226
|
+
}
|
|
227
|
+
throw new Error("cached value already set");
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export function nullish(input: any): boolean {
|
|
233
|
+
return input === null || input === undefined;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function cleanRegex(source: string): string {
|
|
237
|
+
const start = source.startsWith("^") ? 1 : 0;
|
|
238
|
+
const end = source.endsWith("$") ? source.length - 1 : source.length;
|
|
239
|
+
return source.slice(start, end);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export function floatSafeRemainder(val: number, step: number): number {
|
|
243
|
+
const valDecCount = (val.toString().split(".")[1] || "").length;
|
|
244
|
+
const stepDecCount = (step.toString().split(".")[1] || "").length;
|
|
245
|
+
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
|
|
246
|
+
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
|
|
247
|
+
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
|
|
248
|
+
return (valInt % stepInt) / 10 ** decCount;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export function defineLazy<T, K extends keyof T>(object: T, key: K, getter: () => T[K]): void {
|
|
252
|
+
const set = false;
|
|
253
|
+
Object.defineProperty(object, key, {
|
|
254
|
+
get() {
|
|
255
|
+
if (!set) {
|
|
256
|
+
const value = getter();
|
|
257
|
+
object[key] = value;
|
|
258
|
+
return value;
|
|
259
|
+
}
|
|
260
|
+
throw new Error("cached value already set");
|
|
261
|
+
},
|
|
262
|
+
set(v) {
|
|
263
|
+
Object.defineProperty(object, key, {
|
|
264
|
+
value: v,
|
|
265
|
+
// configurable: true,
|
|
266
|
+
});
|
|
267
|
+
// object[key] = v;
|
|
268
|
+
},
|
|
269
|
+
configurable: true,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export function assignProp<T extends object, K extends PropertyKey>(
|
|
274
|
+
target: T,
|
|
275
|
+
prop: K,
|
|
276
|
+
value: K extends keyof T ? T[K] : any
|
|
277
|
+
): void {
|
|
278
|
+
Object.defineProperty(target, prop, {
|
|
279
|
+
value,
|
|
280
|
+
writable: true,
|
|
281
|
+
enumerable: true,
|
|
282
|
+
configurable: true,
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export function getElementAtPath(obj: any, path: (string | number)[] | null | undefined): any {
|
|
287
|
+
if (!path) return obj;
|
|
288
|
+
return path.reduce((acc, key) => acc?.[key], obj);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export function promiseAllObject<T extends object>(promisesObj: T): Promise<{ [k in keyof T]: Awaited<T[k]> }> {
|
|
292
|
+
const keys = Object.keys(promisesObj);
|
|
293
|
+
const promises = keys.map((key) => (promisesObj as any)[key]);
|
|
294
|
+
|
|
295
|
+
return Promise.all(promises).then((results) => {
|
|
296
|
+
const resolvedObj: any = {};
|
|
297
|
+
for (let i = 0; i < keys.length; i++) {
|
|
298
|
+
resolvedObj[keys[i]!] = results[i];
|
|
299
|
+
}
|
|
300
|
+
return resolvedObj;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export function randomString(length = 10): string {
|
|
305
|
+
const chars = "abcdefghijklmnopqrstuvwxyz";
|
|
306
|
+
let str = "";
|
|
307
|
+
for (let i = 0; i < length; i++) {
|
|
308
|
+
str += chars[Math.floor(Math.random() * chars.length)];
|
|
309
|
+
}
|
|
310
|
+
return str;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export function esc(str: string): string {
|
|
314
|
+
return JSON.stringify(str);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
export const captureStackTrace: (targetObject: object, constructorOpt?: Function) => void = Error.captureStackTrace
|
|
318
|
+
? Error.captureStackTrace
|
|
319
|
+
: (..._args) => {};
|
|
320
|
+
|
|
321
|
+
export function isObject(data: any): data is Record<PropertyKey, unknown> {
|
|
322
|
+
return typeof data === "object" && data !== null && !Array.isArray(data);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export const allowsEval: { value: boolean } = cached(() => {
|
|
326
|
+
if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
|
|
327
|
+
return false;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
try {
|
|
331
|
+
const F = Function;
|
|
332
|
+
new F("");
|
|
333
|
+
return true;
|
|
334
|
+
} catch (_) {
|
|
335
|
+
return false;
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
export function isPlainObject(o: any): o is Record<PropertyKey, unknown> {
|
|
340
|
+
if (isObject(o) === false) return false;
|
|
341
|
+
|
|
342
|
+
// modified constructor
|
|
343
|
+
const ctor = o.constructor;
|
|
344
|
+
if (ctor === undefined) return true;
|
|
345
|
+
|
|
346
|
+
// modified prototype
|
|
347
|
+
const prot = ctor.prototype;
|
|
348
|
+
if (isObject(prot) === false) return false;
|
|
349
|
+
|
|
350
|
+
// ctor doesn't have static `isPrototypeOf`
|
|
351
|
+
if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
|
|
352
|
+
return false;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
return true;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export function numKeys(data: any): number {
|
|
359
|
+
let keyCount = 0;
|
|
360
|
+
for (const key in data) {
|
|
361
|
+
if (Object.prototype.hasOwnProperty.call(data, key)) {
|
|
362
|
+
keyCount++;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return keyCount;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
export const getParsedType = (data: any): ParsedTypes => {
|
|
369
|
+
const t = typeof data;
|
|
370
|
+
|
|
371
|
+
switch (t) {
|
|
372
|
+
case "undefined":
|
|
373
|
+
return "undefined";
|
|
374
|
+
|
|
375
|
+
case "string":
|
|
376
|
+
return "string";
|
|
377
|
+
|
|
378
|
+
case "number":
|
|
379
|
+
return Number.isNaN(data) ? "nan" : "number";
|
|
380
|
+
|
|
381
|
+
case "boolean":
|
|
382
|
+
return "boolean";
|
|
383
|
+
|
|
384
|
+
case "function":
|
|
385
|
+
return "function";
|
|
386
|
+
|
|
387
|
+
case "bigint":
|
|
388
|
+
return "bigint";
|
|
389
|
+
|
|
390
|
+
case "symbol":
|
|
391
|
+
return "symbol";
|
|
392
|
+
|
|
393
|
+
case "object":
|
|
394
|
+
if (Array.isArray(data)) {
|
|
395
|
+
return "array";
|
|
396
|
+
}
|
|
397
|
+
if (data === null) {
|
|
398
|
+
return "null";
|
|
399
|
+
}
|
|
400
|
+
if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
|
|
401
|
+
return "promise";
|
|
402
|
+
}
|
|
403
|
+
if (typeof Map !== "undefined" && data instanceof Map) {
|
|
404
|
+
return "map";
|
|
405
|
+
}
|
|
406
|
+
if (typeof Set !== "undefined" && data instanceof Set) {
|
|
407
|
+
return "set";
|
|
408
|
+
}
|
|
409
|
+
if (typeof Date !== "undefined" && data instanceof Date) {
|
|
410
|
+
return "date";
|
|
411
|
+
}
|
|
412
|
+
if (typeof File !== "undefined" && data instanceof File) {
|
|
413
|
+
return "file";
|
|
414
|
+
}
|
|
415
|
+
return "object";
|
|
416
|
+
|
|
417
|
+
default:
|
|
418
|
+
throw new Error(`Unknown data type: ${t}`);
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
export const propertyKeyTypes: Set<string> = new Set(["string", "number", "symbol"]);
|
|
423
|
+
export const primitiveTypes: Set<string> = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
|
|
424
|
+
export function escapeRegex(str: string): string {
|
|
425
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// zod-specific utils
|
|
429
|
+
export function clone<T extends schemas.$ZodType>(inst: T, def?: T["_zod"]["def"], params?: { parent: boolean }): T {
|
|
430
|
+
const cl = new inst._zod.constr(def ?? inst._zod.def);
|
|
431
|
+
if (!def || params?.parent) cl._zod.parent = inst;
|
|
432
|
+
return cl as any;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
export type EmptyToNever<T> = keyof T extends never ? never : T;
|
|
436
|
+
|
|
437
|
+
export type Normalize<T> = T extends undefined
|
|
438
|
+
? never
|
|
439
|
+
: T extends Record<any, any>
|
|
440
|
+
? Flatten<
|
|
441
|
+
{
|
|
442
|
+
[k in keyof Omit<T, "error" | "message">]: T[k];
|
|
443
|
+
} & ("error" extends keyof T
|
|
444
|
+
? {
|
|
445
|
+
error?: Exclude<T["error"], string>;
|
|
446
|
+
// path?: PropertyKey[] | undefined;
|
|
447
|
+
// message?: string | undefined;
|
|
448
|
+
}
|
|
449
|
+
: unknown)
|
|
450
|
+
>
|
|
451
|
+
: never;
|
|
452
|
+
|
|
453
|
+
export function normalizeParams<T>(_params: T): Normalize<T> {
|
|
454
|
+
const params: any = _params;
|
|
455
|
+
|
|
456
|
+
if (!params) return {} as any;
|
|
457
|
+
if (typeof params === "string") return { error: () => params } as any;
|
|
458
|
+
if (params?.message !== undefined) {
|
|
459
|
+
if (params?.error !== undefined) throw new Error("Cannot specify both `message` and `error` params");
|
|
460
|
+
params.error = params.message;
|
|
461
|
+
}
|
|
462
|
+
delete params.message;
|
|
463
|
+
if (typeof params.error === "string") return { ...params, error: () => params.error } as any;
|
|
464
|
+
return params;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
export function createTransparentProxy<T extends object>(getter: () => T): T {
|
|
468
|
+
let target: T;
|
|
469
|
+
return new Proxy(
|
|
470
|
+
{},
|
|
471
|
+
{
|
|
472
|
+
get(_, prop, receiver) {
|
|
473
|
+
target ??= getter();
|
|
474
|
+
return Reflect.get(target, prop, receiver);
|
|
475
|
+
},
|
|
476
|
+
set(_, prop, value, receiver) {
|
|
477
|
+
target ??= getter();
|
|
478
|
+
return Reflect.set(target, prop, value, receiver);
|
|
479
|
+
},
|
|
480
|
+
has(_, prop) {
|
|
481
|
+
target ??= getter();
|
|
482
|
+
return Reflect.has(target, prop);
|
|
483
|
+
},
|
|
484
|
+
deleteProperty(_, prop) {
|
|
485
|
+
target ??= getter();
|
|
486
|
+
return Reflect.deleteProperty(target, prop);
|
|
487
|
+
},
|
|
488
|
+
ownKeys(_) {
|
|
489
|
+
target ??= getter();
|
|
490
|
+
return Reflect.ownKeys(target);
|
|
491
|
+
},
|
|
492
|
+
getOwnPropertyDescriptor(_, prop) {
|
|
493
|
+
target ??= getter();
|
|
494
|
+
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
495
|
+
},
|
|
496
|
+
defineProperty(_, prop, descriptor) {
|
|
497
|
+
target ??= getter();
|
|
498
|
+
return Reflect.defineProperty(target, prop, descriptor);
|
|
499
|
+
},
|
|
500
|
+
}
|
|
501
|
+
) as T;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
export function stringifyPrimitive(value: any): string {
|
|
505
|
+
if (typeof value === "bigint") return value.toString() + "n";
|
|
506
|
+
if (typeof value === "string") return `"${value}"`;
|
|
507
|
+
return `${value}`;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
export function optionalKeys(shape: schemas.$ZodShape): string[] {
|
|
511
|
+
return Object.keys(shape).filter((k) => {
|
|
512
|
+
return shape[k]!._zod.optin === "optional" && shape[k]!._zod.optout === "optional";
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export type CleanKey<T extends PropertyKey> = T extends `?${infer K}` ? K : T extends `${infer K}?` ? K : T;
|
|
517
|
+
export type ToCleanMap<T extends schemas.$ZodLooseShape> = {
|
|
518
|
+
[k in keyof T]: k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k;
|
|
519
|
+
};
|
|
520
|
+
export type FromCleanMap<T extends schemas.$ZodLooseShape> = {
|
|
521
|
+
[k in keyof T as k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k]: k;
|
|
522
|
+
};
|
|
523
|
+
|
|
524
|
+
export const NUMBER_FORMAT_RANGES: Record<checks.$ZodNumberFormats, [number, number]> = {
|
|
525
|
+
safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
|
|
526
|
+
int32: [-2147483648, 2147483647],
|
|
527
|
+
uint32: [0, 4294967295],
|
|
528
|
+
float32: [-3.4028234663852886e38, 3.4028234663852886e38],
|
|
529
|
+
float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
|
|
530
|
+
};
|
|
531
|
+
|
|
532
|
+
export const BIGINT_FORMAT_RANGES: Record<checks.$ZodBigIntFormats, [bigint, bigint]> = {
|
|
533
|
+
int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
|
|
534
|
+
uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")],
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
export function pick(schema: schemas.$ZodObject, mask: Record<string, unknown>): any {
|
|
538
|
+
const newShape: Writeable<schemas.$ZodShape> = {};
|
|
539
|
+
const currDef = schema._zod.def; //.shape;
|
|
540
|
+
|
|
541
|
+
for (const key in mask) {
|
|
542
|
+
if (!(key in currDef.shape)) {
|
|
543
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
544
|
+
}
|
|
545
|
+
if (!mask[key]) continue;
|
|
546
|
+
|
|
547
|
+
// pick key
|
|
548
|
+
newShape[key] = currDef.shape[key]!;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
return clone(schema, {
|
|
552
|
+
...schema._zod.def,
|
|
553
|
+
shape: newShape,
|
|
554
|
+
checks: [],
|
|
555
|
+
}) as any;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
export function omit(schema: schemas.$ZodObject, mask: object): any {
|
|
559
|
+
const newShape: Writeable<schemas.$ZodShape> = { ...schema._zod.def.shape };
|
|
560
|
+
const currDef = schema._zod.def; //.shape;
|
|
561
|
+
for (const key in mask) {
|
|
562
|
+
if (!(key in currDef.shape)) {
|
|
563
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
564
|
+
}
|
|
565
|
+
if (!(mask as any)[key]) continue;
|
|
566
|
+
|
|
567
|
+
delete newShape[key];
|
|
568
|
+
}
|
|
569
|
+
return clone(schema, {
|
|
570
|
+
...schema._zod.def,
|
|
571
|
+
shape: newShape,
|
|
572
|
+
checks: [],
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
export function extend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any {
|
|
577
|
+
if (!isPlainObject(shape)) {
|
|
578
|
+
throw new Error("Invalid input to extend: expected a plain object");
|
|
579
|
+
}
|
|
580
|
+
const def = {
|
|
581
|
+
...schema._zod.def,
|
|
582
|
+
get shape() {
|
|
583
|
+
const _shape = { ...schema._zod.def.shape, ...shape };
|
|
584
|
+
assignProp(this, "shape", _shape); // self-caching
|
|
585
|
+
return _shape;
|
|
586
|
+
},
|
|
587
|
+
checks: [], // delete existing checks
|
|
588
|
+
} as any;
|
|
589
|
+
return clone(schema, def) as any;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
export function merge(a: schemas.$ZodObject, b: schemas.$ZodObject): any {
|
|
593
|
+
return clone(a, {
|
|
594
|
+
...a._zod.def,
|
|
595
|
+
get shape() {
|
|
596
|
+
const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
|
|
597
|
+
assignProp(this, "shape", _shape); // self-caching
|
|
598
|
+
return _shape;
|
|
599
|
+
},
|
|
600
|
+
catchall: b._zod.def.catchall,
|
|
601
|
+
checks: [], // delete existing checks
|
|
602
|
+
}) as any;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
export function partial(
|
|
606
|
+
Class: SchemaClass<schemas.$ZodOptional> | null,
|
|
607
|
+
schema: schemas.$ZodObject,
|
|
608
|
+
mask: object | undefined
|
|
609
|
+
): any {
|
|
610
|
+
const oldShape = schema._zod.def.shape;
|
|
611
|
+
const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
|
|
612
|
+
|
|
613
|
+
if (mask) {
|
|
614
|
+
for (const key in mask) {
|
|
615
|
+
if (!(key in oldShape)) {
|
|
616
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
617
|
+
}
|
|
618
|
+
if (!(mask as any)[key]) continue;
|
|
619
|
+
// if (oldShape[key]!._zod.optin === "optional") continue;
|
|
620
|
+
shape[key] = Class
|
|
621
|
+
? new Class({
|
|
622
|
+
type: "optional",
|
|
623
|
+
innerType: oldShape[key]!,
|
|
624
|
+
})
|
|
625
|
+
: oldShape[key]!;
|
|
626
|
+
}
|
|
627
|
+
} else {
|
|
628
|
+
for (const key in oldShape) {
|
|
629
|
+
// if (oldShape[key]!._zod.optin === "optional") continue;
|
|
630
|
+
shape[key] = Class
|
|
631
|
+
? new Class({
|
|
632
|
+
type: "optional",
|
|
633
|
+
innerType: oldShape[key]!,
|
|
634
|
+
})
|
|
635
|
+
: oldShape[key]!;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
return clone(schema, {
|
|
640
|
+
...schema._zod.def,
|
|
641
|
+
shape,
|
|
642
|
+
checks: [],
|
|
643
|
+
}) as any;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
export function required(
|
|
647
|
+
Class: SchemaClass<schemas.$ZodNonOptional>,
|
|
648
|
+
schema: schemas.$ZodObject,
|
|
649
|
+
mask: object | undefined
|
|
650
|
+
): any {
|
|
651
|
+
const oldShape = schema._zod.def.shape;
|
|
652
|
+
const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
|
|
653
|
+
|
|
654
|
+
if (mask) {
|
|
655
|
+
for (const key in mask) {
|
|
656
|
+
if (!(key in shape)) {
|
|
657
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
658
|
+
}
|
|
659
|
+
if (!(mask as any)[key]) continue;
|
|
660
|
+
// overwrite with non-optional
|
|
661
|
+
shape[key] = new Class({
|
|
662
|
+
type: "nonoptional",
|
|
663
|
+
innerType: oldShape[key]!,
|
|
664
|
+
});
|
|
665
|
+
}
|
|
666
|
+
} else {
|
|
667
|
+
for (const key in oldShape) {
|
|
668
|
+
// overwrite with non-optional
|
|
669
|
+
shape[key] = new Class({
|
|
670
|
+
type: "nonoptional",
|
|
671
|
+
innerType: oldShape[key]!,
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
return clone(schema, {
|
|
677
|
+
...schema._zod.def,
|
|
678
|
+
shape,
|
|
679
|
+
// optional: [],
|
|
680
|
+
checks: [],
|
|
681
|
+
}) as any;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
export type Constructor<T, Def extends any[] = any[]> = new (...args: Def) => T;
|
|
685
|
+
|
|
686
|
+
export function aborted(x: schemas.ParsePayload, startIndex = 0): boolean {
|
|
687
|
+
for (let i = startIndex; i < x.issues.length; i++) {
|
|
688
|
+
if (x.issues[i]?.continue !== true) return true;
|
|
689
|
+
}
|
|
690
|
+
return false;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
export function prefixIssues(path: PropertyKey, issues: errors.$ZodRawIssue[]): errors.$ZodRawIssue[] {
|
|
694
|
+
return issues.map((iss) => {
|
|
695
|
+
(iss as any).path ??= [];
|
|
696
|
+
(iss as any).path.unshift(path);
|
|
697
|
+
return iss;
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
export function unwrapMessage(message: string | { message: string } | undefined | null): string | undefined {
|
|
702
|
+
return typeof message === "string" ? message : message?.message;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
export function finalizeIssue(
|
|
706
|
+
iss: errors.$ZodRawIssue,
|
|
707
|
+
ctx: schemas.ParseContextInternal | undefined,
|
|
708
|
+
config: $ZodConfig
|
|
709
|
+
): errors.$ZodIssue {
|
|
710
|
+
const full = { ...iss, path: iss.path ?? [] } as errors.$ZodIssue;
|
|
711
|
+
|
|
712
|
+
// for backwards compatibility
|
|
713
|
+
if (!iss.message) {
|
|
714
|
+
const message =
|
|
715
|
+
unwrapMessage(iss.inst?._zod.def?.error?.(iss as never)) ??
|
|
716
|
+
unwrapMessage(ctx?.error?.(iss as never)) ??
|
|
717
|
+
unwrapMessage(config.customError?.(iss)) ??
|
|
718
|
+
unwrapMessage(config.localeError?.(iss)) ??
|
|
719
|
+
"Invalid input";
|
|
720
|
+
(full as any).message = message;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
// delete (full as any).def;
|
|
724
|
+
delete (full as any).inst;
|
|
725
|
+
delete (full as any).continue;
|
|
726
|
+
if (!ctx?.reportInput) {
|
|
727
|
+
delete (full as any).input;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
return full;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
export function getSizableOrigin(input: any): "set" | "map" | "file" | "unknown" {
|
|
734
|
+
if (input instanceof Set) return "set";
|
|
735
|
+
if (input instanceof Map) return "map";
|
|
736
|
+
if (input instanceof File) return "file";
|
|
737
|
+
return "unknown";
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
export function getLengthableOrigin(input: any): "array" | "string" | "unknown" {
|
|
741
|
+
if (Array.isArray(input)) return "array";
|
|
742
|
+
if (typeof input === "string") return "string";
|
|
743
|
+
return "unknown";
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
////////// REFINES //////////
|
|
747
|
+
export function issue(_iss: string, input: any, inst: any): errors.$ZodRawIssue;
|
|
748
|
+
export function issue(_iss: errors.$ZodRawIssue): errors.$ZodRawIssue;
|
|
749
|
+
export function issue(...args: [string | errors.$ZodRawIssue, any?, any?]): errors.$ZodRawIssue {
|
|
750
|
+
const [iss, input, inst] = args;
|
|
751
|
+
if (typeof iss === "string") {
|
|
752
|
+
return {
|
|
753
|
+
message: iss,
|
|
754
|
+
code: "custom",
|
|
755
|
+
input,
|
|
756
|
+
inst,
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
return { ...iss };
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
export function cleanEnum(obj: Record<string, EnumValue>): EnumValue[] {
|
|
764
|
+
return Object.entries(obj)
|
|
765
|
+
.filter(([k, _]) => {
|
|
766
|
+
// return true if NaN, meaning it's not a number, thus a string key
|
|
767
|
+
return Number.isNaN(Number.parseInt(k, 10));
|
|
768
|
+
})
|
|
769
|
+
.map((el) => el[1]);
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
// instanceof
|
|
773
|
+
export abstract class Class {
|
|
774
|
+
constructor(..._args: any[]) {}
|
|
775
|
+
}
|