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,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
+
const v3_1 = require("zod/v3");
|
|
8
|
+
const Mocker_js_1 = require("../tests/Mocker.js");
|
|
9
|
+
const val = new Mocker_js_1.Mocker();
|
|
10
|
+
const enumSuite = new benchmark_1.default.Suite("z.enum");
|
|
11
|
+
const enumSchema = v3_1.z.enum(["a", "b", "c"]);
|
|
12
|
+
enumSuite
|
|
13
|
+
.add("valid", () => {
|
|
14
|
+
enumSchema.parse("a");
|
|
15
|
+
})
|
|
16
|
+
.add("invalid", () => {
|
|
17
|
+
try {
|
|
18
|
+
enumSchema.parse("x");
|
|
19
|
+
}
|
|
20
|
+
catch (_e) { }
|
|
21
|
+
})
|
|
22
|
+
.on("cycle", (e) => {
|
|
23
|
+
console.log(`z.enum: ${e.target}`);
|
|
24
|
+
});
|
|
25
|
+
const longEnumSuite = new benchmark_1.default.Suite("long z.enum");
|
|
26
|
+
const longEnumSchema = v3_1.z.enum([
|
|
27
|
+
"one",
|
|
28
|
+
"two",
|
|
29
|
+
"three",
|
|
30
|
+
"four",
|
|
31
|
+
"five",
|
|
32
|
+
"six",
|
|
33
|
+
"seven",
|
|
34
|
+
"eight",
|
|
35
|
+
"nine",
|
|
36
|
+
"ten",
|
|
37
|
+
"eleven",
|
|
38
|
+
"twelve",
|
|
39
|
+
"thirteen",
|
|
40
|
+
"fourteen",
|
|
41
|
+
"fifteen",
|
|
42
|
+
"sixteen",
|
|
43
|
+
"seventeen",
|
|
44
|
+
]);
|
|
45
|
+
longEnumSuite
|
|
46
|
+
.add("valid", () => {
|
|
47
|
+
longEnumSchema.parse("five");
|
|
48
|
+
})
|
|
49
|
+
.add("invalid", () => {
|
|
50
|
+
try {
|
|
51
|
+
longEnumSchema.parse("invalid");
|
|
52
|
+
}
|
|
53
|
+
catch (_e) { }
|
|
54
|
+
})
|
|
55
|
+
.on("cycle", (e) => {
|
|
56
|
+
console.log(`long z.enum: ${e.target}`);
|
|
57
|
+
});
|
|
58
|
+
const undefinedSuite = new benchmark_1.default.Suite("z.undefined");
|
|
59
|
+
const undefinedSchema = v3_1.z.undefined();
|
|
60
|
+
undefinedSuite
|
|
61
|
+
.add("valid", () => {
|
|
62
|
+
undefinedSchema.parse(undefined);
|
|
63
|
+
})
|
|
64
|
+
.add("invalid", () => {
|
|
65
|
+
try {
|
|
66
|
+
undefinedSchema.parse(1);
|
|
67
|
+
}
|
|
68
|
+
catch (_e) { }
|
|
69
|
+
})
|
|
70
|
+
.on("cycle", (e) => {
|
|
71
|
+
console.log(`z.undefined: ${e.target}`);
|
|
72
|
+
});
|
|
73
|
+
const literalSuite = new benchmark_1.default.Suite("z.literal");
|
|
74
|
+
const short = "short";
|
|
75
|
+
const bad = "bad";
|
|
76
|
+
const literalSchema = v3_1.z.literal("short");
|
|
77
|
+
literalSuite
|
|
78
|
+
.add("valid", () => {
|
|
79
|
+
literalSchema.parse(short);
|
|
80
|
+
})
|
|
81
|
+
.add("invalid", () => {
|
|
82
|
+
try {
|
|
83
|
+
literalSchema.parse(bad);
|
|
84
|
+
}
|
|
85
|
+
catch (_e) { }
|
|
86
|
+
})
|
|
87
|
+
.on("cycle", (e) => {
|
|
88
|
+
console.log(`z.literal: ${e.target}`);
|
|
89
|
+
});
|
|
90
|
+
const numberSuite = new benchmark_1.default.Suite("z.number");
|
|
91
|
+
const numberSchema = v3_1.z.number().int();
|
|
92
|
+
numberSuite
|
|
93
|
+
.add("valid", () => {
|
|
94
|
+
numberSchema.parse(1);
|
|
95
|
+
})
|
|
96
|
+
.add("invalid type", () => {
|
|
97
|
+
try {
|
|
98
|
+
numberSchema.parse("bad");
|
|
99
|
+
}
|
|
100
|
+
catch (_e) { }
|
|
101
|
+
})
|
|
102
|
+
.add("invalid number", () => {
|
|
103
|
+
try {
|
|
104
|
+
numberSchema.parse(0.5);
|
|
105
|
+
}
|
|
106
|
+
catch (_e) { }
|
|
107
|
+
})
|
|
108
|
+
.on("cycle", (e) => {
|
|
109
|
+
console.log(`z.number: ${e.target}`);
|
|
110
|
+
});
|
|
111
|
+
const dateSuite = new benchmark_1.default.Suite("z.date");
|
|
112
|
+
const plainDate = v3_1.z.date();
|
|
113
|
+
const minMaxDate = v3_1.z.date().min(new Date("2021-01-01")).max(new Date("2030-01-01"));
|
|
114
|
+
dateSuite
|
|
115
|
+
.add("valid", () => {
|
|
116
|
+
plainDate.parse(new Date());
|
|
117
|
+
})
|
|
118
|
+
.add("invalid", () => {
|
|
119
|
+
try {
|
|
120
|
+
plainDate.parse(1);
|
|
121
|
+
}
|
|
122
|
+
catch (_e) { }
|
|
123
|
+
})
|
|
124
|
+
.add("valid min and max", () => {
|
|
125
|
+
minMaxDate.parse(new Date("2023-01-01"));
|
|
126
|
+
})
|
|
127
|
+
.add("invalid min", () => {
|
|
128
|
+
try {
|
|
129
|
+
minMaxDate.parse(new Date("2019-01-01"));
|
|
130
|
+
}
|
|
131
|
+
catch (_e) { }
|
|
132
|
+
})
|
|
133
|
+
.add("invalid max", () => {
|
|
134
|
+
try {
|
|
135
|
+
minMaxDate.parse(new Date("2031-01-01"));
|
|
136
|
+
}
|
|
137
|
+
catch (_e) { }
|
|
138
|
+
})
|
|
139
|
+
.on("cycle", (e) => {
|
|
140
|
+
console.log(`z.date: ${e.target}`);
|
|
141
|
+
});
|
|
142
|
+
const symbolSuite = new benchmark_1.default.Suite("z.symbol");
|
|
143
|
+
const symbolSchema = v3_1.z.symbol();
|
|
144
|
+
symbolSuite
|
|
145
|
+
.add("valid", () => {
|
|
146
|
+
symbolSchema.parse(val.symbol);
|
|
147
|
+
})
|
|
148
|
+
.add("invalid", () => {
|
|
149
|
+
try {
|
|
150
|
+
symbolSchema.parse(1);
|
|
151
|
+
}
|
|
152
|
+
catch (_e) { }
|
|
153
|
+
})
|
|
154
|
+
.on("cycle", (e) => {
|
|
155
|
+
console.log(`z.symbol: ${e.target}`);
|
|
156
|
+
});
|
|
157
|
+
exports.default = {
|
|
158
|
+
suites: [enumSuite, longEnumSuite, undefinedSuite, literalSuite, numberSuite, dateSuite, symbolSuite],
|
|
159
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
+
const v3_1 = require("zod/v3");
|
|
8
|
+
const shortSuite = new benchmark_1.default.Suite("realworld");
|
|
9
|
+
const People = v3_1.z.array(v3_1.z.object({
|
|
10
|
+
type: v3_1.z.literal("person"),
|
|
11
|
+
hair: v3_1.z.enum(["blue", "brown"]),
|
|
12
|
+
active: v3_1.z.boolean(),
|
|
13
|
+
name: v3_1.z.string(),
|
|
14
|
+
age: v3_1.z.number().int(),
|
|
15
|
+
hobbies: v3_1.z.array(v3_1.z.string()),
|
|
16
|
+
address: v3_1.z.object({
|
|
17
|
+
street: v3_1.z.string(),
|
|
18
|
+
zip: v3_1.z.string(),
|
|
19
|
+
country: v3_1.z.string(),
|
|
20
|
+
}),
|
|
21
|
+
}));
|
|
22
|
+
let i = 0;
|
|
23
|
+
function num() {
|
|
24
|
+
return ++i;
|
|
25
|
+
}
|
|
26
|
+
function str() {
|
|
27
|
+
return (++i % 100).toString(16);
|
|
28
|
+
}
|
|
29
|
+
function array(fn) {
|
|
30
|
+
return Array.from({ length: ++i % 10 }, () => fn());
|
|
31
|
+
}
|
|
32
|
+
const people = Array.from({ length: 100 }, () => {
|
|
33
|
+
return {
|
|
34
|
+
type: "person",
|
|
35
|
+
hair: i % 2 ? "blue" : "brown",
|
|
36
|
+
active: !!(i % 2),
|
|
37
|
+
name: str(),
|
|
38
|
+
age: num(),
|
|
39
|
+
hobbies: array(str),
|
|
40
|
+
address: {
|
|
41
|
+
street: str(),
|
|
42
|
+
zip: str(),
|
|
43
|
+
country: str(),
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
shortSuite
|
|
48
|
+
.add("valid", () => {
|
|
49
|
+
People.parse(people);
|
|
50
|
+
})
|
|
51
|
+
.on("cycle", (e) => {
|
|
52
|
+
console.log(`${shortSuite.name}: ${e.target}`);
|
|
53
|
+
});
|
|
54
|
+
exports.default = {
|
|
55
|
+
suites: [shortSuite],
|
|
56
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
+
const v3_1 = require("zod/v3");
|
|
8
|
+
const SUITE_NAME = "z.string";
|
|
9
|
+
const suite = new benchmark_1.default.Suite(SUITE_NAME);
|
|
10
|
+
const empty = "";
|
|
11
|
+
const short = "short";
|
|
12
|
+
const long = "long".repeat(256);
|
|
13
|
+
const manual = (str) => {
|
|
14
|
+
if (typeof str !== "string") {
|
|
15
|
+
throw new Error("Not a string");
|
|
16
|
+
}
|
|
17
|
+
return str;
|
|
18
|
+
};
|
|
19
|
+
const stringSchema = v3_1.z.string();
|
|
20
|
+
const optionalStringSchema = v3_1.z.string().optional();
|
|
21
|
+
const optionalNullableStringSchema = v3_1.z.string().optional().nullable();
|
|
22
|
+
suite
|
|
23
|
+
.add("empty string", () => {
|
|
24
|
+
stringSchema.parse(empty);
|
|
25
|
+
})
|
|
26
|
+
.add("short string", () => {
|
|
27
|
+
stringSchema.parse(short);
|
|
28
|
+
})
|
|
29
|
+
.add("long string", () => {
|
|
30
|
+
stringSchema.parse(long);
|
|
31
|
+
})
|
|
32
|
+
.add("optional string", () => {
|
|
33
|
+
optionalStringSchema.parse(long);
|
|
34
|
+
})
|
|
35
|
+
.add("nullable string", () => {
|
|
36
|
+
optionalNullableStringSchema.parse(long);
|
|
37
|
+
})
|
|
38
|
+
.add("nullable (null) string", () => {
|
|
39
|
+
optionalNullableStringSchema.parse(null);
|
|
40
|
+
})
|
|
41
|
+
.add("invalid: null", () => {
|
|
42
|
+
try {
|
|
43
|
+
stringSchema.parse(null);
|
|
44
|
+
}
|
|
45
|
+
catch (_err) { }
|
|
46
|
+
})
|
|
47
|
+
.add("manual parser: long", () => {
|
|
48
|
+
manual(long);
|
|
49
|
+
})
|
|
50
|
+
.on("cycle", (e) => {
|
|
51
|
+
console.log(`${SUITE_NAME}: ${e.target}`);
|
|
52
|
+
});
|
|
53
|
+
exports.default = {
|
|
54
|
+
suites: [suite],
|
|
55
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
+
const v3_1 = require("zod/v3");
|
|
8
|
+
const doubleSuite = new benchmark_1.default.Suite("z.union: double");
|
|
9
|
+
const manySuite = new benchmark_1.default.Suite("z.union: many");
|
|
10
|
+
const aSchema = v3_1.z.object({
|
|
11
|
+
type: v3_1.z.literal("a"),
|
|
12
|
+
});
|
|
13
|
+
const objA = {
|
|
14
|
+
type: "a",
|
|
15
|
+
};
|
|
16
|
+
const bSchema = v3_1.z.object({
|
|
17
|
+
type: v3_1.z.literal("b"),
|
|
18
|
+
});
|
|
19
|
+
const objB = {
|
|
20
|
+
type: "b",
|
|
21
|
+
};
|
|
22
|
+
const cSchema = v3_1.z.object({
|
|
23
|
+
type: v3_1.z.literal("c"),
|
|
24
|
+
});
|
|
25
|
+
const objC = {
|
|
26
|
+
type: "c",
|
|
27
|
+
};
|
|
28
|
+
const dSchema = v3_1.z.object({
|
|
29
|
+
type: v3_1.z.literal("d"),
|
|
30
|
+
});
|
|
31
|
+
const double = v3_1.z.union([aSchema, bSchema]);
|
|
32
|
+
const many = v3_1.z.union([aSchema, bSchema, cSchema, dSchema]);
|
|
33
|
+
doubleSuite
|
|
34
|
+
.add("valid: a", () => {
|
|
35
|
+
double.parse(objA);
|
|
36
|
+
})
|
|
37
|
+
.add("valid: b", () => {
|
|
38
|
+
double.parse(objB);
|
|
39
|
+
})
|
|
40
|
+
.add("invalid: null", () => {
|
|
41
|
+
try {
|
|
42
|
+
double.parse(null);
|
|
43
|
+
}
|
|
44
|
+
catch (_err) { }
|
|
45
|
+
})
|
|
46
|
+
.add("invalid: wrong shape", () => {
|
|
47
|
+
try {
|
|
48
|
+
double.parse(objC);
|
|
49
|
+
}
|
|
50
|
+
catch (_err) { }
|
|
51
|
+
})
|
|
52
|
+
.on("cycle", (e) => {
|
|
53
|
+
console.log(`${doubleSuite.name}: ${e.target}`);
|
|
54
|
+
});
|
|
55
|
+
manySuite
|
|
56
|
+
.add("valid: a", () => {
|
|
57
|
+
many.parse(objA);
|
|
58
|
+
})
|
|
59
|
+
.add("valid: c", () => {
|
|
60
|
+
many.parse(objC);
|
|
61
|
+
})
|
|
62
|
+
.add("invalid: null", () => {
|
|
63
|
+
try {
|
|
64
|
+
many.parse(null);
|
|
65
|
+
}
|
|
66
|
+
catch (_err) { }
|
|
67
|
+
})
|
|
68
|
+
.add("invalid: wrong shape", () => {
|
|
69
|
+
try {
|
|
70
|
+
many.parse({ type: "unknown" });
|
|
71
|
+
}
|
|
72
|
+
catch (_err) { }
|
|
73
|
+
})
|
|
74
|
+
.on("cycle", (e) => {
|
|
75
|
+
console.log(`${manySuite.name}: ${e.target}`);
|
|
76
|
+
});
|
|
77
|
+
exports.default = {
|
|
78
|
+
suites: [doubleSuite, manySuite],
|
|
79
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultErrorMap = void 0;
|
|
7
|
+
exports.setErrorMap = setErrorMap;
|
|
8
|
+
exports.getErrorMap = getErrorMap;
|
|
9
|
+
const en_js_1 = __importDefault(require("./locales/en.js"));
|
|
10
|
+
exports.defaultErrorMap = en_js_1.default;
|
|
11
|
+
let overrideErrorMap = en_js_1.default;
|
|
12
|
+
function setErrorMap(map) {
|
|
13
|
+
overrideErrorMap = map;
|
|
14
|
+
}
|
|
15
|
+
function getErrorMap() {
|
|
16
|
+
return overrideErrorMap;
|
|
17
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./errors.js"), exports);
|
|
18
|
+
__exportStar(require("./helpers/parseUtil.js"), exports);
|
|
19
|
+
__exportStar(require("./helpers/typeAliases.js"), exports);
|
|
20
|
+
__exportStar(require("./helpers/util.js"), exports);
|
|
21
|
+
__exportStar(require("./types.js"), exports);
|
|
22
|
+
__exportStar(require("./ZodError.js"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare namespace enumUtil {
|
|
2
|
+
type UnionToIntersectionFn<T> = (T extends unknown ? (k: () => T) => void : never) extends (k: infer Intersection) => void ? Intersection : never;
|
|
3
|
+
type GetUnionLast<T> = UnionToIntersectionFn<T> extends () => infer Last ? Last : never;
|
|
4
|
+
type UnionToTuple<T, Tuple extends unknown[] = []> = [T] extends [never] ? Tuple : UnionToTuple<Exclude<T, GetUnionLast<T>>, [GetUnionLast<T>, ...Tuple]>;
|
|
5
|
+
type CastToStringTuple<T> = T extends [string, ...string[]] ? T : never;
|
|
6
|
+
export type UnionToTupleString<T> = CastToStringTuple<UnionToTuple<T>>;
|
|
7
|
+
export {};
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorUtil = void 0;
|
|
4
|
+
var errorUtil;
|
|
5
|
+
(function (errorUtil) {
|
|
6
|
+
errorUtil.errToObj = (message) => typeof message === "string" ? { message } : message || {};
|
|
7
|
+
// biome-ignore lint:
|
|
8
|
+
errorUtil.toString = (message) => typeof message === "string" ? message : message?.message;
|
|
9
|
+
})(errorUtil || (exports.errorUtil = errorUtil = {}));
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { IssueData, ZodErrorMap, ZodIssue } from "../ZodError.js";
|
|
2
|
+
import type { ZodParsedType } from "./util.js";
|
|
3
|
+
export declare const makeIssue: (params: {
|
|
4
|
+
data: any;
|
|
5
|
+
path: (string | number)[];
|
|
6
|
+
errorMaps: ZodErrorMap[];
|
|
7
|
+
issueData: IssueData;
|
|
8
|
+
}) => ZodIssue;
|
|
9
|
+
export type ParseParams = {
|
|
10
|
+
path: (string | number)[];
|
|
11
|
+
errorMap: ZodErrorMap;
|
|
12
|
+
async: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type ParsePathComponent = string | number;
|
|
15
|
+
export type ParsePath = ParsePathComponent[];
|
|
16
|
+
export declare const EMPTY_PATH: ParsePath;
|
|
17
|
+
export interface ParseContext {
|
|
18
|
+
readonly common: {
|
|
19
|
+
readonly issues: ZodIssue[];
|
|
20
|
+
readonly contextualErrorMap?: ZodErrorMap | undefined;
|
|
21
|
+
readonly async: boolean;
|
|
22
|
+
};
|
|
23
|
+
readonly path: ParsePath;
|
|
24
|
+
readonly schemaErrorMap?: ZodErrorMap | undefined;
|
|
25
|
+
readonly parent: ParseContext | null;
|
|
26
|
+
readonly data: any;
|
|
27
|
+
readonly parsedType: ZodParsedType;
|
|
28
|
+
}
|
|
29
|
+
export type ParseInput = {
|
|
30
|
+
data: any;
|
|
31
|
+
path: (string | number)[];
|
|
32
|
+
parent: ParseContext;
|
|
33
|
+
};
|
|
34
|
+
export declare function addIssueToContext(ctx: ParseContext, issueData: IssueData): void;
|
|
35
|
+
export type ObjectPair = {
|
|
36
|
+
key: SyncParseReturnType<any>;
|
|
37
|
+
value: SyncParseReturnType<any>;
|
|
38
|
+
};
|
|
39
|
+
export declare class ParseStatus {
|
|
40
|
+
value: "aborted" | "dirty" | "valid";
|
|
41
|
+
dirty(): void;
|
|
42
|
+
abort(): void;
|
|
43
|
+
static mergeArray(status: ParseStatus, results: SyncParseReturnType<any>[]): SyncParseReturnType;
|
|
44
|
+
static mergeObjectAsync(status: ParseStatus, pairs: {
|
|
45
|
+
key: ParseReturnType<any>;
|
|
46
|
+
value: ParseReturnType<any>;
|
|
47
|
+
}[]): Promise<SyncParseReturnType<any>>;
|
|
48
|
+
static mergeObjectSync(status: ParseStatus, pairs: {
|
|
49
|
+
key: SyncParseReturnType<any>;
|
|
50
|
+
value: SyncParseReturnType<any>;
|
|
51
|
+
alwaysSet?: boolean;
|
|
52
|
+
}[]): SyncParseReturnType;
|
|
53
|
+
}
|
|
54
|
+
export interface ParseResult {
|
|
55
|
+
status: "aborted" | "dirty" | "valid";
|
|
56
|
+
data: any;
|
|
57
|
+
}
|
|
58
|
+
export type INVALID = {
|
|
59
|
+
status: "aborted";
|
|
60
|
+
};
|
|
61
|
+
export declare const INVALID: INVALID;
|
|
62
|
+
export type DIRTY<T> = {
|
|
63
|
+
status: "dirty";
|
|
64
|
+
value: T;
|
|
65
|
+
};
|
|
66
|
+
export declare const DIRTY: <T>(value: T) => DIRTY<T>;
|
|
67
|
+
export type OK<T> = {
|
|
68
|
+
status: "valid";
|
|
69
|
+
value: T;
|
|
70
|
+
};
|
|
71
|
+
export declare const OK: <T>(value: T) => OK<T>;
|
|
72
|
+
export type SyncParseReturnType<T = any> = OK<T> | DIRTY<T> | INVALID;
|
|
73
|
+
export type AsyncParseReturnType<T> = Promise<SyncParseReturnType<T>>;
|
|
74
|
+
export type ParseReturnType<T> = SyncParseReturnType<T> | AsyncParseReturnType<T>;
|
|
75
|
+
export declare const isAborted: (x: ParseReturnType<any>) => x is INVALID;
|
|
76
|
+
export declare const isDirty: <T>(x: ParseReturnType<T>) => x is OK<T> | DIRTY<T>;
|
|
77
|
+
export declare const isValid: <T>(x: ParseReturnType<T>) => x is OK<T>;
|
|
78
|
+
export declare const isAsync: <T>(x: ParseReturnType<T>) => x is AsyncParseReturnType<T>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.EMPTY_PATH = exports.makeIssue = void 0;
|
|
7
|
+
exports.addIssueToContext = addIssueToContext;
|
|
8
|
+
const errors_js_1 = require("../errors.js");
|
|
9
|
+
const en_js_1 = __importDefault(require("../locales/en.js"));
|
|
10
|
+
const makeIssue = (params) => {
|
|
11
|
+
const { data, path, errorMaps, issueData } = params;
|
|
12
|
+
const fullPath = [...path, ...(issueData.path || [])];
|
|
13
|
+
const fullIssue = {
|
|
14
|
+
...issueData,
|
|
15
|
+
path: fullPath,
|
|
16
|
+
};
|
|
17
|
+
if (issueData.message !== undefined) {
|
|
18
|
+
return {
|
|
19
|
+
...issueData,
|
|
20
|
+
path: fullPath,
|
|
21
|
+
message: issueData.message,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
let errorMessage = "";
|
|
25
|
+
const maps = errorMaps
|
|
26
|
+
.filter((m) => !!m)
|
|
27
|
+
.slice()
|
|
28
|
+
.reverse();
|
|
29
|
+
for (const map of maps) {
|
|
30
|
+
errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
...issueData,
|
|
34
|
+
path: fullPath,
|
|
35
|
+
message: errorMessage,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.makeIssue = makeIssue;
|
|
39
|
+
exports.EMPTY_PATH = [];
|
|
40
|
+
function addIssueToContext(ctx, issueData) {
|
|
41
|
+
const overrideMap = (0, errors_js_1.getErrorMap)();
|
|
42
|
+
const issue = (0, exports.makeIssue)({
|
|
43
|
+
issueData: issueData,
|
|
44
|
+
data: ctx.data,
|
|
45
|
+
path: ctx.path,
|
|
46
|
+
errorMaps: [
|
|
47
|
+
ctx.common.contextualErrorMap, // contextual error map is first priority
|
|
48
|
+
ctx.schemaErrorMap, // then schema-bound map if available
|
|
49
|
+
overrideMap, // then global override map
|
|
50
|
+
overrideMap === en_js_1.default ? undefined : en_js_1.default, // then global default map
|
|
51
|
+
].filter((x) => !!x),
|
|
52
|
+
});
|
|
53
|
+
ctx.common.issues.push(issue);
|
|
54
|
+
}
|
|
55
|
+
class ParseStatus {
|
|
56
|
+
constructor() {
|
|
57
|
+
this.value = "valid";
|
|
58
|
+
}
|
|
59
|
+
dirty() {
|
|
60
|
+
if (this.value === "valid")
|
|
61
|
+
this.value = "dirty";
|
|
62
|
+
}
|
|
63
|
+
abort() {
|
|
64
|
+
if (this.value !== "aborted")
|
|
65
|
+
this.value = "aborted";
|
|
66
|
+
}
|
|
67
|
+
static mergeArray(status, results) {
|
|
68
|
+
const arrayValue = [];
|
|
69
|
+
for (const s of results) {
|
|
70
|
+
if (s.status === "aborted")
|
|
71
|
+
return exports.INVALID;
|
|
72
|
+
if (s.status === "dirty")
|
|
73
|
+
status.dirty();
|
|
74
|
+
arrayValue.push(s.value);
|
|
75
|
+
}
|
|
76
|
+
return { status: status.value, value: arrayValue };
|
|
77
|
+
}
|
|
78
|
+
static async mergeObjectAsync(status, pairs) {
|
|
79
|
+
const syncPairs = [];
|
|
80
|
+
for (const pair of pairs) {
|
|
81
|
+
const key = await pair.key;
|
|
82
|
+
const value = await pair.value;
|
|
83
|
+
syncPairs.push({
|
|
84
|
+
key,
|
|
85
|
+
value,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return ParseStatus.mergeObjectSync(status, syncPairs);
|
|
89
|
+
}
|
|
90
|
+
static mergeObjectSync(status, pairs) {
|
|
91
|
+
const finalObject = {};
|
|
92
|
+
for (const pair of pairs) {
|
|
93
|
+
const { key, value } = pair;
|
|
94
|
+
if (key.status === "aborted")
|
|
95
|
+
return exports.INVALID;
|
|
96
|
+
if (value.status === "aborted")
|
|
97
|
+
return exports.INVALID;
|
|
98
|
+
if (key.status === "dirty")
|
|
99
|
+
status.dirty();
|
|
100
|
+
if (value.status === "dirty")
|
|
101
|
+
status.dirty();
|
|
102
|
+
if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
|
|
103
|
+
finalObject[key.value] = value.value;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return { status: status.value, value: finalObject };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.ParseStatus = ParseStatus;
|
|
110
|
+
exports.INVALID = Object.freeze({
|
|
111
|
+
status: "aborted",
|
|
112
|
+
});
|
|
113
|
+
const DIRTY = (value) => ({ status: "dirty", value });
|
|
114
|
+
exports.DIRTY = DIRTY;
|
|
115
|
+
const OK = (value) => ({ status: "valid", value });
|
|
116
|
+
exports.OK = OK;
|
|
117
|
+
const isAborted = (x) => x.status === "aborted";
|
|
118
|
+
exports.isAborted = isAborted;
|
|
119
|
+
const isDirty = (x) => x.status === "dirty";
|
|
120
|
+
exports.isDirty = isDirty;
|
|
121
|
+
const isValid = (x) => x.status === "valid";
|
|
122
|
+
exports.isValid = isValid;
|
|
123
|
+
const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
|
|
124
|
+
exports.isAsync = isAsync;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodRawShape, ZodTuple, ZodTupleItems, ZodTypeAny } from "../types.js";
|
|
2
|
+
export declare namespace partialUtil {
|
|
3
|
+
type DeepPartial<T extends ZodTypeAny> = T extends ZodObject<ZodRawShape> ? ZodObject<{
|
|
4
|
+
[k in keyof T["shape"]]: ZodOptional<DeepPartial<T["shape"][k]>>;
|
|
5
|
+
}, T["_def"]["unknownKeys"], T["_def"]["catchall"]> : T extends ZodArray<infer Type, infer Card> ? ZodArray<DeepPartial<Type>, Card> : T extends ZodOptional<infer Type> ? ZodOptional<DeepPartial<Type>> : T extends ZodNullable<infer Type> ? ZodNullable<DeepPartial<Type>> : T extends ZodTuple<infer Items> ? {
|
|
6
|
+
[k in keyof Items]: Items[k] extends ZodTypeAny ? DeepPartial<Items[k]> : never;
|
|
7
|
+
} extends infer PI ? PI extends ZodTupleItems ? ZodTuple<PI> : never : never : T;
|
|
8
|
+
}
|