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,116 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const Sizable = {
|
|
3
|
+
string: { unit: "harf", verb: "olmalıdır" },
|
|
4
|
+
file: { unit: "bayt", verb: "olmalıdır" },
|
|
5
|
+
array: { unit: "unsur", verb: "olmalıdır" },
|
|
6
|
+
set: { unit: "unsur", verb: "olmalıdır" },
|
|
7
|
+
};
|
|
8
|
+
function getSizing(origin) {
|
|
9
|
+
return Sizable[origin] ?? null;
|
|
10
|
+
}
|
|
11
|
+
export const parsedType = (data) => {
|
|
12
|
+
const t = typeof data;
|
|
13
|
+
switch (t) {
|
|
14
|
+
case "number": {
|
|
15
|
+
return Number.isNaN(data) ? "NaN" : "numara";
|
|
16
|
+
}
|
|
17
|
+
case "object": {
|
|
18
|
+
if (Array.isArray(data)) {
|
|
19
|
+
return "saf";
|
|
20
|
+
}
|
|
21
|
+
if (data === null) {
|
|
22
|
+
return "gayb";
|
|
23
|
+
}
|
|
24
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
25
|
+
return data.constructor.name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
};
|
|
31
|
+
const Nouns = {
|
|
32
|
+
regex: "giren",
|
|
33
|
+
email: "epostagâh",
|
|
34
|
+
url: "URL",
|
|
35
|
+
emoji: "emoji",
|
|
36
|
+
uuid: "UUID",
|
|
37
|
+
uuidv4: "UUIDv4",
|
|
38
|
+
uuidv6: "UUIDv6",
|
|
39
|
+
nanoid: "nanoid",
|
|
40
|
+
guid: "GUID",
|
|
41
|
+
cuid: "cuid",
|
|
42
|
+
cuid2: "cuid2",
|
|
43
|
+
ulid: "ULID",
|
|
44
|
+
xid: "XID",
|
|
45
|
+
ksuid: "KSUID",
|
|
46
|
+
datetime: "ISO hengâmı",
|
|
47
|
+
date: "ISO tarihi",
|
|
48
|
+
time: "ISO zamanı",
|
|
49
|
+
duration: "ISO müddeti",
|
|
50
|
+
ipv4: "IPv4 nişânı",
|
|
51
|
+
ipv6: "IPv6 nişânı",
|
|
52
|
+
cidrv4: "IPv4 menzili",
|
|
53
|
+
cidrv6: "IPv6 menzili",
|
|
54
|
+
base64: "base64-şifreli metin",
|
|
55
|
+
base64url: "base64url-şifreli metin",
|
|
56
|
+
json_string: "JSON metin",
|
|
57
|
+
e164: "E.164 sayısı",
|
|
58
|
+
jwt: "JWT",
|
|
59
|
+
template_literal: "giren",
|
|
60
|
+
};
|
|
61
|
+
const error = (issue) => {
|
|
62
|
+
switch (issue.code) {
|
|
63
|
+
case "invalid_type":
|
|
64
|
+
return `Fâsit giren: umulan ${issue.expected}, alınan ${parsedType(issue.input)}`;
|
|
65
|
+
// return `Fâsit giren: umulan ${issue.expected}, alınan ${util.getParsedType(issue.input)}`;
|
|
66
|
+
case "invalid_value":
|
|
67
|
+
if (issue.values.length === 1)
|
|
68
|
+
return `Fâsit giren: umulan ${util.stringifyPrimitive(issue.values[0])}`;
|
|
69
|
+
return `Fâsit tercih: mûteberler ${util.joinValues(issue.values, "|")}`;
|
|
70
|
+
case "too_big": {
|
|
71
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
72
|
+
const sizing = getSizing(issue.origin);
|
|
73
|
+
if (sizing)
|
|
74
|
+
return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmalıydı.`;
|
|
75
|
+
return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} olmalıydı.`;
|
|
76
|
+
}
|
|
77
|
+
case "too_small": {
|
|
78
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
79
|
+
const sizing = getSizing(issue.origin);
|
|
80
|
+
if (sizing) {
|
|
81
|
+
return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;
|
|
82
|
+
}
|
|
83
|
+
return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} olmalıydı.`;
|
|
84
|
+
}
|
|
85
|
+
case "invalid_format": {
|
|
86
|
+
const _issue = issue;
|
|
87
|
+
if (_issue.format === "starts_with")
|
|
88
|
+
return `Fâsit metin: "${_issue.prefix}" ile başlamalı.`;
|
|
89
|
+
if (_issue.format === "ends_with")
|
|
90
|
+
return `Fâsit metin: "${_issue.suffix}" ile bitmeli.`;
|
|
91
|
+
if (_issue.format === "includes")
|
|
92
|
+
return `Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;
|
|
93
|
+
if (_issue.format === "regex")
|
|
94
|
+
return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;
|
|
95
|
+
return `Fâsit ${Nouns[_issue.format] ?? issue.format}`;
|
|
96
|
+
}
|
|
97
|
+
case "not_multiple_of":
|
|
98
|
+
return `Fâsit sayı: ${issue.divisor} katı olmalıydı.`;
|
|
99
|
+
case "unrecognized_keys":
|
|
100
|
+
return `Tanınmayan anahtar ${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
101
|
+
case "invalid_key":
|
|
102
|
+
return `${issue.origin} için tanınmayan anahtar var.`;
|
|
103
|
+
case "invalid_union":
|
|
104
|
+
return "Giren tanınamadı.";
|
|
105
|
+
case "invalid_element":
|
|
106
|
+
return `${issue.origin} için tanınmayan kıymet var.`;
|
|
107
|
+
default:
|
|
108
|
+
return `Kıymet tanınamadı.`;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
export { error };
|
|
112
|
+
export default function () {
|
|
113
|
+
return {
|
|
114
|
+
localeError: error,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const Sizable = {
|
|
3
|
+
string: { unit: "znaków", verb: "mieć" },
|
|
4
|
+
file: { unit: "bajtów", verb: "mieć" },
|
|
5
|
+
array: { unit: "elementów", verb: "mieć" },
|
|
6
|
+
set: { unit: "elementów", verb: "mieć" },
|
|
7
|
+
};
|
|
8
|
+
function getSizing(origin) {
|
|
9
|
+
return Sizable[origin] ?? null;
|
|
10
|
+
}
|
|
11
|
+
export const parsedType = (data) => {
|
|
12
|
+
const t = typeof data;
|
|
13
|
+
switch (t) {
|
|
14
|
+
case "number": {
|
|
15
|
+
return Number.isNaN(data) ? "NaN" : "liczba";
|
|
16
|
+
}
|
|
17
|
+
case "object": {
|
|
18
|
+
if (Array.isArray(data)) {
|
|
19
|
+
return "tablica";
|
|
20
|
+
}
|
|
21
|
+
if (data === null) {
|
|
22
|
+
return "null";
|
|
23
|
+
}
|
|
24
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
25
|
+
return data.constructor.name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
};
|
|
31
|
+
const Nouns = {
|
|
32
|
+
regex: "wyrażenie",
|
|
33
|
+
email: "adres email",
|
|
34
|
+
url: "URL",
|
|
35
|
+
emoji: "emoji",
|
|
36
|
+
uuid: "UUID",
|
|
37
|
+
uuidv4: "UUIDv4",
|
|
38
|
+
uuidv6: "UUIDv6",
|
|
39
|
+
nanoid: "nanoid",
|
|
40
|
+
guid: "GUID",
|
|
41
|
+
cuid: "cuid",
|
|
42
|
+
cuid2: "cuid2",
|
|
43
|
+
ulid: "ULID",
|
|
44
|
+
xid: "XID",
|
|
45
|
+
ksuid: "KSUID",
|
|
46
|
+
datetime: "data i godzina w formacie ISO",
|
|
47
|
+
date: "data w formacie ISO",
|
|
48
|
+
time: "godzina w formacie ISO",
|
|
49
|
+
duration: "czas trwania ISO",
|
|
50
|
+
ipv4: "adres IPv4",
|
|
51
|
+
ipv6: "adres IPv6",
|
|
52
|
+
cidrv4: "zakres IPv4",
|
|
53
|
+
cidrv6: "zakres IPv6",
|
|
54
|
+
base64: "ciąg znaków zakodowany w formacie base64",
|
|
55
|
+
base64url: "ciąg znaków zakodowany w formacie base64url",
|
|
56
|
+
json_string: "ciąg znaków w formacie JSON",
|
|
57
|
+
e164: "liczba E.164",
|
|
58
|
+
jwt: "JWT",
|
|
59
|
+
template_literal: "wejście",
|
|
60
|
+
};
|
|
61
|
+
const error = (issue) => {
|
|
62
|
+
switch (issue.code) {
|
|
63
|
+
case "invalid_type":
|
|
64
|
+
return `Nieprawidłowe dane wejściowe: oczekiwano ${issue.expected}, otrzymano ${parsedType(issue.input)}`;
|
|
65
|
+
case "invalid_value":
|
|
66
|
+
if (issue.values.length === 1)
|
|
67
|
+
return `Nieprawidłowe dane wejściowe: oczekiwano ${util.stringifyPrimitive(issue.values[0])}`;
|
|
68
|
+
return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${util.joinValues(issue.values, "|")}`;
|
|
69
|
+
case "too_big": {
|
|
70
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
71
|
+
const sizing = getSizing(issue.origin);
|
|
72
|
+
if (sizing) {
|
|
73
|
+
return `Za duża wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementów"}`;
|
|
74
|
+
}
|
|
75
|
+
return `Zbyt duż(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.maximum.toString()}`;
|
|
76
|
+
}
|
|
77
|
+
case "too_small": {
|
|
78
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
79
|
+
const sizing = getSizing(issue.origin);
|
|
80
|
+
if (sizing) {
|
|
81
|
+
return `Za mała wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.minimum.toString()} ${sizing.unit ?? "elementów"}`;
|
|
82
|
+
}
|
|
83
|
+
return `Zbyt mał(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.minimum.toString()}`;
|
|
84
|
+
}
|
|
85
|
+
case "invalid_format": {
|
|
86
|
+
const _issue = issue;
|
|
87
|
+
if (_issue.format === "starts_with")
|
|
88
|
+
return `Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;
|
|
89
|
+
if (_issue.format === "ends_with")
|
|
90
|
+
return `Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;
|
|
91
|
+
if (_issue.format === "includes")
|
|
92
|
+
return `Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;
|
|
93
|
+
if (_issue.format === "regex")
|
|
94
|
+
return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;
|
|
95
|
+
return `Nieprawidłow(y/a/e) ${Nouns[_issue.format] ?? issue.format}`;
|
|
96
|
+
}
|
|
97
|
+
case "not_multiple_of":
|
|
98
|
+
return `Nieprawidłowa liczba: musi być wielokrotnością ${issue.divisor}`;
|
|
99
|
+
case "unrecognized_keys":
|
|
100
|
+
return `Nierozpoznane klucze${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
101
|
+
case "invalid_key":
|
|
102
|
+
return `Nieprawidłowy klucz w ${issue.origin}`;
|
|
103
|
+
case "invalid_union":
|
|
104
|
+
return "Nieprawidłowe dane wejściowe";
|
|
105
|
+
case "invalid_element":
|
|
106
|
+
return `Nieprawidłowa wartość w ${issue.origin}`;
|
|
107
|
+
default:
|
|
108
|
+
return `Nieprawidłowe dane wejściowe`;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
export { error };
|
|
112
|
+
export default function () {
|
|
113
|
+
return {
|
|
114
|
+
localeError: error,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const Sizable = {
|
|
3
|
+
string: { unit: "caracteres", verb: "ter" },
|
|
4
|
+
file: { unit: "bytes", verb: "ter" },
|
|
5
|
+
array: { unit: "itens", verb: "ter" },
|
|
6
|
+
set: { unit: "itens", verb: "ter" },
|
|
7
|
+
};
|
|
8
|
+
function getSizing(origin) {
|
|
9
|
+
return Sizable[origin] ?? null;
|
|
10
|
+
}
|
|
11
|
+
export const parsedType = (data) => {
|
|
12
|
+
const t = typeof data;
|
|
13
|
+
switch (t) {
|
|
14
|
+
case "number": {
|
|
15
|
+
return Number.isNaN(data) ? "NaN" : "número";
|
|
16
|
+
}
|
|
17
|
+
case "object": {
|
|
18
|
+
if (Array.isArray(data)) {
|
|
19
|
+
return "array";
|
|
20
|
+
}
|
|
21
|
+
if (data === null) {
|
|
22
|
+
return "nulo";
|
|
23
|
+
}
|
|
24
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
25
|
+
return data.constructor.name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
};
|
|
31
|
+
const Nouns = {
|
|
32
|
+
regex: "padrão",
|
|
33
|
+
email: "endereço de e-mail",
|
|
34
|
+
url: "URL",
|
|
35
|
+
emoji: "emoji",
|
|
36
|
+
uuid: "UUID",
|
|
37
|
+
uuidv4: "UUIDv4",
|
|
38
|
+
uuidv6: "UUIDv6",
|
|
39
|
+
nanoid: "nanoid",
|
|
40
|
+
guid: "GUID",
|
|
41
|
+
cuid: "cuid",
|
|
42
|
+
cuid2: "cuid2",
|
|
43
|
+
ulid: "ULID",
|
|
44
|
+
xid: "XID",
|
|
45
|
+
ksuid: "KSUID",
|
|
46
|
+
datetime: "data e hora ISO",
|
|
47
|
+
date: "data ISO",
|
|
48
|
+
time: "hora ISO",
|
|
49
|
+
duration: "duração ISO",
|
|
50
|
+
ipv4: "endereço IPv4",
|
|
51
|
+
ipv6: "endereço IPv6",
|
|
52
|
+
cidrv4: "faixa de IPv4",
|
|
53
|
+
cidrv6: "faixa de IPv6",
|
|
54
|
+
base64: "texto codificado em base64",
|
|
55
|
+
base64url: "URL codificada em base64",
|
|
56
|
+
json_string: "texto JSON",
|
|
57
|
+
e164: "número E.164",
|
|
58
|
+
jwt: "JWT",
|
|
59
|
+
template_literal: "entrada",
|
|
60
|
+
};
|
|
61
|
+
const error = (issue) => {
|
|
62
|
+
switch (issue.code) {
|
|
63
|
+
case "invalid_type":
|
|
64
|
+
return `Tipo inválido: esperado ${issue.expected}, recebido ${parsedType(issue.input)}`;
|
|
65
|
+
case "invalid_value":
|
|
66
|
+
if (issue.values.length === 1)
|
|
67
|
+
return `Entrada inválida: esperado ${util.stringifyPrimitive(issue.values[0])}`;
|
|
68
|
+
return `Opção inválida: esperada uma das ${util.joinValues(issue.values, "|")}`;
|
|
69
|
+
case "too_big": {
|
|
70
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
71
|
+
const sizing = getSizing(issue.origin);
|
|
72
|
+
if (sizing)
|
|
73
|
+
return `Muito grande: esperado que ${issue.origin ?? "valor"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
|
|
74
|
+
return `Muito grande: esperado que ${issue.origin ?? "valor"} fosse ${adj}${issue.maximum.toString()}`;
|
|
75
|
+
}
|
|
76
|
+
case "too_small": {
|
|
77
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
78
|
+
const sizing = getSizing(issue.origin);
|
|
79
|
+
if (sizing) {
|
|
80
|
+
return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
81
|
+
}
|
|
82
|
+
return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;
|
|
83
|
+
}
|
|
84
|
+
case "invalid_format": {
|
|
85
|
+
const _issue = issue;
|
|
86
|
+
if (_issue.format === "starts_with")
|
|
87
|
+
return `Texto inválido: deve começar com "${_issue.prefix}"`;
|
|
88
|
+
if (_issue.format === "ends_with")
|
|
89
|
+
return `Texto inválido: deve terminar com "${_issue.suffix}"`;
|
|
90
|
+
if (_issue.format === "includes")
|
|
91
|
+
return `Texto inválido: deve incluir "${_issue.includes}"`;
|
|
92
|
+
if (_issue.format === "regex")
|
|
93
|
+
return `Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;
|
|
94
|
+
return `${Nouns[_issue.format] ?? issue.format} inválido`;
|
|
95
|
+
}
|
|
96
|
+
case "not_multiple_of":
|
|
97
|
+
return `Número inválido: deve ser múltiplo de ${issue.divisor}`;
|
|
98
|
+
case "unrecognized_keys":
|
|
99
|
+
return `Chave${issue.keys.length > 1 ? "s" : ""} desconhecida${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
100
|
+
case "invalid_key":
|
|
101
|
+
return `Chave inválida em ${issue.origin}`;
|
|
102
|
+
case "invalid_union":
|
|
103
|
+
return "Entrada inválida";
|
|
104
|
+
case "invalid_element":
|
|
105
|
+
return `Valor inválido em ${issue.origin}`;
|
|
106
|
+
default:
|
|
107
|
+
return `Campo inválido`;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
export { error };
|
|
111
|
+
export default function () {
|
|
112
|
+
return {
|
|
113
|
+
localeError: error,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
function getRussianPlural(count, one, few, many) {
|
|
3
|
+
const absCount = Math.abs(count);
|
|
4
|
+
const lastDigit = absCount % 10;
|
|
5
|
+
const lastTwoDigits = absCount % 100;
|
|
6
|
+
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
|
|
7
|
+
return many;
|
|
8
|
+
}
|
|
9
|
+
if (lastDigit === 1) {
|
|
10
|
+
return one;
|
|
11
|
+
}
|
|
12
|
+
if (lastDigit >= 2 && lastDigit <= 4) {
|
|
13
|
+
return few;
|
|
14
|
+
}
|
|
15
|
+
return many;
|
|
16
|
+
}
|
|
17
|
+
const Sizable = {
|
|
18
|
+
string: {
|
|
19
|
+
unit: {
|
|
20
|
+
one: "символ",
|
|
21
|
+
few: "символа",
|
|
22
|
+
many: "символов",
|
|
23
|
+
},
|
|
24
|
+
verb: "иметь",
|
|
25
|
+
},
|
|
26
|
+
file: {
|
|
27
|
+
unit: {
|
|
28
|
+
one: "байт",
|
|
29
|
+
few: "байта",
|
|
30
|
+
many: "байт",
|
|
31
|
+
},
|
|
32
|
+
verb: "иметь",
|
|
33
|
+
},
|
|
34
|
+
array: {
|
|
35
|
+
unit: {
|
|
36
|
+
one: "элемент",
|
|
37
|
+
few: "элемента",
|
|
38
|
+
many: "элементов",
|
|
39
|
+
},
|
|
40
|
+
verb: "иметь",
|
|
41
|
+
},
|
|
42
|
+
set: {
|
|
43
|
+
unit: {
|
|
44
|
+
one: "элемент",
|
|
45
|
+
few: "элемента",
|
|
46
|
+
many: "элементов",
|
|
47
|
+
},
|
|
48
|
+
verb: "иметь",
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
function getSizing(origin) {
|
|
52
|
+
return Sizable[origin] ?? null;
|
|
53
|
+
}
|
|
54
|
+
export const parsedType = (data) => {
|
|
55
|
+
const t = typeof data;
|
|
56
|
+
switch (t) {
|
|
57
|
+
case "number": {
|
|
58
|
+
return Number.isNaN(data) ? "NaN" : "число";
|
|
59
|
+
}
|
|
60
|
+
case "object": {
|
|
61
|
+
if (Array.isArray(data)) {
|
|
62
|
+
return "массив";
|
|
63
|
+
}
|
|
64
|
+
if (data === null) {
|
|
65
|
+
return "null";
|
|
66
|
+
}
|
|
67
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
68
|
+
return data.constructor.name;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return t;
|
|
73
|
+
};
|
|
74
|
+
const Nouns = {
|
|
75
|
+
regex: "ввод",
|
|
76
|
+
email: "email адрес",
|
|
77
|
+
url: "URL",
|
|
78
|
+
emoji: "эмодзи",
|
|
79
|
+
uuid: "UUID",
|
|
80
|
+
uuidv4: "UUIDv4",
|
|
81
|
+
uuidv6: "UUIDv6",
|
|
82
|
+
nanoid: "nanoid",
|
|
83
|
+
guid: "GUID",
|
|
84
|
+
cuid: "cuid",
|
|
85
|
+
cuid2: "cuid2",
|
|
86
|
+
ulid: "ULID",
|
|
87
|
+
xid: "XID",
|
|
88
|
+
ksuid: "KSUID",
|
|
89
|
+
datetime: "ISO дата и время",
|
|
90
|
+
date: "ISO дата",
|
|
91
|
+
time: "ISO время",
|
|
92
|
+
duration: "ISO длительность",
|
|
93
|
+
ipv4: "IPv4 адрес",
|
|
94
|
+
ipv6: "IPv6 адрес",
|
|
95
|
+
cidrv4: "IPv4 диапазон",
|
|
96
|
+
cidrv6: "IPv6 диапазон",
|
|
97
|
+
base64: "строка в формате base64",
|
|
98
|
+
base64url: "строка в формате base64url",
|
|
99
|
+
json_string: "JSON строка",
|
|
100
|
+
e164: "номер E.164",
|
|
101
|
+
jwt: "JWT",
|
|
102
|
+
template_literal: "ввод",
|
|
103
|
+
};
|
|
104
|
+
const error = (issue) => {
|
|
105
|
+
switch (issue.code) {
|
|
106
|
+
case "invalid_type":
|
|
107
|
+
return `Неверный ввод: ожидалось ${issue.expected}, получено ${parsedType(issue.input)}`;
|
|
108
|
+
case "invalid_value":
|
|
109
|
+
if (issue.values.length === 1)
|
|
110
|
+
return `Неверный ввод: ожидалось ${util.stringifyPrimitive(issue.values[0])}`;
|
|
111
|
+
return `Неверный вариант: ожидалось одно из ${util.joinValues(issue.values, "|")}`;
|
|
112
|
+
case "too_big": {
|
|
113
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
114
|
+
const sizing = getSizing(issue.origin);
|
|
115
|
+
if (sizing) {
|
|
116
|
+
const maxValue = Number(issue.maximum);
|
|
117
|
+
const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
|
|
118
|
+
return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет иметь ${adj}${issue.maximum.toString()} ${unit}`;
|
|
119
|
+
}
|
|
120
|
+
return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет ${adj}${issue.maximum.toString()}`;
|
|
121
|
+
}
|
|
122
|
+
case "too_small": {
|
|
123
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
124
|
+
const sizing = getSizing(issue.origin);
|
|
125
|
+
if (sizing) {
|
|
126
|
+
const minValue = Number(issue.minimum);
|
|
127
|
+
const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
|
|
128
|
+
return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет иметь ${adj}${issue.minimum.toString()} ${unit}`;
|
|
129
|
+
}
|
|
130
|
+
return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет ${adj}${issue.minimum.toString()}`;
|
|
131
|
+
}
|
|
132
|
+
case "invalid_format": {
|
|
133
|
+
const _issue = issue;
|
|
134
|
+
if (_issue.format === "starts_with")
|
|
135
|
+
return `Неверная строка: должна начинаться с "${_issue.prefix}"`;
|
|
136
|
+
if (_issue.format === "ends_with")
|
|
137
|
+
return `Неверная строка: должна заканчиваться на "${_issue.suffix}"`;
|
|
138
|
+
if (_issue.format === "includes")
|
|
139
|
+
return `Неверная строка: должна содержать "${_issue.includes}"`;
|
|
140
|
+
if (_issue.format === "regex")
|
|
141
|
+
return `Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;
|
|
142
|
+
return `Неверный ${Nouns[_issue.format] ?? issue.format}`;
|
|
143
|
+
}
|
|
144
|
+
case "not_multiple_of":
|
|
145
|
+
return `Неверное число: должно быть кратным ${issue.divisor}`;
|
|
146
|
+
case "unrecognized_keys":
|
|
147
|
+
return `Нераспознанн${issue.keys.length > 1 ? "ые" : "ый"} ключ${issue.keys.length > 1 ? "и" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
148
|
+
case "invalid_key":
|
|
149
|
+
return `Неверный ключ в ${issue.origin}`;
|
|
150
|
+
case "invalid_union":
|
|
151
|
+
return "Неверные входные данные";
|
|
152
|
+
case "invalid_element":
|
|
153
|
+
return `Неверное значение в ${issue.origin}`;
|
|
154
|
+
default:
|
|
155
|
+
return `Неверные входные данные`;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
export { error };
|
|
159
|
+
export default function () {
|
|
160
|
+
return {
|
|
161
|
+
localeError: error,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const Sizable = {
|
|
3
|
+
string: { unit: "znakov", verb: "imeti" },
|
|
4
|
+
file: { unit: "bajtov", verb: "imeti" },
|
|
5
|
+
array: { unit: "elementov", verb: "imeti" },
|
|
6
|
+
set: { unit: "elementov", verb: "imeti" },
|
|
7
|
+
};
|
|
8
|
+
function getSizing(origin) {
|
|
9
|
+
return Sizable[origin] ?? null;
|
|
10
|
+
}
|
|
11
|
+
export const parsedType = (data) => {
|
|
12
|
+
const t = typeof data;
|
|
13
|
+
switch (t) {
|
|
14
|
+
case "number": {
|
|
15
|
+
return Number.isNaN(data) ? "NaN" : "število";
|
|
16
|
+
}
|
|
17
|
+
case "object": {
|
|
18
|
+
if (Array.isArray(data)) {
|
|
19
|
+
return "tabela";
|
|
20
|
+
}
|
|
21
|
+
if (data === null) {
|
|
22
|
+
return "null";
|
|
23
|
+
}
|
|
24
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
25
|
+
return data.constructor.name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return t;
|
|
30
|
+
};
|
|
31
|
+
const Nouns = {
|
|
32
|
+
regex: "vnos",
|
|
33
|
+
email: "e-poštni naslov",
|
|
34
|
+
url: "URL",
|
|
35
|
+
emoji: "emoji",
|
|
36
|
+
uuid: "UUID",
|
|
37
|
+
uuidv4: "UUIDv4",
|
|
38
|
+
uuidv6: "UUIDv6",
|
|
39
|
+
nanoid: "nanoid",
|
|
40
|
+
guid: "GUID",
|
|
41
|
+
cuid: "cuid",
|
|
42
|
+
cuid2: "cuid2",
|
|
43
|
+
ulid: "ULID",
|
|
44
|
+
xid: "XID",
|
|
45
|
+
ksuid: "KSUID",
|
|
46
|
+
datetime: "ISO datum in čas",
|
|
47
|
+
date: "ISO datum",
|
|
48
|
+
time: "ISO čas",
|
|
49
|
+
duration: "ISO trajanje",
|
|
50
|
+
ipv4: "IPv4 naslov",
|
|
51
|
+
ipv6: "IPv6 naslov",
|
|
52
|
+
cidrv4: "obseg IPv4",
|
|
53
|
+
cidrv6: "obseg IPv6",
|
|
54
|
+
base64: "base64 kodiran niz",
|
|
55
|
+
base64url: "base64url kodiran niz",
|
|
56
|
+
json_string: "JSON niz",
|
|
57
|
+
e164: "E.164 številka",
|
|
58
|
+
jwt: "JWT",
|
|
59
|
+
template_literal: "vnos",
|
|
60
|
+
};
|
|
61
|
+
const error = (issue) => {
|
|
62
|
+
switch (issue.code) {
|
|
63
|
+
case "invalid_type":
|
|
64
|
+
return `Neveljaven vnos: pričakovano ${issue.expected}, prejeto ${parsedType(issue.input)}`;
|
|
65
|
+
case "invalid_value":
|
|
66
|
+
if (issue.values.length === 1)
|
|
67
|
+
return `Neveljaven vnos: pričakovano ${util.stringifyPrimitive(issue.values[0])}`;
|
|
68
|
+
return `Neveljavna možnost: pričakovano eno izmed ${util.joinValues(issue.values, "|")}`;
|
|
69
|
+
case "too_big": {
|
|
70
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
71
|
+
const sizing = getSizing(issue.origin);
|
|
72
|
+
if (sizing)
|
|
73
|
+
return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementov"}`;
|
|
74
|
+
return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} ${adj}${issue.maximum.toString()}`;
|
|
75
|
+
}
|
|
76
|
+
case "too_small": {
|
|
77
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
78
|
+
const sizing = getSizing(issue.origin);
|
|
79
|
+
if (sizing) {
|
|
80
|
+
return `Premajhno: pričakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;
|
|
81
|
+
}
|
|
82
|
+
return `Premajhno: pričakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;
|
|
83
|
+
}
|
|
84
|
+
case "invalid_format": {
|
|
85
|
+
const _issue = issue;
|
|
86
|
+
if (_issue.format === "starts_with") {
|
|
87
|
+
return `Neveljaven niz: mora se začeti z "${_issue.prefix}"`;
|
|
88
|
+
}
|
|
89
|
+
if (_issue.format === "ends_with")
|
|
90
|
+
return `Neveljaven niz: mora se končati z "${_issue.suffix}"`;
|
|
91
|
+
if (_issue.format === "includes")
|
|
92
|
+
return `Neveljaven niz: mora vsebovati "${_issue.includes}"`;
|
|
93
|
+
if (_issue.format === "regex")
|
|
94
|
+
return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;
|
|
95
|
+
return `Neveljaven ${Nouns[_issue.format] ?? issue.format}`;
|
|
96
|
+
}
|
|
97
|
+
case "not_multiple_of":
|
|
98
|
+
return `Neveljavno število: mora biti večkratnik ${issue.divisor}`;
|
|
99
|
+
case "unrecognized_keys":
|
|
100
|
+
return `Neprepoznan${issue.keys.length > 1 ? "i ključi" : " ključ"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
101
|
+
case "invalid_key":
|
|
102
|
+
return `Neveljaven ključ v ${issue.origin}`;
|
|
103
|
+
case "invalid_union":
|
|
104
|
+
return "Neveljaven vnos";
|
|
105
|
+
case "invalid_element":
|
|
106
|
+
return `Neveljavna vrednost v ${issue.origin}`;
|
|
107
|
+
default:
|
|
108
|
+
return "Neveljaven vnos";
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
export { error };
|
|
112
|
+
export default function () {
|
|
113
|
+
return {
|
|
114
|
+
localeError: error,
|
|
115
|
+
};
|
|
116
|
+
}
|