flavor-code 1.3.22 → 1.4.0-beta.1

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.
Files changed (134) hide show
  1. package/README.md +437 -434
  2. package/README.zh-CN.md +434 -431
  3. package/dist/{app-MWGRT3BJ.js → app-C5ZQUOKJ.js} +37 -63
  4. package/dist/astgraph/grammars.mjs +68 -68
  5. package/dist/astgraph/vendor/tree-sitter.js +3980 -3980
  6. package/dist/astgraph/vendor/zod/LICENSE +21 -21
  7. package/dist/astgraph/vendor/zod/index.js +4 -4
  8. package/dist/astgraph/vendor/zod/locales/index.js +1 -1
  9. package/dist/astgraph/vendor/zod/locales/package.json +7 -7
  10. package/dist/astgraph/vendor/zod/package.json +135 -135
  11. package/dist/astgraph/vendor/zod/v4/classic/checks.js +1 -1
  12. package/dist/astgraph/vendor/zod/v4/classic/coerce.js +17 -17
  13. package/dist/astgraph/vendor/zod/v4/classic/compat.js +31 -31
  14. package/dist/astgraph/vendor/zod/v4/classic/errors.js +48 -48
  15. package/dist/astgraph/vendor/zod/v4/classic/external.js +20 -20
  16. package/dist/astgraph/vendor/zod/v4/classic/from-json-schema.js +599 -599
  17. package/dist/astgraph/vendor/zod/v4/classic/index.js +4 -4
  18. package/dist/astgraph/vendor/zod/v4/classic/iso.js +30 -30
  19. package/dist/astgraph/vendor/zod/v4/classic/package.json +7 -7
  20. package/dist/astgraph/vendor/zod/v4/classic/parse.js +15 -15
  21. package/dist/astgraph/vendor/zod/v4/classic/schemas.js +1395 -1395
  22. package/dist/astgraph/vendor/zod/v4/core/api.js +1087 -1087
  23. package/dist/astgraph/vendor/zod/v4/core/checks.js +575 -575
  24. package/dist/astgraph/vendor/zod/v4/core/core.js +78 -78
  25. package/dist/astgraph/vendor/zod/v4/core/doc.js +35 -35
  26. package/dist/astgraph/vendor/zod/v4/core/errors.js +185 -185
  27. package/dist/astgraph/vendor/zod/v4/core/index.js +16 -16
  28. package/dist/astgraph/vendor/zod/v4/core/json-schema-generator.js +95 -95
  29. package/dist/astgraph/vendor/zod/v4/core/json-schema-processors.js +601 -601
  30. package/dist/astgraph/vendor/zod/v4/core/json-schema.js +1 -1
  31. package/dist/astgraph/vendor/zod/v4/core/package.json +7 -7
  32. package/dist/astgraph/vendor/zod/v4/core/parse.js +93 -93
  33. package/dist/astgraph/vendor/zod/v4/core/regexes.js +139 -139
  34. package/dist/astgraph/vendor/zod/v4/core/registries.js +51 -51
  35. package/dist/astgraph/vendor/zod/v4/core/schemas.js +2239 -2239
  36. package/dist/astgraph/vendor/zod/v4/core/standard-schema.js +1 -1
  37. package/dist/astgraph/vendor/zod/v4/core/to-json-schema.js +448 -448
  38. package/dist/astgraph/vendor/zod/v4/core/util.js +674 -674
  39. package/dist/astgraph/vendor/zod/v4/core/versions.js +5 -5
  40. package/dist/astgraph/vendor/zod/v4/index.js +3 -3
  41. package/dist/astgraph/vendor/zod/v4/locales/ar.js +106 -106
  42. package/dist/astgraph/vendor/zod/v4/locales/az.js +105 -105
  43. package/dist/astgraph/vendor/zod/v4/locales/be.js +156 -156
  44. package/dist/astgraph/vendor/zod/v4/locales/bg.js +120 -120
  45. package/dist/astgraph/vendor/zod/v4/locales/ca.js +107 -107
  46. package/dist/astgraph/vendor/zod/v4/locales/cs.js +111 -111
  47. package/dist/astgraph/vendor/zod/v4/locales/da.js +115 -115
  48. package/dist/astgraph/vendor/zod/v4/locales/de.js +108 -108
  49. package/dist/astgraph/vendor/zod/v4/locales/el.js +109 -109
  50. package/dist/astgraph/vendor/zod/v4/locales/en.js +113 -113
  51. package/dist/astgraph/vendor/zod/v4/locales/eo.js +109 -109
  52. package/dist/astgraph/vendor/zod/v4/locales/es.js +132 -132
  53. package/dist/astgraph/vendor/zod/v4/locales/fa.js +114 -114
  54. package/dist/astgraph/vendor/zod/v4/locales/fi.js +112 -112
  55. package/dist/astgraph/vendor/zod/v4/locales/fr-CA.js +107 -107
  56. package/dist/astgraph/vendor/zod/v4/locales/fr.js +125 -125
  57. package/dist/astgraph/vendor/zod/v4/locales/he.js +214 -214
  58. package/dist/astgraph/vendor/zod/v4/locales/hr.js +122 -122
  59. package/dist/astgraph/vendor/zod/v4/locales/hu.js +108 -108
  60. package/dist/astgraph/vendor/zod/v4/locales/hy.js +147 -147
  61. package/dist/astgraph/vendor/zod/v4/locales/id.js +106 -106
  62. package/dist/astgraph/vendor/zod/v4/locales/index.js +52 -52
  63. package/dist/astgraph/vendor/zod/v4/locales/is.js +109 -109
  64. package/dist/astgraph/vendor/zod/v4/locales/it.js +108 -108
  65. package/dist/astgraph/vendor/zod/v4/locales/ja.js +107 -107
  66. package/dist/astgraph/vendor/zod/v4/locales/ka.js +112 -112
  67. package/dist/astgraph/vendor/zod/v4/locales/kh.js +5 -5
  68. package/dist/astgraph/vendor/zod/v4/locales/km.js +110 -110
  69. package/dist/astgraph/vendor/zod/v4/locales/ko.js +111 -111
  70. package/dist/astgraph/vendor/zod/v4/locales/lt.js +203 -203
  71. package/dist/astgraph/vendor/zod/v4/locales/mk.js +109 -109
  72. package/dist/astgraph/vendor/zod/v4/locales/ms.js +107 -107
  73. package/dist/astgraph/vendor/zod/v4/locales/nl.js +110 -110
  74. package/dist/astgraph/vendor/zod/v4/locales/no.js +108 -108
  75. package/dist/astgraph/vendor/zod/v4/locales/ota.js +109 -109
  76. package/dist/astgraph/vendor/zod/v4/locales/package.json +7 -7
  77. package/dist/astgraph/vendor/zod/v4/locales/pl.js +109 -109
  78. package/dist/astgraph/vendor/zod/v4/locales/ps.js +114 -114
  79. package/dist/astgraph/vendor/zod/v4/locales/pt.js +108 -108
  80. package/dist/astgraph/vendor/zod/v4/locales/ro.js +119 -119
  81. package/dist/astgraph/vendor/zod/v4/locales/ru.js +156 -156
  82. package/dist/astgraph/vendor/zod/v4/locales/sl.js +109 -109
  83. package/dist/astgraph/vendor/zod/v4/locales/sv.js +110 -110
  84. package/dist/astgraph/vendor/zod/v4/locales/ta.js +110 -110
  85. package/dist/astgraph/vendor/zod/v4/locales/th.js +110 -110
  86. package/dist/astgraph/vendor/zod/v4/locales/tr.js +105 -105
  87. package/dist/astgraph/vendor/zod/v4/locales/ua.js +5 -5
  88. package/dist/astgraph/vendor/zod/v4/locales/uk.js +108 -108
  89. package/dist/astgraph/vendor/zod/v4/locales/ur.js +110 -110
  90. package/dist/astgraph/vendor/zod/v4/locales/uz.js +110 -110
  91. package/dist/astgraph/vendor/zod/v4/locales/vi.js +108 -108
  92. package/dist/astgraph/vendor/zod/v4/locales/yo.js +107 -107
  93. package/dist/astgraph/vendor/zod/v4/locales/zh-CN.js +109 -109
  94. package/dist/astgraph/vendor/zod/v4/locales/zh-TW.js +107 -107
  95. package/dist/astgraph/vendor/zod/v4/mini/checks.js +1 -1
  96. package/dist/astgraph/vendor/zod/v4/mini/coerce.js +22 -22
  97. package/dist/astgraph/vendor/zod/v4/mini/external.js +14 -14
  98. package/dist/astgraph/vendor/zod/v4/mini/index.js +3 -3
  99. package/dist/astgraph/vendor/zod/v4/mini/iso.js +34 -34
  100. package/dist/astgraph/vendor/zod/v4/mini/package.json +7 -7
  101. package/dist/astgraph/vendor/zod/v4/mini/parse.js +1 -1
  102. package/dist/astgraph/vendor/zod/v4/mini/schemas.js +961 -961
  103. package/dist/astgraph/vendor/zod/v4/package.json +7 -7
  104. package/dist/{chunk-7OICVL2M.js → chunk-2BF7CVWZ.js} +0 -42
  105. package/dist/{chunk-RQTYHUMK.js → chunk-3WCDZ6ZL.js} +15 -0
  106. package/dist/{chunk-Z62P4LL7.js → chunk-6MNOZ2TX.js} +8962 -8422
  107. package/dist/{chunk-VEUSROUQ.js → chunk-FOTMP4ZS.js} +1 -1
  108. package/dist/{chunk-SUSLIHXO.js → chunk-ODRWR4KK.js} +1 -1
  109. package/dist/{chunk-RPFWB45Y.js → chunk-URUVFECH.js} +1 -1
  110. package/dist/{claude-ink-6CEG2XZZ.js → claude-ink-LP32NSX5.js} +2 -3
  111. package/dist/cli-main.js +27 -11
  112. package/dist/config/load.d.ts +2 -0
  113. package/dist/desktop/main.js +1092 -541
  114. package/dist/desktop-renderer/assets/index-Bk6FYhyh.css +1 -0
  115. package/dist/desktop-renderer/assets/{index-D75ozXnZ.js → index-CqRIr-hz.js} +3 -3
  116. package/dist/desktop-renderer/assets/{interactive-terminal-CTFo4fK9.js → interactive-terminal-C4o7MNPO.js} +1 -1
  117. package/dist/desktop-renderer/index.html +2 -2
  118. package/dist/doctor.d.ts +38 -0
  119. package/dist/execution/docker.d.ts +5 -1
  120. package/dist/execution/types.d.ts +11 -0
  121. package/dist/jobs/registry.d.ts +1 -0
  122. package/dist/{load-4FWNXE6F.js → load-V2UIYYQI.js} +1 -1
  123. package/dist/sdk/index.js +4 -4
  124. package/dist/tools/shell.d.ts +17 -12
  125. package/dist/tools/types.d.ts +1 -0
  126. package/dist/ui/commands.d.ts +1 -1
  127. package/dist/ui/session.d.ts +1 -0
  128. package/dist/update/check.d.ts +20 -0
  129. package/dist/utils/semver.d.ts +3 -0
  130. package/dist/utils/spawn-executable.d.ts +2 -0
  131. package/package.json +1 -1
  132. package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +5848 -5848
  133. package/dist/chunk-OTYFL4AG.js +0 -16
  134. package/dist/desktop-renderer/assets/index-ZZsUx916.css +0 -1
@@ -1,111 +1,111 @@
1
- import * as util from "../core/util.js";
2
- const error = () => {
3
- const Sizable = {
4
- string: { unit: "문자", verb: "to have" },
5
- file: { unit: "바이트", verb: "to have" },
6
- array: { unit: "개", verb: "to have" },
7
- set: { unit: "개", verb: "to have" },
8
- };
9
- function getSizing(origin) {
10
- return Sizable[origin] ?? null;
11
- }
12
- const FormatDictionary = {
13
- regex: "입력",
14
- email: "이메일 주소",
15
- url: "URL",
16
- emoji: "이모지",
17
- uuid: "UUID",
18
- uuidv4: "UUIDv4",
19
- uuidv6: "UUIDv6",
20
- nanoid: "nanoid",
21
- guid: "GUID",
22
- cuid: "cuid",
23
- cuid2: "cuid2",
24
- ulid: "ULID",
25
- xid: "XID",
26
- ksuid: "KSUID",
27
- datetime: "ISO 날짜시간",
28
- date: "ISO 날짜",
29
- time: "ISO 시간",
30
- duration: "ISO 기간",
31
- ipv4: "IPv4 주소",
32
- ipv6: "IPv6 주소",
33
- cidrv4: "IPv4 범위",
34
- cidrv6: "IPv6 범위",
35
- base64: "base64 인코딩 문자열",
36
- base64url: "base64url 인코딩 문자열",
37
- json_string: "JSON 문자열",
38
- e164: "E.164 번호",
39
- jwt: "JWT",
40
- template_literal: "입력",
41
- };
42
- const TypeDictionary = {
43
- nan: "NaN",
44
- };
45
- return (issue) => {
46
- switch (issue.code) {
47
- case "invalid_type": {
48
- const expected = TypeDictionary[issue.expected] ?? issue.expected;
49
- const receivedType = util.parsedType(issue.input);
50
- const received = TypeDictionary[receivedType] ?? receivedType;
51
- if (/^[A-Z]/.test(issue.expected)) {
52
- return `잘못된 입력: 예상 타입은 instanceof ${issue.expected}, 받은 타입은 ${received}입니다`;
53
- }
54
- return `잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`;
55
- }
56
- case "invalid_value":
57
- if (issue.values.length === 1)
58
- return `잘못된 입력: 값은 ${util.stringifyPrimitive(issue.values[0])} 이어야 합니다`;
59
- return `잘못된 옵션: ${util.joinValues(issue.values, "또는 ")} 중 하나여야 합니다`;
60
- case "too_big": {
61
- const adj = issue.inclusive ? "이하" : "미만";
62
- const suffix = adj === "미만" ? "이어야 합니다" : "여야 합니다";
63
- const sizing = getSizing(issue.origin);
64
- const unit = sizing?.unit ?? "요소";
65
- if (sizing)
66
- return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;
67
- return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()} ${adj}${suffix}`;
68
- }
69
- case "too_small": {
70
- const adj = issue.inclusive ? "이상" : "초과";
71
- const suffix = adj === "이상" ? "이어야 합니다" : "여야 합니다";
72
- const sizing = getSizing(issue.origin);
73
- const unit = sizing?.unit ?? "요소";
74
- if (sizing) {
75
- return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;
76
- }
77
- return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()} ${adj}${suffix}`;
78
- }
79
- case "invalid_format": {
80
- const _issue = issue;
81
- if (_issue.format === "starts_with") {
82
- return `잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;
83
- }
84
- if (_issue.format === "ends_with")
85
- return `잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;
86
- if (_issue.format === "includes")
87
- return `잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;
88
- if (_issue.format === "regex")
89
- return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;
90
- return `잘못된 ${FormatDictionary[_issue.format] ?? issue.format}`;
91
- }
92
- case "not_multiple_of":
93
- return `잘못된 숫자: ${issue.divisor}의 배수여야 합니다`;
94
- case "unrecognized_keys":
95
- return `인식할 수 없는 키: ${util.joinValues(issue.keys, ", ")}`;
96
- case "invalid_key":
97
- return `잘못된 키: ${issue.origin}`;
98
- case "invalid_union":
99
- return `잘못된 입력`;
100
- case "invalid_element":
101
- return `잘못된 값: ${issue.origin}`;
102
- default:
103
- return `잘못된 입력`;
104
- }
105
- };
106
- };
107
- export default function () {
108
- return {
109
- localeError: error(),
110
- };
111
- }
1
+ import * as util from "../core/util.js";
2
+ const error = () => {
3
+ const Sizable = {
4
+ string: { unit: "문자", verb: "to have" },
5
+ file: { unit: "바이트", verb: "to have" },
6
+ array: { unit: "개", verb: "to have" },
7
+ set: { unit: "개", verb: "to have" },
8
+ };
9
+ function getSizing(origin) {
10
+ return Sizable[origin] ?? null;
11
+ }
12
+ const FormatDictionary = {
13
+ regex: "입력",
14
+ email: "이메일 주소",
15
+ url: "URL",
16
+ emoji: "이모지",
17
+ uuid: "UUID",
18
+ uuidv4: "UUIDv4",
19
+ uuidv6: "UUIDv6",
20
+ nanoid: "nanoid",
21
+ guid: "GUID",
22
+ cuid: "cuid",
23
+ cuid2: "cuid2",
24
+ ulid: "ULID",
25
+ xid: "XID",
26
+ ksuid: "KSUID",
27
+ datetime: "ISO 날짜시간",
28
+ date: "ISO 날짜",
29
+ time: "ISO 시간",
30
+ duration: "ISO 기간",
31
+ ipv4: "IPv4 주소",
32
+ ipv6: "IPv6 주소",
33
+ cidrv4: "IPv4 범위",
34
+ cidrv6: "IPv6 범위",
35
+ base64: "base64 인코딩 문자열",
36
+ base64url: "base64url 인코딩 문자열",
37
+ json_string: "JSON 문자열",
38
+ e164: "E.164 번호",
39
+ jwt: "JWT",
40
+ template_literal: "입력",
41
+ };
42
+ const TypeDictionary = {
43
+ nan: "NaN",
44
+ };
45
+ return (issue) => {
46
+ switch (issue.code) {
47
+ case "invalid_type": {
48
+ const expected = TypeDictionary[issue.expected] ?? issue.expected;
49
+ const receivedType = util.parsedType(issue.input);
50
+ const received = TypeDictionary[receivedType] ?? receivedType;
51
+ if (/^[A-Z]/.test(issue.expected)) {
52
+ return `잘못된 입력: 예상 타입은 instanceof ${issue.expected}, 받은 타입은 ${received}입니다`;
53
+ }
54
+ return `잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`;
55
+ }
56
+ case "invalid_value":
57
+ if (issue.values.length === 1)
58
+ return `잘못된 입력: 값은 ${util.stringifyPrimitive(issue.values[0])} 이어야 합니다`;
59
+ return `잘못된 옵션: ${util.joinValues(issue.values, "또는 ")} 중 하나여야 합니다`;
60
+ case "too_big": {
61
+ const adj = issue.inclusive ? "이하" : "미만";
62
+ const suffix = adj === "미만" ? "이어야 합니다" : "여야 합니다";
63
+ const sizing = getSizing(issue.origin);
64
+ const unit = sizing?.unit ?? "요소";
65
+ if (sizing)
66
+ return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;
67
+ return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()} ${adj}${suffix}`;
68
+ }
69
+ case "too_small": {
70
+ const adj = issue.inclusive ? "이상" : "초과";
71
+ const suffix = adj === "이상" ? "이어야 합니다" : "여야 합니다";
72
+ const sizing = getSizing(issue.origin);
73
+ const unit = sizing?.unit ?? "요소";
74
+ if (sizing) {
75
+ return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;
76
+ }
77
+ return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()} ${adj}${suffix}`;
78
+ }
79
+ case "invalid_format": {
80
+ const _issue = issue;
81
+ if (_issue.format === "starts_with") {
82
+ return `잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;
83
+ }
84
+ if (_issue.format === "ends_with")
85
+ return `잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;
86
+ if (_issue.format === "includes")
87
+ return `잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;
88
+ if (_issue.format === "regex")
89
+ return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;
90
+ return `잘못된 ${FormatDictionary[_issue.format] ?? issue.format}`;
91
+ }
92
+ case "not_multiple_of":
93
+ return `잘못된 숫자: ${issue.divisor}의 배수여야 합니다`;
94
+ case "unrecognized_keys":
95
+ return `인식할 수 없는 키: ${util.joinValues(issue.keys, ", ")}`;
96
+ case "invalid_key":
97
+ return `잘못된 키: ${issue.origin}`;
98
+ case "invalid_union":
99
+ return `잘못된 입력`;
100
+ case "invalid_element":
101
+ return `잘못된 값: ${issue.origin}`;
102
+ default:
103
+ return `잘못된 입력`;
104
+ }
105
+ };
106
+ };
107
+ export default function () {
108
+ return {
109
+ localeError: error(),
110
+ };
111
+ }
@@ -1,203 +1,203 @@
1
- import * as util from "../core/util.js";
2
- const capitalizeFirstCharacter = (text) => {
3
- return text.charAt(0).toUpperCase() + text.slice(1);
4
- };
5
- function getUnitTypeFromNumber(number) {
6
- const abs = Math.abs(number);
7
- const last = abs % 10;
8
- const last2 = abs % 100;
9
- if ((last2 >= 11 && last2 <= 19) || last === 0)
10
- return "many";
11
- if (last === 1)
12
- return "one";
13
- return "few";
14
- }
15
- const error = () => {
16
- const Sizable = {
17
- string: {
18
- unit: {
19
- one: "simbolis",
20
- few: "simboliai",
21
- many: "simbolių",
22
- },
23
- verb: {
24
- smaller: {
25
- inclusive: "turi būti ne ilgesnė kaip",
26
- notInclusive: "turi būti trumpesnė kaip",
27
- },
28
- bigger: {
29
- inclusive: "turi būti ne trumpesnė kaip",
30
- notInclusive: "turi būti ilgesnė kaip",
31
- },
32
- },
33
- },
34
- file: {
35
- unit: {
36
- one: "baitas",
37
- few: "baitai",
38
- many: "baitų",
39
- },
40
- verb: {
41
- smaller: {
42
- inclusive: "turi būti ne didesnis kaip",
43
- notInclusive: "turi būti mažesnis kaip",
44
- },
45
- bigger: {
46
- inclusive: "turi būti ne mažesnis kaip",
47
- notInclusive: "turi būti didesnis kaip",
48
- },
49
- },
50
- },
51
- array: {
52
- unit: {
53
- one: "elementą",
54
- few: "elementus",
55
- many: "elementų",
56
- },
57
- verb: {
58
- smaller: {
59
- inclusive: "turi turėti ne daugiau kaip",
60
- notInclusive: "turi turėti mažiau kaip",
61
- },
62
- bigger: {
63
- inclusive: "turi turėti ne mažiau kaip",
64
- notInclusive: "turi turėti daugiau kaip",
65
- },
66
- },
67
- },
68
- set: {
69
- unit: {
70
- one: "elementą",
71
- few: "elementus",
72
- many: "elementų",
73
- },
74
- verb: {
75
- smaller: {
76
- inclusive: "turi turėti ne daugiau kaip",
77
- notInclusive: "turi turėti mažiau kaip",
78
- },
79
- bigger: {
80
- inclusive: "turi turėti ne mažiau kaip",
81
- notInclusive: "turi turėti daugiau kaip",
82
- },
83
- },
84
- },
85
- };
86
- function getSizing(origin, unitType, inclusive, targetShouldBe) {
87
- const result = Sizable[origin] ?? null;
88
- if (result === null)
89
- return result;
90
- return {
91
- unit: result.unit[unitType],
92
- verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
93
- };
94
- }
95
- const FormatDictionary = {
96
- regex: "įvestis",
97
- email: "el. pašto adresas",
98
- url: "URL",
99
- emoji: "jaustukas",
100
- uuid: "UUID",
101
- uuidv4: "UUIDv4",
102
- uuidv6: "UUIDv6",
103
- nanoid: "nanoid",
104
- guid: "GUID",
105
- cuid: "cuid",
106
- cuid2: "cuid2",
107
- ulid: "ULID",
108
- xid: "XID",
109
- ksuid: "KSUID",
110
- datetime: "ISO data ir laikas",
111
- date: "ISO data",
112
- time: "ISO laikas",
113
- duration: "ISO trukmė",
114
- ipv4: "IPv4 adresas",
115
- ipv6: "IPv6 adresas",
116
- cidrv4: "IPv4 tinklo prefiksas (CIDR)",
117
- cidrv6: "IPv6 tinklo prefiksas (CIDR)",
118
- base64: "base64 užkoduota eilutė",
119
- base64url: "base64url užkoduota eilutė",
120
- json_string: "JSON eilutė",
121
- e164: "E.164 numeris",
122
- jwt: "JWT",
123
- template_literal: "įvestis",
124
- };
125
- const TypeDictionary = {
126
- nan: "NaN",
127
- number: "skaičius",
128
- bigint: "sveikasis skaičius",
129
- string: "eilutė",
130
- boolean: "loginė reikšmė",
131
- undefined: "neapibrėžta reikšmė",
132
- function: "funkcija",
133
- symbol: "simbolis",
134
- array: "masyvas",
135
- object: "objektas",
136
- null: "nulinė reikšmė",
137
- };
138
- return (issue) => {
139
- switch (issue.code) {
140
- case "invalid_type": {
141
- const expected = TypeDictionary[issue.expected] ?? issue.expected;
142
- const receivedType = util.parsedType(issue.input);
143
- const received = TypeDictionary[receivedType] ?? receivedType;
144
- if (/^[A-Z]/.test(issue.expected)) {
145
- return `Gautas tipas ${received}, o tikėtasi - instanceof ${issue.expected}`;
146
- }
147
- return `Gautas tipas ${received}, o tikėtasi - ${expected}`;
148
- }
149
- case "invalid_value":
150
- if (issue.values.length === 1)
151
- return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;
152
- return `Privalo būti vienas iš ${util.joinValues(issue.values, "|")} pasirinkimų`;
153
- case "too_big": {
154
- const origin = TypeDictionary[issue.origin] ?? issue.origin;
155
- const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
156
- if (sizing?.verb)
157
- return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
158
- const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
159
- return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
160
- }
161
- case "too_small": {
162
- const origin = TypeDictionary[issue.origin] ?? issue.origin;
163
- const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
164
- if (sizing?.verb)
165
- return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
166
- const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
167
- return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
168
- }
169
- case "invalid_format": {
170
- const _issue = issue;
171
- if (_issue.format === "starts_with") {
172
- return `Eilutė privalo prasidėti "${_issue.prefix}"`;
173
- }
174
- if (_issue.format === "ends_with")
175
- return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
176
- if (_issue.format === "includes")
177
- return `Eilutė privalo įtraukti "${_issue.includes}"`;
178
- if (_issue.format === "regex")
179
- return `Eilutė privalo atitikti ${_issue.pattern}`;
180
- return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;
181
- }
182
- case "not_multiple_of":
183
- return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
184
- case "unrecognized_keys":
185
- return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${util.joinValues(issue.keys, ", ")}`;
186
- case "invalid_key":
187
- return "Rastas klaidingas raktas";
188
- case "invalid_union":
189
- return "Klaidinga įvestis";
190
- case "invalid_element": {
191
- const origin = TypeDictionary[issue.origin] ?? issue.origin;
192
- return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
193
- }
194
- default:
195
- return "Klaidinga įvestis";
196
- }
197
- };
198
- };
199
- export default function () {
200
- return {
201
- localeError: error(),
202
- };
203
- }
1
+ import * as util from "../core/util.js";
2
+ const capitalizeFirstCharacter = (text) => {
3
+ return text.charAt(0).toUpperCase() + text.slice(1);
4
+ };
5
+ function getUnitTypeFromNumber(number) {
6
+ const abs = Math.abs(number);
7
+ const last = abs % 10;
8
+ const last2 = abs % 100;
9
+ if ((last2 >= 11 && last2 <= 19) || last === 0)
10
+ return "many";
11
+ if (last === 1)
12
+ return "one";
13
+ return "few";
14
+ }
15
+ const error = () => {
16
+ const Sizable = {
17
+ string: {
18
+ unit: {
19
+ one: "simbolis",
20
+ few: "simboliai",
21
+ many: "simbolių",
22
+ },
23
+ verb: {
24
+ smaller: {
25
+ inclusive: "turi būti ne ilgesnė kaip",
26
+ notInclusive: "turi būti trumpesnė kaip",
27
+ },
28
+ bigger: {
29
+ inclusive: "turi būti ne trumpesnė kaip",
30
+ notInclusive: "turi būti ilgesnė kaip",
31
+ },
32
+ },
33
+ },
34
+ file: {
35
+ unit: {
36
+ one: "baitas",
37
+ few: "baitai",
38
+ many: "baitų",
39
+ },
40
+ verb: {
41
+ smaller: {
42
+ inclusive: "turi būti ne didesnis kaip",
43
+ notInclusive: "turi būti mažesnis kaip",
44
+ },
45
+ bigger: {
46
+ inclusive: "turi būti ne mažesnis kaip",
47
+ notInclusive: "turi būti didesnis kaip",
48
+ },
49
+ },
50
+ },
51
+ array: {
52
+ unit: {
53
+ one: "elementą",
54
+ few: "elementus",
55
+ many: "elementų",
56
+ },
57
+ verb: {
58
+ smaller: {
59
+ inclusive: "turi turėti ne daugiau kaip",
60
+ notInclusive: "turi turėti mažiau kaip",
61
+ },
62
+ bigger: {
63
+ inclusive: "turi turėti ne mažiau kaip",
64
+ notInclusive: "turi turėti daugiau kaip",
65
+ },
66
+ },
67
+ },
68
+ set: {
69
+ unit: {
70
+ one: "elementą",
71
+ few: "elementus",
72
+ many: "elementų",
73
+ },
74
+ verb: {
75
+ smaller: {
76
+ inclusive: "turi turėti ne daugiau kaip",
77
+ notInclusive: "turi turėti mažiau kaip",
78
+ },
79
+ bigger: {
80
+ inclusive: "turi turėti ne mažiau kaip",
81
+ notInclusive: "turi turėti daugiau kaip",
82
+ },
83
+ },
84
+ },
85
+ };
86
+ function getSizing(origin, unitType, inclusive, targetShouldBe) {
87
+ const result = Sizable[origin] ?? null;
88
+ if (result === null)
89
+ return result;
90
+ return {
91
+ unit: result.unit[unitType],
92
+ verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
93
+ };
94
+ }
95
+ const FormatDictionary = {
96
+ regex: "įvestis",
97
+ email: "el. pašto adresas",
98
+ url: "URL",
99
+ emoji: "jaustukas",
100
+ uuid: "UUID",
101
+ uuidv4: "UUIDv4",
102
+ uuidv6: "UUIDv6",
103
+ nanoid: "nanoid",
104
+ guid: "GUID",
105
+ cuid: "cuid",
106
+ cuid2: "cuid2",
107
+ ulid: "ULID",
108
+ xid: "XID",
109
+ ksuid: "KSUID",
110
+ datetime: "ISO data ir laikas",
111
+ date: "ISO data",
112
+ time: "ISO laikas",
113
+ duration: "ISO trukmė",
114
+ ipv4: "IPv4 adresas",
115
+ ipv6: "IPv6 adresas",
116
+ cidrv4: "IPv4 tinklo prefiksas (CIDR)",
117
+ cidrv6: "IPv6 tinklo prefiksas (CIDR)",
118
+ base64: "base64 užkoduota eilutė",
119
+ base64url: "base64url užkoduota eilutė",
120
+ json_string: "JSON eilutė",
121
+ e164: "E.164 numeris",
122
+ jwt: "JWT",
123
+ template_literal: "įvestis",
124
+ };
125
+ const TypeDictionary = {
126
+ nan: "NaN",
127
+ number: "skaičius",
128
+ bigint: "sveikasis skaičius",
129
+ string: "eilutė",
130
+ boolean: "loginė reikšmė",
131
+ undefined: "neapibrėžta reikšmė",
132
+ function: "funkcija",
133
+ symbol: "simbolis",
134
+ array: "masyvas",
135
+ object: "objektas",
136
+ null: "nulinė reikšmė",
137
+ };
138
+ return (issue) => {
139
+ switch (issue.code) {
140
+ case "invalid_type": {
141
+ const expected = TypeDictionary[issue.expected] ?? issue.expected;
142
+ const receivedType = util.parsedType(issue.input);
143
+ const received = TypeDictionary[receivedType] ?? receivedType;
144
+ if (/^[A-Z]/.test(issue.expected)) {
145
+ return `Gautas tipas ${received}, o tikėtasi - instanceof ${issue.expected}`;
146
+ }
147
+ return `Gautas tipas ${received}, o tikėtasi - ${expected}`;
148
+ }
149
+ case "invalid_value":
150
+ if (issue.values.length === 1)
151
+ return `Privalo būti ${util.stringifyPrimitive(issue.values[0])}`;
152
+ return `Privalo būti vienas iš ${util.joinValues(issue.values, "|")} pasirinkimų`;
153
+ case "too_big": {
154
+ const origin = TypeDictionary[issue.origin] ?? issue.origin;
155
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
156
+ if (sizing?.verb)
157
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
158
+ const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
159
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
160
+ }
161
+ case "too_small": {
162
+ const origin = TypeDictionary[issue.origin] ?? issue.origin;
163
+ const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
164
+ if (sizing?.verb)
165
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
166
+ const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
167
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
168
+ }
169
+ case "invalid_format": {
170
+ const _issue = issue;
171
+ if (_issue.format === "starts_with") {
172
+ return `Eilutė privalo prasidėti "${_issue.prefix}"`;
173
+ }
174
+ if (_issue.format === "ends_with")
175
+ return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
176
+ if (_issue.format === "includes")
177
+ return `Eilutė privalo įtraukti "${_issue.includes}"`;
178
+ if (_issue.format === "regex")
179
+ return `Eilutė privalo atitikti ${_issue.pattern}`;
180
+ return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;
181
+ }
182
+ case "not_multiple_of":
183
+ return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
184
+ case "unrecognized_keys":
185
+ return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${util.joinValues(issue.keys, ", ")}`;
186
+ case "invalid_key":
187
+ return "Rastas klaidingas raktas";
188
+ case "invalid_union":
189
+ return "Klaidinga įvestis";
190
+ case "invalid_element": {
191
+ const origin = TypeDictionary[issue.origin] ?? issue.origin;
192
+ return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
193
+ }
194
+ default:
195
+ return "Klaidinga įvestis";
196
+ }
197
+ };
198
+ };
199
+ export default function () {
200
+ return {
201
+ localeError: error(),
202
+ };
203
+ }