@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
package/dist/index.js CHANGED
@@ -1,27 +1,44 @@
1
+ import {
2
+ twInvoice,
3
+ validateTaiwanInvoice
4
+ } from "./chunk-AI4U42JV.js";
5
+ import {
6
+ twLicensePlate,
7
+ validateTaiwanLicensePlate
8
+ } from "./chunk-E52GRXYY.js";
1
9
  import {
2
10
  TAIWAN_BANK_CODES,
3
11
  twBankAccount,
4
12
  validateTaiwanBankAccount
5
- } from "./chunk-6OGDPSWT.js";
13
+ } from "./chunk-OSUPJCBA.js";
6
14
  import {
7
15
  twPassport,
8
16
  validateTaiwanPassport
9
- } from "./chunk-OEK7QSQP.js";
17
+ } from "./chunk-LBH5U2DZ.js";
18
+ import {
19
+ color,
20
+ validateColor
21
+ } from "./chunk-ZXPRRNZR.js";
22
+ import {
23
+ coordinate,
24
+ validateLatitude,
25
+ validateLongitude
26
+ } from "./chunk-HQ4RAMSD.js";
10
27
  import {
11
28
  twBusinessId,
12
29
  validateTaiwanBusinessId
13
- } from "./chunk-JZ2SHRGZ.js";
30
+ } from "./chunk-G7FLGJYD.js";
14
31
  import {
15
32
  twNationalId,
16
33
  validateCitizenId,
17
34
  validateNewResidentId,
18
35
  validateOldResidentId,
19
36
  validateTaiwanNationalId
20
- } from "./chunk-EAU42EVH.js";
37
+ } from "./chunk-RFWCYULE.js";
21
38
  import {
22
39
  twMobile,
23
40
  validateTaiwanMobile
24
- } from "./chunk-MCDESS3T.js";
41
+ } from "./chunk-2JGRV3JO.js";
25
42
  import {
26
43
  VALID_3_DIGIT_PREFIXES,
27
44
  twPostalCode,
@@ -29,90 +46,79 @@ import {
29
46
  validate5DigitPostalCode,
30
47
  validate6DigitPostalCode,
31
48
  validateTaiwanPostalCode
32
- } from "./chunk-KARFFIMP.js";
49
+ } from "./chunk-D55YFP5R.js";
33
50
  import {
34
51
  twTel,
35
52
  validateTaiwanTel
36
- } from "./chunk-DPXRMSB2.js";
53
+ } from "./chunk-TRQMRHFM.js";
37
54
  import {
38
55
  twFax,
39
56
  validateTaiwanFax
40
- } from "./chunk-RKHX3DGH.js";
57
+ } from "./chunk-6DFP7XY2.js";
41
58
  import {
42
- twInvoice,
43
- validateTaiwanInvoice
44
- } from "./chunk-P364KRO5.js";
59
+ number
60
+ } from "./chunk-3QLUXIY2.js";
45
61
  import {
46
- twLicensePlate,
47
- validateTaiwanLicensePlate
48
- } from "./chunk-I2RJMDXN.js";
62
+ oneOf
63
+ } from "./chunk-3ZF5JO3F.js";
49
64
  import {
50
65
  password
51
- } from "./chunk-B3U5G3AA.js";
66
+ } from "./chunk-NWQSOSNF.js";
52
67
  import {
53
68
  text
54
- } from "./chunk-IJEEM3DI.js";
69
+ } from "./chunk-T7PG4JDW.js";
55
70
  import {
56
71
  TIME_PATTERNS,
57
72
  normalizeTime,
58
73
  parseTimeToMinutes,
59
74
  time,
60
75
  validateTimeFormat
61
- } from "./chunk-P2NONIMS.js";
76
+ } from "./chunk-6IAPM7BP.js";
62
77
  import {
63
78
  url
64
- } from "./chunk-ZFQQXWNB.js";
79
+ } from "./chunk-U2PB6XEO.js";
65
80
  import {
66
81
  creditCard,
67
82
  detectCardType,
68
83
  validateCreditCard
69
- } from "./chunk-NKCYXBGX.js";
84
+ } from "./chunk-OKO6WO6M.js";
70
85
  import {
71
86
  ip,
72
87
  validateIPv4,
73
88
  validateIPv6
74
- } from "./chunk-AWV2IT66.js";
75
- import {
76
- color,
77
- validateColor
78
- } from "./chunk-TSHL7ZO2.js";
79
- import {
80
- coordinate,
81
- validateLatitude,
82
- validateLongitude
83
- } from "./chunk-MAQRXYE6.js";
89
+ } from "./chunk-7SKH66CM.js";
84
90
  import {
85
91
  boolean
86
- } from "./chunk-PGSDXR2I.js";
92
+ } from "./chunk-LC4RNKBM.js";
87
93
  import {
88
94
  date
89
- } from "./chunk-36NWHESN.js";
95
+ } from "./chunk-RVGCMQ4J.js";
90
96
  import {
91
97
  DATETIME_PATTERNS,
92
98
  datetime,
93
99
  normalizeDateTimeValue,
94
100
  parseDateTimeValue,
95
101
  validateDateTimeFormat
96
- } from "./chunk-VCRKYMJM.js";
102
+ } from "./chunk-RHKBT3M2.js";
97
103
  import {
98
104
  email
99
- } from "./chunk-5OGW2ERW.js";
105
+ } from "./chunk-XAN4CAVH.js";
100
106
  import {
101
107
  file
102
- } from "./chunk-LIQSVJLS.js";
108
+ } from "./chunk-OGU7AIZF.js";
103
109
  import {
104
110
  ID_PATTERNS,
105
111
  detectIdType,
106
112
  id,
107
113
  validateIdType
108
- } from "./chunk-FC6VDOC7.js";
114
+ } from "./chunk-H6STFX4I.js";
109
115
  import {
110
- number
111
- } from "./chunk-4LYZAO3P.js";
116
+ manyOf
117
+ } from "./chunk-7X3XPK6A.js";
112
118
  import {
113
119
  getLocale,
114
120
  setLocale
115
- } from "./chunk-ZBOQCXD4.js";
121
+ } from "./chunk-POIDES2L.js";
116
122
  export {
117
123
  DATETIME_PATTERNS,
118
124
  ID_PATTERNS,
@@ -132,9 +138,11 @@ export {
132
138
  getLocale,
133
139
  id,
134
140
  ip,
141
+ manyOf,
135
142
  normalizeDateTimeValue,
136
143
  normalizeTime,
137
144
  number,
145
+ oneOf,
138
146
  parseDateTimeValue,
139
147
  parseTimeToMinutes,
140
148
  password,
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkDRXPGQM6cjs = require('../chunk-DRXPGQM6.cjs');
6
- require('../chunk-YWV2BBXN.cjs');
5
+ var _chunkQQWX3ICKcjs = require('../chunk-QQWX3ICK.cjs');
6
+ require('../chunk-Q7TUNJD4.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
- exports.TAIWAN_BANK_CODES = _chunkDRXPGQM6cjs.TAIWAN_BANK_CODES; exports.twBankAccount = _chunkDRXPGQM6cjs.twBankAccount; exports.validateTaiwanBankAccount = _chunkDRXPGQM6cjs.validateTaiwanBankAccount;
11
+ exports.TAIWAN_BANK_CODES = _chunkQQWX3ICKcjs.TAIWAN_BANK_CODES; exports.twBankAccount = _chunkQQWX3ICKcjs.twBankAccount; exports.validateTaiwanBankAccount = _chunkQQWX3ICKcjs.validateTaiwanBankAccount;
@@ -2,8 +2,8 @@ import {
2
2
  TAIWAN_BANK_CODES,
3
3
  twBankAccount,
4
4
  validateTaiwanBankAccount
5
- } from "../chunk-6OGDPSWT.js";
6
- import "../chunk-ZBOQCXD4.js";
5
+ } from "../chunk-OSUPJCBA.js";
6
+ import "../chunk-POIDES2L.js";
7
7
  export {
8
8
  TAIWAN_BANK_CODES,
9
9
  twBankAccount,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkW2EWMV3Acjs = require('../chunk-W2EWMV3A.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkIWR3H7IHcjs = require('../chunk-IWR3H7IH.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twBusinessId = _chunkW2EWMV3Acjs.twBusinessId; exports.validateTaiwanBusinessId = _chunkW2EWMV3Acjs.validateTaiwanBusinessId;
9
+ exports.twBusinessId = _chunkIWR3H7IHcjs.twBusinessId; exports.validateTaiwanBusinessId = _chunkIWR3H7IHcjs.validateTaiwanBusinessId;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twBusinessId,
3
3
  validateTaiwanBusinessId
4
- } from "../chunk-JZ2SHRGZ.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-G7FLGJYD.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twBusinessId,
8
8
  validateTaiwanBusinessId
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk5LS4DSRQcjs = require('../chunk-5LS4DSRQ.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkBZSPJJYTcjs = require('../chunk-BZSPJJYT.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twFax = _chunk5LS4DSRQcjs.twFax; exports.validateTaiwanFax = _chunk5LS4DSRQcjs.validateTaiwanFax;
9
+ exports.twFax = _chunkBZSPJJYTcjs.twFax; exports.validateTaiwanFax = _chunkBZSPJJYTcjs.validateTaiwanFax;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twFax,
3
3
  validateTaiwanFax
4
- } from "../chunk-RKHX3DGH.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-6DFP7XY2.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twFax,
8
8
  validateTaiwanFax
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkPL2GERLGcjs = require('../chunk-PL2GERLG.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkV2KKGSKQcjs = require('../chunk-V2KKGSKQ.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twInvoice = _chunkPL2GERLGcjs.twInvoice; exports.validateTaiwanInvoice = _chunkPL2GERLGcjs.validateTaiwanInvoice;
9
+ exports.twInvoice = _chunkV2KKGSKQcjs.twInvoice; exports.validateTaiwanInvoice = _chunkV2KKGSKQcjs.validateTaiwanInvoice;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twInvoice,
3
3
  validateTaiwanInvoice
4
- } from "../chunk-P364KRO5.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-AI4U42JV.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twInvoice,
8
8
  validateTaiwanInvoice
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkVP5CCP5Fcjs = require('../chunk-VP5CCP5F.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkTPXRQT2Hcjs = require('../chunk-TPXRQT2H.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twLicensePlate = _chunkVP5CCP5Fcjs.twLicensePlate; exports.validateTaiwanLicensePlate = _chunkVP5CCP5Fcjs.validateTaiwanLicensePlate;
9
+ exports.twLicensePlate = _chunkTPXRQT2Hcjs.twLicensePlate; exports.validateTaiwanLicensePlate = _chunkTPXRQT2Hcjs.validateTaiwanLicensePlate;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twLicensePlate,
3
3
  validateTaiwanLicensePlate
4
- } from "../chunk-I2RJMDXN.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-E52GRXYY.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twLicensePlate,
8
8
  validateTaiwanLicensePlate
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk5ZEKWPSEcjs = require('../chunk-5ZEKWPSE.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkAYCXAJRAcjs = require('../chunk-AYCXAJRA.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twMobile = _chunk5ZEKWPSEcjs.twMobile; exports.validateTaiwanMobile = _chunk5ZEKWPSEcjs.validateTaiwanMobile;
9
+ exports.twMobile = _chunkAYCXAJRAcjs.twMobile; exports.validateTaiwanMobile = _chunkAYCXAJRAcjs.validateTaiwanMobile;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twMobile,
3
3
  validateTaiwanMobile
4
- } from "../chunk-MCDESS3T.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-2JGRV3JO.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twMobile,
8
8
  validateTaiwanMobile
@@ -4,12 +4,12 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkG6DV7LX7cjs = require('../chunk-G6DV7LX7.cjs');
8
- require('../chunk-YWV2BBXN.cjs');
7
+ var _chunkUCPKW43Kcjs = require('../chunk-UCPKW43K.cjs');
8
+ require('../chunk-Q7TUNJD4.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
13
 
14
14
 
15
- exports.twNationalId = _chunkG6DV7LX7cjs.twNationalId; exports.validateCitizenId = _chunkG6DV7LX7cjs.validateCitizenId; exports.validateNewResidentId = _chunkG6DV7LX7cjs.validateNewResidentId; exports.validateOldResidentId = _chunkG6DV7LX7cjs.validateOldResidentId; exports.validateTaiwanNationalId = _chunkG6DV7LX7cjs.validateTaiwanNationalId;
15
+ exports.twNationalId = _chunkUCPKW43Kcjs.twNationalId; exports.validateCitizenId = _chunkUCPKW43Kcjs.validateCitizenId; exports.validateNewResidentId = _chunkUCPKW43Kcjs.validateNewResidentId; exports.validateOldResidentId = _chunkUCPKW43Kcjs.validateOldResidentId; exports.validateTaiwanNationalId = _chunkUCPKW43Kcjs.validateTaiwanNationalId;
@@ -4,8 +4,8 @@ import {
4
4
  validateNewResidentId,
5
5
  validateOldResidentId,
6
6
  validateTaiwanNationalId
7
- } from "../chunk-EAU42EVH.js";
8
- import "../chunk-ZBOQCXD4.js";
7
+ } from "../chunk-RFWCYULE.js";
8
+ import "../chunk-POIDES2L.js";
9
9
  export {
10
10
  twNationalId,
11
11
  validateCitizenId,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkR5G4V7C6cjs = require('../chunk-R5G4V7C6.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunk5ZMTAI4Gcjs = require('../chunk-5ZMTAI4G.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twPassport = _chunkR5G4V7C6cjs.twPassport; exports.validateTaiwanPassport = _chunkR5G4V7C6cjs.validateTaiwanPassport;
9
+ exports.twPassport = _chunk5ZMTAI4Gcjs.twPassport; exports.validateTaiwanPassport = _chunk5ZMTAI4Gcjs.validateTaiwanPassport;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twPassport,
3
3
  validateTaiwanPassport
4
- } from "../chunk-OEK7QSQP.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-LBH5U2DZ.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twPassport,
8
8
  validateTaiwanPassport
@@ -5,8 +5,8 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkOMFQ7Z63cjs = require('../chunk-OMFQ7Z63.cjs');
9
- require('../chunk-YWV2BBXN.cjs');
8
+ var _chunkFP4O2ICMcjs = require('../chunk-FP4O2ICM.cjs');
9
+ require('../chunk-Q7TUNJD4.cjs');
10
10
 
11
11
 
12
12
 
@@ -14,4 +14,4 @@ require('../chunk-YWV2BBXN.cjs');
14
14
 
15
15
 
16
16
 
17
- exports.VALID_3_DIGIT_PREFIXES = _chunkOMFQ7Z63cjs.VALID_3_DIGIT_PREFIXES; exports.twPostalCode = _chunkOMFQ7Z63cjs.twPostalCode; exports.validate3DigitPostalCode = _chunkOMFQ7Z63cjs.validate3DigitPostalCode; exports.validate5DigitPostalCode = _chunkOMFQ7Z63cjs.validate5DigitPostalCode; exports.validate6DigitPostalCode = _chunkOMFQ7Z63cjs.validate6DigitPostalCode; exports.validateTaiwanPostalCode = _chunkOMFQ7Z63cjs.validateTaiwanPostalCode;
17
+ exports.VALID_3_DIGIT_PREFIXES = _chunkFP4O2ICMcjs.VALID_3_DIGIT_PREFIXES; exports.twPostalCode = _chunkFP4O2ICMcjs.twPostalCode; exports.validate3DigitPostalCode = _chunkFP4O2ICMcjs.validate3DigitPostalCode; exports.validate5DigitPostalCode = _chunkFP4O2ICMcjs.validate5DigitPostalCode; exports.validate6DigitPostalCode = _chunkFP4O2ICMcjs.validate6DigitPostalCode; exports.validateTaiwanPostalCode = _chunkFP4O2ICMcjs.validateTaiwanPostalCode;
@@ -5,8 +5,8 @@ import {
5
5
  validate5DigitPostalCode,
6
6
  validate6DigitPostalCode,
7
7
  validateTaiwanPostalCode
8
- } from "../chunk-KARFFIMP.js";
9
- import "../chunk-ZBOQCXD4.js";
8
+ } from "../chunk-D55YFP5R.js";
9
+ import "../chunk-POIDES2L.js";
10
10
  export {
11
11
  VALID_3_DIGIT_PREFIXES,
12
12
  twPostalCode,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkAI72FMOFcjs = require('../chunk-AI72FMOF.cjs');
5
- require('../chunk-YWV2BBXN.cjs');
4
+ var _chunkVKBNKPFOcjs = require('../chunk-VKBNKPFO.cjs');
5
+ require('../chunk-Q7TUNJD4.cjs');
6
6
 
7
7
 
8
8
 
9
- exports.twTel = _chunkAI72FMOFcjs.twTel; exports.validateTaiwanTel = _chunkAI72FMOFcjs.validateTaiwanTel;
9
+ exports.twTel = _chunkVKBNKPFOcjs.twTel; exports.validateTaiwanTel = _chunkVKBNKPFOcjs.validateTaiwanTel;
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  twTel,
3
3
  validateTaiwanTel
4
- } from "../chunk-DPXRMSB2.js";
5
- import "../chunk-ZBOQCXD4.js";
4
+ } from "../chunk-TRQMRHFM.js";
5
+ import "../chunk-POIDES2L.js";
6
6
  export {
7
7
  twTel,
8
8
  validateTaiwanTel
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hy_ong/zod-kit",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "A comprehensive TypeScript library providing pre-built Zod validation schemas with full internationalization support for common data types and Taiwan-specific formats",
5
5
  "keywords": [
6
6
  "zod",
@@ -91,11 +91,21 @@
91
91
  "import": "./dist/common/ip.js",
92
92
  "require": "./dist/common/ip.cjs"
93
93
  },
94
+ "./common/many-of": {
95
+ "types": "./dist/common/many-of.d.ts",
96
+ "import": "./dist/common/many-of.js",
97
+ "require": "./dist/common/many-of.cjs"
98
+ },
94
99
  "./common/number": {
95
100
  "types": "./dist/common/number.d.ts",
96
101
  "import": "./dist/common/number.js",
97
102
  "require": "./dist/common/number.cjs"
98
103
  },
104
+ "./common/one-of": {
105
+ "types": "./dist/common/one-of.d.ts",
106
+ "import": "./dist/common/one-of.js",
107
+ "require": "./dist/common/one-of.cjs"
108
+ },
99
109
  "./common/password": {
100
110
  "types": "./dist/common/password.d.ts",
101
111
  "import": "./dist/common/password.js",
@@ -179,14 +189,14 @@
179
189
  "zod": "^4.3.6"
180
190
  },
181
191
  "devDependencies": {
182
- "@eslint/js": "^9.39.2",
183
- "@types/node": "^24.10.12",
184
- "eslint": "^9.39.2",
192
+ "@eslint/js": "^10.0.1",
193
+ "@types/node": "^25.4.0",
194
+ "eslint": "^10.0.3",
185
195
  "jiti": "^2.6.1",
186
196
  "prettier": "^3.8.1",
187
197
  "tsup": "^8.5.1",
188
198
  "typescript": "^5.9.3",
189
- "typescript-eslint": "^8.54.0",
199
+ "typescript-eslint": "^8.57.0",
190
200
  "vitest": "^4.0.18"
191
201
  }
192
202
  }
@@ -17,6 +17,13 @@
17
17
  "businessOnly": "Only business email addresses are allowed",
18
18
  "noDisposable": "Disposable email addresses are not allowed"
19
19
  },
20
+ "manyOf": {
21
+ "required": "Required",
22
+ "invalid": "Must be from: ${values}",
23
+ "minSelect": "Must select at least ${min} item(s)",
24
+ "maxSelect": "Must select at most ${max} item(s)",
25
+ "duplicate": "Duplicate values are not allowed"
26
+ },
20
27
  "url": {
21
28
  "required": "Required",
22
29
  "invalid": "Invalid URL format",
@@ -68,6 +75,10 @@
68
75
  "finite": "Must be a finite number",
69
76
  "precision": "Must have at most ${precision} decimal places"
70
77
  },
78
+ "oneOf": {
79
+ "required": "Required",
80
+ "invalid": "Must be one of: ${values}"
81
+ },
71
82
  "id": {
72
83
  "required": "Required",
73
84
  "invalid": "Invalid ID format",
@@ -75,6 +86,14 @@
75
86
  "maxLength": "Must be at most ${maxLength} characters",
76
87
  "numeric": "Must be a numeric ID",
77
88
  "uuid": "Must be a valid UUID",
89
+ "uuidv1": "Must be a valid UUID v1",
90
+ "uuidv2": "Must be a valid UUID v2",
91
+ "uuidv3": "Must be a valid UUID v3",
92
+ "uuidv4": "Must be a valid UUID v4",
93
+ "uuidv5": "Must be a valid UUID v5",
94
+ "uuidv6": "Must be a valid UUID v6",
95
+ "uuidv7": "Must be a valid UUID v7",
96
+ "uuidv8": "Must be a valid UUID v8",
78
97
  "objectId": "Must be a valid MongoDB ObjectId",
79
98
  "nanoid": "Must be a valid Nano ID",
80
99
  "snowflake": "Must be a valid Snowflake ID",
@@ -17,6 +17,13 @@
17
17
  "businessOnly": "Only business email addresses are allowed",
18
18
  "noDisposable": "Disposable email addresses are not allowed"
19
19
  },
20
+ "manyOf": {
21
+ "required": "Required",
22
+ "invalid": "Must be from: ${values}",
23
+ "minSelect": "Must select at least ${min} item(s)",
24
+ "maxSelect": "Must select at most ${max} item(s)",
25
+ "duplicate": "Duplicate values are not allowed"
26
+ },
20
27
  "url": {
21
28
  "required": "Required",
22
29
  "invalid": "Invalid URL format",
@@ -61,13 +68,17 @@
61
68
  "min": "Must be at least ${min}",
62
69
  "max": "Must be at most ${max}",
63
70
  "positive": "Must be positive",
64
- "negative": "Must be negative",
71
+ "negative": "Must be negative",
65
72
  "nonNegative": "Must be non-negative",
66
73
  "nonPositive": "Must be non-positive",
67
74
  "multipleOf": "Must be a multiple of ${multipleOf}",
68
75
  "finite": "Must be a finite number",
69
76
  "precision": "Must have at most ${precision} decimal places"
70
77
  },
78
+ "oneOf": {
79
+ "required": "Required",
80
+ "invalid": "Must be one of: ${values}"
81
+ },
71
82
  "id": {
72
83
  "required": "Required",
73
84
  "invalid": "Invalid ID format",
@@ -75,6 +86,14 @@
75
86
  "maxLength": "Must be at most ${maxLength} characters",
76
87
  "numeric": "Must be a numeric ID",
77
88
  "uuid": "Must be a valid UUID",
89
+ "uuidv1": "Must be a valid UUID v1",
90
+ "uuidv2": "Must be a valid UUID v2",
91
+ "uuidv3": "Must be a valid UUID v3",
92
+ "uuidv4": "Must be a valid UUID v4",
93
+ "uuidv5": "Must be a valid UUID v5",
94
+ "uuidv6": "Must be a valid UUID v6",
95
+ "uuidv7": "Must be a valid UUID v7",
96
+ "uuidv8": "Must be a valid UUID v8",
78
97
  "objectId": "Must be a valid MongoDB ObjectId",
79
98
  "nanoid": "Must be a valid Nano ID",
80
99
  "snowflake": "Must be a valid Snowflake ID",
@@ -17,6 +17,13 @@
17
17
  "businessOnly": "Hanya alamat email bisnis yang diizinkan",
18
18
  "noDisposable": "Alamat email sekali pakai tidak diizinkan"
19
19
  },
20
+ "manyOf": {
21
+ "required": "Wajib diisi",
22
+ "invalid": "Harus dari: ${values}",
23
+ "minSelect": "Harus memilih minimal ${min} item",
24
+ "maxSelect": "Harus memilih maksimal ${max} item",
25
+ "duplicate": "Nilai duplikat tidak diperbolehkan"
26
+ },
20
27
  "url": {
21
28
  "required": "Wajib diisi",
22
29
  "invalid": "Format URL tidak valid",
@@ -68,6 +75,10 @@
68
75
  "finite": "Harus berupa angka terhingga",
69
76
  "precision": "Harus memiliki maksimal ${precision} tempat desimal"
70
77
  },
78
+ "oneOf": {
79
+ "required": "Wajib diisi",
80
+ "invalid": "Harus salah satu dari: ${values}"
81
+ },
71
82
  "id": {
72
83
  "required": "Wajib diisi",
73
84
  "invalid": "Format ID tidak valid",
@@ -75,6 +86,14 @@
75
86
  "maxLength": "Harus maksimal ${maxLength} karakter",
76
87
  "numeric": "Harus berupa ID numerik",
77
88
  "uuid": "Harus berupa UUID yang valid",
89
+ "uuidv1": "Harus berupa UUID v1 yang valid",
90
+ "uuidv2": "Harus berupa UUID v2 yang valid",
91
+ "uuidv3": "Harus berupa UUID v3 yang valid",
92
+ "uuidv4": "Harus berupa UUID v4 yang valid",
93
+ "uuidv5": "Harus berupa UUID v5 yang valid",
94
+ "uuidv6": "Harus berupa UUID v6 yang valid",
95
+ "uuidv7": "Harus berupa UUID v7 yang valid",
96
+ "uuidv8": "Harus berupa UUID v8 yang valid",
78
97
  "objectId": "Harus berupa MongoDB ObjectId yang valid",
79
98
  "nanoid": "Harus berupa Nano ID yang valid",
80
99
  "snowflake": "Harus berupa Snowflake ID yang valid",