fullstacked 0.12.1-1330 → 0.12.1-1355
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/fullstacked_modules/{ai/index.js → @fullstacked/ai-agent/ai-agent.js} +4868 -8601
- package/fullstacked_modules/@fullstacked/ai-agent/index.ts +5 -3
- package/fullstacked_modules/@fullstacked/ai-agent/package.json +26 -23
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/anthropic.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/deepseek.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/google.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/index.ts +10 -12
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/interface.ts +10 -6
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/mistral.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/ollama.ts +19 -14
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/openai.ts +11 -7
- package/fullstacked_modules/@fullstacked/ai-agent/src/providers/xai.ts +11 -7
- package/fullstacked_modules/@fullstacked/ui/index.js +664 -0
- package/fullstacked_modules/auto_update/index.ts +66 -0
- package/fullstacked_modules/bridge/index.ts +2 -57
- package/fullstacked_modules/{esbuild/esbuild.ts → build/build.ts} +31 -28
- package/fullstacked_modules/build/index.ts +3 -0
- package/fullstacked_modules/build/sass.ts +55 -0
- package/fullstacked_modules/components/snackbar.css +54 -1
- package/fullstacked_modules/components/snackbar.scss +52 -0
- package/fullstacked_modules/sass/index.js +6445 -6464
- package/fullstacked_modules/zod/index.cjs +33 -0
- package/fullstacked_modules/zod/index.js +4 -0
- package/fullstacked_modules/zod/v3/ZodError.cjs +138 -0
- package/fullstacked_modules/zod/v3/ZodError.js +133 -0
- package/fullstacked_modules/zod/v3/errors.cjs +17 -0
- package/fullstacked_modules/zod/v3/errors.js +9 -0
- package/fullstacked_modules/zod/v3/external.cjs +22 -0
- package/fullstacked_modules/zod/v3/external.js +6 -0
- package/fullstacked_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/fullstacked_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/fullstacked_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/fullstacked_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/fullstacked_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/fullstacked_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/fullstacked_modules/zod/v3/helpers/util.cjs +137 -0
- package/fullstacked_modules/zod/v3/helpers/util.js +133 -0
- package/fullstacked_modules/zod/v3/index.cjs +33 -0
- package/fullstacked_modules/zod/v3/index.js +4 -0
- package/fullstacked_modules/zod/v3/locales/en.cjs +111 -0
- package/fullstacked_modules/zod/v3/locales/en.js +109 -0
- package/fullstacked_modules/zod/v3/standard-schema.cjs +2 -0
- package/fullstacked_modules/zod/v3/standard-schema.js +1 -0
- package/fullstacked_modules/zod/v3/types.cjs +3775 -0
- package/fullstacked_modules/zod/v3/types.js +3693 -0
- package/fullstacked_modules/zod/v4/classic/checks.cjs +32 -0
- package/fullstacked_modules/zod/v4/classic/checks.js +1 -0
- package/fullstacked_modules/zod/v4/classic/coerce.cjs +47 -0
- package/fullstacked_modules/zod/v4/classic/coerce.js +17 -0
- package/fullstacked_modules/zod/v4/classic/compat.cjs +57 -0
- package/fullstacked_modules/zod/v4/classic/compat.js +27 -0
- package/fullstacked_modules/zod/v4/classic/errors.cjs +67 -0
- package/fullstacked_modules/zod/v4/classic/errors.js +41 -0
- package/fullstacked_modules/zod/v4/classic/external.cjs +70 -0
- package/fullstacked_modules/zod/v4/classic/external.js +18 -0
- package/fullstacked_modules/zod/v4/classic/index.cjs +33 -0
- package/fullstacked_modules/zod/v4/classic/index.js +4 -0
- package/fullstacked_modules/zod/v4/classic/iso.cjs +60 -0
- package/fullstacked_modules/zod/v4/classic/iso.js +30 -0
- package/fullstacked_modules/zod/v4/classic/parse.cjs +32 -0
- package/fullstacked_modules/zod/v4/classic/parse.js +6 -0
- package/fullstacked_modules/zod/v4/classic/schemas.cjs +1109 -0
- package/fullstacked_modules/zod/v4/classic/schemas.js +1006 -0
- package/fullstacked_modules/zod/v4/core/api.cjs +1039 -0
- package/fullstacked_modules/zod/v4/core/api.js +906 -0
- package/fullstacked_modules/zod/v4/core/checks.cjs +591 -0
- package/fullstacked_modules/zod/v4/core/checks.js +565 -0
- package/fullstacked_modules/zod/v4/core/core.cjs +67 -0
- package/fullstacked_modules/zod/v4/core/core.js +61 -0
- package/fullstacked_modules/zod/v4/core/doc.cjs +39 -0
- package/fullstacked_modules/zod/v4/core/doc.js +35 -0
- package/fullstacked_modules/zod/v4/core/errors.cjs +226 -0
- package/fullstacked_modules/zod/v4/core/errors.js +195 -0
- package/fullstacked_modules/zod/v4/core/function.cjs +102 -0
- package/fullstacked_modules/zod/v4/core/function.js +75 -0
- package/fullstacked_modules/zod/v4/core/index.cjs +44 -0
- package/fullstacked_modules/zod/v4/core/index.js +15 -0
- package/fullstacked_modules/zod/v4/core/json-schema.cjs +2 -0
- package/fullstacked_modules/zod/v4/core/json-schema.js +1 -0
- package/fullstacked_modules/zod/v4/core/parse.cjs +87 -0
- package/fullstacked_modules/zod/v4/core/parse.js +57 -0
- package/fullstacked_modules/zod/v4/core/regexes.cjs +103 -0
- package/fullstacked_modules/zod/v4/core/regexes.js +95 -0
- package/fullstacked_modules/zod/v4/core/registries.cjs +56 -0
- package/fullstacked_modules/zod/v4/core/registries.js +51 -0
- package/fullstacked_modules/zod/v4/core/schemas.cjs +1748 -0
- package/fullstacked_modules/zod/v4/core/schemas.js +1717 -0
- package/fullstacked_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/fullstacked_modules/zod/v4/core/standard-schema.js +1 -0
- package/fullstacked_modules/zod/v4/core/to-json-schema.cjs +854 -0
- package/fullstacked_modules/zod/v4/core/to-json-schema.js +849 -0
- package/fullstacked_modules/zod/v4/core/util.cjs +539 -0
- package/fullstacked_modules/zod/v4/core/util.js +493 -0
- package/fullstacked_modules/zod/v4/core/versions.cjs +8 -0
- package/fullstacked_modules/zod/v4/core/versions.js +5 -0
- package/fullstacked_modules/zod/v4/index.cjs +22 -0
- package/fullstacked_modules/zod/v4/index.js +3 -0
- package/fullstacked_modules/zod/v4/locales/ar.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/ar.js +116 -0
- package/fullstacked_modules/zod/v4/locales/az.cjs +141 -0
- package/fullstacked_modules/zod/v4/locales/az.js +115 -0
- package/fullstacked_modules/zod/v4/locales/be.cjs +190 -0
- package/fullstacked_modules/zod/v4/locales/be.js +164 -0
- package/fullstacked_modules/zod/v4/locales/ca.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/ca.js +118 -0
- package/fullstacked_modules/zod/v4/locales/cs.cjs +161 -0
- package/fullstacked_modules/zod/v4/locales/cs.js +135 -0
- package/fullstacked_modules/zod/v4/locales/de.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/de.js +116 -0
- package/fullstacked_modules/zod/v4/locales/en.cjs +145 -0
- package/fullstacked_modules/zod/v4/locales/en.js +117 -0
- package/fullstacked_modules/zod/v4/locales/eo.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/eo.js +116 -0
- package/fullstacked_modules/zod/v4/locales/es.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/es.js +117 -0
- package/fullstacked_modules/zod/v4/locales/fa.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/fa.js +122 -0
- package/fullstacked_modules/zod/v4/locales/fi.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/fi.js +122 -0
- package/fullstacked_modules/zod/v4/locales/fr-CA.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/fr-CA.js +117 -0
- package/fullstacked_modules/zod/v4/locales/fr.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/fr.js +116 -0
- package/fullstacked_modules/zod/v4/locales/he.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/he.js +117 -0
- package/fullstacked_modules/zod/v4/locales/hu.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/hu.js +117 -0
- package/fullstacked_modules/zod/v4/locales/id.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/id.js +116 -0
- package/fullstacked_modules/zod/v4/locales/index.cjs +84 -0
- package/fullstacked_modules/zod/v4/locales/index.js +39 -0
- package/fullstacked_modules/zod/v4/locales/it.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/it.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ja.cjs +141 -0
- package/fullstacked_modules/zod/v4/locales/ja.js +115 -0
- package/fullstacked_modules/zod/v4/locales/kh.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/kh.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ko.cjs +147 -0
- package/fullstacked_modules/zod/v4/locales/ko.js +121 -0
- package/fullstacked_modules/zod/v4/locales/mk.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/mk.js +118 -0
- package/fullstacked_modules/zod/v4/locales/ms.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/ms.js +116 -0
- package/fullstacked_modules/zod/v4/locales/nl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/nl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/no.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/no.js +116 -0
- package/fullstacked_modules/zod/v4/locales/ota.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ota.js +117 -0
- package/fullstacked_modules/zod/v4/locales/pl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/pl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ps.cjs +148 -0
- package/fullstacked_modules/zod/v4/locales/ps.js +122 -0
- package/fullstacked_modules/zod/v4/locales/pt.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/pt.js +116 -0
- package/fullstacked_modules/zod/v4/locales/ru.cjs +190 -0
- package/fullstacked_modules/zod/v4/locales/ru.js +164 -0
- package/fullstacked_modules/zod/v4/locales/sl.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/sl.js +117 -0
- package/fullstacked_modules/zod/v4/locales/sv.cjs +144 -0
- package/fullstacked_modules/zod/v4/locales/sv.js +118 -0
- package/fullstacked_modules/zod/v4/locales/ta.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ta.js +117 -0
- package/fullstacked_modules/zod/v4/locales/th.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/th.js +117 -0
- package/fullstacked_modules/zod/v4/locales/tr.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/tr.js +115 -0
- package/fullstacked_modules/zod/v4/locales/ua.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ua.js +117 -0
- package/fullstacked_modules/zod/v4/locales/ur.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/ur.js +117 -0
- package/fullstacked_modules/zod/v4/locales/vi.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/vi.js +116 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.cjs +142 -0
- package/fullstacked_modules/zod/v4/locales/zh-CN.js +116 -0
- package/fullstacked_modules/zod/v4/locales/zh-TW.cjs +143 -0
- package/fullstacked_modules/zod/v4/locales/zh-TW.js +117 -0
- package/fullstacked_modules/zod/v4/mini/checks.cjs +34 -0
- package/fullstacked_modules/zod/v4/mini/checks.js +1 -0
- package/fullstacked_modules/zod/v4/mini/coerce.cjs +47 -0
- package/fullstacked_modules/zod/v4/mini/coerce.js +17 -0
- package/fullstacked_modules/zod/v4/mini/external.cjs +62 -0
- package/fullstacked_modules/zod/v4/mini/external.js +13 -0
- package/fullstacked_modules/zod/v4/mini/index.cjs +32 -0
- package/fullstacked_modules/zod/v4/mini/index.js +3 -0
- package/fullstacked_modules/zod/v4/mini/iso.cjs +60 -0
- package/fullstacked_modules/zod/v4/mini/iso.js +30 -0
- package/fullstacked_modules/zod/v4/mini/parse.cjs +8 -0
- package/fullstacked_modules/zod/v4/mini/parse.js +1 -0
- package/fullstacked_modules/zod/v4/mini/schemas.cjs +839 -0
- package/fullstacked_modules/zod/v4/mini/schemas.js +732 -0
- package/fullstacked_modules/zod/v4-mini/index.cjs +17 -0
- package/fullstacked_modules/zod/v4-mini/index.js +1 -0
- package/index.js +121 -186
- package/package.json +4 -4
- package/fullstacked_modules/@fullstacked/ui/README.md +0 -3
- package/fullstacked_modules/@fullstacked/ui/components/button-group/button-group.scss +0 -28
- package/fullstacked_modules/@fullstacked/ui/components/button-group/index.ts +0 -8
- package/fullstacked_modules/@fullstacked/ui/components/dialog/dialog.scss +0 -39
- package/fullstacked_modules/@fullstacked/ui/components/dialog/index.ts +0 -17
- package/fullstacked_modules/@fullstacked/ui/components/list-item/index.ts +0 -37
- package/fullstacked_modules/@fullstacked/ui/components/list-item/list-item.scss +0 -19
- package/fullstacked_modules/@fullstacked/ui/components/loader/index.ts +0 -14
- package/fullstacked_modules/@fullstacked/ui/components/loader/loader.scss +0 -25
- package/fullstacked_modules/@fullstacked/ui/components/message/index.ts +0 -26
- package/fullstacked_modules/@fullstacked/ui/components/message/message.scss +0 -20
- package/fullstacked_modules/@fullstacked/ui/components/popover/index.ts +0 -114
- package/fullstacked_modules/@fullstacked/ui/components/popover/popover.scss +0 -44
- package/fullstacked_modules/@fullstacked/ui/globals.scss +0 -66
- package/fullstacked_modules/@fullstacked/ui/icons/Archive.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow 2.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow Corner.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Arrow.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Caret.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Check.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Clipboard.svg +0 -12
- package/fullstacked_modules/@fullstacked/ui/icons/Clock.svg +0 -12
- package/fullstacked_modules/@fullstacked/ui/icons/Close.svg +0 -10
- package/fullstacked_modules/@fullstacked/ui/icons/Copy.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Directory Add.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Edit.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Export.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/External Link.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/File Add.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/File.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Git Branch.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Git.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Glitter.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Info.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Link.svg +0 -10
- package/fullstacked_modules/@fullstacked/ui/icons/Loader.svg +0 -4
- package/fullstacked_modules/@fullstacked/ui/icons/Lock.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Options.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Package.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Peers.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Play.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Plus.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Revert.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Settings.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Side Panel.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Terminal.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Trash.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/TypeScript.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Upload.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/User.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/icons/Warning.svg +0 -3
- package/fullstacked_modules/@fullstacked/ui/inputs/checkbox/index.ts +0 -28
- package/fullstacked_modules/@fullstacked/ui/inputs/file/index.ts +0 -48
- package/fullstacked_modules/@fullstacked/ui/inputs/inputs.scss +0 -224
- package/fullstacked_modules/@fullstacked/ui/inputs/observer.ts +0 -36
- package/fullstacked_modules/@fullstacked/ui/inputs/predictive/index.ts +0 -195
- package/fullstacked_modules/@fullstacked/ui/inputs/radio/index.ts +0 -28
- package/fullstacked_modules/@fullstacked/ui/inputs/select/index.ts +0 -125
- package/fullstacked_modules/@fullstacked/ui/inputs/switch/index.ts +0 -37
- package/fullstacked_modules/@fullstacked/ui/inputs/text/index.ts +0 -53
- package/fullstacked_modules/@fullstacked/ui/package.json +0 -8
- package/fullstacked_modules/@fullstacked/ui/primitives/badge/badge.scss +0 -35
- package/fullstacked_modules/@fullstacked/ui/primitives/badge/index.ts +0 -23
- package/fullstacked_modules/@fullstacked/ui/primitives/button/button.scss +0 -97
- package/fullstacked_modules/@fullstacked/ui/primitives/button/index.ts +0 -41
- package/fullstacked_modules/@fullstacked/ui/primitives/icon/icon.scss +0 -13
- package/fullstacked_modules/@fullstacked/ui/primitives/icon/index.ts +0 -30
- package/fullstacked_modules/@fullstacked/ui/ui.scss +0 -15
- package/fullstacked_modules/@fullstacked/ui/ui.ts +0 -18
- package/fullstacked_modules/@fullstacked/ui/values/breakpoints.scss +0 -7
- package/fullstacked_modules/@fullstacked/ui/values/colors.scss +0 -26
- package/fullstacked_modules/@fullstacked/ui/values/spacing.scss +0 -10
- package/fullstacked_modules/@fullstacked/ui/values/typography.scss +0 -23
- package/fullstacked_modules/esbuild/index.d.ts +0 -0
- package/fullstacked_modules/esbuild/index.ts +0 -3
- package/fullstacked_modules/esbuild/sass.ts +0 -100
- package/fullstacked_modules/sass/index.d.ts +0 -0
- /package/fullstacked_modules/{@fullstacked → build}/index.d.ts +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
function getBelarusianPlural(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 error = () => {
|
|
18
|
+
const Sizable = {
|
|
19
|
+
string: {
|
|
20
|
+
unit: {
|
|
21
|
+
one: "сімвал",
|
|
22
|
+
few: "сімвалы",
|
|
23
|
+
many: "сімвалаў",
|
|
24
|
+
},
|
|
25
|
+
verb: "мець",
|
|
26
|
+
},
|
|
27
|
+
array: {
|
|
28
|
+
unit: {
|
|
29
|
+
one: "элемент",
|
|
30
|
+
few: "элементы",
|
|
31
|
+
many: "элементаў",
|
|
32
|
+
},
|
|
33
|
+
verb: "мець",
|
|
34
|
+
},
|
|
35
|
+
set: {
|
|
36
|
+
unit: {
|
|
37
|
+
one: "элемент",
|
|
38
|
+
few: "элементы",
|
|
39
|
+
many: "элементаў",
|
|
40
|
+
},
|
|
41
|
+
verb: "мець",
|
|
42
|
+
},
|
|
43
|
+
file: {
|
|
44
|
+
unit: {
|
|
45
|
+
one: "байт",
|
|
46
|
+
few: "байты",
|
|
47
|
+
many: "байтаў",
|
|
48
|
+
},
|
|
49
|
+
verb: "мець",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
function getSizing(origin) {
|
|
53
|
+
return Sizable[origin] ?? null;
|
|
54
|
+
}
|
|
55
|
+
const parsedType = (data) => {
|
|
56
|
+
const t = typeof data;
|
|
57
|
+
switch (t) {
|
|
58
|
+
case "number": {
|
|
59
|
+
return Number.isNaN(data) ? "NaN" : "лік";
|
|
60
|
+
}
|
|
61
|
+
case "object": {
|
|
62
|
+
if (Array.isArray(data)) {
|
|
63
|
+
return "масіў";
|
|
64
|
+
}
|
|
65
|
+
if (data === null) {
|
|
66
|
+
return "null";
|
|
67
|
+
}
|
|
68
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
69
|
+
return data.constructor.name;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return t;
|
|
74
|
+
};
|
|
75
|
+
const Nouns = {
|
|
76
|
+
regex: "увод",
|
|
77
|
+
email: "email адрас",
|
|
78
|
+
url: "URL",
|
|
79
|
+
emoji: "эмодзі",
|
|
80
|
+
uuid: "UUID",
|
|
81
|
+
uuidv4: "UUIDv4",
|
|
82
|
+
uuidv6: "UUIDv6",
|
|
83
|
+
nanoid: "nanoid",
|
|
84
|
+
guid: "GUID",
|
|
85
|
+
cuid: "cuid",
|
|
86
|
+
cuid2: "cuid2",
|
|
87
|
+
ulid: "ULID",
|
|
88
|
+
xid: "XID",
|
|
89
|
+
ksuid: "KSUID",
|
|
90
|
+
datetime: "ISO дата і час",
|
|
91
|
+
date: "ISO дата",
|
|
92
|
+
time: "ISO час",
|
|
93
|
+
duration: "ISO працягласць",
|
|
94
|
+
ipv4: "IPv4 адрас",
|
|
95
|
+
ipv6: "IPv6 адрас",
|
|
96
|
+
cidrv4: "IPv4 дыяпазон",
|
|
97
|
+
cidrv6: "IPv6 дыяпазон",
|
|
98
|
+
base64: "радок у фармаце base64",
|
|
99
|
+
base64url: "радок у фармаце base64url",
|
|
100
|
+
json_string: "JSON радок",
|
|
101
|
+
e164: "нумар E.164",
|
|
102
|
+
jwt: "JWT",
|
|
103
|
+
template_literal: "увод",
|
|
104
|
+
};
|
|
105
|
+
return (issue) => {
|
|
106
|
+
switch (issue.code) {
|
|
107
|
+
case "invalid_type":
|
|
108
|
+
return `Няправільны ўвод: чакаўся ${issue.expected}, атрымана ${parsedType(issue.input)}`;
|
|
109
|
+
case "invalid_value":
|
|
110
|
+
if (issue.values.length === 1)
|
|
111
|
+
return `Няправільны ўвод: чакалася ${util.stringifyPrimitive(issue.values[0])}`;
|
|
112
|
+
return `Няправільны варыянт: чакаўся адзін з ${util.joinValues(issue.values, "|")}`;
|
|
113
|
+
case "too_big": {
|
|
114
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
115
|
+
const sizing = getSizing(issue.origin);
|
|
116
|
+
if (sizing) {
|
|
117
|
+
const maxValue = Number(issue.maximum);
|
|
118
|
+
const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
|
|
119
|
+
return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;
|
|
120
|
+
}
|
|
121
|
+
return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна быць ${adj}${issue.maximum.toString()}`;
|
|
122
|
+
}
|
|
123
|
+
case "too_small": {
|
|
124
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
125
|
+
const sizing = getSizing(issue.origin);
|
|
126
|
+
if (sizing) {
|
|
127
|
+
const minValue = Number(issue.minimum);
|
|
128
|
+
const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
|
|
129
|
+
return `Занадта малы: чакалася, што ${issue.origin} павінна ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;
|
|
130
|
+
}
|
|
131
|
+
return `Занадта малы: чакалася, што ${issue.origin} павінна быць ${adj}${issue.minimum.toString()}`;
|
|
132
|
+
}
|
|
133
|
+
case "invalid_format": {
|
|
134
|
+
const _issue = issue;
|
|
135
|
+
if (_issue.format === "starts_with")
|
|
136
|
+
return `Няправільны радок: павінен пачынацца з "${_issue.prefix}"`;
|
|
137
|
+
if (_issue.format === "ends_with")
|
|
138
|
+
return `Няправільны радок: павінен заканчвацца на "${_issue.suffix}"`;
|
|
139
|
+
if (_issue.format === "includes")
|
|
140
|
+
return `Няправільны радок: павінен змяшчаць "${_issue.includes}"`;
|
|
141
|
+
if (_issue.format === "regex")
|
|
142
|
+
return `Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;
|
|
143
|
+
return `Няправільны ${Nouns[_issue.format] ?? issue.format}`;
|
|
144
|
+
}
|
|
145
|
+
case "not_multiple_of":
|
|
146
|
+
return `Няправільны лік: павінен быць кратным ${issue.divisor}`;
|
|
147
|
+
case "unrecognized_keys":
|
|
148
|
+
return `Нераспазнаны ${issue.keys.length > 1 ? "ключы" : "ключ"}: ${util.joinValues(issue.keys, ", ")}`;
|
|
149
|
+
case "invalid_key":
|
|
150
|
+
return `Няправільны ключ у ${issue.origin}`;
|
|
151
|
+
case "invalid_union":
|
|
152
|
+
return "Няправільны ўвод";
|
|
153
|
+
case "invalid_element":
|
|
154
|
+
return `Няправільнае значэнне ў ${issue.origin}`;
|
|
155
|
+
default:
|
|
156
|
+
return `Няправільны ўвод`;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
export default function () {
|
|
161
|
+
return {
|
|
162
|
+
localeError: error(),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.default = default_1;
|
|
27
|
+
const util = __importStar(require("../core/util.cjs"));
|
|
28
|
+
const error = () => {
|
|
29
|
+
const Sizable = {
|
|
30
|
+
string: { unit: "caràcters", verb: "contenir" },
|
|
31
|
+
file: { unit: "bytes", verb: "contenir" },
|
|
32
|
+
array: { unit: "elements", verb: "contenir" },
|
|
33
|
+
set: { unit: "elements", verb: "contenir" },
|
|
34
|
+
};
|
|
35
|
+
function getSizing(origin) {
|
|
36
|
+
return Sizable[origin] ?? null;
|
|
37
|
+
}
|
|
38
|
+
const parsedType = (data) => {
|
|
39
|
+
const t = typeof data;
|
|
40
|
+
switch (t) {
|
|
41
|
+
case "number": {
|
|
42
|
+
return Number.isNaN(data) ? "NaN" : "number";
|
|
43
|
+
}
|
|
44
|
+
case "object": {
|
|
45
|
+
if (Array.isArray(data)) {
|
|
46
|
+
return "array";
|
|
47
|
+
}
|
|
48
|
+
if (data === null) {
|
|
49
|
+
return "null";
|
|
50
|
+
}
|
|
51
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
52
|
+
return data.constructor.name;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return t;
|
|
57
|
+
};
|
|
58
|
+
const Nouns = {
|
|
59
|
+
regex: "entrada",
|
|
60
|
+
email: "adreça electrònica",
|
|
61
|
+
url: "URL",
|
|
62
|
+
emoji: "emoji",
|
|
63
|
+
uuid: "UUID",
|
|
64
|
+
uuidv4: "UUIDv4",
|
|
65
|
+
uuidv6: "UUIDv6",
|
|
66
|
+
nanoid: "nanoid",
|
|
67
|
+
guid: "GUID",
|
|
68
|
+
cuid: "cuid",
|
|
69
|
+
cuid2: "cuid2",
|
|
70
|
+
ulid: "ULID",
|
|
71
|
+
xid: "XID",
|
|
72
|
+
ksuid: "KSUID",
|
|
73
|
+
datetime: "data i hora ISO",
|
|
74
|
+
date: "data ISO",
|
|
75
|
+
time: "hora ISO",
|
|
76
|
+
duration: "durada ISO",
|
|
77
|
+
ipv4: "adreça IPv4",
|
|
78
|
+
ipv6: "adreça IPv6",
|
|
79
|
+
cidrv4: "rang IPv4",
|
|
80
|
+
cidrv6: "rang IPv6",
|
|
81
|
+
base64: "cadena codificada en base64",
|
|
82
|
+
base64url: "cadena codificada en base64url",
|
|
83
|
+
json_string: "cadena JSON",
|
|
84
|
+
e164: "número E.164",
|
|
85
|
+
jwt: "JWT",
|
|
86
|
+
template_literal: "entrada",
|
|
87
|
+
};
|
|
88
|
+
return (issue) => {
|
|
89
|
+
switch (issue.code) {
|
|
90
|
+
case "invalid_type":
|
|
91
|
+
return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${parsedType(issue.input)}`;
|
|
92
|
+
// return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${util.getParsedType(issue.input)}`;
|
|
93
|
+
case "invalid_value":
|
|
94
|
+
if (issue.values.length === 1)
|
|
95
|
+
return `Valor invàlid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;
|
|
96
|
+
return `Opció invàlida: s'esperava una de ${util.joinValues(issue.values, " o ")}`;
|
|
97
|
+
case "too_big": {
|
|
98
|
+
const adj = issue.inclusive ? "com a màxim" : "menys de";
|
|
99
|
+
const sizing = getSizing(issue.origin);
|
|
100
|
+
if (sizing)
|
|
101
|
+
return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} contingués ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
|
|
102
|
+
return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} fos ${adj} ${issue.maximum.toString()}`;
|
|
103
|
+
}
|
|
104
|
+
case "too_small": {
|
|
105
|
+
const adj = issue.inclusive ? "com a mínim" : "més de";
|
|
106
|
+
const sizing = getSizing(issue.origin);
|
|
107
|
+
if (sizing) {
|
|
108
|
+
return `Massa petit: s'esperava que ${issue.origin} contingués ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
109
|
+
}
|
|
110
|
+
return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;
|
|
111
|
+
}
|
|
112
|
+
case "invalid_format": {
|
|
113
|
+
const _issue = issue;
|
|
114
|
+
if (_issue.format === "starts_with") {
|
|
115
|
+
return `Format invàlid: ha de començar amb "${_issue.prefix}"`;
|
|
116
|
+
}
|
|
117
|
+
if (_issue.format === "ends_with")
|
|
118
|
+
return `Format invàlid: ha d'acabar amb "${_issue.suffix}"`;
|
|
119
|
+
if (_issue.format === "includes")
|
|
120
|
+
return `Format invàlid: ha d'incloure "${_issue.includes}"`;
|
|
121
|
+
if (_issue.format === "regex")
|
|
122
|
+
return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;
|
|
123
|
+
return `Format invàlid per a ${Nouns[_issue.format] ?? issue.format}`;
|
|
124
|
+
}
|
|
125
|
+
case "not_multiple_of":
|
|
126
|
+
return `Número invàlid: ha de ser múltiple de ${issue.divisor}`;
|
|
127
|
+
case "unrecognized_keys":
|
|
128
|
+
return `Clau${issue.keys.length > 1 ? "s" : ""} no reconeguda${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
129
|
+
case "invalid_key":
|
|
130
|
+
return `Clau invàlida a ${issue.origin}`;
|
|
131
|
+
case "invalid_union":
|
|
132
|
+
return "Entrada invàlida"; // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general
|
|
133
|
+
case "invalid_element":
|
|
134
|
+
return `Element invàlid a ${issue.origin}`;
|
|
135
|
+
default:
|
|
136
|
+
return `Entrada invàlida`;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
function default_1() {
|
|
141
|
+
return {
|
|
142
|
+
localeError: error(),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as util from "../core/util.js";
|
|
2
|
+
const error = () => {
|
|
3
|
+
const Sizable = {
|
|
4
|
+
string: { unit: "caràcters", verb: "contenir" },
|
|
5
|
+
file: { unit: "bytes", verb: "contenir" },
|
|
6
|
+
array: { unit: "elements", verb: "contenir" },
|
|
7
|
+
set: { unit: "elements", verb: "contenir" },
|
|
8
|
+
};
|
|
9
|
+
function getSizing(origin) {
|
|
10
|
+
return Sizable[origin] ?? null;
|
|
11
|
+
}
|
|
12
|
+
const parsedType = (data) => {
|
|
13
|
+
const t = typeof data;
|
|
14
|
+
switch (t) {
|
|
15
|
+
case "number": {
|
|
16
|
+
return Number.isNaN(data) ? "NaN" : "number";
|
|
17
|
+
}
|
|
18
|
+
case "object": {
|
|
19
|
+
if (Array.isArray(data)) {
|
|
20
|
+
return "array";
|
|
21
|
+
}
|
|
22
|
+
if (data === null) {
|
|
23
|
+
return "null";
|
|
24
|
+
}
|
|
25
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
26
|
+
return data.constructor.name;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
32
|
+
const Nouns = {
|
|
33
|
+
regex: "entrada",
|
|
34
|
+
email: "adreça electrònica",
|
|
35
|
+
url: "URL",
|
|
36
|
+
emoji: "emoji",
|
|
37
|
+
uuid: "UUID",
|
|
38
|
+
uuidv4: "UUIDv4",
|
|
39
|
+
uuidv6: "UUIDv6",
|
|
40
|
+
nanoid: "nanoid",
|
|
41
|
+
guid: "GUID",
|
|
42
|
+
cuid: "cuid",
|
|
43
|
+
cuid2: "cuid2",
|
|
44
|
+
ulid: "ULID",
|
|
45
|
+
xid: "XID",
|
|
46
|
+
ksuid: "KSUID",
|
|
47
|
+
datetime: "data i hora ISO",
|
|
48
|
+
date: "data ISO",
|
|
49
|
+
time: "hora ISO",
|
|
50
|
+
duration: "durada ISO",
|
|
51
|
+
ipv4: "adreça IPv4",
|
|
52
|
+
ipv6: "adreça IPv6",
|
|
53
|
+
cidrv4: "rang IPv4",
|
|
54
|
+
cidrv6: "rang IPv6",
|
|
55
|
+
base64: "cadena codificada en base64",
|
|
56
|
+
base64url: "cadena codificada en base64url",
|
|
57
|
+
json_string: "cadena JSON",
|
|
58
|
+
e164: "número E.164",
|
|
59
|
+
jwt: "JWT",
|
|
60
|
+
template_literal: "entrada",
|
|
61
|
+
};
|
|
62
|
+
return (issue) => {
|
|
63
|
+
switch (issue.code) {
|
|
64
|
+
case "invalid_type":
|
|
65
|
+
return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${parsedType(issue.input)}`;
|
|
66
|
+
// return `Tipus invàlid: s'esperava ${issue.expected}, s'ha rebut ${util.getParsedType(issue.input)}`;
|
|
67
|
+
case "invalid_value":
|
|
68
|
+
if (issue.values.length === 1)
|
|
69
|
+
return `Valor invàlid: s'esperava ${util.stringifyPrimitive(issue.values[0])}`;
|
|
70
|
+
return `Opció invàlida: s'esperava una de ${util.joinValues(issue.values, " o ")}`;
|
|
71
|
+
case "too_big": {
|
|
72
|
+
const adj = issue.inclusive ? "com a màxim" : "menys de";
|
|
73
|
+
const sizing = getSizing(issue.origin);
|
|
74
|
+
if (sizing)
|
|
75
|
+
return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} contingués ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
|
|
76
|
+
return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} fos ${adj} ${issue.maximum.toString()}`;
|
|
77
|
+
}
|
|
78
|
+
case "too_small": {
|
|
79
|
+
const adj = issue.inclusive ? "com a mínim" : "més de";
|
|
80
|
+
const sizing = getSizing(issue.origin);
|
|
81
|
+
if (sizing) {
|
|
82
|
+
return `Massa petit: s'esperava que ${issue.origin} contingués ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
|
|
83
|
+
}
|
|
84
|
+
return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;
|
|
85
|
+
}
|
|
86
|
+
case "invalid_format": {
|
|
87
|
+
const _issue = issue;
|
|
88
|
+
if (_issue.format === "starts_with") {
|
|
89
|
+
return `Format invàlid: ha de començar amb "${_issue.prefix}"`;
|
|
90
|
+
}
|
|
91
|
+
if (_issue.format === "ends_with")
|
|
92
|
+
return `Format invàlid: ha d'acabar amb "${_issue.suffix}"`;
|
|
93
|
+
if (_issue.format === "includes")
|
|
94
|
+
return `Format invàlid: ha d'incloure "${_issue.includes}"`;
|
|
95
|
+
if (_issue.format === "regex")
|
|
96
|
+
return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;
|
|
97
|
+
return `Format invàlid per a ${Nouns[_issue.format] ?? issue.format}`;
|
|
98
|
+
}
|
|
99
|
+
case "not_multiple_of":
|
|
100
|
+
return `Número invàlid: ha de ser múltiple de ${issue.divisor}`;
|
|
101
|
+
case "unrecognized_keys":
|
|
102
|
+
return `Clau${issue.keys.length > 1 ? "s" : ""} no reconeguda${issue.keys.length > 1 ? "s" : ""}: ${util.joinValues(issue.keys, ", ")}`;
|
|
103
|
+
case "invalid_key":
|
|
104
|
+
return `Clau invàlida a ${issue.origin}`;
|
|
105
|
+
case "invalid_union":
|
|
106
|
+
return "Entrada invàlida"; // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general
|
|
107
|
+
case "invalid_element":
|
|
108
|
+
return `Element invàlid a ${issue.origin}`;
|
|
109
|
+
default:
|
|
110
|
+
return `Entrada invàlida`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
export default function () {
|
|
115
|
+
return {
|
|
116
|
+
localeError: error(),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.default = default_1;
|
|
27
|
+
const util = __importStar(require("../core/util.cjs"));
|
|
28
|
+
const error = () => {
|
|
29
|
+
const Sizable = {
|
|
30
|
+
string: { unit: "znaků", verb: "mít" },
|
|
31
|
+
file: { unit: "bajtů", verb: "mít" },
|
|
32
|
+
array: { unit: "prvků", verb: "mít" },
|
|
33
|
+
set: { unit: "prvků", verb: "mít" },
|
|
34
|
+
};
|
|
35
|
+
function getSizing(origin) {
|
|
36
|
+
return Sizable[origin] ?? null;
|
|
37
|
+
}
|
|
38
|
+
const parsedType = (data) => {
|
|
39
|
+
const t = typeof data;
|
|
40
|
+
switch (t) {
|
|
41
|
+
case "number": {
|
|
42
|
+
return Number.isNaN(data) ? "NaN" : "číslo";
|
|
43
|
+
}
|
|
44
|
+
case "string": {
|
|
45
|
+
return "řetězec";
|
|
46
|
+
}
|
|
47
|
+
case "boolean": {
|
|
48
|
+
return "boolean";
|
|
49
|
+
}
|
|
50
|
+
case "bigint": {
|
|
51
|
+
return "bigint";
|
|
52
|
+
}
|
|
53
|
+
case "function": {
|
|
54
|
+
return "funkce";
|
|
55
|
+
}
|
|
56
|
+
case "symbol": {
|
|
57
|
+
return "symbol";
|
|
58
|
+
}
|
|
59
|
+
case "undefined": {
|
|
60
|
+
return "undefined";
|
|
61
|
+
}
|
|
62
|
+
case "object": {
|
|
63
|
+
if (Array.isArray(data)) {
|
|
64
|
+
return "pole";
|
|
65
|
+
}
|
|
66
|
+
if (data === null) {
|
|
67
|
+
return "null";
|
|
68
|
+
}
|
|
69
|
+
if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
|
|
70
|
+
return data.constructor.name;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return t;
|
|
75
|
+
};
|
|
76
|
+
const Nouns = {
|
|
77
|
+
regex: "regulární výraz",
|
|
78
|
+
email: "e-mailová adresa",
|
|
79
|
+
url: "URL",
|
|
80
|
+
emoji: "emoji",
|
|
81
|
+
uuid: "UUID",
|
|
82
|
+
uuidv4: "UUIDv4",
|
|
83
|
+
uuidv6: "UUIDv6",
|
|
84
|
+
nanoid: "nanoid",
|
|
85
|
+
guid: "GUID",
|
|
86
|
+
cuid: "cuid",
|
|
87
|
+
cuid2: "cuid2",
|
|
88
|
+
ulid: "ULID",
|
|
89
|
+
xid: "XID",
|
|
90
|
+
ksuid: "KSUID",
|
|
91
|
+
datetime: "datum a čas ve formátu ISO",
|
|
92
|
+
date: "datum ve formátu ISO",
|
|
93
|
+
time: "čas ve formátu ISO",
|
|
94
|
+
duration: "doba trvání ISO",
|
|
95
|
+
ipv4: "IPv4 adresa",
|
|
96
|
+
ipv6: "IPv6 adresa",
|
|
97
|
+
cidrv4: "rozsah IPv4",
|
|
98
|
+
cidrv6: "rozsah IPv6",
|
|
99
|
+
base64: "řetězec zakódovaný ve formátu base64",
|
|
100
|
+
base64url: "řetězec zakódovaný ve formátu base64url",
|
|
101
|
+
json_string: "řetězec ve formátu JSON",
|
|
102
|
+
e164: "číslo E.164",
|
|
103
|
+
jwt: "JWT",
|
|
104
|
+
template_literal: "vstup",
|
|
105
|
+
};
|
|
106
|
+
return (issue) => {
|
|
107
|
+
switch (issue.code) {
|
|
108
|
+
case "invalid_type":
|
|
109
|
+
return `Neplatný vstup: očekáváno ${issue.expected}, obdrženo ${parsedType(issue.input)}`;
|
|
110
|
+
case "invalid_value":
|
|
111
|
+
if (issue.values.length === 1)
|
|
112
|
+
return `Neplatný vstup: očekáváno ${util.stringifyPrimitive(issue.values[0])}`;
|
|
113
|
+
return `Neplatná možnost: očekávána jedna z hodnot ${util.joinValues(issue.values, "|")}`;
|
|
114
|
+
case "too_big": {
|
|
115
|
+
const adj = issue.inclusive ? "<=" : "<";
|
|
116
|
+
const sizing = getSizing(issue.origin);
|
|
117
|
+
if (sizing) {
|
|
118
|
+
return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.maximum.toString()} ${sizing.unit ?? "prvků"}`;
|
|
119
|
+
}
|
|
120
|
+
return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.maximum.toString()}`;
|
|
121
|
+
}
|
|
122
|
+
case "too_small": {
|
|
123
|
+
const adj = issue.inclusive ? ">=" : ">";
|
|
124
|
+
const sizing = getSizing(issue.origin);
|
|
125
|
+
if (sizing) {
|
|
126
|
+
return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.minimum.toString()} ${sizing.unit ?? "prvků"}`;
|
|
127
|
+
}
|
|
128
|
+
return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.minimum.toString()}`;
|
|
129
|
+
}
|
|
130
|
+
case "invalid_format": {
|
|
131
|
+
const _issue = issue;
|
|
132
|
+
if (_issue.format === "starts_with")
|
|
133
|
+
return `Neplatný řetězec: musí začínat na "${_issue.prefix}"`;
|
|
134
|
+
if (_issue.format === "ends_with")
|
|
135
|
+
return `Neplatný řetězec: musí končit na "${_issue.suffix}"`;
|
|
136
|
+
if (_issue.format === "includes")
|
|
137
|
+
return `Neplatný řetězec: musí obsahovat "${_issue.includes}"`;
|
|
138
|
+
if (_issue.format === "regex")
|
|
139
|
+
return `Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;
|
|
140
|
+
return `Neplatný formát ${Nouns[_issue.format] ?? issue.format}`;
|
|
141
|
+
}
|
|
142
|
+
case "not_multiple_of":
|
|
143
|
+
return `Neplatné číslo: musí být násobkem ${issue.divisor}`;
|
|
144
|
+
case "unrecognized_keys":
|
|
145
|
+
return `Neznámé klíče: ${util.joinValues(issue.keys, ", ")}`;
|
|
146
|
+
case "invalid_key":
|
|
147
|
+
return `Neplatný klíč v ${issue.origin}`;
|
|
148
|
+
case "invalid_union":
|
|
149
|
+
return "Neplatný vstup";
|
|
150
|
+
case "invalid_element":
|
|
151
|
+
return `Neplatná hodnota v ${issue.origin}`;
|
|
152
|
+
default:
|
|
153
|
+
return `Neplatný vstup`;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
function default_1() {
|
|
158
|
+
return {
|
|
159
|
+
localeError: error(),
|
|
160
|
+
};
|
|
161
|
+
}
|