@oxog/vld 1.1.1 → 1.2.0

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 (115) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +274 -3
  3. package/dist/codecs/index.d.ts +89 -0
  4. package/dist/codecs/index.d.ts.map +1 -0
  5. package/dist/codecs/index.js +256 -0
  6. package/dist/codecs/index.js.map +1 -0
  7. package/dist/index.d.ts +14 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +27 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/locales/af.d.ts.map +1 -1
  12. package/dist/locales/af.js +15 -1
  13. package/dist/locales/af.js.map +1 -1
  14. package/dist/locales/ar.d.ts.map +1 -1
  15. package/dist/locales/ar.js +15 -1
  16. package/dist/locales/ar.js.map +1 -1
  17. package/dist/locales/bn.d.ts.map +1 -1
  18. package/dist/locales/bn.js +15 -1
  19. package/dist/locales/bn.js.map +1 -1
  20. package/dist/locales/da.d.ts.map +1 -1
  21. package/dist/locales/da.js +15 -1
  22. package/dist/locales/da.js.map +1 -1
  23. package/dist/locales/de.d.ts.map +1 -1
  24. package/dist/locales/de.js +15 -1
  25. package/dist/locales/de.js.map +1 -1
  26. package/dist/locales/en.d.ts.map +1 -1
  27. package/dist/locales/en.js +15 -1
  28. package/dist/locales/en.js.map +1 -1
  29. package/dist/locales/es-MX.d.ts.map +1 -1
  30. package/dist/locales/es-MX.js +15 -1
  31. package/dist/locales/es-MX.js.map +1 -1
  32. package/dist/locales/es.d.ts.map +1 -1
  33. package/dist/locales/es.js +15 -1
  34. package/dist/locales/es.js.map +1 -1
  35. package/dist/locales/fi.d.ts.map +1 -1
  36. package/dist/locales/fi.js +15 -1
  37. package/dist/locales/fi.js.map +1 -1
  38. package/dist/locales/fr.d.ts.map +1 -1
  39. package/dist/locales/fr.js +15 -1
  40. package/dist/locales/fr.js.map +1 -1
  41. package/dist/locales/hi.d.ts.map +1 -1
  42. package/dist/locales/hi.js +15 -1
  43. package/dist/locales/hi.js.map +1 -1
  44. package/dist/locales/id.d.ts.map +1 -1
  45. package/dist/locales/id.js +15 -1
  46. package/dist/locales/id.js.map +1 -1
  47. package/dist/locales/it.d.ts.map +1 -1
  48. package/dist/locales/it.js +15 -1
  49. package/dist/locales/it.js.map +1 -1
  50. package/dist/locales/ja.d.ts.map +1 -1
  51. package/dist/locales/ja.js +15 -1
  52. package/dist/locales/ja.js.map +1 -1
  53. package/dist/locales/ko.d.ts.map +1 -1
  54. package/dist/locales/ko.js +15 -1
  55. package/dist/locales/ko.js.map +1 -1
  56. package/dist/locales/nl.d.ts.map +1 -1
  57. package/dist/locales/nl.js +15 -1
  58. package/dist/locales/nl.js.map +1 -1
  59. package/dist/locales/no.d.ts.map +1 -1
  60. package/dist/locales/no.js +15 -1
  61. package/dist/locales/no.js.map +1 -1
  62. package/dist/locales/pl.d.ts.map +1 -1
  63. package/dist/locales/pl.js +15 -1
  64. package/dist/locales/pl.js.map +1 -1
  65. package/dist/locales/pt-BR.d.ts.map +1 -1
  66. package/dist/locales/pt-BR.js +15 -1
  67. package/dist/locales/pt-BR.js.map +1 -1
  68. package/dist/locales/pt.d.ts.map +1 -1
  69. package/dist/locales/pt.js +15 -1
  70. package/dist/locales/pt.js.map +1 -1
  71. package/dist/locales/ru.d.ts.map +1 -1
  72. package/dist/locales/ru.js +15 -1
  73. package/dist/locales/ru.js.map +1 -1
  74. package/dist/locales/sv.d.ts.map +1 -1
  75. package/dist/locales/sv.js +15 -1
  76. package/dist/locales/sv.js.map +1 -1
  77. package/dist/locales/sw.d.ts.map +1 -1
  78. package/dist/locales/sw.js +15 -1
  79. package/dist/locales/sw.js.map +1 -1
  80. package/dist/locales/th.d.ts.map +1 -1
  81. package/dist/locales/th.js +15 -1
  82. package/dist/locales/th.js.map +1 -1
  83. package/dist/locales/tr.d.ts.map +1 -1
  84. package/dist/locales/tr.js +15 -1
  85. package/dist/locales/tr.js.map +1 -1
  86. package/dist/locales/types.d.ts +10 -0
  87. package/dist/locales/types.d.ts.map +1 -1
  88. package/dist/locales/types.js.map +1 -1
  89. package/dist/locales/vi.d.ts.map +1 -1
  90. package/dist/locales/vi.js +15 -1
  91. package/dist/locales/vi.js.map +1 -1
  92. package/dist/locales/zh.d.ts.map +1 -1
  93. package/dist/locales/zh.js +15 -1
  94. package/dist/locales/zh.js.map +1 -1
  95. package/dist/utils/codec-utils.d.ts +44 -0
  96. package/dist/utils/codec-utils.d.ts.map +1 -0
  97. package/dist/utils/codec-utils.js +118 -0
  98. package/dist/utils/codec-utils.js.map +1 -0
  99. package/dist/validators/base64.d.ts +18 -0
  100. package/dist/validators/base64.d.ts.map +1 -0
  101. package/dist/validators/base64.js +62 -0
  102. package/dist/validators/base64.js.map +1 -0
  103. package/dist/validators/codec.d.ts +55 -0
  104. package/dist/validators/codec.d.ts.map +1 -0
  105. package/dist/validators/codec.js +182 -0
  106. package/dist/validators/codec.js.map +1 -0
  107. package/dist/validators/hex.d.ts +17 -0
  108. package/dist/validators/hex.d.ts.map +1 -0
  109. package/dist/validators/hex.js +61 -0
  110. package/dist/validators/hex.js.map +1 -0
  111. package/dist/validators/uint8array.d.ts +25 -0
  112. package/dist/validators/uint8array.d.ts.map +1 -0
  113. package/dist/validators/uint8array.js +87 -0
  114. package/dist/validators/uint8array.js.map +1 -0
  115. package/package.json +1 -1
@@ -0,0 +1,256 @@
1
+ import { VldCodec } from '../validators/codec.js';
2
+ import { VldBase64 } from '../validators/base64.js';
3
+ import { VldHex } from '../validators/hex.js';
4
+ import { VldUint8Array } from '../validators/uint8array.js';
5
+ import { VldString } from '../validators/string.js';
6
+ import { VldNumber } from '../validators/number.js';
7
+ import { VldBigInt } from '../validators/bigint.js';
8
+ import { VldBoolean } from '../validators/boolean.js';
9
+ import { VldDate } from '../validators/date.js';
10
+ import { VldUnknown } from '../validators/unknown.js';
11
+ import { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from '../utils/codec-utils.js';
12
+ /**
13
+ * Predefined codecs for common transformations (Zod-compatible)
14
+ */
15
+ // ===== STRING TO NUMBER CODECS =====
16
+ /**
17
+ * String to number codec
18
+ */
19
+ export const stringToNumber = VldCodec.create(VldString.create(), VldNumber.create(), {
20
+ decode: (str) => {
21
+ const num = Number(str);
22
+ if (isNaN(num))
23
+ throw new Error('Invalid number');
24
+ return num;
25
+ },
26
+ encode: (num) => num.toString()
27
+ });
28
+ /**
29
+ * String to integer codec
30
+ */
31
+ export const stringToInt = VldCodec.create(VldString.create(), VldNumber.create().int(), {
32
+ decode: (str) => {
33
+ const num = parseInt(str, 10);
34
+ if (isNaN(num))
35
+ throw new Error('Invalid integer');
36
+ return num;
37
+ },
38
+ encode: (num) => Math.floor(num).toString()
39
+ });
40
+ /**
41
+ * String to BigInt codec
42
+ */
43
+ export const stringToBigInt = VldCodec.create(VldString.create(), VldBigInt.create(), {
44
+ decode: (str) => {
45
+ try {
46
+ return BigInt(str);
47
+ }
48
+ catch {
49
+ throw new Error('Invalid BigInt');
50
+ }
51
+ },
52
+ encode: (bigint) => bigint.toString()
53
+ });
54
+ /**
55
+ * Number to BigInt codec
56
+ */
57
+ export const numberToBigInt = VldCodec.create(VldNumber.create().int(), VldBigInt.create(), {
58
+ decode: (num) => BigInt(Math.floor(num)),
59
+ encode: (bigint) => Number(bigint)
60
+ });
61
+ // ===== DATE CODECS =====
62
+ /**
63
+ * ISO datetime string to Date codec
64
+ */
65
+ export const isoDatetimeToDate = VldCodec.create(VldString.create().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/, 'Invalid ISO datetime format'), VldDate.create(), {
66
+ decode: (isoString) => {
67
+ const date = new Date(isoString);
68
+ if (isNaN(date.getTime()))
69
+ throw new Error('Invalid date');
70
+ return date;
71
+ },
72
+ encode: (date) => date.toISOString()
73
+ });
74
+ /**
75
+ * Epoch seconds to Date codec
76
+ */
77
+ export const epochSecondsToDate = VldCodec.create(VldNumber.create(), VldDate.create(), {
78
+ decode: (seconds) => new Date(seconds * 1000),
79
+ encode: (date) => Math.floor(date.getTime() / 1000)
80
+ });
81
+ /**
82
+ * Epoch milliseconds to Date codec
83
+ */
84
+ export const epochMillisToDate = VldCodec.create(VldNumber.create(), VldDate.create(), {
85
+ decode: (millis) => new Date(millis),
86
+ encode: (date) => date.getTime()
87
+ });
88
+ // ===== JSON CODEC =====
89
+ /**
90
+ * JSON string codec for any type
91
+ */
92
+ export const jsonCodec = (schema) => {
93
+ const outputSchema = schema || VldUnknown.create();
94
+ return VldCodec.create(VldString.create(), outputSchema, {
95
+ decode: (jsonString) => {
96
+ try {
97
+ return JSON.parse(jsonString);
98
+ }
99
+ catch {
100
+ throw new Error('Invalid JSON');
101
+ }
102
+ },
103
+ encode: (data) => JSON.stringify(data)
104
+ });
105
+ };
106
+ // ===== URL CODECS =====
107
+ /**
108
+ * String to URL codec
109
+ */
110
+ export const stringToURL = VldCodec.create(VldString.create().url(), VldUnknown.create(), // URL object
111
+ {
112
+ decode: (urlString) => {
113
+ try {
114
+ return new URL(urlString);
115
+ }
116
+ catch {
117
+ throw new Error('Invalid URL');
118
+ }
119
+ },
120
+ encode: (url) => url.toString()
121
+ });
122
+ /**
123
+ * String to HTTP/HTTPS URL codec
124
+ */
125
+ export const stringToHttpURL = VldCodec.create(VldString.create().regex(/^https?:\/\//, 'Must be HTTP or HTTPS URL'), VldUnknown.create(), // URL object
126
+ {
127
+ decode: (urlString) => {
128
+ try {
129
+ const url = new URL(urlString);
130
+ if (!['http:', 'https:'].includes(url.protocol)) {
131
+ throw new Error('Must be HTTP or HTTPS');
132
+ }
133
+ return url;
134
+ }
135
+ catch {
136
+ throw new Error('Invalid HTTP URL');
137
+ }
138
+ },
139
+ encode: (url) => url.toString()
140
+ });
141
+ /**
142
+ * URI component encode/decode codec
143
+ */
144
+ export const uriComponent = VldCodec.create(VldString.create(), VldString.create(), {
145
+ decode: (encoded) => {
146
+ try {
147
+ return decodeURIComponent(encoded);
148
+ }
149
+ catch {
150
+ throw new Error('Invalid URI component');
151
+ }
152
+ },
153
+ encode: (decoded) => encodeURIComponent(decoded)
154
+ });
155
+ /**
156
+ * String to boolean codec
157
+ */
158
+ export const stringToBoolean = VldCodec.create(VldString.create(), VldBoolean.create(), {
159
+ decode: (str) => {
160
+ const lower = str.toLowerCase();
161
+ if (lower === 'true' || lower === '1' || lower === 'yes' || lower === 'on')
162
+ return true;
163
+ if (lower === 'false' || lower === '0' || lower === 'no' || lower === 'off')
164
+ return false;
165
+ throw new Error('Invalid boolean string');
166
+ },
167
+ encode: (bool) => bool.toString()
168
+ });
169
+ // ===== EXISTING BYTE CODECS (updated) =====
170
+ /**
171
+ * Base64 to Uint8Array codec
172
+ */
173
+ export const base64ToBytes = VldCodec.create(VldBase64.create(), VldUint8Array.create(), {
174
+ decode: base64ToUint8Array,
175
+ encode: uint8ArrayToBase64
176
+ });
177
+ /**
178
+ * URL-safe Base64 to Uint8Array codec
179
+ */
180
+ export const base64UrlToBytes = VldCodec.create(VldBase64.create().urlSafeMode(), VldUint8Array.create(), {
181
+ decode: base64ToUint8Array,
182
+ encode: uint8ArrayToBase64Url
183
+ });
184
+ /**
185
+ * Hexadecimal to Uint8Array codec
186
+ */
187
+ export const hexToBytes = VldCodec.create(VldHex.create(), VldUint8Array.create(), {
188
+ decode: hexToUint8Array,
189
+ encode: uint8ArrayToHex
190
+ });
191
+ /**
192
+ * Lowercase hexadecimal to Uint8Array codec
193
+ */
194
+ export const hexLowerToBytes = VldCodec.create(VldHex.create().lowercaseMode(), VldUint8Array.create(), {
195
+ decode: hexToUint8Array,
196
+ encode: (bytes) => uint8ArrayToHex(bytes).toLowerCase()
197
+ });
198
+ /**
199
+ * UTF-8 string to Uint8Array codec
200
+ */
201
+ export const utf8ToBytes = VldCodec.create(VldString.create(), VldUint8Array.create(), {
202
+ decode: stringToUint8Array,
203
+ encode: uint8ArrayToString
204
+ });
205
+ /**
206
+ * Uint8Array to UTF-8 string codec (reverse of utf8ToBytes)
207
+ */
208
+ export const bytesToUtf8 = VldCodec.create(VldUint8Array.create(), VldString.create(), {
209
+ decode: uint8ArrayToString,
210
+ encode: stringToUint8Array
211
+ });
212
+ /**
213
+ * Base64URL to Uint8Array codec (updated)
214
+ */
215
+ export const base64urlToBytes = VldCodec.create(VldBase64.create().urlSafeMode(), VldUint8Array.create(), {
216
+ decode: base64ToUint8Array,
217
+ encode: uint8ArrayToBase64Url
218
+ });
219
+ /**
220
+ * Base64 encoded JSON codec (updated)
221
+ */
222
+ export const base64Json = (schema) => {
223
+ const outputSchema = schema || VldUnknown.create();
224
+ return VldCodec.create(VldBase64.create(), outputSchema, {
225
+ decode: (base64) => {
226
+ const jsonString = uint8ArrayToString(base64ToUint8Array(base64));
227
+ return JSON.parse(jsonString);
228
+ },
229
+ encode: (data) => {
230
+ const jsonString = JSON.stringify(data);
231
+ return uint8ArrayToBase64(stringToUint8Array(jsonString));
232
+ }
233
+ });
234
+ };
235
+ /**
236
+ * JWT payload decoder (base64url encoded JSON) - updated
237
+ */
238
+ export const jwtPayload = (schema) => {
239
+ const outputSchema = schema || VldUnknown.create();
240
+ return VldCodec.create(VldString.create().refine(s => s.split('.').length === 3, 'Invalid JWT format'), outputSchema, {
241
+ decode: (jwt) => {
242
+ const [, payloadBase64] = jwt.split('.');
243
+ // Convert base64url to base64
244
+ const base64 = payloadBase64
245
+ .replace(/-/g, '+')
246
+ .replace(/_/g, '/')
247
+ .padEnd(payloadBase64.length + (4 - payloadBase64.length % 4) % 4, '=');
248
+ const jsonString = uint8ArrayToString(base64ToUint8Array(base64));
249
+ return JSON.parse(jsonString);
250
+ },
251
+ encode: () => {
252
+ throw new Error('JWT encoding not supported - use a proper JWT library');
253
+ }
254
+ });
255
+ };
256
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { VldCodec } from '../validators/codec';\nimport { VldBase64 } from '../validators/base64';\nimport { VldHex } from '../validators/hex';\nimport { VldUint8Array } from '../validators/uint8array';\nimport { VldString } from '../validators/string';\nimport { VldNumber } from '../validators/number';\nimport { VldBigInt } from '../validators/bigint';\nimport { VldBoolean } from '../validators/boolean';\nimport { VldDate } from '../validators/date';\nimport { VldUnknown } from '../validators/unknown';\nimport {\n base64ToUint8Array,\n uint8ArrayToBase64,\n uint8ArrayToBase64Url,\n hexToUint8Array,\n uint8ArrayToHex,\n stringToUint8Array,\n uint8ArrayToString\n} from '../utils/codec-utils';\n\n/**\n * Predefined codecs for common transformations (Zod-compatible)\n */\n\n// ===== STRING TO NUMBER CODECS =====\n\n/**\n * String to number codec\n */\nexport const stringToNumber = VldCodec.create(\n VldString.create(),\n VldNumber.create(),\n {\n decode: (str: string) => {\n const num = Number(str);\n if (isNaN(num)) throw new Error('Invalid number');\n return num;\n },\n encode: (num: number) => num.toString()\n }\n);\n\n/**\n * String to integer codec\n */\nexport const stringToInt = VldCodec.create(\n VldString.create(),\n VldNumber.create().int(),\n {\n decode: (str: string) => {\n const num = parseInt(str, 10);\n if (isNaN(num)) throw new Error('Invalid integer');\n return num;\n },\n encode: (num: number) => Math.floor(num).toString()\n }\n);\n\n/**\n * String to BigInt codec\n */\nexport const stringToBigInt = VldCodec.create(\n VldString.create(),\n VldBigInt.create(),\n {\n decode: (str: string) => {\n try {\n return BigInt(str);\n } catch {\n throw new Error('Invalid BigInt');\n }\n },\n encode: (bigint: bigint) => bigint.toString()\n }\n);\n\n/**\n * Number to BigInt codec\n */\nexport const numberToBigInt = VldCodec.create(\n VldNumber.create().int(),\n VldBigInt.create(),\n {\n decode: (num: number) => BigInt(Math.floor(num)),\n encode: (bigint: bigint) => Number(bigint)\n }\n);\n\n// ===== DATE CODECS =====\n\n/**\n * ISO datetime string to Date codec\n */\nexport const isoDatetimeToDate = VldCodec.create(\n VldString.create().regex(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?Z?$/, 'Invalid ISO datetime format'),\n VldDate.create(),\n {\n decode: (isoString: string) => {\n const date = new Date(isoString);\n if (isNaN(date.getTime())) throw new Error('Invalid date');\n return date;\n },\n encode: (date: Date) => date.toISOString()\n }\n);\n\n/**\n * Epoch seconds to Date codec\n */\nexport const epochSecondsToDate = VldCodec.create(\n VldNumber.create(),\n VldDate.create(),\n {\n decode: (seconds: number) => new Date(seconds * 1000),\n encode: (date: Date) => Math.floor(date.getTime() / 1000)\n }\n);\n\n/**\n * Epoch milliseconds to Date codec\n */\nexport const epochMillisToDate = VldCodec.create(\n VldNumber.create(),\n VldDate.create(),\n {\n decode: (millis: number) => new Date(millis),\n encode: (date: Date) => date.getTime()\n }\n);\n\n// ===== JSON CODEC =====\n\n/**\n * JSON string codec for any type\n */\nexport const jsonCodec = <T = any>(schema?: any) => {\n const outputSchema = schema || VldUnknown.create();\n \n return VldCodec.create(\n VldString.create(),\n outputSchema,\n {\n decode: (jsonString: string) => {\n try {\n return JSON.parse(jsonString);\n } catch {\n throw new Error('Invalid JSON');\n }\n },\n encode: (data: T) => JSON.stringify(data)\n }\n );\n};\n\n// ===== URL CODECS =====\n\n/**\n * String to URL codec\n */\nexport const stringToURL = VldCodec.create(\n VldString.create().url(),\n VldUnknown.create() as any, // URL object\n {\n decode: (urlString: string) => {\n try {\n return new URL(urlString);\n } catch {\n throw new Error('Invalid URL');\n }\n },\n encode: (url: URL) => url.toString()\n }\n);\n\n/**\n * String to HTTP/HTTPS URL codec\n */\nexport const stringToHttpURL = VldCodec.create(\n VldString.create().regex(/^https?:\\/\\//, 'Must be HTTP or HTTPS URL'),\n VldUnknown.create() as any, // URL object\n {\n decode: (urlString: string) => {\n try {\n const url = new URL(urlString);\n if (!['http:', 'https:'].includes(url.protocol)) {\n throw new Error('Must be HTTP or HTTPS');\n }\n return url;\n } catch {\n throw new Error('Invalid HTTP URL');\n }\n },\n encode: (url: URL) => url.toString()\n }\n);\n\n/**\n * URI component encode/decode codec\n */\nexport const uriComponent = VldCodec.create(\n VldString.create(),\n VldString.create(),\n {\n decode: (encoded: string) => {\n try {\n return decodeURIComponent(encoded);\n } catch {\n throw new Error('Invalid URI component');\n }\n },\n encode: (decoded: string) => encodeURIComponent(decoded)\n }\n);\n\n/**\n * String to boolean codec\n */\nexport const stringToBoolean = VldCodec.create(\n VldString.create(),\n VldBoolean.create(),\n {\n decode: (str: string) => {\n const lower = str.toLowerCase();\n if (lower === 'true' || lower === '1' || lower === 'yes' || lower === 'on') return true;\n if (lower === 'false' || lower === '0' || lower === 'no' || lower === 'off') return false;\n throw new Error('Invalid boolean string');\n },\n encode: (bool: boolean) => bool.toString()\n }\n);\n\n// ===== EXISTING BYTE CODECS (updated) =====\n\n/**\n * Base64 to Uint8Array codec\n */\nexport const base64ToBytes = VldCodec.create(\n VldBase64.create(),\n VldUint8Array.create(),\n {\n decode: base64ToUint8Array,\n encode: uint8ArrayToBase64\n }\n);\n\n/**\n * URL-safe Base64 to Uint8Array codec\n */\nexport const base64UrlToBytes = VldCodec.create(\n VldBase64.create().urlSafeMode(),\n VldUint8Array.create(),\n {\n decode: base64ToUint8Array,\n encode: uint8ArrayToBase64Url\n }\n);\n\n/**\n * Hexadecimal to Uint8Array codec\n */\nexport const hexToBytes = VldCodec.create(\n VldHex.create(),\n VldUint8Array.create(),\n {\n decode: hexToUint8Array,\n encode: uint8ArrayToHex\n }\n);\n\n/**\n * Lowercase hexadecimal to Uint8Array codec\n */\nexport const hexLowerToBytes = VldCodec.create(\n VldHex.create().lowercaseMode(),\n VldUint8Array.create(),\n {\n decode: hexToUint8Array,\n encode: (bytes) => uint8ArrayToHex(bytes).toLowerCase()\n }\n);\n\n/**\n * UTF-8 string to Uint8Array codec\n */\nexport const utf8ToBytes = VldCodec.create(\n VldString.create(),\n VldUint8Array.create(),\n {\n decode: stringToUint8Array,\n encode: uint8ArrayToString\n }\n);\n\n/**\n * Uint8Array to UTF-8 string codec (reverse of utf8ToBytes)\n */\nexport const bytesToUtf8 = VldCodec.create(\n VldUint8Array.create(),\n VldString.create(),\n {\n decode: uint8ArrayToString,\n encode: stringToUint8Array\n }\n);\n\n/**\n * Base64URL to Uint8Array codec (updated)\n */\nexport const base64urlToBytes = VldCodec.create(\n VldBase64.create().urlSafeMode(),\n VldUint8Array.create(),\n {\n decode: base64ToUint8Array,\n encode: uint8ArrayToBase64Url\n }\n);\n\n/**\n * Base64 encoded JSON codec (updated)\n */\nexport const base64Json = <T = any>(schema?: any) => {\n const outputSchema = schema || VldUnknown.create();\n \n return VldCodec.create(\n VldBase64.create(),\n outputSchema,\n {\n decode: (base64: string) => {\n const jsonString = uint8ArrayToString(base64ToUint8Array(base64));\n return JSON.parse(jsonString);\n },\n encode: (data: T) => {\n const jsonString = JSON.stringify(data);\n return uint8ArrayToBase64(stringToUint8Array(jsonString));\n }\n }\n );\n};\n\n/**\n * JWT payload decoder (base64url encoded JSON) - updated\n */\nexport const jwtPayload = (schema?: any) => {\n const outputSchema = schema || VldUnknown.create();\n \n return VldCodec.create(\n VldString.create().refine(s => s.split('.').length === 3, 'Invalid JWT format'),\n outputSchema,\n {\n decode: (jwt: string) => {\n const [, payloadBase64] = jwt.split('.');\n // Convert base64url to base64\n const base64 = payloadBase64\n .replace(/-/g, '+')\n .replace(/_/g, '/')\n .padEnd(payloadBase64.length + (4 - payloadBase64.length % 4) % 4, '=');\n \n const jsonString = uint8ArrayToString(base64ToUint8Array(base64));\n return JSON.parse(jsonString);\n },\n encode: () => {\n throw new Error('JWT encoding not supported - use a proper JWT library');\n }\n }\n );\n};"]}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,10 @@ import { VldNever } from './validators/never';
32
32
  import { VldOptional } from './validators/base';
33
33
  import { VldNullable } from './validators/base';
34
34
  import { VldNullish } from './validators/base';
35
+ import { VldCodec } from './validators/codec';
36
+ import { VldBase64 } from './validators/base64';
37
+ import { VldHex } from './validators/hex';
38
+ import { VldUint8Array } from './validators/uint8array';
35
39
  import { VldCoerceString } from './coercion/string';
36
40
  import { VldCoerceNumber } from './coercion/number';
37
41
  import { VldCoerceBoolean } from './coercion/boolean';
@@ -43,6 +47,9 @@ export { VldBase } from './validators/base';
43
47
  export { VldIntersection } from './validators/intersection';
44
48
  export { setLocale, getLocale, getMessages, type Locale } from './locales';
45
49
  export { VldError, VldIssue, VldErrorCode, VldErrorTree, VldFlattenedError, treeifyError, prettifyError, flattenError } from './errors';
50
+ export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils';
51
+ export type { CodecTransform } from './validators/codec';
52
+ export { stringToNumber, stringToInt, stringToBigInt, numberToBigInt, stringToBoolean, isoDatetimeToDate, epochSecondsToDate, epochMillisToDate, jsonCodec, stringToURL, stringToHttpURL, uriComponent, base64ToBytes, base64UrlToBytes, base64urlToBytes, hexToBytes, hexLowerToBytes, utf8ToBytes, bytesToUtf8, base64Json, jwtPayload } from './codecs';
46
53
  /**
47
54
  * Main API object with factory methods for all validators
48
55
  */
@@ -77,6 +84,13 @@ export declare const v: {
77
84
  date: () => VldCoerceDate;
78
85
  bigint: () => VldCoerceBigInt;
79
86
  };
87
+ base64: () => VldBase64;
88
+ hex: () => VldHex;
89
+ uint8Array: () => VldUint8Array;
90
+ codec: <TInput, TOutput>(inputValidator: VldBase<unknown, TInput>, outputValidator: VldBase<unknown, TOutput>, transform: {
91
+ decode: (value: TInput) => TOutput | Promise<TOutput>;
92
+ encode: (value: TOutput) => TInput | Promise<TInput>;
93
+ }) => VldCodec<TInput, TOutput>;
80
94
  };
81
95
  export default v;
82
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -32,6 +32,10 @@ import { VldNever } from './validators/never.js';
32
32
  import { VldOptional } from './validators/base.js';
33
33
  import { VldNullable } from './validators/base.js';
34
34
  import { VldNullish } from './validators/base.js';
35
+ import { VldCodec } from './validators/codec.js';
36
+ import { VldBase64 } from './validators/base64.js';
37
+ import { VldHex } from './validators/hex.js';
38
+ import { VldUint8Array } from './validators/uint8array.js';
35
39
  // Import coercion validators
36
40
  import { VldCoerceString } from './coercion/string.js';
37
41
  import { VldCoerceNumber } from './coercion/number.js';
@@ -45,6 +49,22 @@ export { VldIntersection } from './validators/intersection.js';
45
49
  export { setLocale, getLocale, getMessages } from './locales.js';
46
50
  // Re-export error formatting utilities
47
51
  export { VldError, treeifyError, prettifyError, flattenError } from './errors.js';
52
+ // Re-export codec utilities
53
+ export { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToBase64Url, hexToUint8Array, uint8ArrayToHex, stringToUint8Array, uint8ArrayToString } from './utils/codec-utils.js';
54
+ // Re-export predefined codecs
55
+ export {
56
+ // String conversion codecs
57
+ stringToNumber, stringToInt, stringToBigInt, numberToBigInt, stringToBoolean,
58
+ // Date conversion codecs
59
+ isoDatetimeToDate, epochSecondsToDate, epochMillisToDate,
60
+ // JSON codec
61
+ jsonCodec,
62
+ // URL codecs
63
+ stringToURL, stringToHttpURL, uriComponent,
64
+ // Byte conversion codecs
65
+ base64ToBytes, base64UrlToBytes, base64urlToBytes, hexToBytes, hexLowerToBytes, utf8ToBytes, bytesToUtf8,
66
+ // Complex codecs
67
+ base64Json, jwtPayload } from './codecs.js';
48
68
  /**
49
69
  * Main API object with factory methods for all validators
50
70
  */
@@ -85,7 +105,13 @@ export const v = {
85
105
  boolean: () => VldCoerceBoolean.create(),
86
106
  date: () => VldCoerceDate.create(),
87
107
  bigint: () => VldCoerceBigInt.create(),
88
- }
108
+ },
109
+ // Codec validators
110
+ base64: () => VldBase64.create(),
111
+ hex: () => VldHex.create(),
112
+ uint8Array: () => VldUint8Array.create(),
113
+ // Codec factory
114
+ codec: (inputValidator, outputValidator, transform) => VldCodec.create(inputValidator, outputValidator, transform)
89
115
  };
90
116
  // For backward compatibility during migration
91
117
  export default v;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VLD - Fast, Type-Safe Validation Library\n * Zero dependencies, blazing fast performance\n * \n * This is the new modular implementation with:\n * - Immutable validators (no memory leaks)\n * - Secure deepMerge (no prototype pollution)\n * - TypeScript strict mode support\n * - Better performance through pooling and memoization\n */\n\n// Import base class\nimport { VldBase } from './validators/base';\n\n// Import validators\nimport { VldString } from './validators/string';\nimport { VldNumber } from './validators/number';\nimport { VldBoolean } from './validators/boolean';\nimport { VldDate } from './validators/date';\nimport { VldArray } from './validators/array';\nimport { VldObject } from './validators/object';\nimport { VldUnion } from './validators/union';\nimport { VldLiteral } from './validators/literal';\nimport { VldBigInt } from './validators/bigint';\nimport { VldSymbol } from './validators/symbol';\nimport { VldTuple } from './validators/tuple';\nimport { VldRecord } from './validators/record';\nimport { VldSet } from './validators/set';\nimport { VldMap } from './validators/map';\nimport { VldEnum } from './validators/enum';\nimport { VldIntersection } from './validators/intersection';\nimport { VldAny } from './validators/any';\nimport { VldUnknown } from './validators/unknown';\nimport { VldVoid } from './validators/void';\nimport { VldNever } from './validators/never';\nimport { VldOptional } from './validators/base';\nimport { VldNullable } from './validators/base';\nimport { VldNullish } from './validators/base';\n\n// Import coercion validators\nimport { VldCoerceString } from './coercion/string';\nimport { VldCoerceNumber } from './coercion/number';\nimport { VldCoerceBoolean } from './coercion/boolean';\nimport { VldCoerceDate } from './coercion/date';\nimport { VldCoerceBigInt } from './coercion/bigint';\n\n// Re-export types\nexport type { ParseResult } from './validators/base';\nexport type { Infer } from './validators';\n\n// Re-export base classes for extension\nexport { VldBase } from './validators/base';\nexport { VldIntersection } from './validators/intersection';\n\n// Re-export locale functionality\nexport { setLocale, getLocale, getMessages, type Locale } from './locales';\n\n// Re-export error formatting utilities\nexport { \n VldError, \n VldIssue, \n VldErrorCode,\n VldErrorTree,\n VldFlattenedError,\n treeifyError, \n prettifyError, \n flattenError \n} from './errors';\n\n/**\n * Main API object with factory methods for all validators\n */\nexport const v = {\n // Primitive validators\n string: () => VldString.create(),\n number: () => VldNumber.create(),\n boolean: () => VldBoolean.create(),\n date: () => VldDate.create(),\n bigint: () => VldBigInt.create(),\n symbol: () => VldSymbol.create(),\n \n // Complex validators\n array: <T>(item: VldBase<unknown, T>) => VldArray.create(item),\n object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) => \n VldObject.create(shape),\n tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items),\n record: <T>(value: VldBase<unknown, T>) => VldRecord.create(value),\n set: <T>(item: VldBase<unknown, T>) => VldSet.create(item),\n map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value),\n \n // Union and intersection\n union: <T extends readonly VldBase<any, any>[]>(...validators: T) => \n VldUnion.create(...validators),\n intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => \n VldIntersection.create(first, second),\n \n // Literal and enum\n literal: <T extends string | number | boolean | null | undefined>(value: T) => \n VldLiteral.create(value),\n enum: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any),\n \n // Special validators\n any: () => VldAny.create(),\n unknown: () => VldUnknown.create(),\n void: () => VldVoid.create(),\n never: () => VldNever.create(),\n \n // Utility validators\n optional: <T>(validator: VldBase<unknown, T>) => VldOptional.create(validator),\n nullable: <T>(validator: VldBase<unknown, T>) => VldNullable.create(validator),\n nullish: <T>(validator: VldBase<unknown, T>) => VldNullish.create(validator),\n \n // Coercion API\n coerce: {\n string: () => VldCoerceString.create(),\n number: () => VldCoerceNumber.create(),\n boolean: () => VldCoerceBoolean.create(),\n date: () => VldCoerceDate.create(),\n bigint: () => VldCoerceBigInt.create(),\n }\n};\n\n// For backward compatibility during migration\nexport default v;"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * VLD - Fast, Type-Safe Validation Library\n * Zero dependencies, blazing fast performance\n * \n * This is the new modular implementation with:\n * - Immutable validators (no memory leaks)\n * - Secure deepMerge (no prototype pollution)\n * - TypeScript strict mode support\n * - Better performance through pooling and memoization\n */\n\n// Import base class\nimport { VldBase } from './validators/base';\n\n// Import validators\nimport { VldString } from './validators/string';\nimport { VldNumber } from './validators/number';\nimport { VldBoolean } from './validators/boolean';\nimport { VldDate } from './validators/date';\nimport { VldArray } from './validators/array';\nimport { VldObject } from './validators/object';\nimport { VldUnion } from './validators/union';\nimport { VldLiteral } from './validators/literal';\nimport { VldBigInt } from './validators/bigint';\nimport { VldSymbol } from './validators/symbol';\nimport { VldTuple } from './validators/tuple';\nimport { VldRecord } from './validators/record';\nimport { VldSet } from './validators/set';\nimport { VldMap } from './validators/map';\nimport { VldEnum } from './validators/enum';\nimport { VldIntersection } from './validators/intersection';\nimport { VldAny } from './validators/any';\nimport { VldUnknown } from './validators/unknown';\nimport { VldVoid } from './validators/void';\nimport { VldNever } from './validators/never';\nimport { VldOptional } from './validators/base';\nimport { VldNullable } from './validators/base';\nimport { VldNullish } from './validators/base';\nimport { VldCodec } from './validators/codec';\nimport { VldBase64 } from './validators/base64';\nimport { VldHex } from './validators/hex';\nimport { VldUint8Array } from './validators/uint8array';\n\n// Import coercion validators\nimport { VldCoerceString } from './coercion/string';\nimport { VldCoerceNumber } from './coercion/number';\nimport { VldCoerceBoolean } from './coercion/boolean';\nimport { VldCoerceDate } from './coercion/date';\nimport { VldCoerceBigInt } from './coercion/bigint';\n\n// Re-export types\nexport type { ParseResult } from './validators/base';\nexport type { Infer } from './validators';\n\n// Re-export base classes for extension\nexport { VldBase } from './validators/base';\nexport { VldIntersection } from './validators/intersection';\n\n// Re-export locale functionality\nexport { setLocale, getLocale, getMessages, type Locale } from './locales';\n\n// Re-export error formatting utilities\nexport { \n VldError, \n VldIssue, \n VldErrorCode,\n VldErrorTree,\n VldFlattenedError,\n treeifyError, \n prettifyError, \n flattenError \n} from './errors';\n\n// Re-export codec utilities\nexport { \n base64ToUint8Array,\n uint8ArrayToBase64,\n uint8ArrayToBase64Url,\n hexToUint8Array,\n uint8ArrayToHex,\n stringToUint8Array,\n uint8ArrayToString\n} from './utils/codec-utils';\n\n// Re-export codec types\nexport type { CodecTransform } from './validators/codec';\n\n// Re-export predefined codecs\nexport {\n // String conversion codecs\n stringToNumber,\n stringToInt,\n stringToBigInt,\n numberToBigInt,\n stringToBoolean,\n \n // Date conversion codecs \n isoDatetimeToDate,\n epochSecondsToDate,\n epochMillisToDate,\n \n // JSON codec\n jsonCodec,\n \n // URL codecs\n stringToURL,\n stringToHttpURL,\n uriComponent,\n \n // Byte conversion codecs\n base64ToBytes,\n base64UrlToBytes,\n base64urlToBytes,\n hexToBytes,\n hexLowerToBytes,\n utf8ToBytes,\n bytesToUtf8,\n \n // Complex codecs\n base64Json,\n jwtPayload\n} from './codecs';\n\n/**\n * Main API object with factory methods for all validators\n */\nexport const v = {\n // Primitive validators\n string: () => VldString.create(),\n number: () => VldNumber.create(),\n boolean: () => VldBoolean.create(),\n date: () => VldDate.create(),\n bigint: () => VldBigInt.create(),\n symbol: () => VldSymbol.create(),\n \n // Complex validators\n array: <T>(item: VldBase<unknown, T>) => VldArray.create(item),\n object: <T extends Record<string, any>>(shape: { [K in keyof T]: VldBase<unknown, T[K]> }) => \n VldObject.create(shape),\n tuple: <T extends readonly VldBase<any, any>[]>(...items: T) => VldTuple.create(...items),\n record: <T>(value: VldBase<unknown, T>) => VldRecord.create(value),\n set: <T>(item: VldBase<unknown, T>) => VldSet.create(item),\n map: <K, V>(key: VldBase<unknown, K>, value: VldBase<unknown, V>) => VldMap.create(key, value),\n \n // Union and intersection\n union: <T extends readonly VldBase<any, any>[]>(...validators: T) => \n VldUnion.create(...validators),\n intersection: <A, B>(first: VldBase<unknown, A>, second: VldBase<unknown, B>) => \n VldIntersection.create(first, second),\n \n // Literal and enum\n literal: <T extends string | number | boolean | null | undefined>(value: T) => \n VldLiteral.create(value),\n enum: <T extends readonly [string, ...string[]]>(...values: T) => VldEnum.create(values as any),\n \n // Special validators\n any: () => VldAny.create(),\n unknown: () => VldUnknown.create(),\n void: () => VldVoid.create(),\n never: () => VldNever.create(),\n \n // Utility validators\n optional: <T>(validator: VldBase<unknown, T>) => VldOptional.create(validator),\n nullable: <T>(validator: VldBase<unknown, T>) => VldNullable.create(validator),\n nullish: <T>(validator: VldBase<unknown, T>) => VldNullish.create(validator),\n \n // Coercion API\n coerce: {\n string: () => VldCoerceString.create(),\n number: () => VldCoerceNumber.create(),\n boolean: () => VldCoerceBoolean.create(),\n date: () => VldCoerceDate.create(),\n bigint: () => VldCoerceBigInt.create(),\n },\n \n // Codec validators\n base64: () => VldBase64.create(),\n hex: () => VldHex.create(),\n uint8Array: () => VldUint8Array.create(),\n \n // Codec factory\n codec: <TInput, TOutput>(\n inputValidator: VldBase<unknown, TInput>,\n outputValidator: VldBase<unknown, TOutput>,\n transform: {\n decode: (value: TInput) => TOutput | Promise<TOutput>;\n encode: (value: TOutput) => TInput | Promise<TInput>;\n }\n ) => VldCodec.create(inputValidator, outputValidator, transform)\n};\n\n// For backward compatibility during migration\nexport default v;"]}
@@ -1 +1 @@
1
- {"version":3,"file":"af.d.ts","sourceRoot":"","sources":["../../src/locales/af.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAsFhB,CAAC"}
1
+ {"version":3,"file":"af.d.ts","sourceRoot":"","sources":["../../src/locales/af.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAwGhB,CAAC"}
@@ -69,6 +69,20 @@ export const af = {
69
69
  refinementError: (error) => `Verfyning het gefaal: ${error}`,
70
70
  customValidationError: (error) => `Pasgemaakte validasie het misluk: ${error}`,
71
71
  // Coercion messages
72
- coercionFailed: (type, value) => `Kan nie ${JSON.stringify(value)} na ${type} dwing nie`
72
+ coercionFailed: (type, value) => `Kan nie ${JSON.stringify(value)} na ${type} dwing nie`,
73
+ // Codec messages
74
+ codecDecodeFailed: 'Failed to decode value',
75
+ codecEncodeFailed: 'Failed to encode value',
76
+ codecAsyncNotSupported: 'Async codec operations require using parseAsync/encodeAsync methods',
77
+ // Base64/Hex messages
78
+ invalidBase64: 'Invalid base64 string',
79
+ invalidHex: 'Invalid hexadecimal string',
80
+ // Uint8Array messages
81
+ expectedUint8Array: 'Expected Uint8Array',
82
+ uint8ArrayMinLength: 'Uint8Array must have at least {min} bytes',
83
+ uint8ArrayMaxLength: 'Uint8Array must have at most {max} bytes',
84
+ uint8ArrayExactLength: 'Uint8Array must have exactly {length} bytes',
85
+ // Generic type error messages
86
+ expectedString: 'Expected string'
73
87
  };
74
88
  //# sourceMappingURL=af.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"af.js","sourceRoot":"","sources":["../../src/locales/af.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const af: LocaleMessages = {\n // String validation messages\n invalidString: 'Ongeldige string',\n stringMin: (min: number) => `String moet ten minste ${min} karakters lank wees`,\n stringMax: (max: number) => `String mag hoogstens ${max} karakters lank wees`,\n stringLength: (length: number) => `String moet presies ${length} karakters lank wees`,\n stringEmail: 'Ongeldige e-pos adres',\n stringUrl: 'Ongeldige URL',\n stringUuid: 'Ongeldige UUID',\n stringRegex: 'Ongeldige formaat',\n stringStartsWith: (prefix: string) => `String moet begin met \"${prefix}\"`,\n stringEndsWith: (suffix: string) => `String moet eindig met \"${suffix}\"`,\n stringIncludes: (substring: string) => `String moet \"${substring}\" bevat`,\n stringIp: 'Ongeldige IP adres',\n stringIpv4: 'Ongeldige IPv4 adres',\n stringIpv6: 'Ongeldige IPv6 adres',\n stringEmpty: 'String mag nie leeg wees nie',\n\n // Number validation messages\n invalidNumber: 'Ongeldige getal',\n numberMin: (min: number) => `Getal moet ten minste ${min} wees`,\n numberMax: (max: number) => `Getal mag hoogstens ${max} wees`,\n numberInt: \"Getal moet 'n heelgetal wees\",\n numberPositive: 'Getal moet positief wees',\n numberNegative: 'Getal moet negatief wees',\n numberNonnegative: 'Getal mag nie negatief wees nie',\n numberNonpositive: 'Getal mag nie positief wees nie',\n numberFinite: 'Getal moet eindig wees',\n numberSafe: \"Getal moet 'n veilige heelgetal wees\",\n numberMultipleOf: (value: number) => `Getal moet 'n veelvoud van ${value} wees`,\n\n // Boolean validation messages\n invalidBoolean: 'Ongeldige boolean waarde',\n\n // Date validation messages\n invalidDate: 'Ongeldige datum',\n dateMin: (date: Date) => `Datum moet na ${date.toISOString()} wees`,\n dateMax: (date: Date) => `Datum moet voor ${date.toISOString()} wees`,\n\n // Object validation messages\n invalidObject: 'Ongeldige objek',\n unexpectedKeys: (keys: string[]) => `Onverwagte sleutels: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: 'Ongeldige skikking',\n arrayMin: (min: number) => `Skikking moet ten minste ${min} elemente hê`,\n arrayMax: (max: number) => `Skikking mag hoogstens ${max} elemente hê`,\n arrayLength: (length: number) => `Skikking moet presies ${length} elemente hê`,\n arrayEmpty: 'Skikking mag nie leeg wees nie',\n arrayItem: (index: number, error: string) => `Ongeldige element by indeks ${index}: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `Ongeldige veld \"${field}\": ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `Geen union lid het gepas nie: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `Intersection validasie het gefaal: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `Verwag ${expected}, ontvang ${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `Verwag een van [${values.join(', ')}], ontvang ${received}`,\n\n // Special type validation messages\n expectedUndefined: 'Verwag undefined',\n neverType: 'Never tipe kan nie geparseer word nie',\n\n // New advanced type validation messages\n invalidBigint: 'Ongeldige bigint',\n invalidSymbol: 'Ongeldige simbool',\n invalidTuple: 'Ongeldige tupel',\n tupleLength: (expected: number, received: number) => `Tupel moet presies ${expected} elemente hê, ontvang ${received}`,\n invalidRecord: 'Ongeldige rekord',\n invalidSet: 'Ongeldige Set',\n invalidMap: 'Ongeldige Map',\n \n // Transformation and refinement messages\n transformError: (error: string) => `Transformasie het gefaal: ${error}`,\n refinementError: (error: string) => `Verfyning het gefaal: ${error}`,\n customValidationError: (error: string) => `Pasgemaakte validasie het misluk: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `Kan nie ${JSON.stringify(value)} na ${type} dwing nie`\n};"]}
1
+ {"version":3,"file":"af.js","sourceRoot":"","sources":["../../src/locales/af.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const af: LocaleMessages = {\n // String validation messages\n invalidString: 'Ongeldige string',\n stringMin: (min: number) => `String moet ten minste ${min} karakters lank wees`,\n stringMax: (max: number) => `String mag hoogstens ${max} karakters lank wees`,\n stringLength: (length: number) => `String moet presies ${length} karakters lank wees`,\n stringEmail: 'Ongeldige e-pos adres',\n stringUrl: 'Ongeldige URL',\n stringUuid: 'Ongeldige UUID',\n stringRegex: 'Ongeldige formaat',\n stringStartsWith: (prefix: string) => `String moet begin met \"${prefix}\"`,\n stringEndsWith: (suffix: string) => `String moet eindig met \"${suffix}\"`,\n stringIncludes: (substring: string) => `String moet \"${substring}\" bevat`,\n stringIp: 'Ongeldige IP adres',\n stringIpv4: 'Ongeldige IPv4 adres',\n stringIpv6: 'Ongeldige IPv6 adres',\n stringEmpty: 'String mag nie leeg wees nie',\n\n // Number validation messages\n invalidNumber: 'Ongeldige getal',\n numberMin: (min: number) => `Getal moet ten minste ${min} wees`,\n numberMax: (max: number) => `Getal mag hoogstens ${max} wees`,\n numberInt: \"Getal moet 'n heelgetal wees\",\n numberPositive: 'Getal moet positief wees',\n numberNegative: 'Getal moet negatief wees',\n numberNonnegative: 'Getal mag nie negatief wees nie',\n numberNonpositive: 'Getal mag nie positief wees nie',\n numberFinite: 'Getal moet eindig wees',\n numberSafe: \"Getal moet 'n veilige heelgetal wees\",\n numberMultipleOf: (value: number) => `Getal moet 'n veelvoud van ${value} wees`,\n\n // Boolean validation messages\n invalidBoolean: 'Ongeldige boolean waarde',\n\n // Date validation messages\n invalidDate: 'Ongeldige datum',\n dateMin: (date: Date) => `Datum moet na ${date.toISOString()} wees`,\n dateMax: (date: Date) => `Datum moet voor ${date.toISOString()} wees`,\n\n // Object validation messages\n invalidObject: 'Ongeldige objek',\n unexpectedKeys: (keys: string[]) => `Onverwagte sleutels: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: 'Ongeldige skikking',\n arrayMin: (min: number) => `Skikking moet ten minste ${min} elemente hê`,\n arrayMax: (max: number) => `Skikking mag hoogstens ${max} elemente hê`,\n arrayLength: (length: number) => `Skikking moet presies ${length} elemente hê`,\n arrayEmpty: 'Skikking mag nie leeg wees nie',\n arrayItem: (index: number, error: string) => `Ongeldige element by indeks ${index}: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `Ongeldige veld \"${field}\": ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `Geen union lid het gepas nie: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `Intersection validasie het gefaal: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `Verwag ${expected}, ontvang ${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `Verwag een van [${values.join(', ')}], ontvang ${received}`,\n\n // Special type validation messages\n expectedUndefined: 'Verwag undefined',\n neverType: 'Never tipe kan nie geparseer word nie',\n\n // New advanced type validation messages\n invalidBigint: 'Ongeldige bigint',\n invalidSymbol: 'Ongeldige simbool',\n invalidTuple: 'Ongeldige tupel',\n tupleLength: (expected: number, received: number) => `Tupel moet presies ${expected} elemente hê, ontvang ${received}`,\n invalidRecord: 'Ongeldige rekord',\n invalidSet: 'Ongeldige Set',\n invalidMap: 'Ongeldige Map',\n \n // Transformation and refinement messages\n transformError: (error: string) => `Transformasie het gefaal: ${error}`,\n refinementError: (error: string) => `Verfyning het gefaal: ${error}`,\n customValidationError: (error: string) => `Pasgemaakte validasie het misluk: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `Kan nie ${JSON.stringify(value)} na ${type} dwing nie`,\n \n // Codec messages\n codecDecodeFailed: 'Failed to decode value',\n codecEncodeFailed: 'Failed to encode value',\n codecAsyncNotSupported: 'Async codec operations require using parseAsync/encodeAsync methods',\n \n // Base64/Hex messages\n invalidBase64: 'Invalid base64 string',\n invalidHex: 'Invalid hexadecimal string',\n \n // Uint8Array messages\n expectedUint8Array: 'Expected Uint8Array',\n uint8ArrayMinLength: 'Uint8Array must have at least {min} bytes',\n uint8ArrayMaxLength: 'Uint8Array must have at most {max} bytes',\n uint8ArrayExactLength: 'Uint8Array must have exactly {length} bytes',\n \n // Generic type error messages\n expectedString: 'Expected string'\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../src/locales/ar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAsFhB,CAAC"}
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../src/locales/ar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAwGhB,CAAC"}
@@ -69,6 +69,20 @@ export const ar = {
69
69
  refinementError: (error) => `فشل التنقيح: ${error}`,
70
70
  customValidationError: (error) => `فشل في التحقق المخصص: ${error}`,
71
71
  // Coercion messages
72
- coercionFailed: (type, value) => `لا يمكن إكراه ${JSON.stringify(value)} إلى ${type}`
72
+ coercionFailed: (type, value) => `لا يمكن إكراه ${JSON.stringify(value)} إلى ${type}`,
73
+ // Codec messages
74
+ codecDecodeFailed: 'Failed to decode value',
75
+ codecEncodeFailed: 'Failed to encode value',
76
+ codecAsyncNotSupported: 'Async codec operations require using parseAsync/encodeAsync methods',
77
+ // Base64/Hex messages
78
+ invalidBase64: 'Invalid base64 string',
79
+ invalidHex: 'Invalid hexadecimal string',
80
+ // Uint8Array messages
81
+ expectedUint8Array: 'Expected Uint8Array',
82
+ uint8ArrayMinLength: 'Uint8Array must have at least {min} bytes',
83
+ uint8ArrayMaxLength: 'Uint8Array must have at most {max} bytes',
84
+ uint8ArrayExactLength: 'Uint8Array must have exactly {length} bytes',
85
+ // Generic type error messages
86
+ expectedString: 'Expected string'
73
87
  };
74
88
  //# sourceMappingURL=ar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../src/locales/ar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const ar: LocaleMessages = {\n // String validation messages\n invalidString: 'نص غير صحيح',\n stringMin: (min: number) => `يجب أن يحتوي النص على ${min} حرف على الأقل`,\n stringMax: (max: number) => `لا يمكن أن يحتوي النص على أكثر من ${max} حرف`,\n stringLength: (length: number) => `يجب أن يحتوي النص على ${length} حرف بالضبط`,\n stringEmail: 'عنوان بريد إلكتروني غير صحيح',\n stringUrl: 'رابط غير صحيح',\n stringUuid: 'UUID غير صحيح',\n stringRegex: 'تنسيق غير صحيح',\n stringStartsWith: (prefix: string) => `يجب أن يبدأ النص بـ \"${prefix}\"`,\n stringEndsWith: (suffix: string) => `يجب أن ينتهي النص بـ \"${suffix}\"`,\n stringIncludes: (substring: string) => `يجب أن يحتوي النص على \"${substring}\"`,\n stringIp: 'عنوان IP غير صحيح',\n stringIpv4: 'عنوان IPv4 غير صحيح',\n stringIpv6: 'عنوان IPv6 غير صحيح',\n stringEmpty: 'لا يمكن أن يكون النص فارغاً',\n\n // Number validation messages\n invalidNumber: 'رقم غير صحيح',\n numberMin: (min: number) => `يجب أن يكون الرقم ${min} على الأقل`,\n numberMax: (max: number) => `لا يمكن أن يكون الرقم أكبر من ${max}`,\n numberInt: 'يجب أن يكون الرقم صحيحاً',\n numberPositive: 'يجب أن يكون الرقم موجباً',\n numberNegative: 'يجب أن يكون الرقم سالباً',\n numberNonnegative: 'لا يمكن أن يكون الرقم سالباً',\n numberNonpositive: 'لا يمكن أن يكون الرقم موجباً',\n numberFinite: 'يجب أن يكون الرقم محدوداً',\n numberSafe: 'يجب أن يكون الرقم صحيحاً آمناً',\n numberMultipleOf: (value: number) => `يجب أن يكون الرقم مضاعفاً لـ ${value}`,\n\n // Boolean validation messages\n invalidBoolean: 'قيمة منطقية غير صحيحة',\n\n // Date validation messages\n invalidDate: 'تاريخ غير صحيح',\n dateMin: (date: Date) => `يجب أن يكون التاريخ بعد ${date.toISOString()}`,\n dateMax: (date: Date) => `يجب أن يكون التاريخ قبل ${date.toISOString()}`,\n\n // Object validation messages\n invalidObject: 'كائن غير صحيح',\n unexpectedKeys: (keys: string[]) => `مفاتيح غير متوقعة: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: 'مصفوفة غير صحيحة',\n arrayMin: (min: number) => `يجب أن تحتوي المصفوفة على ${min} عنصر على الأقل`,\n arrayMax: (max: number) => `لا يمكن أن تحتوي المصفوفة على أكثر من ${max} عنصر`,\n arrayLength: (length: number) => `يجب أن تحتوي المصفوفة على ${length} عنصر بالضبط`,\n arrayEmpty: 'لا يمكن أن تكون المصفوفة فارغة',\n arrayItem: (index: number, error: string) => `عنصر غير صحيح في الفهرس ${index}: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `حقل غير صحيح \"${field}\": ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `لا يوجد عضو اتحاد مطابق: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `فشل في التحقق من التقاطع: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `متوقع ${expected}، تم استلام ${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `متوقع واحد من [${values.join(', ')}]، تم استلام ${received}`,\n\n // Special type validation messages\n expectedUndefined: 'متوقع undefined',\n neverType: 'لا يمكن تحليل نوع never',\n\n // New advanced type validation messages\n invalidBigint: 'bigint غير صحيح',\n invalidSymbol: 'رمز غير صحيح',\n invalidTuple: 'صف غير صحيح',\n tupleLength: (expected: number, received: number) => `يجب أن يحتوي الصف على ${expected} عنصر بالضبط، تم استلام ${received}`,\n invalidRecord: 'سجل غير صحيح',\n invalidSet: 'Set غير صحيح',\n invalidMap: 'Map غير صحيح',\n \n // Transformation and refinement messages\n transformError: (error: string) => `فشل التحويل: ${error}`,\n refinementError: (error: string) => `فشل التنقيح: ${error}`,\n customValidationError: (error: string) => `فشل في التحقق المخصص: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `لا يمكن إكراه ${JSON.stringify(value)} إلى ${type}`\n};"]}
1
+ {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../src/locales/ar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const ar: LocaleMessages = {\n // String validation messages\n invalidString: 'نص غير صحيح',\n stringMin: (min: number) => `يجب أن يحتوي النص على ${min} حرف على الأقل`,\n stringMax: (max: number) => `لا يمكن أن يحتوي النص على أكثر من ${max} حرف`,\n stringLength: (length: number) => `يجب أن يحتوي النص على ${length} حرف بالضبط`,\n stringEmail: 'عنوان بريد إلكتروني غير صحيح',\n stringUrl: 'رابط غير صحيح',\n stringUuid: 'UUID غير صحيح',\n stringRegex: 'تنسيق غير صحيح',\n stringStartsWith: (prefix: string) => `يجب أن يبدأ النص بـ \"${prefix}\"`,\n stringEndsWith: (suffix: string) => `يجب أن ينتهي النص بـ \"${suffix}\"`,\n stringIncludes: (substring: string) => `يجب أن يحتوي النص على \"${substring}\"`,\n stringIp: 'عنوان IP غير صحيح',\n stringIpv4: 'عنوان IPv4 غير صحيح',\n stringIpv6: 'عنوان IPv6 غير صحيح',\n stringEmpty: 'لا يمكن أن يكون النص فارغاً',\n\n // Number validation messages\n invalidNumber: 'رقم غير صحيح',\n numberMin: (min: number) => `يجب أن يكون الرقم ${min} على الأقل`,\n numberMax: (max: number) => `لا يمكن أن يكون الرقم أكبر من ${max}`,\n numberInt: 'يجب أن يكون الرقم صحيحاً',\n numberPositive: 'يجب أن يكون الرقم موجباً',\n numberNegative: 'يجب أن يكون الرقم سالباً',\n numberNonnegative: 'لا يمكن أن يكون الرقم سالباً',\n numberNonpositive: 'لا يمكن أن يكون الرقم موجباً',\n numberFinite: 'يجب أن يكون الرقم محدوداً',\n numberSafe: 'يجب أن يكون الرقم صحيحاً آمناً',\n numberMultipleOf: (value: number) => `يجب أن يكون الرقم مضاعفاً لـ ${value}`,\n\n // Boolean validation messages\n invalidBoolean: 'قيمة منطقية غير صحيحة',\n\n // Date validation messages\n invalidDate: 'تاريخ غير صحيح',\n dateMin: (date: Date) => `يجب أن يكون التاريخ بعد ${date.toISOString()}`,\n dateMax: (date: Date) => `يجب أن يكون التاريخ قبل ${date.toISOString()}`,\n\n // Object validation messages\n invalidObject: 'كائن غير صحيح',\n unexpectedKeys: (keys: string[]) => `مفاتيح غير متوقعة: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: 'مصفوفة غير صحيحة',\n arrayMin: (min: number) => `يجب أن تحتوي المصفوفة على ${min} عنصر على الأقل`,\n arrayMax: (max: number) => `لا يمكن أن تحتوي المصفوفة على أكثر من ${max} عنصر`,\n arrayLength: (length: number) => `يجب أن تحتوي المصفوفة على ${length} عنصر بالضبط`,\n arrayEmpty: 'لا يمكن أن تكون المصفوفة فارغة',\n arrayItem: (index: number, error: string) => `عنصر غير صحيح في الفهرس ${index}: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `حقل غير صحيح \"${field}\": ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `لا يوجد عضو اتحاد مطابق: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `فشل في التحقق من التقاطع: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `متوقع ${expected}، تم استلام ${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `متوقع واحد من [${values.join(', ')}]، تم استلام ${received}`,\n\n // Special type validation messages\n expectedUndefined: 'متوقع undefined',\n neverType: 'لا يمكن تحليل نوع never',\n\n // New advanced type validation messages\n invalidBigint: 'bigint غير صحيح',\n invalidSymbol: 'رمز غير صحيح',\n invalidTuple: 'صف غير صحيح',\n tupleLength: (expected: number, received: number) => `يجب أن يحتوي الصف على ${expected} عنصر بالضبط، تم استلام ${received}`,\n invalidRecord: 'سجل غير صحيح',\n invalidSet: 'Set غير صحيح',\n invalidMap: 'Map غير صحيح',\n \n // Transformation and refinement messages\n transformError: (error: string) => `فشل التحويل: ${error}`,\n refinementError: (error: string) => `فشل التنقيح: ${error}`,\n customValidationError: (error: string) => `فشل في التحقق المخصص: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `لا يمكن إكراه ${JSON.stringify(value)} إلى ${type}`,\n \n // Codec messages\n codecDecodeFailed: 'Failed to decode value',\n codecEncodeFailed: 'Failed to encode value',\n codecAsyncNotSupported: 'Async codec operations require using parseAsync/encodeAsync methods',\n \n // Base64/Hex messages\n invalidBase64: 'Invalid base64 string',\n invalidHex: 'Invalid hexadecimal string',\n \n // Uint8Array messages\n expectedUint8Array: 'Expected Uint8Array',\n uint8ArrayMinLength: 'Uint8Array must have at least {min} bytes',\n uint8ArrayMaxLength: 'Uint8Array must have at most {max} bytes',\n uint8ArrayExactLength: 'Uint8Array must have exactly {length} bytes',\n \n // Generic type error messages\n expectedString: 'Expected string'\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bn.d.ts","sourceRoot":"","sources":["../../src/locales/bn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAsFhB,CAAC"}
1
+ {"version":3,"file":"bn.d.ts","sourceRoot":"","sources":["../../src/locales/bn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAwGhB,CAAC"}
@@ -69,6 +69,20 @@ export const bn = {
69
69
  refinementError: (error) => `পরিমার্জনা ব্যর্থ: ${error}`,
70
70
  customValidationError: (error) => `কাস্টম যাচাইকরণ ব্যর্থ: ${error}`,
71
71
  // Coercion messages
72
- coercionFailed: (type, value) => `${JSON.stringify(value)} কে ${type} এ রূপান্তর করা যায়নি`
72
+ coercionFailed: (type, value) => `${JSON.stringify(value)} কে ${type} এ রূপান্তর করা যায়নি`,
73
+ // Codec messages
74
+ codecDecodeFailed: 'Failed to decode value',
75
+ codecEncodeFailed: 'Failed to encode value',
76
+ codecAsyncNotSupported: 'Async codec operations require using parseAsync/encodeAsync methods',
77
+ // Base64/Hex messages
78
+ invalidBase64: 'Invalid base64 string',
79
+ invalidHex: 'Invalid hexadecimal string',
80
+ // Uint8Array messages
81
+ expectedUint8Array: 'Expected Uint8Array',
82
+ uint8ArrayMinLength: 'Uint8Array must have at least {min} bytes',
83
+ uint8ArrayMaxLength: 'Uint8Array must have at most {max} bytes',
84
+ uint8ArrayExactLength: 'Uint8Array must have exactly {length} bytes',
85
+ // Generic type error messages
86
+ expectedString: 'Expected string'
73
87
  };
74
88
  //# sourceMappingURL=bn.js.map