@hy_ong/zod-kit 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/{chunk-MCDESS3T.js → chunk-2JGRV3JO.js} +1 -1
  2. package/dist/{chunk-4LYZAO3P.js → chunk-3QLUXIY2.js} +1 -1
  3. package/dist/chunk-3ZF5JO3F.js +61 -0
  4. package/dist/{chunk-OP4KV3BY.cjs → chunk-4AQB4RSU.cjs} +3 -3
  5. package/dist/{chunk-UFNVCUPQ.cjs → chunk-53EEWALQ.cjs} +3 -3
  6. package/dist/{chunk-R5G4V7C6.cjs → chunk-5ZMTAI4G.cjs} +3 -3
  7. package/dist/{chunk-RKHX3DGH.js → chunk-6DFP7XY2.js} +1 -1
  8. package/dist/{chunk-P2NONIMS.js → chunk-6IAPM7BP.js} +1 -1
  9. package/dist/{chunk-AWV2IT66.js → chunk-7SKH66CM.js} +1 -1
  10. package/dist/chunk-7X3XPK6A.js +92 -0
  11. package/dist/{chunk-FVO4743A.cjs → chunk-A2GAEU4O.cjs} +3 -3
  12. package/dist/{chunk-P364KRO5.js → chunk-AI4U42JV.js} +1 -1
  13. package/dist/{chunk-5ZEKWPSE.cjs → chunk-AYCXAJRA.cjs} +3 -3
  14. package/dist/{chunk-5LS4DSRQ.cjs → chunk-BZSPJJYT.cjs} +3 -3
  15. package/dist/chunk-BZWQPSHO.cjs +92 -0
  16. package/dist/{chunk-KARFFIMP.js → chunk-D55YFP5R.js} +1 -1
  17. package/dist/{chunk-I2RJMDXN.js → chunk-E52GRXYY.js} +1 -1
  18. package/dist/{chunk-VDOAPLA6.cjs → chunk-EDTNS2XL.cjs} +3 -3
  19. package/dist/{chunk-YALLOVNO.cjs → chunk-FEL432I2.cjs} +3 -3
  20. package/dist/chunk-FMPHW7ID.cjs +61 -0
  21. package/dist/{chunk-OMFQ7Z63.cjs → chunk-FP4O2ICM.cjs} +3 -3
  22. package/dist/{chunk-AANSHH2O.cjs → chunk-G747FHUZ.cjs} +3 -3
  23. package/dist/{chunk-JZ2SHRGZ.js → chunk-G7FLGJYD.js} +1 -1
  24. package/dist/{chunk-LKPXHW5N.cjs → chunk-H25N5GP6.cjs} +3 -3
  25. package/dist/{chunk-FC6VDOC7.js → chunk-H6STFX4I.js} +11 -2
  26. package/dist/{chunk-MAQRXYE6.js → chunk-HQ4RAMSD.js} +1 -1
  27. package/dist/{chunk-6X22I6NQ.cjs → chunk-HZ2WESSL.cjs} +3 -3
  28. package/dist/{chunk-W2EWMV3A.cjs → chunk-IWR3H7IH.cjs} +3 -3
  29. package/dist/{chunk-5GAZQDVS.cjs → chunk-JZEF5Q3W.cjs} +13 -4
  30. package/dist/{chunk-77KZUPPN.cjs → chunk-KIUO2HIR.cjs} +3 -3
  31. package/dist/{chunk-OEK7QSQP.js → chunk-LBH5U2DZ.js} +1 -1
  32. package/dist/{chunk-PGSDXR2I.js → chunk-LC4RNKBM.js} +1 -1
  33. package/dist/{chunk-YAU6JCYL.cjs → chunk-LNWEJED7.cjs} +3 -3
  34. package/dist/{chunk-WWRFBLCR.cjs → chunk-LXFRQLH4.cjs} +3 -3
  35. package/dist/{chunk-B3U5G3AA.js → chunk-NWQSOSNF.js} +1 -1
  36. package/dist/{chunk-LIQSVJLS.js → chunk-OGU7AIZF.js} +1 -1
  37. package/dist/{chunk-NKCYXBGX.js → chunk-OKO6WO6M.js} +1 -1
  38. package/dist/{chunk-6OGDPSWT.js → chunk-OSUPJCBA.js} +1 -1
  39. package/dist/{chunk-ZBOQCXD4.js → chunk-POIDES2L.js} +190 -0
  40. package/dist/{chunk-MG25BEV4.cjs → chunk-Q24GYUTO.cjs} +3 -3
  41. package/dist/{chunk-YWV2BBXN.cjs → chunk-Q7TUNJD4.cjs} +190 -0
  42. package/dist/{chunk-DRXPGQM6.cjs → chunk-QQWX3ICK.cjs} +3 -3
  43. package/dist/{chunk-EAU42EVH.js → chunk-RFWCYULE.js} +1 -1
  44. package/dist/{chunk-VCRKYMJM.js → chunk-RHKBT3M2.js} +1 -1
  45. package/dist/{chunk-36NWHESN.js → chunk-RVGCMQ4J.js} +1 -1
  46. package/dist/{chunk-IJEEM3DI.js → chunk-T7PG4JDW.js} +1 -1
  47. package/dist/{chunk-JBNCMS42.cjs → chunk-TDEXEIHH.cjs} +3 -3
  48. package/dist/{chunk-VP5CCP5F.cjs → chunk-TPXRQT2H.cjs} +3 -3
  49. package/dist/{chunk-DPXRMSB2.js → chunk-TRQMRHFM.js} +1 -1
  50. package/dist/{chunk-ZFQQXWNB.js → chunk-U2PB6XEO.js} +1 -1
  51. package/dist/{chunk-G6DV7LX7.cjs → chunk-UCPKW43K.cjs} +3 -3
  52. package/dist/{chunk-PL2GERLG.cjs → chunk-V2KKGSKQ.cjs} +3 -3
  53. package/dist/{chunk-AI72FMOF.cjs → chunk-VKBNKPFO.cjs} +3 -3
  54. package/dist/{chunk-5OGW2ERW.js → chunk-XAN4CAVH.js} +1 -1
  55. package/dist/{chunk-CFFCBWYL.cjs → chunk-ZCX22PY4.cjs} +3 -3
  56. package/dist/{chunk-TSHL7ZO2.js → chunk-ZXPRRNZR.js} +1 -1
  57. package/dist/common/boolean.cjs +3 -3
  58. package/dist/common/boolean.js +2 -2
  59. package/dist/common/color.cjs +3 -3
  60. package/dist/common/color.js +2 -2
  61. package/dist/common/coordinate.cjs +3 -3
  62. package/dist/common/coordinate.js +2 -2
  63. package/dist/common/credit-card.cjs +3 -3
  64. package/dist/common/credit-card.js +2 -2
  65. package/dist/common/date.cjs +3 -3
  66. package/dist/common/date.js +2 -2
  67. package/dist/common/datetime.cjs +3 -3
  68. package/dist/common/datetime.js +2 -2
  69. package/dist/common/email.cjs +3 -3
  70. package/dist/common/email.js +2 -2
  71. package/dist/common/file.cjs +3 -3
  72. package/dist/common/file.js +2 -2
  73. package/dist/common/id.cjs +3 -3
  74. package/dist/common/id.d.cts +34 -8
  75. package/dist/common/id.d.ts +34 -8
  76. package/dist/common/id.js +2 -2
  77. package/dist/common/ip.cjs +3 -3
  78. package/dist/common/ip.js +2 -2
  79. package/dist/common/many-of.cjs +7 -0
  80. package/dist/common/many-of.d.cts +111 -0
  81. package/dist/common/many-of.d.ts +111 -0
  82. package/dist/common/many-of.js +7 -0
  83. package/dist/common/number.cjs +3 -3
  84. package/dist/common/number.js +2 -2
  85. package/dist/common/one-of.cjs +7 -0
  86. package/dist/common/one-of.d.cts +104 -0
  87. package/dist/common/one-of.d.ts +104 -0
  88. package/dist/common/one-of.js +7 -0
  89. package/dist/common/password.cjs +3 -3
  90. package/dist/common/password.js +2 -2
  91. package/dist/common/text.cjs +3 -3
  92. package/dist/common/text.js +2 -2
  93. package/dist/common/time.cjs +3 -3
  94. package/dist/common/time.js +2 -2
  95. package/dist/common/url.cjs +3 -3
  96. package/dist/common/url.js +2 -2
  97. package/dist/index.cjs +35 -27
  98. package/dist/index.d.cts +2 -0
  99. package/dist/index.d.ts +2 -0
  100. package/dist/index.js +46 -38
  101. package/dist/taiwan/bank-account.cjs +3 -3
  102. package/dist/taiwan/bank-account.js +2 -2
  103. package/dist/taiwan/business-id.cjs +3 -3
  104. package/dist/taiwan/business-id.js +2 -2
  105. package/dist/taiwan/fax.cjs +3 -3
  106. package/dist/taiwan/fax.js +2 -2
  107. package/dist/taiwan/invoice.cjs +3 -3
  108. package/dist/taiwan/invoice.js +2 -2
  109. package/dist/taiwan/license-plate.cjs +3 -3
  110. package/dist/taiwan/license-plate.js +2 -2
  111. package/dist/taiwan/mobile.cjs +3 -3
  112. package/dist/taiwan/mobile.js +2 -2
  113. package/dist/taiwan/national-id.cjs +3 -3
  114. package/dist/taiwan/national-id.js +2 -2
  115. package/dist/taiwan/passport.cjs +3 -3
  116. package/dist/taiwan/passport.js +2 -2
  117. package/dist/taiwan/postal-code.cjs +3 -3
  118. package/dist/taiwan/postal-code.js +2 -2
  119. package/dist/taiwan/tel.cjs +3 -3
  120. package/dist/taiwan/tel.js +2 -2
  121. package/package.json +15 -5
  122. package/src/i18n/locales/en-GB.json +19 -0
  123. package/src/i18n/locales/en-US.json +20 -1
  124. package/src/i18n/locales/id-ID.json +19 -0
  125. package/src/i18n/locales/ja-JP.json +19 -0
  126. package/src/i18n/locales/ko-KR.json +19 -0
  127. package/src/i18n/locales/ms-MY.json +19 -0
  128. package/src/i18n/locales/th-TH.json +19 -0
  129. package/src/i18n/locales/vi-VN.json +19 -0
  130. package/src/i18n/locales/zh-CN.json +19 -0
  131. package/src/i18n/locales/zh-TW.json +19 -0
  132. package/src/index.ts +2 -0
  133. package/src/validators/common/id.ts +45 -3
  134. package/src/validators/common/many-of.ts +219 -0
  135. package/src/validators/common/one-of.ts +172 -0
  136. package/tests/common/id.test.ts +68 -3
  137. package/tests/common/many-of.test.ts +198 -0
  138. package/tests/common/one-of.test.ts +136 -0
  139. package/tsup.config.ts +2 -0
@@ -0,0 +1,111 @@
1
+ import { ZodType } from 'zod';
2
+ import { L as Locale } from '../config-CABSSvAp.js';
3
+
4
+ /**
5
+ * @fileoverview ManyOf validator for Zod Kit
6
+ *
7
+ * Provides multi-select validation that restricts input to an array of values
8
+ * from a predefined set, with min/max selection, duplicate control, and transformation.
9
+ *
10
+ * @author Ong Hoe Yuan
11
+ * @version 0.2.2
12
+ */
13
+
14
+ /**
15
+ * Type definition for manyOf validation error messages
16
+ *
17
+ * @interface ManyOfMessages
18
+ * @property {string} [required] - Message when field is required but empty
19
+ * @property {string} [invalid] - Message when a value is not in the allowed list
20
+ * @property {string} [minSelect] - Message when fewer than minimum items are selected
21
+ * @property {string} [maxSelect] - Message when more than maximum items are selected
22
+ * @property {string} [duplicate] - Message when duplicate values are found
23
+ */
24
+ type ManyOfMessages = {
25
+ required?: string;
26
+ invalid?: string;
27
+ minSelect?: string;
28
+ maxSelect?: string;
29
+ duplicate?: string;
30
+ };
31
+ /**
32
+ * Configuration options for manyOf validation
33
+ *
34
+ * @template IsRequired - Whether the field is required (affects return type)
35
+ * @template T - The type of allowed values
36
+ *
37
+ * @interface ManyOfOptions
38
+ * @property {T[]} values - Array of allowed values
39
+ * @property {T[] | null} [defaultValue] - Default value when input is empty
40
+ * @property {number} [min] - Minimum number of selections
41
+ * @property {number} [max] - Maximum number of selections
42
+ * @property {boolean} [allowDuplicates=false] - Whether to allow duplicate selections
43
+ * @property {boolean} [caseSensitive=true] - Whether string matching is case-sensitive
44
+ * @property {Function} [transform] - Custom transformation function applied to each value
45
+ * @property {Record<Locale, ManyOfMessages>} [i18n] - Custom error messages for different locales
46
+ */
47
+ type ManyOfOptions<IsRequired extends boolean = true, T extends string | number = string | number> = {
48
+ values: T[];
49
+ defaultValue?: IsRequired extends true ? T[] : T[] | null;
50
+ min?: number;
51
+ max?: number;
52
+ allowDuplicates?: boolean;
53
+ caseSensitive?: boolean;
54
+ transform?: (value: T[]) => T[];
55
+ i18n?: Partial<Record<Locale, Partial<ManyOfMessages>>>;
56
+ };
57
+ /**
58
+ * Type alias for manyOf validation schema based on required flag
59
+ *
60
+ * @template IsRequired - Whether the field is required
61
+ * @template T - The type of allowed values
62
+ */
63
+ type ManyOfSchema<IsRequired extends boolean, T> = IsRequired extends true ? ZodType<T[]> : ZodType<T[] | null>;
64
+ /**
65
+ * Creates a Zod schema for multi-select validation that restricts values to a predefined set
66
+ *
67
+ * @template IsRequired - Whether the field is required (affects return type)
68
+ * @template T - The type of allowed values (string | number)
69
+ * @param {IsRequired} [required=false] - Whether the field is required
70
+ * @param {ManyOfOptions<IsRequired, T>} options - Configuration options (values is required)
71
+ * @returns {ManyOfSchema<IsRequired, T>} Zod schema for manyOf validation
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * // Basic multi-select (optional by default)
76
+ * const tagsSchema = manyOf(false, { values: ["js", "ts", "rust", "go"] })
77
+ * tagsSchema.parse(["js", "ts"]) // ✓ ["js", "ts"]
78
+ * tagsSchema.parse(null) // ✓ null
79
+ *
80
+ * // Required with min/max
81
+ * const skillsSchema = manyOf(true, {
82
+ * values: ["react", "vue", "angular", "svelte"],
83
+ * min: 1,
84
+ * max: 3,
85
+ * })
86
+ * skillsSchema.parse(["react"]) // ✓
87
+ * skillsSchema.parse([]) // ✗ minSelect
88
+ * skillsSchema.parse(["react", "vue", "angular", "svelte"]) // ✗ maxSelect
89
+ *
90
+ * // Case-insensitive matching
91
+ * const colorsSchema = manyOf(true, {
92
+ * values: ["red", "green", "blue"],
93
+ * caseSensitive: false,
94
+ * })
95
+ * colorsSchema.parse(["RED", "Green"]) // ✓ ["red", "green"]
96
+ *
97
+ * // No duplicates (default)
98
+ * const rolesSchema = manyOf(true, { values: ["admin", "editor", "viewer"] })
99
+ * rolesSchema.parse(["admin", "admin"]) // ✗ duplicate
100
+ *
101
+ * // Allow duplicates
102
+ * const itemsSchema = manyOf(true, {
103
+ * values: [1, 2, 3],
104
+ * allowDuplicates: true,
105
+ * })
106
+ * itemsSchema.parse([1, 1, 2]) // ✓ [1, 1, 2]
107
+ * ```
108
+ */
109
+ declare function manyOf<IsRequired extends boolean = false, T extends string | number = string | number>(required?: IsRequired, options?: Omit<ManyOfOptions<IsRequired, T>, "required">): ManyOfSchema<IsRequired, T>;
110
+
111
+ export { type ManyOfMessages, type ManyOfOptions, type ManyOfSchema, manyOf };
@@ -0,0 +1,7 @@
1
+ import {
2
+ manyOf
3
+ } from "../chunk-7X3XPK6A.js";
4
+ import "../chunk-POIDES2L.js";
5
+ export {
6
+ manyOf
7
+ };
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkAANSHH2Ocjs = require('../chunk-AANSHH2O.cjs');
4
- require('../chunk-YWV2BBXN.cjs');
3
+ var _chunkG747FHUZcjs = require('../chunk-G747FHUZ.cjs');
4
+ require('../chunk-Q7TUNJD4.cjs');
5
5
 
6
6
 
7
- exports.number = _chunkAANSHH2Ocjs.number;
7
+ exports.number = _chunkG747FHUZcjs.number;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  number
3
- } from "../chunk-4LYZAO3P.js";
4
- import "../chunk-ZBOQCXD4.js";
3
+ } from "../chunk-3QLUXIY2.js";
4
+ import "../chunk-POIDES2L.js";
5
5
  export {
6
6
  number
7
7
  };
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkFMPHW7IDcjs = require('../chunk-FMPHW7ID.cjs');
4
+ require('../chunk-Q7TUNJD4.cjs');
5
+
6
+
7
+ exports.oneOf = _chunkFMPHW7IDcjs.oneOf;
@@ -0,0 +1,104 @@
1
+ import { ZodType } from 'zod';
2
+ import { L as Locale } from '../config-CABSSvAp.cjs';
3
+
4
+ /**
5
+ * @fileoverview OneOf validator for Zod Kit
6
+ *
7
+ * Provides single-select validation that restricts input to a predefined set of allowed values,
8
+ * with support for case-insensitive matching, default values, and transformation.
9
+ *
10
+ * @author Ong Hoe Yuan
11
+ * @version 0.2.2
12
+ */
13
+
14
+ /**
15
+ * Type definition for oneOf validation error messages
16
+ *
17
+ * @interface OneOfMessages
18
+ * @property {string} [required] - Message when field is required but empty
19
+ * @property {string} [invalid] - Message when value is not in the allowed list
20
+ */
21
+ type OneOfMessages = {
22
+ required?: string;
23
+ invalid?: string;
24
+ };
25
+ /**
26
+ * Configuration options for oneOf validation
27
+ *
28
+ * @template IsRequired - Whether the field is required (affects return type)
29
+ * @template T - The type of allowed values
30
+ *
31
+ * @interface OneOfOptions
32
+ * @property {T[]} values - Array of allowed values
33
+ * @property {T | null} [defaultValue] - Default value when input is empty
34
+ * @property {boolean} [caseSensitive=true] - Whether string matching is case-sensitive
35
+ * @property {Function} [transform] - Custom transformation function applied after validation
36
+ * @property {Record<Locale, OneOfMessages>} [i18n] - Custom error messages for different locales
37
+ */
38
+ type OneOfOptions<IsRequired extends boolean = true, T extends string | number = string | number> = {
39
+ values: T[];
40
+ defaultValue?: IsRequired extends true ? T : T | null;
41
+ caseSensitive?: boolean;
42
+ transform?: (value: T) => T;
43
+ i18n?: Partial<Record<Locale, Partial<OneOfMessages>>>;
44
+ };
45
+ /**
46
+ * Type alias for oneOf validation schema based on required flag
47
+ *
48
+ * @template IsRequired - Whether the field is required
49
+ * @template T - The type of allowed values
50
+ */
51
+ type OneOfSchema<IsRequired extends boolean, T> = IsRequired extends true ? ZodType<T> : ZodType<T | null>;
52
+ /**
53
+ * Creates a Zod schema for single-select validation that restricts values to a predefined set
54
+ *
55
+ * @template IsRequired - Whether the field is required (affects return type)
56
+ * @template T - The type of allowed values (string | number)
57
+ * @param {IsRequired} [required=false] - Whether the field is required
58
+ * @param {OneOfOptions<IsRequired, T>} options - Configuration options (values is required)
59
+ * @returns {OneOfSchema<IsRequired, T>} Zod schema for oneOf validation
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Basic single-select validation (optional by default)
64
+ * const roleSchema = oneOf(false, { values: ["admin", "editor", "viewer"] })
65
+ * roleSchema.parse("admin") // ✓ "admin"
66
+ * roleSchema.parse(null) // ✓ null
67
+ *
68
+ * // Required
69
+ * const statusSchema = oneOf(true, { values: ["active", "inactive", "pending"] })
70
+ * statusSchema.parse("active") // ✓ "active"
71
+ * statusSchema.parse(null) // ✗ Required
72
+ * statusSchema.parse("banned") // ✗ Invalid
73
+ *
74
+ * // Numeric values
75
+ * const prioritySchema = oneOf(true, { values: [1, 2, 3, 4, 5] })
76
+ * prioritySchema.parse(3) // ✓ 3
77
+ * prioritySchema.parse(10) // ✗ Invalid
78
+ *
79
+ * // Case-insensitive matching
80
+ * const colorSchema = oneOf(true, {
81
+ * values: ["red", "green", "blue"],
82
+ * caseSensitive: false
83
+ * })
84
+ * colorSchema.parse("RED") // ✓ "red" (normalized to match original)
85
+ * colorSchema.parse("Green") // ✓ "green"
86
+ *
87
+ * // With default value
88
+ * const tierSchema = oneOf(false, {
89
+ * values: ["free", "pro", "enterprise"],
90
+ * defaultValue: "free"
91
+ * })
92
+ * tierSchema.parse(null) // ✓ "free"
93
+ *
94
+ * // With transform
95
+ * const sizeSchema = oneOf(true, {
96
+ * values: ["s", "m", "l", "xl"],
97
+ * transform: (val) => val.toUpperCase() as any
98
+ * })
99
+ * sizeSchema.parse("m") // ✓ "M"
100
+ * ```
101
+ */
102
+ declare function oneOf<IsRequired extends boolean = false, T extends string | number = string | number>(required?: IsRequired, options?: Omit<OneOfOptions<IsRequired, T>, "required">): OneOfSchema<IsRequired, T>;
103
+
104
+ export { type OneOfMessages, type OneOfOptions, type OneOfSchema, oneOf };
@@ -0,0 +1,104 @@
1
+ import { ZodType } from 'zod';
2
+ import { L as Locale } from '../config-CABSSvAp.js';
3
+
4
+ /**
5
+ * @fileoverview OneOf validator for Zod Kit
6
+ *
7
+ * Provides single-select validation that restricts input to a predefined set of allowed values,
8
+ * with support for case-insensitive matching, default values, and transformation.
9
+ *
10
+ * @author Ong Hoe Yuan
11
+ * @version 0.2.2
12
+ */
13
+
14
+ /**
15
+ * Type definition for oneOf validation error messages
16
+ *
17
+ * @interface OneOfMessages
18
+ * @property {string} [required] - Message when field is required but empty
19
+ * @property {string} [invalid] - Message when value is not in the allowed list
20
+ */
21
+ type OneOfMessages = {
22
+ required?: string;
23
+ invalid?: string;
24
+ };
25
+ /**
26
+ * Configuration options for oneOf validation
27
+ *
28
+ * @template IsRequired - Whether the field is required (affects return type)
29
+ * @template T - The type of allowed values
30
+ *
31
+ * @interface OneOfOptions
32
+ * @property {T[]} values - Array of allowed values
33
+ * @property {T | null} [defaultValue] - Default value when input is empty
34
+ * @property {boolean} [caseSensitive=true] - Whether string matching is case-sensitive
35
+ * @property {Function} [transform] - Custom transformation function applied after validation
36
+ * @property {Record<Locale, OneOfMessages>} [i18n] - Custom error messages for different locales
37
+ */
38
+ type OneOfOptions<IsRequired extends boolean = true, T extends string | number = string | number> = {
39
+ values: T[];
40
+ defaultValue?: IsRequired extends true ? T : T | null;
41
+ caseSensitive?: boolean;
42
+ transform?: (value: T) => T;
43
+ i18n?: Partial<Record<Locale, Partial<OneOfMessages>>>;
44
+ };
45
+ /**
46
+ * Type alias for oneOf validation schema based on required flag
47
+ *
48
+ * @template IsRequired - Whether the field is required
49
+ * @template T - The type of allowed values
50
+ */
51
+ type OneOfSchema<IsRequired extends boolean, T> = IsRequired extends true ? ZodType<T> : ZodType<T | null>;
52
+ /**
53
+ * Creates a Zod schema for single-select validation that restricts values to a predefined set
54
+ *
55
+ * @template IsRequired - Whether the field is required (affects return type)
56
+ * @template T - The type of allowed values (string | number)
57
+ * @param {IsRequired} [required=false] - Whether the field is required
58
+ * @param {OneOfOptions<IsRequired, T>} options - Configuration options (values is required)
59
+ * @returns {OneOfSchema<IsRequired, T>} Zod schema for oneOf validation
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Basic single-select validation (optional by default)
64
+ * const roleSchema = oneOf(false, { values: ["admin", "editor", "viewer"] })
65
+ * roleSchema.parse("admin") // ✓ "admin"
66
+ * roleSchema.parse(null) // ✓ null
67
+ *
68
+ * // Required
69
+ * const statusSchema = oneOf(true, { values: ["active", "inactive", "pending"] })
70
+ * statusSchema.parse("active") // ✓ "active"
71
+ * statusSchema.parse(null) // ✗ Required
72
+ * statusSchema.parse("banned") // ✗ Invalid
73
+ *
74
+ * // Numeric values
75
+ * const prioritySchema = oneOf(true, { values: [1, 2, 3, 4, 5] })
76
+ * prioritySchema.parse(3) // ✓ 3
77
+ * prioritySchema.parse(10) // ✗ Invalid
78
+ *
79
+ * // Case-insensitive matching
80
+ * const colorSchema = oneOf(true, {
81
+ * values: ["red", "green", "blue"],
82
+ * caseSensitive: false
83
+ * })
84
+ * colorSchema.parse("RED") // ✓ "red" (normalized to match original)
85
+ * colorSchema.parse("Green") // ✓ "green"
86
+ *
87
+ * // With default value
88
+ * const tierSchema = oneOf(false, {
89
+ * values: ["free", "pro", "enterprise"],
90
+ * defaultValue: "free"
91
+ * })
92
+ * tierSchema.parse(null) // ✓ "free"
93
+ *
94
+ * // With transform
95
+ * const sizeSchema = oneOf(true, {
96
+ * values: ["s", "m", "l", "xl"],
97
+ * transform: (val) => val.toUpperCase() as any
98
+ * })
99
+ * sizeSchema.parse("m") // ✓ "M"
100
+ * ```
101
+ */
102
+ declare function oneOf<IsRequired extends boolean = false, T extends string | number = string | number>(required?: IsRequired, options?: Omit<OneOfOptions<IsRequired, T>, "required">): OneOfSchema<IsRequired, T>;
103
+
104
+ export { type OneOfMessages, type OneOfOptions, type OneOfSchema, oneOf };
@@ -0,0 +1,7 @@
1
+ import {
2
+ oneOf
3
+ } from "../chunk-3ZF5JO3F.js";
4
+ import "../chunk-POIDES2L.js";
5
+ export {
6
+ oneOf
7
+ };
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkMG25BEV4cjs = require('../chunk-MG25BEV4.cjs');
4
- require('../chunk-YWV2BBXN.cjs');
3
+ var _chunkQ24GYUTOcjs = require('../chunk-Q24GYUTO.cjs');
4
+ require('../chunk-Q7TUNJD4.cjs');
5
5
 
6
6
 
7
- exports.password = _chunkMG25BEV4cjs.password;
7
+ exports.password = _chunkQ24GYUTOcjs.password;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  password
3
- } from "../chunk-B3U5G3AA.js";
4
- import "../chunk-ZBOQCXD4.js";
3
+ } from "../chunk-NWQSOSNF.js";
4
+ import "../chunk-POIDES2L.js";
5
5
  export {
6
6
  password
7
7
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk6X22I6NQcjs = require('../chunk-6X22I6NQ.cjs');
4
- require('../chunk-YWV2BBXN.cjs');
3
+ var _chunkHZ2WESSLcjs = require('../chunk-HZ2WESSL.cjs');
4
+ require('../chunk-Q7TUNJD4.cjs');
5
5
 
6
6
 
7
- exports.text = _chunk6X22I6NQcjs.text;
7
+ exports.text = _chunkHZ2WESSLcjs.text;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  text
3
- } from "../chunk-IJEEM3DI.js";
4
- import "../chunk-ZBOQCXD4.js";
3
+ } from "../chunk-T7PG4JDW.js";
4
+ import "../chunk-POIDES2L.js";
5
5
  export {
6
6
  text
7
7
  };
@@ -4,12 +4,12 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkVDOAPLA6cjs = require('../chunk-VDOAPLA6.cjs');
8
- require('../chunk-YWV2BBXN.cjs');
7
+ var _chunkEDTNS2XLcjs = require('../chunk-EDTNS2XL.cjs');
8
+ require('../chunk-Q7TUNJD4.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
13
 
14
14
 
15
- exports.TIME_PATTERNS = _chunkVDOAPLA6cjs.TIME_PATTERNS; exports.normalizeTime = _chunkVDOAPLA6cjs.normalizeTime; exports.parseTimeToMinutes = _chunkVDOAPLA6cjs.parseTimeToMinutes; exports.time = _chunkVDOAPLA6cjs.time; exports.validateTimeFormat = _chunkVDOAPLA6cjs.validateTimeFormat;
15
+ exports.TIME_PATTERNS = _chunkEDTNS2XLcjs.TIME_PATTERNS; exports.normalizeTime = _chunkEDTNS2XLcjs.normalizeTime; exports.parseTimeToMinutes = _chunkEDTNS2XLcjs.parseTimeToMinutes; exports.time = _chunkEDTNS2XLcjs.time; exports.validateTimeFormat = _chunkEDTNS2XLcjs.validateTimeFormat;
@@ -4,8 +4,8 @@ import {
4
4
  parseTimeToMinutes,
5
5
  time,
6
6
  validateTimeFormat
7
- } from "../chunk-P2NONIMS.js";
8
- import "../chunk-ZBOQCXD4.js";
7
+ } from "../chunk-6IAPM7BP.js";
8
+ import "../chunk-POIDES2L.js";
9
9
  export {
10
10
  TIME_PATTERNS,
11
11
  normalizeTime,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkJBNCMS42cjs = require('../chunk-JBNCMS42.cjs');
4
- require('../chunk-YWV2BBXN.cjs');
3
+ var _chunkTDEXEIHHcjs = require('../chunk-TDEXEIHH.cjs');
4
+ require('../chunk-Q7TUNJD4.cjs');
5
5
 
6
6
 
7
- exports.url = _chunkJBNCMS42cjs.url;
7
+ exports.url = _chunkTDEXEIHHcjs.url;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  url
3
- } from "../chunk-ZFQQXWNB.js";
4
- import "../chunk-ZBOQCXD4.js";
3
+ } from "../chunk-U2PB6XEO.js";
4
+ import "../chunk-POIDES2L.js";
5
5
  export {
6
6
  url
7
7
  };
package/dist/index.cjs CHANGED
@@ -1,122 +1,124 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _chunkV2KKGSKQcjs = require('./chunk-V2KKGSKQ.cjs');
4
5
 
5
- var _chunkDRXPGQM6cjs = require('./chunk-DRXPGQM6.cjs');
6
6
 
7
7
 
8
+ var _chunkTPXRQT2Hcjs = require('./chunk-TPXRQT2H.cjs');
8
9
 
9
- var _chunkR5G4V7C6cjs = require('./chunk-R5G4V7C6.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkW2EWMV3Acjs = require('./chunk-W2EWMV3A.cjs');
13
+ var _chunkQQWX3ICKcjs = require('./chunk-QQWX3ICK.cjs');
14
14
 
15
15
 
16
16
 
17
+ var _chunk5ZMTAI4Gcjs = require('./chunk-5ZMTAI4G.cjs');
17
18
 
18
19
 
19
20
 
20
- var _chunkG6DV7LX7cjs = require('./chunk-G6DV7LX7.cjs');
21
+ var _chunkA2GAEU4Ocjs = require('./chunk-A2GAEU4O.cjs');
21
22
 
22
23
 
23
24
 
24
- var _chunk5ZEKWPSEcjs = require('./chunk-5ZEKWPSE.cjs');
25
25
 
26
+ var _chunkFEL432I2cjs = require('./chunk-FEL432I2.cjs');
26
27
 
27
28
 
28
29
 
30
+ var _chunkIWR3H7IHcjs = require('./chunk-IWR3H7IH.cjs');
29
31
 
30
32
 
31
33
 
32
- var _chunkOMFQ7Z63cjs = require('./chunk-OMFQ7Z63.cjs');
33
34
 
34
35
 
35
36
 
36
- var _chunkAI72FMOFcjs = require('./chunk-AI72FMOF.cjs');
37
+ var _chunkUCPKW43Kcjs = require('./chunk-UCPKW43K.cjs');
37
38
 
38
39
 
39
40
 
40
- var _chunk5LS4DSRQcjs = require('./chunk-5LS4DSRQ.cjs');
41
+ var _chunkAYCXAJRAcjs = require('./chunk-AYCXAJRA.cjs');
41
42
 
42
43
 
43
44
 
44
- var _chunkPL2GERLGcjs = require('./chunk-PL2GERLG.cjs');
45
45
 
46
46
 
47
47
 
48
- var _chunkVP5CCP5Fcjs = require('./chunk-VP5CCP5F.cjs');
49
48
 
49
+ var _chunkFP4O2ICMcjs = require('./chunk-FP4O2ICM.cjs');
50
50
 
51
- var _chunkMG25BEV4cjs = require('./chunk-MG25BEV4.cjs');
52
51
 
53
52
 
54
- var _chunk6X22I6NQcjs = require('./chunk-6X22I6NQ.cjs');
53
+ var _chunkVKBNKPFOcjs = require('./chunk-VKBNKPFO.cjs');
55
54
 
56
55
 
57
56
 
57
+ var _chunkBZSPJJYTcjs = require('./chunk-BZSPJJYT.cjs');
58
58
 
59
59
 
60
+ var _chunkG747FHUZcjs = require('./chunk-G747FHUZ.cjs');
60
61
 
61
- var _chunkVDOAPLA6cjs = require('./chunk-VDOAPLA6.cjs');
62
62
 
63
+ var _chunkFMPHW7IDcjs = require('./chunk-FMPHW7ID.cjs');
63
64
 
64
- var _chunkJBNCMS42cjs = require('./chunk-JBNCMS42.cjs');
65
65
 
66
+ var _chunkQ24GYUTOcjs = require('./chunk-Q24GYUTO.cjs');
66
67
 
67
68
 
69
+ var _chunkHZ2WESSLcjs = require('./chunk-HZ2WESSL.cjs');
68
70
 
69
- var _chunkCFFCBWYLcjs = require('./chunk-CFFCBWYL.cjs');
70
71
 
71
72
 
72
73
 
73
74
 
74
- var _chunkWWRFBLCRcjs = require('./chunk-WWRFBLCR.cjs');
75
75
 
76
+ var _chunkEDTNS2XLcjs = require('./chunk-EDTNS2XL.cjs');
76
77
 
77
78
 
78
- var _chunkFVO4743Acjs = require('./chunk-FVO4743A.cjs');
79
+ var _chunkTDEXEIHHcjs = require('./chunk-TDEXEIHH.cjs');
79
80
 
80
81
 
81
82
 
82
83
 
83
- var _chunkYALLOVNOcjs = require('./chunk-YALLOVNO.cjs');
84
+ var _chunkZCX22PY4cjs = require('./chunk-ZCX22PY4.cjs');
84
85
 
85
86
 
86
- var _chunkYAU6JCYLcjs = require('./chunk-YAU6JCYL.cjs');
87
87
 
88
88
 
89
- var _chunkOP4KV3BYcjs = require('./chunk-OP4KV3BY.cjs');
89
+ var _chunkLXFRQLH4cjs = require('./chunk-LXFRQLH4.cjs');
90
90
 
91
91
 
92
+ var _chunkLNWEJED7cjs = require('./chunk-LNWEJED7.cjs');
92
93
 
93
94
 
95
+ var _chunk4AQB4RSUcjs = require('./chunk-4AQB4RSU.cjs');
94
96
 
95
97
 
96
- var _chunkUFNVCUPQcjs = require('./chunk-UFNVCUPQ.cjs');
97
98
 
98
99
 
99
- var _chunkLKPXHW5Ncjs = require('./chunk-LKPXHW5N.cjs');
100
100
 
101
101
 
102
- var _chunk77KZUPPNcjs = require('./chunk-77KZUPPN.cjs');
102
+ var _chunk53EEWALQcjs = require('./chunk-53EEWALQ.cjs');
103
103
 
104
104
 
105
+ var _chunkH25N5GP6cjs = require('./chunk-H25N5GP6.cjs');
105
106
 
106
107
 
108
+ var _chunkKIUO2HIRcjs = require('./chunk-KIUO2HIR.cjs');
107
109
 
108
- var _chunk5GAZQDVScjs = require('./chunk-5GAZQDVS.cjs');
109
110
 
110
111
 
111
- var _chunkAANSHH2Ocjs = require('./chunk-AANSHH2O.cjs');
112
112
 
113
113
 
114
+ var _chunkJZEF5Q3Wcjs = require('./chunk-JZEF5Q3W.cjs');
114
115
 
115
- var _chunkYWV2BBXNcjs = require('./chunk-YWV2BBXN.cjs');
116
116
 
117
+ var _chunkBZWQPSHOcjs = require('./chunk-BZWQPSHO.cjs');
117
118
 
118
119
 
119
120
 
121
+ var _chunkQ7TUNJD4cjs = require('./chunk-Q7TUNJD4.cjs');
120
122
 
121
123
 
122
124
 
@@ -177,4 +179,10 @@ var _chunkYWV2BBXNcjs = require('./chunk-YWV2BBXN.cjs');
177
179
 
178
180
 
179
181
 
180
- exports.DATETIME_PATTERNS = _chunkUFNVCUPQcjs.DATETIME_PATTERNS; exports.ID_PATTERNS = _chunk5GAZQDVScjs.ID_PATTERNS; exports.TAIWAN_BANK_CODES = _chunkDRXPGQM6cjs.TAIWAN_BANK_CODES; exports.TIME_PATTERNS = _chunkVDOAPLA6cjs.TIME_PATTERNS; exports.VALID_3_DIGIT_PREFIXES = _chunkOMFQ7Z63cjs.VALID_3_DIGIT_PREFIXES; exports.boolean = _chunkYAU6JCYLcjs.boolean; exports.color = _chunkFVO4743Acjs.color; exports.coordinate = _chunkYALLOVNOcjs.coordinate; exports.creditCard = _chunkCFFCBWYLcjs.creditCard; exports.date = _chunkOP4KV3BYcjs.date; exports.datetime = _chunkUFNVCUPQcjs.datetime; exports.detectCardType = _chunkCFFCBWYLcjs.detectCardType; exports.detectIdType = _chunk5GAZQDVScjs.detectIdType; exports.email = _chunkLKPXHW5Ncjs.email; exports.file = _chunk77KZUPPNcjs.file; exports.getLocale = _chunkYWV2BBXNcjs.getLocale; exports.id = _chunk5GAZQDVScjs.id; exports.ip = _chunkWWRFBLCRcjs.ip; exports.normalizeDateTimeValue = _chunkUFNVCUPQcjs.normalizeDateTimeValue; exports.normalizeTime = _chunkVDOAPLA6cjs.normalizeTime; exports.number = _chunkAANSHH2Ocjs.number; exports.parseDateTimeValue = _chunkUFNVCUPQcjs.parseDateTimeValue; exports.parseTimeToMinutes = _chunkVDOAPLA6cjs.parseTimeToMinutes; exports.password = _chunkMG25BEV4cjs.password; exports.setLocale = _chunkYWV2BBXNcjs.setLocale; exports.text = _chunk6X22I6NQcjs.text; exports.time = _chunkVDOAPLA6cjs.time; exports.twBankAccount = _chunkDRXPGQM6cjs.twBankAccount; exports.twBusinessId = _chunkW2EWMV3Acjs.twBusinessId; exports.twFax = _chunk5LS4DSRQcjs.twFax; exports.twInvoice = _chunkPL2GERLGcjs.twInvoice; exports.twLicensePlate = _chunkVP5CCP5Fcjs.twLicensePlate; exports.twMobile = _chunk5ZEKWPSEcjs.twMobile; exports.twNationalId = _chunkG6DV7LX7cjs.twNationalId; exports.twPassport = _chunkR5G4V7C6cjs.twPassport; exports.twPostalCode = _chunkOMFQ7Z63cjs.twPostalCode; exports.twTel = _chunkAI72FMOFcjs.twTel; exports.url = _chunkJBNCMS42cjs.url; exports.validate3DigitPostalCode = _chunkOMFQ7Z63cjs.validate3DigitPostalCode; exports.validate5DigitPostalCode = _chunkOMFQ7Z63cjs.validate5DigitPostalCode; exports.validate6DigitPostalCode = _chunkOMFQ7Z63cjs.validate6DigitPostalCode; exports.validateCitizenId = _chunkG6DV7LX7cjs.validateCitizenId; exports.validateColor = _chunkFVO4743Acjs.validateColor; exports.validateCreditCard = _chunkCFFCBWYLcjs.validateCreditCard; exports.validateDateTimeFormat = _chunkUFNVCUPQcjs.validateDateTimeFormat; exports.validateIPv4 = _chunkWWRFBLCRcjs.validateIPv4; exports.validateIPv6 = _chunkWWRFBLCRcjs.validateIPv6; exports.validateIdType = _chunk5GAZQDVScjs.validateIdType; exports.validateLatitude = _chunkYALLOVNOcjs.validateLatitude; exports.validateLongitude = _chunkYALLOVNOcjs.validateLongitude; exports.validateNewResidentId = _chunkG6DV7LX7cjs.validateNewResidentId; exports.validateOldResidentId = _chunkG6DV7LX7cjs.validateOldResidentId; exports.validateTaiwanBankAccount = _chunkDRXPGQM6cjs.validateTaiwanBankAccount; exports.validateTaiwanBusinessId = _chunkW2EWMV3Acjs.validateTaiwanBusinessId; exports.validateTaiwanFax = _chunk5LS4DSRQcjs.validateTaiwanFax; exports.validateTaiwanInvoice = _chunkPL2GERLGcjs.validateTaiwanInvoice; exports.validateTaiwanLicensePlate = _chunkVP5CCP5Fcjs.validateTaiwanLicensePlate; exports.validateTaiwanMobile = _chunk5ZEKWPSEcjs.validateTaiwanMobile; exports.validateTaiwanNationalId = _chunkG6DV7LX7cjs.validateTaiwanNationalId; exports.validateTaiwanPassport = _chunkR5G4V7C6cjs.validateTaiwanPassport; exports.validateTaiwanPostalCode = _chunkOMFQ7Z63cjs.validateTaiwanPostalCode; exports.validateTaiwanTel = _chunkAI72FMOFcjs.validateTaiwanTel; exports.validateTimeFormat = _chunkVDOAPLA6cjs.validateTimeFormat;
182
+
183
+
184
+
185
+
186
+
187
+
188
+ exports.DATETIME_PATTERNS = _chunk53EEWALQcjs.DATETIME_PATTERNS; exports.ID_PATTERNS = _chunkJZEF5Q3Wcjs.ID_PATTERNS; exports.TAIWAN_BANK_CODES = _chunkQQWX3ICKcjs.TAIWAN_BANK_CODES; exports.TIME_PATTERNS = _chunkEDTNS2XLcjs.TIME_PATTERNS; exports.VALID_3_DIGIT_PREFIXES = _chunkFP4O2ICMcjs.VALID_3_DIGIT_PREFIXES; exports.boolean = _chunkLNWEJED7cjs.boolean; exports.color = _chunkA2GAEU4Ocjs.color; exports.coordinate = _chunkFEL432I2cjs.coordinate; exports.creditCard = _chunkZCX22PY4cjs.creditCard; exports.date = _chunk4AQB4RSUcjs.date; exports.datetime = _chunk53EEWALQcjs.datetime; exports.detectCardType = _chunkZCX22PY4cjs.detectCardType; exports.detectIdType = _chunkJZEF5Q3Wcjs.detectIdType; exports.email = _chunkH25N5GP6cjs.email; exports.file = _chunkKIUO2HIRcjs.file; exports.getLocale = _chunkQ7TUNJD4cjs.getLocale; exports.id = _chunkJZEF5Q3Wcjs.id; exports.ip = _chunkLXFRQLH4cjs.ip; exports.manyOf = _chunkBZWQPSHOcjs.manyOf; exports.normalizeDateTimeValue = _chunk53EEWALQcjs.normalizeDateTimeValue; exports.normalizeTime = _chunkEDTNS2XLcjs.normalizeTime; exports.number = _chunkG747FHUZcjs.number; exports.oneOf = _chunkFMPHW7IDcjs.oneOf; exports.parseDateTimeValue = _chunk53EEWALQcjs.parseDateTimeValue; exports.parseTimeToMinutes = _chunkEDTNS2XLcjs.parseTimeToMinutes; exports.password = _chunkQ24GYUTOcjs.password; exports.setLocale = _chunkQ7TUNJD4cjs.setLocale; exports.text = _chunkHZ2WESSLcjs.text; exports.time = _chunkEDTNS2XLcjs.time; exports.twBankAccount = _chunkQQWX3ICKcjs.twBankAccount; exports.twBusinessId = _chunkIWR3H7IHcjs.twBusinessId; exports.twFax = _chunkBZSPJJYTcjs.twFax; exports.twInvoice = _chunkV2KKGSKQcjs.twInvoice; exports.twLicensePlate = _chunkTPXRQT2Hcjs.twLicensePlate; exports.twMobile = _chunkAYCXAJRAcjs.twMobile; exports.twNationalId = _chunkUCPKW43Kcjs.twNationalId; exports.twPassport = _chunk5ZMTAI4Gcjs.twPassport; exports.twPostalCode = _chunkFP4O2ICMcjs.twPostalCode; exports.twTel = _chunkVKBNKPFOcjs.twTel; exports.url = _chunkTDEXEIHHcjs.url; exports.validate3DigitPostalCode = _chunkFP4O2ICMcjs.validate3DigitPostalCode; exports.validate5DigitPostalCode = _chunkFP4O2ICMcjs.validate5DigitPostalCode; exports.validate6DigitPostalCode = _chunkFP4O2ICMcjs.validate6DigitPostalCode; exports.validateCitizenId = _chunkUCPKW43Kcjs.validateCitizenId; exports.validateColor = _chunkA2GAEU4Ocjs.validateColor; exports.validateCreditCard = _chunkZCX22PY4cjs.validateCreditCard; exports.validateDateTimeFormat = _chunk53EEWALQcjs.validateDateTimeFormat; exports.validateIPv4 = _chunkLXFRQLH4cjs.validateIPv4; exports.validateIPv6 = _chunkLXFRQLH4cjs.validateIPv6; exports.validateIdType = _chunkJZEF5Q3Wcjs.validateIdType; exports.validateLatitude = _chunkFEL432I2cjs.validateLatitude; exports.validateLongitude = _chunkFEL432I2cjs.validateLongitude; exports.validateNewResidentId = _chunkUCPKW43Kcjs.validateNewResidentId; exports.validateOldResidentId = _chunkUCPKW43Kcjs.validateOldResidentId; exports.validateTaiwanBankAccount = _chunkQQWX3ICKcjs.validateTaiwanBankAccount; exports.validateTaiwanBusinessId = _chunkIWR3H7IHcjs.validateTaiwanBusinessId; exports.validateTaiwanFax = _chunkBZSPJJYTcjs.validateTaiwanFax; exports.validateTaiwanInvoice = _chunkV2KKGSKQcjs.validateTaiwanInvoice; exports.validateTaiwanLicensePlate = _chunkTPXRQT2Hcjs.validateTaiwanLicensePlate; exports.validateTaiwanMobile = _chunkAYCXAJRAcjs.validateTaiwanMobile; exports.validateTaiwanNationalId = _chunkUCPKW43Kcjs.validateTaiwanNationalId; exports.validateTaiwanPassport = _chunk5ZMTAI4Gcjs.validateTaiwanPassport; exports.validateTaiwanPostalCode = _chunkFP4O2ICMcjs.validateTaiwanPostalCode; exports.validateTaiwanTel = _chunkVKBNKPFOcjs.validateTaiwanTel; exports.validateTimeFormat = _chunkEDTNS2XLcjs.validateTimeFormat;
package/dist/index.d.cts CHANGED
@@ -7,8 +7,10 @@ export { DATETIME_PATTERNS, DateTimeFormat, DateTimeMessages, DateTimeOptions, D
7
7
  export { EmailMessages, EmailOptions, EmailSchema, email } from './common/email.cjs';
8
8
  export { FileMessages, FileOptions, FileSchema, file } from './common/file.cjs';
9
9
  export { ID_PATTERNS, IdMessages, IdOptions, IdSchema, IdType, detectIdType, id, validateIdType } from './common/id.cjs';
10
+ export { ManyOfMessages, ManyOfOptions, ManyOfSchema, manyOf } from './common/many-of.cjs';
10
11
  export { IpMessages, IpOptions, IpSchema, IpVersion, ip, validateIPv4, validateIPv6 } from './common/ip.cjs';
11
12
  export { NumberMessages, NumberOptions, NumberSchema, number } from './common/number.cjs';
13
+ export { OneOfMessages, OneOfOptions, OneOfSchema, oneOf } from './common/one-of.cjs';
12
14
  export { PasswordMessages, PasswordOptions, PasswordSchema, PasswordStrength, password } from './common/password.cjs';
13
15
  export { TextMessages, TextOptions, TextSchema, text } from './common/text.cjs';
14
16
  export { TIME_PATTERNS, TimeFormat, TimeMessages, TimeOptions, TimeSchema, normalizeTime, parseTimeToMinutes, time, validateTimeFormat } from './common/time.cjs';
package/dist/index.d.ts CHANGED
@@ -7,8 +7,10 @@ export { DATETIME_PATTERNS, DateTimeFormat, DateTimeMessages, DateTimeOptions, D
7
7
  export { EmailMessages, EmailOptions, EmailSchema, email } from './common/email.js';
8
8
  export { FileMessages, FileOptions, FileSchema, file } from './common/file.js';
9
9
  export { ID_PATTERNS, IdMessages, IdOptions, IdSchema, IdType, detectIdType, id, validateIdType } from './common/id.js';
10
+ export { ManyOfMessages, ManyOfOptions, ManyOfSchema, manyOf } from './common/many-of.js';
10
11
  export { IpMessages, IpOptions, IpSchema, IpVersion, ip, validateIPv4, validateIPv6 } from './common/ip.js';
11
12
  export { NumberMessages, NumberOptions, NumberSchema, number } from './common/number.js';
13
+ export { OneOfMessages, OneOfOptions, OneOfSchema, oneOf } from './common/one-of.js';
12
14
  export { PasswordMessages, PasswordOptions, PasswordSchema, PasswordStrength, password } from './common/password.js';
13
15
  export { TextMessages, TextOptions, TextSchema, text } from './common/text.js';
14
16
  export { TIME_PATTERNS, TimeFormat, TimeMessages, TimeOptions, TimeSchema, normalizeTime, parseTimeToMinutes, time, validateTimeFormat } from './common/time.js';