zod 3.25.0 → 3.25.3
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/dist/commonjs/index.d.ts +3 -0
- package/dist/commonjs/index.js +22 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/v3/ZodError.d.ts +164 -0
- package/dist/commonjs/v3/ZodError.js +137 -0
- package/dist/commonjs/v3/benchmarks/datetime.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/datetime.js +54 -0
- package/dist/commonjs/v3/benchmarks/discriminatedUnion.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/discriminatedUnion.js +79 -0
- package/dist/commonjs/v3/benchmarks/index.d.ts +1 -0
- package/dist/commonjs/v3/benchmarks/index.js +59 -0
- package/dist/commonjs/v3/benchmarks/ipv4.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/ipv4.js +54 -0
- package/dist/commonjs/v3/benchmarks/object.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/object.js +70 -0
- package/dist/commonjs/v3/benchmarks/primitives.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/primitives.js +159 -0
- package/dist/commonjs/v3/benchmarks/realworld.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/realworld.js +56 -0
- package/dist/commonjs/v3/benchmarks/string.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/string.js +55 -0
- package/dist/commonjs/v3/benchmarks/union.d.ts +5 -0
- package/dist/commonjs/v3/benchmarks/union.js +79 -0
- package/dist/commonjs/v3/errors.d.ts +5 -0
- package/dist/commonjs/v3/errors.js +17 -0
- package/dist/commonjs/v3/external.d.ts +6 -0
- package/dist/commonjs/v3/external.js +22 -0
- package/dist/commonjs/v3/helpers/enumUtil.d.ts +8 -0
- package/dist/commonjs/v3/helpers/enumUtil.js +2 -0
- package/dist/commonjs/v3/helpers/errorUtil.d.ts +9 -0
- package/dist/commonjs/v3/helpers/errorUtil.js +9 -0
- package/dist/commonjs/v3/helpers/parseUtil.d.ts +78 -0
- package/dist/commonjs/v3/helpers/parseUtil.js +124 -0
- package/dist/commonjs/v3/helpers/partialUtil.d.ts +8 -0
- package/dist/commonjs/v3/helpers/partialUtil.js +2 -0
- package/dist/commonjs/v3/helpers/typeAliases.d.ts +2 -0
- package/dist/commonjs/v3/helpers/typeAliases.js +2 -0
- package/dist/commonjs/v3/helpers/util.d.ts +85 -0
- package/dist/commonjs/v3/helpers/util.js +137 -0
- package/dist/commonjs/v3/index.d.ts +4 -0
- package/dist/commonjs/v3/index.js +43 -0
- package/dist/commonjs/v3/locales/en.d.ts +3 -0
- package/dist/commonjs/v3/locales/en.js +109 -0
- package/dist/commonjs/v3/standard-schema.d.ts +102 -0
- package/dist/commonjs/v3/standard-schema.js +2 -0
- package/dist/commonjs/v3/tests/Mocker.d.ts +17 -0
- package/dist/commonjs/v3/tests/Mocker.js +57 -0
- package/dist/commonjs/v3/tests/language-server.source.d.ts +70 -0
- package/dist/commonjs/v3/tests/language-server.source.js +81 -0
- package/dist/commonjs/v3/types.d.ts +1031 -0
- package/dist/commonjs/v3/types.js +3795 -0
- package/dist/commonjs/v4/classic/checks.d.ts +1 -0
- package/dist/commonjs/v4/classic/checks.js +32 -0
- package/dist/commonjs/v4/classic/coerce.d.ts +17 -0
- package/dist/commonjs/v4/classic/coerce.js +57 -0
- package/dist/commonjs/v4/classic/compat.d.ts +48 -0
- package/dist/commonjs/v4/classic/compat.js +73 -0
- package/dist/commonjs/v4/classic/errors.d.ts +30 -0
- package/dist/commonjs/v4/classic/errors.js +76 -0
- package/dist/commonjs/v4/classic/external.d.ts +8 -0
- package/dist/commonjs/v4/classic/external.js +68 -0
- package/dist/commonjs/v4/classic/index.d.ts +4 -0
- package/dist/commonjs/v4/classic/index.js +43 -0
- package/dist/commonjs/v4/classic/iso.d.ts +22 -0
- package/dist/commonjs/v4/classic/iso.js +70 -0
- package/dist/commonjs/v4/classic/parse.d.ts +23 -0
- package/dist/commonjs/v4/classic/parse.js +42 -0
- package/dist/commonjs/v4/classic/schemas.d.ts +653 -0
- package/dist/commonjs/v4/classic/schemas.js +1123 -0
- package/dist/commonjs/v4/core/api.d.ts +273 -0
- package/dist/commonjs/v4/core/api.js +1004 -0
- package/dist/commonjs/v4/core/checks.d.ts +277 -0
- package/dist/commonjs/v4/core/checks.js +571 -0
- package/dist/commonjs/v4/core/config.d.ts +9 -0
- package/dist/commonjs/v4/core/config.js +10 -0
- package/dist/commonjs/v4/core/core.d.ts +43 -0
- package/dist/commonjs/v4/core/core.js +59 -0
- package/dist/commonjs/v4/core/doc.d.ts +14 -0
- package/dist/commonjs/v4/core/doc.js +40 -0
- package/dist/commonjs/v4/core/errors.d.ts +204 -0
- package/dist/commonjs/v4/core/errors.js +203 -0
- package/dist/commonjs/v4/core/function.d.ts +35 -0
- package/dist/commonjs/v4/core/function.js +107 -0
- package/dist/commonjs/v4/core/index.d.ts +15 -0
- package/dist/commonjs/v4/core/index.js +54 -0
- package/dist/commonjs/v4/core/json-schema.d.ts +100 -0
- package/dist/commonjs/v4/core/json-schema.js +2 -0
- package/dist/commonjs/v4/core/parse.d.ts +25 -0
- package/dist/commonjs/v4/core/parse.js +97 -0
- package/dist/commonjs/v4/core/regexes.d.ts +62 -0
- package/dist/commonjs/v4/core/regexes.js +101 -0
- package/dist/commonjs/v4/core/registries.d.ts +32 -0
- package/dist/commonjs/v4/core/registries.js +47 -0
- package/dist/commonjs/v4/core/schemas.d.ts +975 -0
- package/dist/commonjs/v4/core/schemas.js +1781 -0
- package/dist/commonjs/v4/core/standard-schema.d.ts +55 -0
- package/dist/commonjs/v4/core/standard-schema.js +2 -0
- package/dist/commonjs/v4/core/to-json-schema.d.ts +84 -0
- package/dist/commonjs/v4/core/to-json-schema.js +670 -0
- package/dist/commonjs/v4/core/util.d.ts +186 -0
- package/dist/commonjs/v4/core/util.js +515 -0
- package/dist/commonjs/v4/core/versions.d.ts +5 -0
- package/dist/commonjs/v4/core/versions.js +8 -0
- package/dist/commonjs/v4/core/zsf.d.ts +91 -0
- package/dist/commonjs/v4/core/zsf.js +172 -0
- package/dist/commonjs/v4/index.d.ts +3 -0
- package/dist/commonjs/v4/index.js +22 -0
- package/dist/commonjs/v4/locales/ar.d.ts +7 -0
- package/dist/commonjs/v4/locales/ar.js +153 -0
- package/dist/commonjs/v4/locales/az.d.ts +7 -0
- package/dist/commonjs/v4/locales/az.js +152 -0
- package/dist/commonjs/v4/locales/be.d.ts +7 -0
- package/dist/commonjs/v4/locales/be.js +201 -0
- package/dist/commonjs/v4/locales/ca.d.ts +7 -0
- package/dist/commonjs/v4/locales/ca.js +155 -0
- package/dist/commonjs/v4/locales/cs.d.ts +7 -0
- package/dist/commonjs/v4/locales/cs.js +172 -0
- package/dist/commonjs/v4/locales/de.d.ts +7 -0
- package/dist/commonjs/v4/locales/de.js +153 -0
- package/dist/commonjs/v4/locales/en.d.ts +7 -0
- package/dist/commonjs/v4/locales/en.js +155 -0
- package/dist/commonjs/v4/locales/es.d.ts +7 -0
- package/dist/commonjs/v4/locales/es.js +154 -0
- package/dist/commonjs/v4/locales/fa.d.ts +7 -0
- package/dist/commonjs/v4/locales/fa.js +159 -0
- package/dist/commonjs/v4/locales/fi.d.ts +7 -0
- package/dist/commonjs/v4/locales/fi.js +159 -0
- package/dist/commonjs/v4/locales/fr.d.ts +7 -0
- package/dist/commonjs/v4/locales/fr.js +153 -0
- package/dist/commonjs/v4/locales/frCA.d.ts +7 -0
- package/dist/commonjs/v4/locales/frCA.js +154 -0
- package/dist/commonjs/v4/locales/he.d.ts +7 -0
- package/dist/commonjs/v4/locales/he.js +154 -0
- package/dist/commonjs/v4/locales/hu.d.ts +7 -0
- package/dist/commonjs/v4/locales/hu.js +154 -0
- package/dist/commonjs/v4/locales/id.d.ts +7 -0
- package/dist/commonjs/v4/locales/id.js +153 -0
- package/dist/commonjs/v4/locales/index.d.ts +34 -0
- package/dist/commonjs/v4/locales/index.js +74 -0
- package/dist/commonjs/v4/locales/it.d.ts +7 -0
- package/dist/commonjs/v4/locales/it.js +154 -0
- package/dist/commonjs/v4/locales/ja.d.ts +7 -0
- package/dist/commonjs/v4/locales/ja.js +152 -0
- package/dist/commonjs/v4/locales/ko.d.ts +7 -0
- package/dist/commonjs/v4/locales/ko.js +158 -0
- package/dist/commonjs/v4/locales/mk.d.ts +7 -0
- package/dist/commonjs/v4/locales/mk.js +155 -0
- package/dist/commonjs/v4/locales/ms.d.ts +7 -0
- package/dist/commonjs/v4/locales/ms.js +153 -0
- package/dist/commonjs/v4/locales/no.d.ts +7 -0
- package/dist/commonjs/v4/locales/no.js +153 -0
- package/dist/commonjs/v4/locales/ota.d.ts +7 -0
- package/dist/commonjs/v4/locales/ota.js +154 -0
- package/dist/commonjs/v4/locales/pl.d.ts +7 -0
- package/dist/commonjs/v4/locales/pl.js +154 -0
- package/dist/commonjs/v4/locales/pt.d.ts +7 -0
- package/dist/commonjs/v4/locales/pt.js +153 -0
- package/dist/commonjs/v4/locales/ru.d.ts +7 -0
- package/dist/commonjs/v4/locales/ru.js +201 -0
- package/dist/commonjs/v4/locales/sl.d.ts +7 -0
- package/dist/commonjs/v4/locales/sl.js +154 -0
- package/dist/commonjs/v4/locales/ta.d.ts +7 -0
- package/dist/commonjs/v4/locales/ta.js +154 -0
- package/dist/commonjs/v4/locales/th.d.ts +7 -0
- package/dist/commonjs/v4/locales/th.js +154 -0
- package/dist/commonjs/v4/locales/tr.d.ts +7 -0
- package/dist/commonjs/v4/locales/tr.js +152 -0
- package/dist/commonjs/v4/locales/ua.d.ts +7 -0
- package/dist/commonjs/v4/locales/ua.js +154 -0
- package/dist/commonjs/v4/locales/ur.d.ts +7 -0
- package/dist/commonjs/v4/locales/ur.js +154 -0
- package/dist/commonjs/v4/locales/vi.d.ts +7 -0
- package/dist/commonjs/v4/locales/vi.js +153 -0
- package/dist/commonjs/v4/locales/zh-CN.d.ts +7 -0
- package/dist/commonjs/v4/locales/zh-CN.js +153 -0
- package/dist/commonjs/v4/locales/zh-tw.d.ts +7 -0
- package/dist/commonjs/v4/locales/zh-tw.js +154 -0
- package/dist/commonjs/v4/mini/checks.d.ts +1 -0
- package/dist/commonjs/v4/mini/checks.js +34 -0
- package/dist/commonjs/v4/mini/coerce.d.ts +7 -0
- package/dist/commonjs/v4/mini/coerce.js +57 -0
- package/dist/commonjs/v4/mini/external.d.ts +7 -0
- package/dist/commonjs/v4/mini/external.js +61 -0
- package/dist/commonjs/v4/mini/index.d.ts +3 -0
- package/dist/commonjs/v4/mini/index.js +42 -0
- package/dist/commonjs/v4/mini/iso.d.ts +22 -0
- package/dist/commonjs/v4/mini/iso.js +70 -0
- package/dist/commonjs/v4/mini/parse.d.ts +1 -0
- package/dist/commonjs/v4/mini/parse.js +8 -0
- package/dist/commonjs/v4/mini/schemas.d.ts +405 -0
- package/dist/commonjs/v4/mini/schemas.js +852 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/v3/ZodError.d.ts +164 -0
- package/dist/esm/v3/ZodError.js +132 -0
- package/dist/esm/v3/benchmarks/datetime.d.ts +5 -0
- package/dist/esm/v3/benchmarks/datetime.js +49 -0
- package/dist/esm/v3/benchmarks/discriminatedUnion.d.ts +5 -0
- package/dist/esm/v3/benchmarks/discriminatedUnion.js +74 -0
- package/dist/esm/v3/benchmarks/index.d.ts +1 -0
- package/dist/esm/v3/benchmarks/index.js +54 -0
- package/dist/esm/v3/benchmarks/ipv4.d.ts +5 -0
- package/dist/esm/v3/benchmarks/ipv4.js +49 -0
- package/dist/esm/v3/benchmarks/object.d.ts +5 -0
- package/dist/esm/v3/benchmarks/object.js +65 -0
- package/dist/esm/v3/benchmarks/primitives.d.ts +5 -0
- package/dist/esm/v3/benchmarks/primitives.js +154 -0
- package/dist/esm/v3/benchmarks/realworld.d.ts +5 -0
- package/dist/esm/v3/benchmarks/realworld.js +51 -0
- package/dist/esm/v3/benchmarks/string.d.ts +5 -0
- package/dist/esm/v3/benchmarks/string.js +50 -0
- package/dist/esm/v3/benchmarks/union.d.ts +5 -0
- package/dist/esm/v3/benchmarks/union.js +74 -0
- package/dist/esm/v3/errors.d.ts +5 -0
- package/dist/esm/v3/errors.js +9 -0
- package/dist/esm/v3/external.d.ts +6 -0
- package/dist/esm/v3/external.js +6 -0
- package/dist/esm/v3/helpers/enumUtil.d.ts +8 -0
- package/dist/esm/v3/helpers/enumUtil.js +1 -0
- package/dist/esm/v3/helpers/errorUtil.d.ts +9 -0
- package/dist/esm/v3/helpers/errorUtil.js +6 -0
- package/dist/esm/v3/helpers/parseUtil.d.ts +78 -0
- package/dist/esm/v3/helpers/parseUtil.js +109 -0
- package/dist/esm/v3/helpers/partialUtil.d.ts +8 -0
- package/dist/esm/v3/helpers/partialUtil.js +1 -0
- package/dist/esm/v3/helpers/typeAliases.d.ts +2 -0
- package/dist/esm/v3/helpers/typeAliases.js +1 -0
- package/dist/esm/v3/helpers/util.d.ts +85 -0
- package/dist/esm/v3/helpers/util.js +133 -0
- package/dist/esm/v3/index.d.ts +4 -0
- package/dist/esm/v3/index.js +4 -0
- package/dist/esm/v3/locales/en.d.ts +3 -0
- package/dist/esm/v3/locales/en.js +107 -0
- package/dist/esm/v3/standard-schema.d.ts +102 -0
- package/dist/esm/v3/standard-schema.js +1 -0
- package/dist/esm/v3/tests/Mocker.d.ts +17 -0
- package/dist/esm/v3/tests/Mocker.js +53 -0
- package/dist/esm/v3/tests/language-server.source.d.ts +70 -0
- package/dist/esm/v3/tests/language-server.source.js +45 -0
- package/dist/esm/v3/types.d.ts +1031 -0
- package/dist/esm/v3/types.js +3713 -0
- package/dist/esm/v4/classic/checks.d.ts +1 -0
- package/dist/esm/v4/classic/checks.js +1 -0
- package/dist/esm/v4/classic/coerce.d.ts +17 -0
- package/dist/esm/v4/classic/coerce.js +17 -0
- package/dist/esm/v4/classic/compat.d.ts +48 -0
- package/dist/esm/v4/classic/compat.js +33 -0
- package/dist/esm/v4/classic/errors.d.ts +30 -0
- package/dist/esm/v4/classic/errors.js +40 -0
- package/dist/esm/v4/classic/external.d.ts +8 -0
- package/dist/esm/v4/classic/external.js +11 -0
- package/dist/esm/v4/classic/index.d.ts +4 -0
- package/dist/esm/v4/classic/index.js +4 -0
- package/dist/esm/v4/classic/iso.d.ts +22 -0
- package/dist/esm/v4/classic/iso.js +30 -0
- package/dist/esm/v4/classic/parse.d.ts +23 -0
- package/dist/esm/v4/classic/parse.js +6 -0
- package/dist/esm/v4/classic/schemas.d.ts +653 -0
- package/dist/esm/v4/classic/schemas.js +1012 -0
- package/dist/esm/v4/core/api.d.ts +273 -0
- package/dist/esm/v4/core/api.js +867 -0
- package/dist/esm/v4/core/checks.d.ts +277 -0
- package/dist/esm/v4/core/checks.js +535 -0
- package/dist/esm/v4/core/config.d.ts +9 -0
- package/dist/esm/v4/core/config.js +6 -0
- package/dist/esm/v4/core/core.d.ts +43 -0
- package/dist/esm/v4/core/core.js +53 -0
- package/dist/esm/v4/core/doc.d.ts +14 -0
- package/dist/esm/v4/core/doc.js +36 -0
- package/dist/esm/v4/core/errors.d.ts +204 -0
- package/dist/esm/v4/core/errors.js +195 -0
- package/dist/esm/v4/core/function.d.ts +35 -0
- package/dist/esm/v4/core/function.js +70 -0
- package/dist/esm/v4/core/index.d.ts +15 -0
- package/dist/esm/v4/core/index.js +15 -0
- package/dist/esm/v4/core/json-schema.d.ts +100 -0
- package/dist/esm/v4/core/json-schema.js +1 -0
- package/dist/esm/v4/core/parse.d.ts +25 -0
- package/dist/esm/v4/core/parse.js +57 -0
- package/dist/esm/v4/core/regexes.d.ts +62 -0
- package/dist/esm/v4/core/regexes.js +93 -0
- package/dist/esm/v4/core/registries.d.ts +32 -0
- package/dist/esm/v4/core/registries.js +42 -0
- package/dist/esm/v4/core/schemas.d.ts +975 -0
- package/dist/esm/v4/core/schemas.js +1740 -0
- package/dist/esm/v4/core/standard-schema.d.ts +55 -0
- package/dist/esm/v4/core/standard-schema.js +1 -0
- package/dist/esm/v4/core/to-json-schema.d.ts +84 -0
- package/dist/esm/v4/core/to-json-schema.js +665 -0
- package/dist/esm/v4/core/util.d.ts +186 -0
- package/dist/esm/v4/core/util.js +469 -0
- package/dist/esm/v4/core/versions.d.ts +5 -0
- package/dist/esm/v4/core/versions.js +5 -0
- package/dist/esm/v4/core/zsf.d.ts +91 -0
- package/dist/esm/v4/core/zsf.js +171 -0
- package/dist/esm/v4/index.d.ts +3 -0
- package/dist/esm/v4/index.js +3 -0
- package/dist/esm/v4/locales/ar.d.ts +7 -0
- package/dist/esm/v4/locales/ar.js +115 -0
- package/dist/esm/v4/locales/az.d.ts +7 -0
- package/dist/esm/v4/locales/az.js +114 -0
- package/dist/esm/v4/locales/be.d.ts +7 -0
- package/dist/esm/v4/locales/be.js +163 -0
- package/dist/esm/v4/locales/ca.d.ts +7 -0
- package/dist/esm/v4/locales/ca.js +117 -0
- package/dist/esm/v4/locales/cs.d.ts +7 -0
- package/dist/esm/v4/locales/cs.js +134 -0
- package/dist/esm/v4/locales/de.d.ts +7 -0
- package/dist/esm/v4/locales/de.js +115 -0
- package/dist/esm/v4/locales/en.d.ts +7 -0
- package/dist/esm/v4/locales/en.js +117 -0
- package/dist/esm/v4/locales/es.d.ts +7 -0
- package/dist/esm/v4/locales/es.js +116 -0
- package/dist/esm/v4/locales/fa.d.ts +7 -0
- package/dist/esm/v4/locales/fa.js +121 -0
- package/dist/esm/v4/locales/fi.d.ts +7 -0
- package/dist/esm/v4/locales/fi.js +121 -0
- package/dist/esm/v4/locales/fr.d.ts +7 -0
- package/dist/esm/v4/locales/fr.js +115 -0
- package/dist/esm/v4/locales/frCA.d.ts +7 -0
- package/dist/esm/v4/locales/frCA.js +116 -0
- package/dist/esm/v4/locales/he.d.ts +7 -0
- package/dist/esm/v4/locales/he.js +116 -0
- package/dist/esm/v4/locales/hu.d.ts +7 -0
- package/dist/esm/v4/locales/hu.js +116 -0
- package/dist/esm/v4/locales/id.d.ts +7 -0
- package/dist/esm/v4/locales/id.js +115 -0
- package/dist/esm/v4/locales/index.d.ts +34 -0
- package/dist/esm/v4/locales/index.js +34 -0
- package/dist/esm/v4/locales/it.d.ts +7 -0
- package/dist/esm/v4/locales/it.js +116 -0
- package/dist/esm/v4/locales/ja.d.ts +7 -0
- package/dist/esm/v4/locales/ja.js +114 -0
- package/dist/esm/v4/locales/ko.d.ts +7 -0
- package/dist/esm/v4/locales/ko.js +120 -0
- package/dist/esm/v4/locales/mk.d.ts +7 -0
- package/dist/esm/v4/locales/mk.js +117 -0
- package/dist/esm/v4/locales/ms.d.ts +7 -0
- package/dist/esm/v4/locales/ms.js +115 -0
- package/dist/esm/v4/locales/no.d.ts +7 -0
- package/dist/esm/v4/locales/no.js +115 -0
- package/dist/esm/v4/locales/ota.d.ts +7 -0
- package/dist/esm/v4/locales/ota.js +116 -0
- package/dist/esm/v4/locales/pl.d.ts +7 -0
- package/dist/esm/v4/locales/pl.js +116 -0
- package/dist/esm/v4/locales/pt.d.ts +7 -0
- package/dist/esm/v4/locales/pt.js +115 -0
- package/dist/esm/v4/locales/ru.d.ts +7 -0
- package/dist/esm/v4/locales/ru.js +163 -0
- package/dist/esm/v4/locales/sl.d.ts +7 -0
- package/dist/esm/v4/locales/sl.js +116 -0
- package/dist/esm/v4/locales/ta.d.ts +7 -0
- package/dist/esm/v4/locales/ta.js +116 -0
- package/dist/esm/v4/locales/th.d.ts +7 -0
- package/dist/esm/v4/locales/th.js +116 -0
- package/dist/esm/v4/locales/tr.d.ts +7 -0
- package/dist/esm/v4/locales/tr.js +114 -0
- package/dist/esm/v4/locales/ua.d.ts +7 -0
- package/dist/esm/v4/locales/ua.js +116 -0
- package/dist/esm/v4/locales/ur.d.ts +7 -0
- package/dist/esm/v4/locales/ur.js +116 -0
- package/dist/esm/v4/locales/vi.d.ts +7 -0
- package/dist/esm/v4/locales/vi.js +115 -0
- package/dist/esm/v4/locales/zh-CN.d.ts +7 -0
- package/dist/esm/v4/locales/zh-CN.js +115 -0
- package/dist/esm/v4/locales/zh-tw.d.ts +7 -0
- package/dist/esm/v4/locales/zh-tw.js +116 -0
- package/dist/esm/v4/mini/checks.d.ts +1 -0
- package/dist/esm/v4/mini/checks.js +1 -0
- package/dist/esm/v4/mini/coerce.d.ts +7 -0
- package/dist/esm/v4/mini/coerce.js +17 -0
- package/dist/esm/v4/mini/external.d.ts +7 -0
- package/dist/esm/v4/mini/external.js +7 -0
- package/dist/esm/v4/mini/index.d.ts +3 -0
- package/dist/esm/v4/mini/index.js +3 -0
- package/dist/esm/v4/mini/iso.d.ts +22 -0
- package/dist/esm/v4/mini/iso.js +30 -0
- package/dist/esm/v4/mini/parse.d.ts +1 -0
- package/dist/esm/v4/mini/parse.js +1 -0
- package/dist/esm/v4/mini/schemas.d.ts +405 -0
- package/dist/esm/v4/mini/schemas.js +738 -0
- package/package.json +1 -1
- package/src/v4/core/schemas.ts +0 -2
- package/src/v4/core/to-json-schema.ts +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
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
|
+
export type JSONType = string | number | boolean | null | JSONType[] | {
|
|
6
|
+
[key: string]: JSONType;
|
|
7
|
+
};
|
|
8
|
+
export type JWTAlgorithm = "HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512";
|
|
9
|
+
export type IPVersion = "v4" | "v6";
|
|
10
|
+
export type MimeTypes = "application/json" | "application/xml" | "application/x-www-form-urlencoded" | "application/javascript" | "application/pdf" | "application/zip" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/octet-stream" | "application/graphql" | "text/html" | "text/plain" | "text/css" | "text/javascript" | "text/csv" | "image/png" | "image/jpeg" | "image/gif" | "image/svg+xml" | "image/webp" | "audio/mpeg" | "audio/ogg" | "audio/wav" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "font/woff" | "font/woff2" | "font/ttf" | "font/otf" | "multipart/form-data" | (string & {});
|
|
11
|
+
export type ParsedTypes = "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "file" | "date" | "array" | "map" | "set" | "nan" | "null" | "promise";
|
|
12
|
+
export type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
|
|
13
|
+
export type AssertNotEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? false : true;
|
|
14
|
+
export type AssertExtends<T, U> = T extends U ? T : never;
|
|
15
|
+
export type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
16
|
+
export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
17
|
+
export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
|
|
18
|
+
export type MakePartial<T, K extends keyof T> = Omit<T, K> & InexactPartial<Pick<T, K>>;
|
|
19
|
+
export type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
20
|
+
export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>;
|
|
21
|
+
export type NoUndefined<T> = T extends undefined ? never : T;
|
|
22
|
+
export type Whatever = {} | undefined | null;
|
|
23
|
+
export type LoosePartial<T extends object> = InexactPartial<T> & {
|
|
24
|
+
[k: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
export type Mask<Keys extends PropertyKey> = {
|
|
27
|
+
[K in Keys]?: true;
|
|
28
|
+
};
|
|
29
|
+
export type Writeable<T> = {
|
|
30
|
+
-readonly [P in keyof T]: T[P];
|
|
31
|
+
} & {};
|
|
32
|
+
export type InexactPartial<T> = {
|
|
33
|
+
[P in keyof T]?: T[P] | undefined;
|
|
34
|
+
};
|
|
35
|
+
export type EmptyObject = Record<string, never>;
|
|
36
|
+
export type BuiltIn = (((...args: any[]) => any) | (new (...args: any[]) => any)) | {
|
|
37
|
+
readonly [Symbol.toStringTag]: string;
|
|
38
|
+
} | Date | Error | Generator | Promise<unknown> | RegExp;
|
|
39
|
+
export type MakeReadonly<T> = T extends Map<infer K, infer V> ? ReadonlyMap<K, V> : T extends Set<infer V> ? ReadonlySet<V> : T extends [infer Head, ...infer Tail] ? readonly [Head, ...Tail] : T extends Array<infer V> ? ReadonlyArray<V> : T extends BuiltIn ? T : Readonly<T>;
|
|
40
|
+
export type SomeObject = Record<PropertyKey, any>;
|
|
41
|
+
export type Identity<T> = T;
|
|
42
|
+
export type Flatten<T> = Identity<{
|
|
43
|
+
[k in keyof T]: T[k];
|
|
44
|
+
}>;
|
|
45
|
+
export type Mapped<T> = {
|
|
46
|
+
[k in keyof T]: T[k];
|
|
47
|
+
};
|
|
48
|
+
export type Prettify<T> = {
|
|
49
|
+
[K in keyof T]: T[K];
|
|
50
|
+
} & {};
|
|
51
|
+
export type NoNeverKeys<T> = {
|
|
52
|
+
[k in keyof T]: [T[k]] extends [never] ? never : k;
|
|
53
|
+
}[keyof T];
|
|
54
|
+
export type NoNever<T> = Identity<{
|
|
55
|
+
[k in NoNeverKeys<T>]: k extends keyof T ? T[k] : never;
|
|
56
|
+
}>;
|
|
57
|
+
export type Extend<A extends SomeObject, B extends SomeObject> = Flatten<keyof A & keyof B extends never ? A & B : {
|
|
58
|
+
[K in keyof A as K extends keyof B ? never : K]: A[K];
|
|
59
|
+
} & {
|
|
60
|
+
[K in keyof B]: B[K];
|
|
61
|
+
}>;
|
|
62
|
+
export type TupleItems = ReadonlyArray<schemas.$ZodType>;
|
|
63
|
+
export type AnyFunc = (...args: any[]) => any;
|
|
64
|
+
export type IsProp<T, K extends keyof T> = T[K] extends AnyFunc ? never : K;
|
|
65
|
+
export type MaybeAsync<T> = T | Promise<T>;
|
|
66
|
+
export type KeyOf<T> = keyof OmitIndexSignature<T>;
|
|
67
|
+
export type OmitIndexSignature<T> = {
|
|
68
|
+
[K in keyof T as string extends K ? never : K extends string ? K : never]: T[K];
|
|
69
|
+
};
|
|
70
|
+
export type ExtractIndexSignature<T> = {
|
|
71
|
+
[K in keyof T as string extends K ? K : K extends string ? never : K]: T[K];
|
|
72
|
+
};
|
|
73
|
+
export type Keys<T extends object> = keyof OmitIndexSignature<T>;
|
|
74
|
+
export type SchemaClass<T extends schemas.$ZodType> = {
|
|
75
|
+
new (def: T["_zod"]["def"]): T;
|
|
76
|
+
};
|
|
77
|
+
export type EnumValue = string | number;
|
|
78
|
+
export type EnumLike = Readonly<Record<string, EnumValue>>;
|
|
79
|
+
export type ToEnum<T extends EnumValue> = Flatten<{
|
|
80
|
+
[k in T]: k;
|
|
81
|
+
}>;
|
|
82
|
+
export type KeysEnum<T extends object> = ToEnum<Exclude<keyof T, symbol>>;
|
|
83
|
+
export type KeysArray<T extends object> = Flatten<(keyof T & string)[]>;
|
|
84
|
+
export type Literal = string | number | bigint | boolean | null | undefined;
|
|
85
|
+
export type LiteralArray = Array<Literal>;
|
|
86
|
+
export type Primitive = string | number | symbol | bigint | boolean | null | undefined;
|
|
87
|
+
export type PrimitiveArray = Array<Primitive>;
|
|
88
|
+
export type HasSize = {
|
|
89
|
+
size: number;
|
|
90
|
+
};
|
|
91
|
+
export type HasLength = {
|
|
92
|
+
length: number;
|
|
93
|
+
};
|
|
94
|
+
export type Numeric = number | bigint | Date;
|
|
95
|
+
export type SafeParseResult<T> = SafeParseSuccess<T> | SafeParseError<T>;
|
|
96
|
+
export type SafeParseSuccess<T> = {
|
|
97
|
+
success: true;
|
|
98
|
+
data: T;
|
|
99
|
+
error?: never;
|
|
100
|
+
};
|
|
101
|
+
export type SafeParseError<T> = {
|
|
102
|
+
success: false;
|
|
103
|
+
data?: never;
|
|
104
|
+
error: errors.$ZodError<T>;
|
|
105
|
+
};
|
|
106
|
+
export type DiscriminatorMapElement = {
|
|
107
|
+
values: Set<Primitive>;
|
|
108
|
+
maps: DiscriminatorMap[];
|
|
109
|
+
};
|
|
110
|
+
export type DiscriminatorMap = Map<PropertyKey, DiscriminatorMapElement>;
|
|
111
|
+
export type PrimitiveSet = Set<Primitive>;
|
|
112
|
+
export declare function assertEqual<A, B>(val: AssertEqual<A, B>): AssertEqual<A, B>;
|
|
113
|
+
export declare function assertNotEqual<A, B>(val: AssertNotEqual<A, B>): AssertNotEqual<A, B>;
|
|
114
|
+
export declare function assertIs<T>(_arg: T): void;
|
|
115
|
+
export declare function assertNever(_x: never): never;
|
|
116
|
+
export declare function assert<T>(_: any): asserts _ is T;
|
|
117
|
+
export declare function getValidEnumValues(obj: any): any;
|
|
118
|
+
export declare function joinValues<T extends Primitive[]>(array: T, separator?: string): string;
|
|
119
|
+
export declare function jsonStringifyReplacer(_: string, value: any): any;
|
|
120
|
+
export declare function cached<T>(getter: () => T): {
|
|
121
|
+
value: T;
|
|
122
|
+
};
|
|
123
|
+
export declare function nullish(input: any): boolean;
|
|
124
|
+
export declare function cleanRegex(source: string): string;
|
|
125
|
+
export declare function floatSafeRemainder(val: number, step: number): number;
|
|
126
|
+
export declare function defineLazy<T, K extends keyof T>(object: T, key: K, getter: () => T[K]): void;
|
|
127
|
+
export declare function assignProp<T extends object, K extends PropertyKey>(target: T, prop: K, value: K extends keyof T ? T[K] : any): void;
|
|
128
|
+
export declare function getElementAtPath(obj: any, path: (string | number)[] | null | undefined): any;
|
|
129
|
+
export declare function promiseAllObject<T extends object>(promisesObj: T): Promise<{
|
|
130
|
+
[k in keyof T]: Awaited<T[k]>;
|
|
131
|
+
}>;
|
|
132
|
+
export declare function randomString(length?: number): string;
|
|
133
|
+
export declare function esc(str: string): string;
|
|
134
|
+
export declare function isObject(data: any): data is Record<PropertyKey, unknown>;
|
|
135
|
+
export declare const allowsEval: {
|
|
136
|
+
value: boolean;
|
|
137
|
+
};
|
|
138
|
+
export declare function isPlainObject(data: any): data is Record<PropertyKey, unknown>;
|
|
139
|
+
export declare function numKeys(data: any): number;
|
|
140
|
+
export declare const getParsedType: (data: any) => ParsedTypes;
|
|
141
|
+
export declare const propertyKeyTypes: Set<string>;
|
|
142
|
+
export declare const primitiveTypes: Set<string>;
|
|
143
|
+
export declare function escapeRegex(str: string): string;
|
|
144
|
+
export declare function clone<T extends schemas.$ZodType>(inst: T, def?: T["_zod"]["def"], params?: {
|
|
145
|
+
parent: boolean;
|
|
146
|
+
}): T;
|
|
147
|
+
export type EmptyToNever<T> = keyof T extends never ? never : T;
|
|
148
|
+
export type Normalize<T> = T extends undefined ? never : T extends Record<any, any> ? Flatten<{
|
|
149
|
+
[k in keyof Omit<T, "error" | "message">]: T[k];
|
|
150
|
+
} & ("error" extends keyof T ? {
|
|
151
|
+
error?: Exclude<T["error"], string>;
|
|
152
|
+
} : unknown)> : never;
|
|
153
|
+
export declare function normalizeParams<T>(_params: T): Normalize<T>;
|
|
154
|
+
export declare function createTransparentProxy<T extends object>(getter: () => T): T;
|
|
155
|
+
export declare function stringifyPrimitive(value: any): string;
|
|
156
|
+
export declare function optionalKeys(shape: schemas.$ZodShape): string[];
|
|
157
|
+
export type CleanKey<T extends PropertyKey> = T extends `?${infer K}` ? K : T extends `${infer K}?` ? K : T;
|
|
158
|
+
export type ToCleanMap<T extends schemas.$ZodLooseShape> = {
|
|
159
|
+
[k in keyof T]: k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k;
|
|
160
|
+
};
|
|
161
|
+
export type FromCleanMap<T extends schemas.$ZodLooseShape> = {
|
|
162
|
+
[k in keyof T as k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k]: k;
|
|
163
|
+
};
|
|
164
|
+
export declare const NUMBER_FORMAT_RANGES: Record<checks.$ZodNumberFormats, [number, number]>;
|
|
165
|
+
export declare const BIGINT_FORMAT_RANGES: Record<checks.$ZodBigIntFormats, [bigint, bigint]>;
|
|
166
|
+
export declare function pick(schema: schemas.$ZodObject, mask: Record<string, unknown>): any;
|
|
167
|
+
export declare function omit(schema: schemas.$ZodObject, mask: object): any;
|
|
168
|
+
export declare function extend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any;
|
|
169
|
+
export declare function merge(a: schemas.$ZodObject, b: schemas.$ZodObject): any;
|
|
170
|
+
export declare function partial(Class: SchemaClass<schemas.$ZodOptional> | null, schema: schemas.$ZodObject, mask: object | undefined): any;
|
|
171
|
+
export declare function required(Class: SchemaClass<schemas.$ZodNonOptional>, schema: schemas.$ZodObject, mask: object | undefined): any;
|
|
172
|
+
export type Constructor<T, Def extends any[] = any[]> = new (...args: Def) => T;
|
|
173
|
+
export declare function aborted(x: schemas.ParsePayload, startIndex?: number): boolean;
|
|
174
|
+
export declare function prefixIssues(path: PropertyKey, issues: errors.$ZodRawIssue[]): errors.$ZodRawIssue[];
|
|
175
|
+
export declare function unwrapMessage(message: string | {
|
|
176
|
+
message: string;
|
|
177
|
+
} | undefined | null): string | undefined;
|
|
178
|
+
export declare function finalizeIssue(iss: errors.$ZodRawIssue, ctx: schemas.ParseContextInternal | undefined, config: $ZodConfig): errors.$ZodIssue;
|
|
179
|
+
export declare function getSizableOrigin(input: any): "set" | "map" | "file" | "unknown";
|
|
180
|
+
export declare function getLengthableOrigin(input: any): "array" | "string" | "unknown";
|
|
181
|
+
export declare function issue(_iss: string, input: any, inst: any): errors.$ZodRawIssue;
|
|
182
|
+
export declare function issue(_iss: errors.$ZodRawIssue): errors.$ZodRawIssue;
|
|
183
|
+
export declare function cleanEnum(obj: Record<string, EnumValue>): EnumValue[];
|
|
184
|
+
export declare abstract class Class {
|
|
185
|
+
constructor(..._args: any[]);
|
|
186
|
+
}
|
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Class = exports.BIGINT_FORMAT_RANGES = exports.NUMBER_FORMAT_RANGES = exports.primitiveTypes = exports.propertyKeyTypes = exports.getParsedType = exports.allowsEval = void 0;
|
|
4
|
+
exports.assertEqual = assertEqual;
|
|
5
|
+
exports.assertNotEqual = assertNotEqual;
|
|
6
|
+
exports.assertIs = assertIs;
|
|
7
|
+
exports.assertNever = assertNever;
|
|
8
|
+
exports.assert = assert;
|
|
9
|
+
exports.getValidEnumValues = getValidEnumValues;
|
|
10
|
+
exports.joinValues = joinValues;
|
|
11
|
+
exports.jsonStringifyReplacer = jsonStringifyReplacer;
|
|
12
|
+
exports.cached = cached;
|
|
13
|
+
exports.nullish = nullish;
|
|
14
|
+
exports.cleanRegex = cleanRegex;
|
|
15
|
+
exports.floatSafeRemainder = floatSafeRemainder;
|
|
16
|
+
exports.defineLazy = defineLazy;
|
|
17
|
+
exports.assignProp = assignProp;
|
|
18
|
+
exports.getElementAtPath = getElementAtPath;
|
|
19
|
+
exports.promiseAllObject = promiseAllObject;
|
|
20
|
+
exports.randomString = randomString;
|
|
21
|
+
exports.esc = esc;
|
|
22
|
+
exports.isObject = isObject;
|
|
23
|
+
exports.isPlainObject = isPlainObject;
|
|
24
|
+
exports.numKeys = numKeys;
|
|
25
|
+
exports.escapeRegex = escapeRegex;
|
|
26
|
+
exports.clone = clone;
|
|
27
|
+
exports.normalizeParams = normalizeParams;
|
|
28
|
+
exports.createTransparentProxy = createTransparentProxy;
|
|
29
|
+
exports.stringifyPrimitive = stringifyPrimitive;
|
|
30
|
+
exports.optionalKeys = optionalKeys;
|
|
31
|
+
exports.pick = pick;
|
|
32
|
+
exports.omit = omit;
|
|
33
|
+
exports.extend = extend;
|
|
34
|
+
exports.merge = merge;
|
|
35
|
+
exports.partial = partial;
|
|
36
|
+
exports.required = required;
|
|
37
|
+
exports.aborted = aborted;
|
|
38
|
+
exports.prefixIssues = prefixIssues;
|
|
39
|
+
exports.unwrapMessage = unwrapMessage;
|
|
40
|
+
exports.finalizeIssue = finalizeIssue;
|
|
41
|
+
exports.getSizableOrigin = getSizableOrigin;
|
|
42
|
+
exports.getLengthableOrigin = getLengthableOrigin;
|
|
43
|
+
exports.issue = issue;
|
|
44
|
+
exports.cleanEnum = cleanEnum;
|
|
45
|
+
// functions
|
|
46
|
+
function assertEqual(val) {
|
|
47
|
+
return val;
|
|
48
|
+
}
|
|
49
|
+
function assertNotEqual(val) {
|
|
50
|
+
return val;
|
|
51
|
+
}
|
|
52
|
+
function assertIs(_arg) { }
|
|
53
|
+
function assertNever(_x) {
|
|
54
|
+
throw new Error();
|
|
55
|
+
}
|
|
56
|
+
function assert(_) { }
|
|
57
|
+
function getValidEnumValues(obj) {
|
|
58
|
+
const validKeys = Object.keys(obj).filter((k) => typeof obj[obj[k]] !== "number");
|
|
59
|
+
const filtered = {};
|
|
60
|
+
for (const k of validKeys) {
|
|
61
|
+
filtered[k] = obj[k];
|
|
62
|
+
}
|
|
63
|
+
return Object.values(filtered);
|
|
64
|
+
}
|
|
65
|
+
function joinValues(array, separator = "|") {
|
|
66
|
+
return array.map((val) => stringifyPrimitive(val)).join(separator);
|
|
67
|
+
}
|
|
68
|
+
function jsonStringifyReplacer(_, value) {
|
|
69
|
+
if (typeof value === "bigint")
|
|
70
|
+
return value.toString();
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
function cached(getter) {
|
|
74
|
+
const set = false;
|
|
75
|
+
return {
|
|
76
|
+
get value() {
|
|
77
|
+
if (!set) {
|
|
78
|
+
const value = getter();
|
|
79
|
+
Object.defineProperty(this, "value", { value });
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
throw new Error("cached value already set");
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function nullish(input) {
|
|
87
|
+
return input === null || input === undefined;
|
|
88
|
+
}
|
|
89
|
+
function cleanRegex(source) {
|
|
90
|
+
const start = source.startsWith("^") ? 1 : 0;
|
|
91
|
+
const end = source.endsWith("$") ? source.length - 1 : source.length;
|
|
92
|
+
return source.slice(start, end);
|
|
93
|
+
}
|
|
94
|
+
function floatSafeRemainder(val, step) {
|
|
95
|
+
const valDecCount = (val.toString().split(".")[1] || "").length;
|
|
96
|
+
const stepDecCount = (step.toString().split(".")[1] || "").length;
|
|
97
|
+
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
|
|
98
|
+
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
|
|
99
|
+
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
|
|
100
|
+
return (valInt % stepInt) / 10 ** decCount;
|
|
101
|
+
}
|
|
102
|
+
function defineLazy(object, key, getter) {
|
|
103
|
+
const set = false;
|
|
104
|
+
Object.defineProperty(object, key, {
|
|
105
|
+
get() {
|
|
106
|
+
if (!set) {
|
|
107
|
+
const value = getter();
|
|
108
|
+
object[key] = value;
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
throw new Error("cached value already set");
|
|
112
|
+
},
|
|
113
|
+
set(v) {
|
|
114
|
+
Object.defineProperty(object, key, {
|
|
115
|
+
value: v,
|
|
116
|
+
// configurable: true,
|
|
117
|
+
});
|
|
118
|
+
// object[key] = v;
|
|
119
|
+
},
|
|
120
|
+
configurable: true,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function assignProp(target, prop, value) {
|
|
124
|
+
Object.defineProperty(target, prop, {
|
|
125
|
+
value,
|
|
126
|
+
writable: true,
|
|
127
|
+
enumerable: true,
|
|
128
|
+
configurable: true,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function getElementAtPath(obj, path) {
|
|
132
|
+
if (!path)
|
|
133
|
+
return obj;
|
|
134
|
+
return path.reduce((acc, key) => acc?.[key], obj);
|
|
135
|
+
}
|
|
136
|
+
function promiseAllObject(promisesObj) {
|
|
137
|
+
const keys = Object.keys(promisesObj);
|
|
138
|
+
const promises = keys.map((key) => promisesObj[key]);
|
|
139
|
+
return Promise.all(promises).then((results) => {
|
|
140
|
+
const resolvedObj = {};
|
|
141
|
+
for (let i = 0; i < keys.length; i++) {
|
|
142
|
+
resolvedObj[keys[i]] = results[i];
|
|
143
|
+
}
|
|
144
|
+
return resolvedObj;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function randomString(length = 10) {
|
|
148
|
+
const chars = "abcdefghijklmnopqrstuvwxyz";
|
|
149
|
+
let str = "";
|
|
150
|
+
for (let i = 0; i < length; i++) {
|
|
151
|
+
str += chars[Math.floor(Math.random() * chars.length)];
|
|
152
|
+
}
|
|
153
|
+
return str;
|
|
154
|
+
}
|
|
155
|
+
function esc(str) {
|
|
156
|
+
return JSON.stringify(str);
|
|
157
|
+
}
|
|
158
|
+
function isObject(data) {
|
|
159
|
+
return typeof data === "object" && data !== null;
|
|
160
|
+
}
|
|
161
|
+
exports.allowsEval = cached(() => {
|
|
162
|
+
try {
|
|
163
|
+
const F = Function;
|
|
164
|
+
new F("");
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
catch (_) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
function isPlainObject(data) {
|
|
172
|
+
return typeof data === "object" && data !== null && Object.getPrototypeOf(data) === Object.prototype;
|
|
173
|
+
}
|
|
174
|
+
function numKeys(data) {
|
|
175
|
+
let keyCount = 0;
|
|
176
|
+
for (const key in data) {
|
|
177
|
+
if (Object.prototype.hasOwnProperty.call(data, key)) {
|
|
178
|
+
keyCount++;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return keyCount;
|
|
182
|
+
}
|
|
183
|
+
const getParsedType = (data) => {
|
|
184
|
+
const t = typeof data;
|
|
185
|
+
switch (t) {
|
|
186
|
+
case "undefined":
|
|
187
|
+
return "undefined";
|
|
188
|
+
case "string":
|
|
189
|
+
return "string";
|
|
190
|
+
case "number":
|
|
191
|
+
return Number.isNaN(data) ? "nan" : "number";
|
|
192
|
+
case "boolean":
|
|
193
|
+
return "boolean";
|
|
194
|
+
case "function":
|
|
195
|
+
return "function";
|
|
196
|
+
case "bigint":
|
|
197
|
+
return "bigint";
|
|
198
|
+
case "symbol":
|
|
199
|
+
return "symbol";
|
|
200
|
+
case "object":
|
|
201
|
+
if (Array.isArray(data)) {
|
|
202
|
+
return "array";
|
|
203
|
+
}
|
|
204
|
+
if (data === null) {
|
|
205
|
+
return "null";
|
|
206
|
+
}
|
|
207
|
+
if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
|
|
208
|
+
return "promise";
|
|
209
|
+
}
|
|
210
|
+
if (typeof Map !== "undefined" && data instanceof Map) {
|
|
211
|
+
return "map";
|
|
212
|
+
}
|
|
213
|
+
if (typeof Set !== "undefined" && data instanceof Set) {
|
|
214
|
+
return "set";
|
|
215
|
+
}
|
|
216
|
+
if (typeof Date !== "undefined" && data instanceof Date) {
|
|
217
|
+
return "date";
|
|
218
|
+
}
|
|
219
|
+
if (typeof File !== "undefined" && data instanceof File) {
|
|
220
|
+
return "file";
|
|
221
|
+
}
|
|
222
|
+
return "object";
|
|
223
|
+
default:
|
|
224
|
+
throw new Error(`Unknown data type: ${t}`);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
exports.getParsedType = getParsedType;
|
|
228
|
+
exports.propertyKeyTypes = new Set(["string", "number", "symbol"]);
|
|
229
|
+
exports.primitiveTypes = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
|
|
230
|
+
function escapeRegex(str) {
|
|
231
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
232
|
+
}
|
|
233
|
+
// zod-specific utils
|
|
234
|
+
function clone(inst, def, params) {
|
|
235
|
+
const cl = new inst._zod.constr(def ?? inst._zod.def);
|
|
236
|
+
if (!def || params?.parent)
|
|
237
|
+
cl._zod.parent = inst;
|
|
238
|
+
return cl;
|
|
239
|
+
}
|
|
240
|
+
function normalizeParams(_params) {
|
|
241
|
+
const params = _params;
|
|
242
|
+
if (!params)
|
|
243
|
+
return {};
|
|
244
|
+
if (typeof params === "string")
|
|
245
|
+
return { error: () => params };
|
|
246
|
+
if (params?.message !== undefined) {
|
|
247
|
+
if (params?.error !== undefined)
|
|
248
|
+
throw new Error("Cannot specify both `message` and `error` params");
|
|
249
|
+
params.error = params.message;
|
|
250
|
+
}
|
|
251
|
+
delete params.message;
|
|
252
|
+
if (typeof params.error === "string")
|
|
253
|
+
return { ...params, error: () => params.error };
|
|
254
|
+
return params;
|
|
255
|
+
}
|
|
256
|
+
function createTransparentProxy(getter) {
|
|
257
|
+
let target;
|
|
258
|
+
return new Proxy({}, {
|
|
259
|
+
get(_, prop, receiver) {
|
|
260
|
+
target ?? (target = getter());
|
|
261
|
+
return Reflect.get(target, prop, receiver);
|
|
262
|
+
},
|
|
263
|
+
set(_, prop, value, receiver) {
|
|
264
|
+
target ?? (target = getter());
|
|
265
|
+
return Reflect.set(target, prop, value, receiver);
|
|
266
|
+
},
|
|
267
|
+
has(_, prop) {
|
|
268
|
+
target ?? (target = getter());
|
|
269
|
+
return Reflect.has(target, prop);
|
|
270
|
+
},
|
|
271
|
+
deleteProperty(_, prop) {
|
|
272
|
+
target ?? (target = getter());
|
|
273
|
+
return Reflect.deleteProperty(target, prop);
|
|
274
|
+
},
|
|
275
|
+
ownKeys(_) {
|
|
276
|
+
target ?? (target = getter());
|
|
277
|
+
return Reflect.ownKeys(target);
|
|
278
|
+
},
|
|
279
|
+
getOwnPropertyDescriptor(_, prop) {
|
|
280
|
+
target ?? (target = getter());
|
|
281
|
+
return Reflect.getOwnPropertyDescriptor(target, prop);
|
|
282
|
+
},
|
|
283
|
+
defineProperty(_, prop, descriptor) {
|
|
284
|
+
target ?? (target = getter());
|
|
285
|
+
return Reflect.defineProperty(target, prop, descriptor);
|
|
286
|
+
},
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
function stringifyPrimitive(value) {
|
|
290
|
+
if (typeof value === "bigint")
|
|
291
|
+
return value.toString() + "n";
|
|
292
|
+
if (typeof value === "string")
|
|
293
|
+
return `"${value}"`;
|
|
294
|
+
return `${value}`;
|
|
295
|
+
}
|
|
296
|
+
function optionalKeys(shape) {
|
|
297
|
+
return Object.keys(shape).filter((k) => {
|
|
298
|
+
return shape[k]._zod.optin === "optional";
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
exports.NUMBER_FORMAT_RANGES = {
|
|
302
|
+
safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
|
|
303
|
+
int32: [-2147483648, 2147483647],
|
|
304
|
+
uint32: [0, 4294967295],
|
|
305
|
+
float32: [-3.4028234663852886e38, 3.4028234663852886e38],
|
|
306
|
+
float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
|
|
307
|
+
};
|
|
308
|
+
exports.BIGINT_FORMAT_RANGES = {
|
|
309
|
+
int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
|
|
310
|
+
uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")],
|
|
311
|
+
};
|
|
312
|
+
function pick(schema, mask) {
|
|
313
|
+
const newShape = {};
|
|
314
|
+
const currDef = schema._zod.def; //.shape;
|
|
315
|
+
for (const key in mask) {
|
|
316
|
+
if (!(key in currDef.shape)) {
|
|
317
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
318
|
+
}
|
|
319
|
+
if (!mask[key])
|
|
320
|
+
continue;
|
|
321
|
+
// pick key
|
|
322
|
+
newShape[key] = currDef.shape[key];
|
|
323
|
+
}
|
|
324
|
+
return clone(schema, {
|
|
325
|
+
...schema._zod.def,
|
|
326
|
+
shape: newShape,
|
|
327
|
+
checks: [],
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
function omit(schema, mask) {
|
|
331
|
+
const newShape = { ...schema._zod.def.shape };
|
|
332
|
+
const currDef = schema._zod.def; //.shape;
|
|
333
|
+
for (const key in mask) {
|
|
334
|
+
if (!(key in currDef.shape)) {
|
|
335
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
336
|
+
}
|
|
337
|
+
if (!mask[key])
|
|
338
|
+
continue;
|
|
339
|
+
delete newShape[key];
|
|
340
|
+
}
|
|
341
|
+
return clone(schema, {
|
|
342
|
+
...schema._zod.def,
|
|
343
|
+
shape: newShape,
|
|
344
|
+
checks: [],
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
function extend(schema, shape) {
|
|
348
|
+
const def = {
|
|
349
|
+
...schema._zod.def,
|
|
350
|
+
get shape() {
|
|
351
|
+
const _shape = { ...schema._zod.def.shape, ...shape };
|
|
352
|
+
assignProp(this, "shape", _shape); // self-caching
|
|
353
|
+
return _shape;
|
|
354
|
+
},
|
|
355
|
+
checks: [], // delete existing checks
|
|
356
|
+
};
|
|
357
|
+
return clone(schema, def);
|
|
358
|
+
}
|
|
359
|
+
function merge(a, b) {
|
|
360
|
+
return clone(a, {
|
|
361
|
+
...a._zod.def,
|
|
362
|
+
get shape() {
|
|
363
|
+
const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
|
|
364
|
+
assignProp(this, "shape", _shape); // self-caching
|
|
365
|
+
return _shape;
|
|
366
|
+
},
|
|
367
|
+
catchall: b._zod.def.catchall,
|
|
368
|
+
checks: [], // delete existing checks
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
function partial(Class, schema, mask) {
|
|
372
|
+
const oldShape = schema._zod.def.shape;
|
|
373
|
+
const shape = { ...oldShape };
|
|
374
|
+
if (mask) {
|
|
375
|
+
for (const key in mask) {
|
|
376
|
+
if (!(key in oldShape)) {
|
|
377
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
378
|
+
}
|
|
379
|
+
if (!mask[key])
|
|
380
|
+
continue;
|
|
381
|
+
shape[key] = Class
|
|
382
|
+
? new Class({
|
|
383
|
+
type: "optional",
|
|
384
|
+
innerType: oldShape[key],
|
|
385
|
+
})
|
|
386
|
+
: oldShape[key];
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
for (const key in oldShape) {
|
|
391
|
+
shape[key] = Class
|
|
392
|
+
? new Class({
|
|
393
|
+
type: "optional",
|
|
394
|
+
innerType: oldShape[key],
|
|
395
|
+
})
|
|
396
|
+
: oldShape[key];
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return clone(schema, {
|
|
400
|
+
...schema._zod.def,
|
|
401
|
+
shape,
|
|
402
|
+
checks: [],
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
function required(Class, schema, mask) {
|
|
406
|
+
const oldShape = schema._zod.def.shape;
|
|
407
|
+
const shape = { ...oldShape };
|
|
408
|
+
if (mask) {
|
|
409
|
+
for (const key in mask) {
|
|
410
|
+
if (!(key in shape)) {
|
|
411
|
+
throw new Error(`Unrecognized key: "${key}"`);
|
|
412
|
+
}
|
|
413
|
+
if (!mask[key])
|
|
414
|
+
continue;
|
|
415
|
+
// overwrite with non-optional
|
|
416
|
+
shape[key] = new Class({
|
|
417
|
+
type: "nonoptional",
|
|
418
|
+
innerType: oldShape[key],
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
for (const key in oldShape) {
|
|
424
|
+
// overwrite with non-optional
|
|
425
|
+
shape[key] = new Class({
|
|
426
|
+
type: "nonoptional",
|
|
427
|
+
innerType: oldShape[key],
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return clone(schema, {
|
|
432
|
+
...schema._zod.def,
|
|
433
|
+
shape,
|
|
434
|
+
// optional: [],
|
|
435
|
+
checks: [],
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
function aborted(x, startIndex = 0) {
|
|
439
|
+
for (let i = startIndex; i < x.issues.length; i++) {
|
|
440
|
+
if (x.issues[i].continue !== true)
|
|
441
|
+
return true;
|
|
442
|
+
}
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
function prefixIssues(path, issues) {
|
|
446
|
+
return issues.map((iss) => {
|
|
447
|
+
var _a;
|
|
448
|
+
(_a = iss).path ?? (_a.path = []);
|
|
449
|
+
iss.path.unshift(path);
|
|
450
|
+
return iss;
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
function unwrapMessage(message) {
|
|
454
|
+
return typeof message === "string" ? message : message?.message;
|
|
455
|
+
}
|
|
456
|
+
function finalizeIssue(iss, ctx, config) {
|
|
457
|
+
const full = { ...iss, path: iss.path ?? [] };
|
|
458
|
+
// for backwards compatibility
|
|
459
|
+
if (!iss.message) {
|
|
460
|
+
const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??
|
|
461
|
+
unwrapMessage(ctx?.error?.(iss)) ??
|
|
462
|
+
unwrapMessage(config.customError?.(iss)) ??
|
|
463
|
+
unwrapMessage(config.localeError?.(iss)) ??
|
|
464
|
+
"Invalid input";
|
|
465
|
+
full.message = message;
|
|
466
|
+
}
|
|
467
|
+
// delete (full as any).def;
|
|
468
|
+
delete full.inst;
|
|
469
|
+
delete full.continue;
|
|
470
|
+
if (!ctx?.reportInput) {
|
|
471
|
+
delete full.input;
|
|
472
|
+
}
|
|
473
|
+
return full;
|
|
474
|
+
}
|
|
475
|
+
function getSizableOrigin(input) {
|
|
476
|
+
if (input instanceof Set)
|
|
477
|
+
return "set";
|
|
478
|
+
if (input instanceof Map)
|
|
479
|
+
return "map";
|
|
480
|
+
if (input instanceof File)
|
|
481
|
+
return "file";
|
|
482
|
+
return "unknown";
|
|
483
|
+
}
|
|
484
|
+
function getLengthableOrigin(input) {
|
|
485
|
+
if (Array.isArray(input))
|
|
486
|
+
return "array";
|
|
487
|
+
if (typeof input === "string")
|
|
488
|
+
return "string";
|
|
489
|
+
return "unknown";
|
|
490
|
+
}
|
|
491
|
+
function issue(...args) {
|
|
492
|
+
const [iss, input, inst] = args;
|
|
493
|
+
if (typeof iss === "string") {
|
|
494
|
+
return {
|
|
495
|
+
message: iss,
|
|
496
|
+
code: "custom",
|
|
497
|
+
input,
|
|
498
|
+
inst,
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
return { ...iss };
|
|
502
|
+
}
|
|
503
|
+
function cleanEnum(obj) {
|
|
504
|
+
return Object.entries(obj)
|
|
505
|
+
.filter(([k, _]) => {
|
|
506
|
+
// return true if NaN, meaning it's not a number, thus a string key
|
|
507
|
+
return Number.isNaN(Number.parseInt(k, 10));
|
|
508
|
+
})
|
|
509
|
+
.map((el) => el[1]);
|
|
510
|
+
}
|
|
511
|
+
// instanceof
|
|
512
|
+
class Class {
|
|
513
|
+
constructor(..._args) { }
|
|
514
|
+
}
|
|
515
|
+
exports.Class = Class;
|