utilitify-core 1.0.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.
- package/LICENSE +21 -0
- package/README.md +338 -0
- package/dist/async.cjs +25 -0
- package/dist/async.cjs.map +1 -0
- package/dist/async.d.cts +104 -0
- package/dist/async.d.ts +104 -0
- package/dist/async.js +4 -0
- package/dist/async.js.map +1 -0
- package/dist/chunk-2ICNRTSN.cjs +346 -0
- package/dist/chunk-2ICNRTSN.cjs.map +1 -0
- package/dist/chunk-3DPF72DY.js +170 -0
- package/dist/chunk-3DPF72DY.js.map +1 -0
- package/dist/chunk-4CV4JOE5.js +24 -0
- package/dist/chunk-4CV4JOE5.js.map +1 -0
- package/dist/chunk-4SLYNSLH.cjs +783 -0
- package/dist/chunk-4SLYNSLH.cjs.map +1 -0
- package/dist/chunk-5WP7DWCG.js +1285 -0
- package/dist/chunk-5WP7DWCG.js.map +1 -0
- package/dist/chunk-BMQ6YPKV.js +876 -0
- package/dist/chunk-BMQ6YPKV.js.map +1 -0
- package/dist/chunk-BZCMWUKS.cjs +479 -0
- package/dist/chunk-BZCMWUKS.cjs.map +1 -0
- package/dist/chunk-C5R744DY.cjs +173 -0
- package/dist/chunk-C5R744DY.cjs.map +1 -0
- package/dist/chunk-C75J62CV.cjs +913 -0
- package/dist/chunk-C75J62CV.cjs.map +1 -0
- package/dist/chunk-CZLDE2OZ.cjs +28 -0
- package/dist/chunk-CZLDE2OZ.cjs.map +1 -0
- package/dist/chunk-DSMB6AF6.cjs +193 -0
- package/dist/chunk-DSMB6AF6.cjs.map +1 -0
- package/dist/chunk-ETWGPOPY.js +426 -0
- package/dist/chunk-ETWGPOPY.js.map +1 -0
- package/dist/chunk-FQBPVN63.cjs +403 -0
- package/dist/chunk-FQBPVN63.cjs.map +1 -0
- package/dist/chunk-G4GYQGTW.cjs +178 -0
- package/dist/chunk-G4GYQGTW.cjs.map +1 -0
- package/dist/chunk-GFDMZDMI.js +486 -0
- package/dist/chunk-GFDMZDMI.js.map +1 -0
- package/dist/chunk-HOTOYIPB.js +171 -0
- package/dist/chunk-HOTOYIPB.js.map +1 -0
- package/dist/chunk-HYADH4ZX.js +176 -0
- package/dist/chunk-HYADH4ZX.js.map +1 -0
- package/dist/chunk-JBN7C5WE.js +255 -0
- package/dist/chunk-JBN7C5WE.js.map +1 -0
- package/dist/chunk-JNCTPFTD.cjs +25 -0
- package/dist/chunk-JNCTPFTD.cjs.map +1 -0
- package/dist/chunk-N3BH3BV7.js +21 -0
- package/dist/chunk-N3BH3BV7.js.map +1 -0
- package/dist/chunk-NFPGAVRQ.js +749 -0
- package/dist/chunk-NFPGAVRQ.js.map +1 -0
- package/dist/chunk-OFFRGRBN.cjs +1332 -0
- package/dist/chunk-OFFRGRBN.cjs.map +1 -0
- package/dist/chunk-OZLKYIZL.cjs +490 -0
- package/dist/chunk-OZLKYIZL.cjs.map +1 -0
- package/dist/chunk-P3NUK46X.js +145 -0
- package/dist/chunk-P3NUK46X.js.map +1 -0
- package/dist/chunk-P7P2B7ZI.cjs +429 -0
- package/dist/chunk-P7P2B7ZI.cjs.map +1 -0
- package/dist/chunk-PB6SKSJN.cjs +150 -0
- package/dist/chunk-PB6SKSJN.cjs.map +1 -0
- package/dist/chunk-R3IXCJR7.js +378 -0
- package/dist/chunk-R3IXCJR7.js.map +1 -0
- package/dist/chunk-SD6P3WEJ.js +324 -0
- package/dist/chunk-SD6P3WEJ.js.map +1 -0
- package/dist/chunk-YSCHP26P.js +451 -0
- package/dist/chunk-YSCHP26P.js.map +1 -0
- package/dist/chunk-ZLMPRPCY.cjs +274 -0
- package/dist/chunk-ZLMPRPCY.cjs.map +1 -0
- package/dist/common-CBDYNJeh.d.cts +48 -0
- package/dist/common-CBDYNJeh.d.ts +48 -0
- package/dist/constants.cjs +42 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +60 -0
- package/dist/constants.d.ts +60 -0
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -0
- package/dist/country/index.cjs +154 -0
- package/dist/country/index.cjs.map +1 -0
- package/dist/country/index.d.cts +1 -0
- package/dist/country/index.d.ts +1 -0
- package/dist/country/index.js +5 -0
- package/dist/country/index.js.map +1 -0
- package/dist/date/index.cjs +117 -0
- package/dist/date/index.cjs.map +1 -0
- package/dist/date/index.d.cts +283 -0
- package/dist/date/index.d.ts +283 -0
- package/dist/date/index.js +4 -0
- package/dist/date/index.js.map +1 -0
- package/dist/environment/index.cjs +73 -0
- package/dist/environment/index.cjs.map +1 -0
- package/dist/environment/index.d.cts +127 -0
- package/dist/environment/index.d.ts +127 -0
- package/dist/environment/index.js +4 -0
- package/dist/environment/index.js.map +1 -0
- package/dist/form/index.cjs +81 -0
- package/dist/form/index.cjs.map +1 -0
- package/dist/form/index.d.cts +227 -0
- package/dist/form/index.d.ts +227 -0
- package/dist/form/index.js +4 -0
- package/dist/form/index.js.map +1 -0
- package/dist/i18n.cjs +37 -0
- package/dist/i18n.cjs.map +1 -0
- package/dist/i18n.d.cts +102 -0
- package/dist/i18n.d.ts +102 -0
- package/dist/i18n.js +4 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index-BXBmBHyL.d.ts +718 -0
- package/dist/index-BYsUCP3u.d.cts +718 -0
- package/dist/index-Cl26FrAZ.d.cts +362 -0
- package/dist/index-Cl26FrAZ.d.ts +362 -0
- package/dist/index.cjs +1265 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +205 -0
- package/dist/index.d.ts +205 -0
- package/dist/index.js +277 -0
- package/dist/index.js.map +1 -0
- package/dist/schema.cjs +13 -0
- package/dist/schema.cjs.map +1 -0
- package/dist/schema.d.cts +84 -0
- package/dist/schema.d.ts +84 -0
- package/dist/schema.js +4 -0
- package/dist/schema.js.map +1 -0
- package/dist/security/index.cjs +94 -0
- package/dist/security/index.cjs.map +1 -0
- package/dist/security/index.d.cts +216 -0
- package/dist/security/index.d.ts +216 -0
- package/dist/security/index.js +5 -0
- package/dist/security/index.js.map +1 -0
- package/dist/string/index.cjs +153 -0
- package/dist/string/index.cjs.map +1 -0
- package/dist/string/index.d.cts +471 -0
- package/dist/string/index.d.ts +471 -0
- package/dist/string/index.js +4 -0
- package/dist/string/index.js.map +1 -0
- package/dist/transform/index.cjs +105 -0
- package/dist/transform/index.cjs.map +1 -0
- package/dist/transform/index.d.cts +271 -0
- package/dist/transform/index.d.ts +271 -0
- package/dist/transform/index.js +4 -0
- package/dist/transform/index.js.map +1 -0
- package/dist/validators/index.cjs +195 -0
- package/dist/validators/index.cjs.map +1 -0
- package/dist/validators/index.d.cts +2 -0
- package/dist/validators/index.d.ts +2 -0
- package/dist/validators/index.js +6 -0
- package/dist/validators/index.js.map +1 -0
- package/package.json +229 -0
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/country/data/phoneFormats.ts
|
|
4
|
+
var CANADA_AREA_CODES = [
|
|
5
|
+
"204",
|
|
6
|
+
"226",
|
|
7
|
+
"236",
|
|
8
|
+
"249",
|
|
9
|
+
"250",
|
|
10
|
+
"263",
|
|
11
|
+
"289",
|
|
12
|
+
"306",
|
|
13
|
+
"343",
|
|
14
|
+
"354",
|
|
15
|
+
"365",
|
|
16
|
+
"367",
|
|
17
|
+
"368",
|
|
18
|
+
"382",
|
|
19
|
+
"387",
|
|
20
|
+
"403",
|
|
21
|
+
"416",
|
|
22
|
+
"418",
|
|
23
|
+
"428",
|
|
24
|
+
"431",
|
|
25
|
+
"437",
|
|
26
|
+
"438",
|
|
27
|
+
"450",
|
|
28
|
+
"460",
|
|
29
|
+
"468",
|
|
30
|
+
"474",
|
|
31
|
+
"506",
|
|
32
|
+
"514",
|
|
33
|
+
"519",
|
|
34
|
+
"548",
|
|
35
|
+
"579",
|
|
36
|
+
"581",
|
|
37
|
+
"584",
|
|
38
|
+
"587",
|
|
39
|
+
"604",
|
|
40
|
+
"613",
|
|
41
|
+
"639",
|
|
42
|
+
"647",
|
|
43
|
+
"672",
|
|
44
|
+
"683",
|
|
45
|
+
"705",
|
|
46
|
+
"709",
|
|
47
|
+
"742",
|
|
48
|
+
"753",
|
|
49
|
+
"778",
|
|
50
|
+
"780",
|
|
51
|
+
"782",
|
|
52
|
+
"807",
|
|
53
|
+
"819",
|
|
54
|
+
"825",
|
|
55
|
+
"867",
|
|
56
|
+
"873",
|
|
57
|
+
"879",
|
|
58
|
+
"902",
|
|
59
|
+
"905"
|
|
60
|
+
];
|
|
61
|
+
var CARIBBEAN_AREA_CODES = {
|
|
62
|
+
JM: ["876", "658"],
|
|
63
|
+
// Jamaica
|
|
64
|
+
PR: ["787", "939"],
|
|
65
|
+
// Puerto Rico
|
|
66
|
+
DO: ["809", "829", "849"],
|
|
67
|
+
// Dominican Republic
|
|
68
|
+
TT: ["868"],
|
|
69
|
+
// Trinidad and Tobago
|
|
70
|
+
BS: ["242"],
|
|
71
|
+
// Bahamas
|
|
72
|
+
BB: ["246"]};
|
|
73
|
+
var PHONE_FORMATS = {
|
|
74
|
+
// North America - NANP countries (+1)
|
|
75
|
+
US: {
|
|
76
|
+
countryCode: "US",
|
|
77
|
+
dialCode: "+1",
|
|
78
|
+
lengths: [10],
|
|
79
|
+
mobilePrefixes: [],
|
|
80
|
+
landlinePrefixes: [],
|
|
81
|
+
pattern: "(XXX) XXX-XXXX",
|
|
82
|
+
example: "(555) 123-4567"
|
|
83
|
+
// Note: US is default for +1 when area code doesn't match Canada or Caribbean
|
|
84
|
+
},
|
|
85
|
+
CA: {
|
|
86
|
+
countryCode: "CA",
|
|
87
|
+
dialCode: "+1",
|
|
88
|
+
lengths: [10],
|
|
89
|
+
mobilePrefixes: [],
|
|
90
|
+
landlinePrefixes: [],
|
|
91
|
+
pattern: "(XXX) XXX-XXXX",
|
|
92
|
+
example: "(416) 123-4567",
|
|
93
|
+
areaCodes: CANADA_AREA_CODES
|
|
94
|
+
// Used for country detection
|
|
95
|
+
},
|
|
96
|
+
JM: {
|
|
97
|
+
countryCode: "JM",
|
|
98
|
+
dialCode: "+1",
|
|
99
|
+
lengths: [10],
|
|
100
|
+
mobilePrefixes: [],
|
|
101
|
+
landlinePrefixes: [],
|
|
102
|
+
pattern: "(XXX) XXX-XXXX",
|
|
103
|
+
example: "(876) 123-4567",
|
|
104
|
+
areaCodes: CARIBBEAN_AREA_CODES.JM
|
|
105
|
+
},
|
|
106
|
+
PR: {
|
|
107
|
+
countryCode: "PR",
|
|
108
|
+
dialCode: "+1",
|
|
109
|
+
lengths: [10],
|
|
110
|
+
mobilePrefixes: [],
|
|
111
|
+
landlinePrefixes: [],
|
|
112
|
+
pattern: "(XXX) XXX-XXXX",
|
|
113
|
+
example: "(787) 123-4567",
|
|
114
|
+
areaCodes: CARIBBEAN_AREA_CODES.PR
|
|
115
|
+
},
|
|
116
|
+
DO: {
|
|
117
|
+
countryCode: "DO",
|
|
118
|
+
dialCode: "+1",
|
|
119
|
+
lengths: [10],
|
|
120
|
+
mobilePrefixes: [],
|
|
121
|
+
landlinePrefixes: [],
|
|
122
|
+
pattern: "(XXX) XXX-XXXX",
|
|
123
|
+
example: "(809) 123-4567",
|
|
124
|
+
areaCodes: CARIBBEAN_AREA_CODES.DO
|
|
125
|
+
},
|
|
126
|
+
TT: {
|
|
127
|
+
countryCode: "TT",
|
|
128
|
+
dialCode: "+1",
|
|
129
|
+
lengths: [10],
|
|
130
|
+
mobilePrefixes: [],
|
|
131
|
+
landlinePrefixes: [],
|
|
132
|
+
pattern: "(XXX) XXX-XXXX",
|
|
133
|
+
example: "(868) 123-4567",
|
|
134
|
+
areaCodes: CARIBBEAN_AREA_CODES.TT
|
|
135
|
+
},
|
|
136
|
+
BS: {
|
|
137
|
+
countryCode: "BS",
|
|
138
|
+
dialCode: "+1",
|
|
139
|
+
lengths: [10],
|
|
140
|
+
mobilePrefixes: [],
|
|
141
|
+
landlinePrefixes: [],
|
|
142
|
+
pattern: "(XXX) XXX-XXXX",
|
|
143
|
+
example: "(242) 123-4567",
|
|
144
|
+
areaCodes: CARIBBEAN_AREA_CODES.BS
|
|
145
|
+
},
|
|
146
|
+
BB: {
|
|
147
|
+
countryCode: "BB",
|
|
148
|
+
dialCode: "+1",
|
|
149
|
+
lengths: [10],
|
|
150
|
+
mobilePrefixes: [],
|
|
151
|
+
landlinePrefixes: [],
|
|
152
|
+
pattern: "(XXX) XXX-XXXX",
|
|
153
|
+
example: "(246) 123-4567",
|
|
154
|
+
areaCodes: CARIBBEAN_AREA_CODES.BB
|
|
155
|
+
},
|
|
156
|
+
// Europe
|
|
157
|
+
GB: {
|
|
158
|
+
countryCode: "GB",
|
|
159
|
+
dialCode: "+44",
|
|
160
|
+
lengths: [10, 11],
|
|
161
|
+
mobilePrefixes: ["7"],
|
|
162
|
+
landlinePrefixes: ["1", "2"],
|
|
163
|
+
pattern: "XXXX XXX XXXX",
|
|
164
|
+
example: "7911 123 456"
|
|
165
|
+
},
|
|
166
|
+
DE: {
|
|
167
|
+
countryCode: "DE",
|
|
168
|
+
dialCode: "+49",
|
|
169
|
+
lengths: [10, 11, 12],
|
|
170
|
+
mobilePrefixes: ["15", "16", "17"],
|
|
171
|
+
landlinePrefixes: [],
|
|
172
|
+
pattern: "XXXX XXXXXXX",
|
|
173
|
+
example: "1512 3456789"
|
|
174
|
+
},
|
|
175
|
+
FR: {
|
|
176
|
+
countryCode: "FR",
|
|
177
|
+
dialCode: "+33",
|
|
178
|
+
lengths: [9],
|
|
179
|
+
mobilePrefixes: ["6", "7"],
|
|
180
|
+
landlinePrefixes: ["1", "2", "3", "4", "5"],
|
|
181
|
+
pattern: "X XX XX XX XX",
|
|
182
|
+
example: "6 12 34 56 78"
|
|
183
|
+
},
|
|
184
|
+
IT: {
|
|
185
|
+
countryCode: "IT",
|
|
186
|
+
dialCode: "+39",
|
|
187
|
+
lengths: [9, 10, 11],
|
|
188
|
+
mobilePrefixes: ["3"],
|
|
189
|
+
landlinePrefixes: ["0"],
|
|
190
|
+
pattern: "XXX XXX XXXX",
|
|
191
|
+
example: "312 345 6789"
|
|
192
|
+
},
|
|
193
|
+
ES: {
|
|
194
|
+
countryCode: "ES",
|
|
195
|
+
dialCode: "+34",
|
|
196
|
+
lengths: [9],
|
|
197
|
+
mobilePrefixes: ["6", "7"],
|
|
198
|
+
landlinePrefixes: ["8", "9"],
|
|
199
|
+
pattern: "XXX XX XX XX",
|
|
200
|
+
example: "612 34 56 78"
|
|
201
|
+
},
|
|
202
|
+
NL: {
|
|
203
|
+
countryCode: "NL",
|
|
204
|
+
dialCode: "+31",
|
|
205
|
+
lengths: [9],
|
|
206
|
+
mobilePrefixes: ["6"],
|
|
207
|
+
landlinePrefixes: [],
|
|
208
|
+
pattern: "X XXXX XXXX",
|
|
209
|
+
example: "6 1234 5678"
|
|
210
|
+
},
|
|
211
|
+
PL: {
|
|
212
|
+
countryCode: "PL",
|
|
213
|
+
dialCode: "+48",
|
|
214
|
+
lengths: [9],
|
|
215
|
+
mobilePrefixes: ["5", "6", "7", "8"],
|
|
216
|
+
landlinePrefixes: [],
|
|
217
|
+
pattern: "XXX XXX XXX",
|
|
218
|
+
example: "512 345 678"
|
|
219
|
+
},
|
|
220
|
+
// Asia
|
|
221
|
+
CN: {
|
|
222
|
+
countryCode: "CN",
|
|
223
|
+
dialCode: "+86",
|
|
224
|
+
lengths: [11],
|
|
225
|
+
mobilePrefixes: ["13", "14", "15", "16", "17", "18", "19"],
|
|
226
|
+
landlinePrefixes: [],
|
|
227
|
+
pattern: "XXX XXXX XXXX",
|
|
228
|
+
example: "131 2345 6789"
|
|
229
|
+
},
|
|
230
|
+
JP: {
|
|
231
|
+
countryCode: "JP",
|
|
232
|
+
dialCode: "+81",
|
|
233
|
+
lengths: [10, 11],
|
|
234
|
+
mobilePrefixes: ["70", "80", "90"],
|
|
235
|
+
landlinePrefixes: [],
|
|
236
|
+
pattern: "XX XXXX XXXX",
|
|
237
|
+
example: "90 1234 5678"
|
|
238
|
+
},
|
|
239
|
+
KR: {
|
|
240
|
+
countryCode: "KR",
|
|
241
|
+
dialCode: "+82",
|
|
242
|
+
lengths: [9, 10],
|
|
243
|
+
mobilePrefixes: ["10", "11"],
|
|
244
|
+
landlinePrefixes: ["2"],
|
|
245
|
+
pattern: "XX XXXX XXXX",
|
|
246
|
+
example: "10 1234 5678"
|
|
247
|
+
},
|
|
248
|
+
IN: {
|
|
249
|
+
countryCode: "IN",
|
|
250
|
+
dialCode: "+91",
|
|
251
|
+
lengths: [10],
|
|
252
|
+
mobilePrefixes: ["6", "7", "8", "9"],
|
|
253
|
+
landlinePrefixes: [],
|
|
254
|
+
pattern: "XXXXX XXXXX",
|
|
255
|
+
example: "98765 43210"
|
|
256
|
+
},
|
|
257
|
+
PK: {
|
|
258
|
+
countryCode: "PK",
|
|
259
|
+
dialCode: "+92",
|
|
260
|
+
lengths: [10],
|
|
261
|
+
mobilePrefixes: ["30", "31", "32", "33", "34", "35", "36", "37"],
|
|
262
|
+
landlinePrefixes: ["21", "42", "51", "61", "91"],
|
|
263
|
+
pattern: "XXX XXXXXXX",
|
|
264
|
+
example: "300 1234567"
|
|
265
|
+
},
|
|
266
|
+
BD: {
|
|
267
|
+
countryCode: "BD",
|
|
268
|
+
dialCode: "+880",
|
|
269
|
+
lengths: [10],
|
|
270
|
+
mobilePrefixes: ["13", "14", "15", "16", "17", "18", "19"],
|
|
271
|
+
landlinePrefixes: ["2"],
|
|
272
|
+
pattern: "XXXX XXXXXX",
|
|
273
|
+
example: "1712 345678"
|
|
274
|
+
},
|
|
275
|
+
ID: {
|
|
276
|
+
countryCode: "ID",
|
|
277
|
+
dialCode: "+62",
|
|
278
|
+
lengths: [9, 10, 11, 12],
|
|
279
|
+
mobilePrefixes: ["8"],
|
|
280
|
+
landlinePrefixes: ["21"],
|
|
281
|
+
pattern: "XXX XXXX XXXX",
|
|
282
|
+
example: "812 3456 7890"
|
|
283
|
+
},
|
|
284
|
+
TH: {
|
|
285
|
+
countryCode: "TH",
|
|
286
|
+
dialCode: "+66",
|
|
287
|
+
lengths: [9],
|
|
288
|
+
mobilePrefixes: ["6", "8", "9"],
|
|
289
|
+
landlinePrefixes: ["2"],
|
|
290
|
+
pattern: "XX XXX XXXX",
|
|
291
|
+
example: "81 234 5678"
|
|
292
|
+
},
|
|
293
|
+
VN: {
|
|
294
|
+
countryCode: "VN",
|
|
295
|
+
dialCode: "+84",
|
|
296
|
+
lengths: [9, 10],
|
|
297
|
+
mobilePrefixes: ["3", "5", "7", "8", "9"],
|
|
298
|
+
landlinePrefixes: [],
|
|
299
|
+
pattern: "XXX XXX XXXX",
|
|
300
|
+
example: "912 345 678"
|
|
301
|
+
},
|
|
302
|
+
PH: {
|
|
303
|
+
countryCode: "PH",
|
|
304
|
+
dialCode: "+63",
|
|
305
|
+
lengths: [10],
|
|
306
|
+
mobilePrefixes: ["9"],
|
|
307
|
+
landlinePrefixes: ["2"],
|
|
308
|
+
pattern: "XXX XXX XXXX",
|
|
309
|
+
example: "917 123 4567"
|
|
310
|
+
},
|
|
311
|
+
MY: {
|
|
312
|
+
countryCode: "MY",
|
|
313
|
+
dialCode: "+60",
|
|
314
|
+
lengths: [9, 10],
|
|
315
|
+
mobilePrefixes: ["1"],
|
|
316
|
+
landlinePrefixes: ["3"],
|
|
317
|
+
pattern: "XX XXXX XXXX",
|
|
318
|
+
example: "12 3456 7890"
|
|
319
|
+
},
|
|
320
|
+
SG: {
|
|
321
|
+
countryCode: "SG",
|
|
322
|
+
dialCode: "+65",
|
|
323
|
+
lengths: [8],
|
|
324
|
+
mobilePrefixes: ["8", "9"],
|
|
325
|
+
landlinePrefixes: ["6"],
|
|
326
|
+
pattern: "XXXX XXXX",
|
|
327
|
+
example: "9123 4567"
|
|
328
|
+
},
|
|
329
|
+
// Middle East
|
|
330
|
+
AE: {
|
|
331
|
+
countryCode: "AE",
|
|
332
|
+
dialCode: "+971",
|
|
333
|
+
lengths: [9],
|
|
334
|
+
mobilePrefixes: ["50", "52", "54", "55", "56", "58"],
|
|
335
|
+
landlinePrefixes: ["2", "3", "4", "6", "7", "9"],
|
|
336
|
+
pattern: "XX XXX XXXX",
|
|
337
|
+
example: "50 123 4567"
|
|
338
|
+
},
|
|
339
|
+
SA: {
|
|
340
|
+
countryCode: "SA",
|
|
341
|
+
dialCode: "+966",
|
|
342
|
+
lengths: [9],
|
|
343
|
+
mobilePrefixes: ["50", "53", "54", "55", "56", "57", "58", "59"],
|
|
344
|
+
landlinePrefixes: ["1"],
|
|
345
|
+
pattern: "XX XXX XXXX",
|
|
346
|
+
example: "50 123 4567"
|
|
347
|
+
},
|
|
348
|
+
EG: {
|
|
349
|
+
countryCode: "EG",
|
|
350
|
+
dialCode: "+20",
|
|
351
|
+
lengths: [10],
|
|
352
|
+
mobilePrefixes: ["10", "11", "12", "15"],
|
|
353
|
+
landlinePrefixes: ["2", "3"],
|
|
354
|
+
pattern: "XXX XXX XXXX",
|
|
355
|
+
example: "100 123 4567"
|
|
356
|
+
},
|
|
357
|
+
TR: {
|
|
358
|
+
countryCode: "TR",
|
|
359
|
+
dialCode: "+90",
|
|
360
|
+
lengths: [10],
|
|
361
|
+
mobilePrefixes: ["5"],
|
|
362
|
+
landlinePrefixes: [],
|
|
363
|
+
pattern: "XXX XXX XX XX",
|
|
364
|
+
example: "532 123 45 67"
|
|
365
|
+
},
|
|
366
|
+
IR: {
|
|
367
|
+
countryCode: "IR",
|
|
368
|
+
dialCode: "+98",
|
|
369
|
+
lengths: [10],
|
|
370
|
+
mobilePrefixes: ["9"],
|
|
371
|
+
landlinePrefixes: [],
|
|
372
|
+
pattern: "XXX XXX XXXX",
|
|
373
|
+
example: "912 345 6789"
|
|
374
|
+
},
|
|
375
|
+
// Africa
|
|
376
|
+
NG: {
|
|
377
|
+
countryCode: "NG",
|
|
378
|
+
dialCode: "+234",
|
|
379
|
+
lengths: [10],
|
|
380
|
+
mobilePrefixes: ["70", "80", "81", "90", "91"],
|
|
381
|
+
landlinePrefixes: [],
|
|
382
|
+
pattern: "XXX XXX XXXX",
|
|
383
|
+
example: "803 123 4567"
|
|
384
|
+
},
|
|
385
|
+
ZA: {
|
|
386
|
+
countryCode: "ZA",
|
|
387
|
+
dialCode: "+27",
|
|
388
|
+
lengths: [9],
|
|
389
|
+
mobilePrefixes: ["6", "7", "8"],
|
|
390
|
+
landlinePrefixes: ["1", "2"],
|
|
391
|
+
pattern: "XX XXX XXXX",
|
|
392
|
+
example: "71 123 4567"
|
|
393
|
+
},
|
|
394
|
+
KE: {
|
|
395
|
+
countryCode: "KE",
|
|
396
|
+
dialCode: "+254",
|
|
397
|
+
lengths: [9],
|
|
398
|
+
mobilePrefixes: ["7", "1"],
|
|
399
|
+
landlinePrefixes: ["20"],
|
|
400
|
+
pattern: "XXX XXX XXX",
|
|
401
|
+
example: "712 345 678"
|
|
402
|
+
},
|
|
403
|
+
// South America
|
|
404
|
+
BR: {
|
|
405
|
+
countryCode: "BR",
|
|
406
|
+
dialCode: "+55",
|
|
407
|
+
lengths: [10, 11],
|
|
408
|
+
mobilePrefixes: ["9"],
|
|
409
|
+
landlinePrefixes: [],
|
|
410
|
+
pattern: "XX XXXXX XXXX",
|
|
411
|
+
example: "11 91234 5678"
|
|
412
|
+
},
|
|
413
|
+
AR: {
|
|
414
|
+
countryCode: "AR",
|
|
415
|
+
dialCode: "+54",
|
|
416
|
+
lengths: [10],
|
|
417
|
+
mobilePrefixes: ["9"],
|
|
418
|
+
landlinePrefixes: [],
|
|
419
|
+
pattern: "XX XXXX XXXX",
|
|
420
|
+
example: "11 1234 5678"
|
|
421
|
+
},
|
|
422
|
+
MX: {
|
|
423
|
+
countryCode: "MX",
|
|
424
|
+
dialCode: "+52",
|
|
425
|
+
lengths: [10],
|
|
426
|
+
mobilePrefixes: [],
|
|
427
|
+
landlinePrefixes: [],
|
|
428
|
+
pattern: "XXX XXX XXXX",
|
|
429
|
+
example: "555 123 4567"
|
|
430
|
+
},
|
|
431
|
+
CO: {
|
|
432
|
+
countryCode: "CO",
|
|
433
|
+
dialCode: "+57",
|
|
434
|
+
lengths: [10],
|
|
435
|
+
mobilePrefixes: ["3"],
|
|
436
|
+
landlinePrefixes: [],
|
|
437
|
+
pattern: "XXX XXX XXXX",
|
|
438
|
+
example: "310 123 4567"
|
|
439
|
+
},
|
|
440
|
+
// Oceania
|
|
441
|
+
AU: {
|
|
442
|
+
countryCode: "AU",
|
|
443
|
+
dialCode: "+61",
|
|
444
|
+
lengths: [9],
|
|
445
|
+
mobilePrefixes: ["4"],
|
|
446
|
+
landlinePrefixes: ["2", "3", "7", "8"],
|
|
447
|
+
pattern: "XXX XXX XXX",
|
|
448
|
+
example: "412 345 678"
|
|
449
|
+
},
|
|
450
|
+
NZ: {
|
|
451
|
+
countryCode: "NZ",
|
|
452
|
+
dialCode: "+64",
|
|
453
|
+
lengths: [8, 9],
|
|
454
|
+
mobilePrefixes: ["2"],
|
|
455
|
+
landlinePrefixes: ["3", "4", "6", "7", "9"],
|
|
456
|
+
pattern: "XX XXX XXXX",
|
|
457
|
+
example: "21 234 5678"
|
|
458
|
+
},
|
|
459
|
+
// Russia & CIS
|
|
460
|
+
RU: {
|
|
461
|
+
countryCode: "RU",
|
|
462
|
+
dialCode: "+7",
|
|
463
|
+
lengths: [10],
|
|
464
|
+
mobilePrefixes: ["9"],
|
|
465
|
+
landlinePrefixes: [],
|
|
466
|
+
pattern: "XXX XXX XX XX",
|
|
467
|
+
example: "912 345 67 89"
|
|
468
|
+
},
|
|
469
|
+
UA: {
|
|
470
|
+
countryCode: "UA",
|
|
471
|
+
dialCode: "+380",
|
|
472
|
+
lengths: [9],
|
|
473
|
+
mobilePrefixes: ["50", "63", "66", "67", "68", "73", "91", "92", "93", "94", "95", "96", "97", "98", "99"],
|
|
474
|
+
landlinePrefixes: ["44"],
|
|
475
|
+
pattern: "XX XXX XX XX",
|
|
476
|
+
example: "50 123 45 67"
|
|
477
|
+
}
|
|
478
|
+
};
|
|
479
|
+
function getPhoneFormat(countryCode) {
|
|
480
|
+
return PHONE_FORMATS[countryCode.toUpperCase()] || null;
|
|
481
|
+
}
|
|
482
|
+
function getSupportedPhoneCountries() {
|
|
483
|
+
return Object.keys(PHONE_FORMATS);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
exports.PHONE_FORMATS = PHONE_FORMATS;
|
|
487
|
+
exports.getPhoneFormat = getPhoneFormat;
|
|
488
|
+
exports.getSupportedPhoneCountries = getSupportedPhoneCountries;
|
|
489
|
+
//# sourceMappingURL=chunk-OZLKYIZL.cjs.map
|
|
490
|
+
//# sourceMappingURL=chunk-OZLKYIZL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/country/data/phoneFormats.ts"],"names":[],"mappings":"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","file":"chunk-OZLKYIZL.cjs","sourcesContent":["import type { PhoneFormat } from '../../types';\r\n\r\n/**\r\n * NANP (North American Numbering Plan) area codes\r\n * Used to distinguish between USA, Canada, and Caribbean countries that share +1\r\n */\r\nconst CANADA_AREA_CODES = [\r\n '204', '226', '236', '249', '250', '263', '289', '306', '343', '354', '365', '367', '368',\r\n '382', '387', '403', '416', '418', '428', '431', '437', '438', '450', '460', '468', '474',\r\n '506', '514', '519', '548', '579', '581', '584', '587', '604', '613', '639', '647', '672',\r\n '683', '705', '709', '742', '753', '778', '780', '782', '807', '819', '825', '867', '873',\r\n '879', '902', '905',\r\n];\r\n\r\nconst CARIBBEAN_AREA_CODES: Record<string, string[]> = {\r\n JM: ['876', '658'], // Jamaica\r\n PR: ['787', '939'], // Puerto Rico\r\n DO: ['809', '829', '849'], // Dominican Republic\r\n TT: ['868'], // Trinidad and Tobago\r\n BS: ['242'], // Bahamas\r\n BB: ['246'], // Barbados\r\n VI: ['340'], // US Virgin Islands\r\n KY: ['345'], // Cayman Islands\r\n BM: ['441'], // Bermuda\r\n AG: ['268'], // Antigua and Barbuda\r\n LC: ['758'], // Saint Lucia\r\n GD: ['473'], // Grenada\r\n VC: ['784'], // St. Vincent and the Grenadines\r\n KN: ['869'], // St. Kitts and Nevis\r\n DM: ['767'], // Dominica\r\n AI: ['264'], // Anguilla\r\n MS: ['664'], // Montserrat\r\n TC: ['649'], // Turks and Caicos\r\n VG: ['284'], // British Virgin Islands\r\n};\r\n\r\n/**\r\n * Phone format data by country\r\n * Includes dial codes, number lengths, and prefixes\r\n */\r\nexport const PHONE_FORMATS: Record<string, PhoneFormat> = {\r\n // North America - NANP countries (+1)\r\n US: {\r\n countryCode: 'US',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(555) 123-4567',\r\n // Note: US is default for +1 when area code doesn't match Canada or Caribbean\r\n },\r\n CA: {\r\n countryCode: 'CA',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(416) 123-4567',\r\n areaCodes: CANADA_AREA_CODES, // Used for country detection\r\n },\r\n JM: {\r\n countryCode: 'JM',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(876) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.JM,\r\n },\r\n PR: {\r\n countryCode: 'PR',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(787) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.PR,\r\n },\r\n DO: {\r\n countryCode: 'DO',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(809) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.DO,\r\n },\r\n TT: {\r\n countryCode: 'TT',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(868) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.TT,\r\n },\r\n BS: {\r\n countryCode: 'BS',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(242) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.BS,\r\n },\r\n BB: {\r\n countryCode: 'BB',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(246) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.BB,\r\n },\r\n\r\n // Europe\r\n GB: {\r\n countryCode: 'GB',\r\n dialCode: '+44',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['7'],\r\n landlinePrefixes: ['1', '2'],\r\n pattern: 'XXXX XXX XXXX',\r\n example: '7911 123 456',\r\n },\r\n DE: {\r\n countryCode: 'DE',\r\n dialCode: '+49',\r\n lengths: [10, 11, 12],\r\n mobilePrefixes: ['15', '16', '17'],\r\n landlinePrefixes: [],\r\n pattern: 'XXXX XXXXXXX',\r\n example: '1512 3456789',\r\n },\r\n FR: {\r\n countryCode: 'FR',\r\n dialCode: '+33',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7'],\r\n landlinePrefixes: ['1', '2', '3', '4', '5'],\r\n pattern: 'X XX XX XX XX',\r\n example: '6 12 34 56 78',\r\n },\r\n IT: {\r\n countryCode: 'IT',\r\n dialCode: '+39',\r\n lengths: [9, 10, 11],\r\n mobilePrefixes: ['3'],\r\n landlinePrefixes: ['0'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '312 345 6789',\r\n },\r\n ES: {\r\n countryCode: 'ES',\r\n dialCode: '+34',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7'],\r\n landlinePrefixes: ['8', '9'],\r\n pattern: 'XXX XX XX XX',\r\n example: '612 34 56 78',\r\n },\r\n NL: {\r\n countryCode: 'NL',\r\n dialCode: '+31',\r\n lengths: [9],\r\n mobilePrefixes: ['6'],\r\n landlinePrefixes: [],\r\n pattern: 'X XXXX XXXX',\r\n example: '6 1234 5678',\r\n },\r\n PL: {\r\n countryCode: 'PL',\r\n dialCode: '+48',\r\n lengths: [9],\r\n mobilePrefixes: ['5', '6', '7', '8'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXX',\r\n example: '512 345 678',\r\n },\r\n\r\n // Asia\r\n CN: {\r\n countryCode: 'CN',\r\n dialCode: '+86',\r\n lengths: [11],\r\n mobilePrefixes: ['13', '14', '15', '16', '17', '18', '19'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXXX XXXX',\r\n example: '131 2345 6789',\r\n },\r\n JP: {\r\n countryCode: 'JP',\r\n dialCode: '+81',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['70', '80', '90'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXX XXXX',\r\n example: '90 1234 5678',\r\n },\r\n KR: {\r\n countryCode: 'KR',\r\n dialCode: '+82',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['10', '11'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XX XXXX XXXX',\r\n example: '10 1234 5678',\r\n },\r\n IN: {\r\n countryCode: 'IN',\r\n dialCode: '+91',\r\n lengths: [10],\r\n mobilePrefixes: ['6', '7', '8', '9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXXXX XXXXX',\r\n example: '98765 43210',\r\n },\r\n PK: {\r\n countryCode: 'PK',\r\n dialCode: '+92',\r\n lengths: [10],\r\n mobilePrefixes: ['30', '31', '32', '33', '34', '35', '36', '37'],\r\n landlinePrefixes: ['21', '42', '51', '61', '91'],\r\n pattern: 'XXX XXXXXXX',\r\n example: '300 1234567',\r\n },\r\n BD: {\r\n countryCode: 'BD',\r\n dialCode: '+880',\r\n lengths: [10],\r\n mobilePrefixes: ['13', '14', '15', '16', '17', '18', '19'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XXXX XXXXXX',\r\n example: '1712 345678',\r\n },\r\n ID: {\r\n countryCode: 'ID',\r\n dialCode: '+62',\r\n lengths: [9, 10, 11, 12],\r\n mobilePrefixes: ['8'],\r\n landlinePrefixes: ['21'],\r\n pattern: 'XXX XXXX XXXX',\r\n example: '812 3456 7890',\r\n },\r\n TH: {\r\n countryCode: 'TH',\r\n dialCode: '+66',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '8', '9'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XX XXX XXXX',\r\n example: '81 234 5678',\r\n },\r\n VN: {\r\n countryCode: 'VN',\r\n dialCode: '+84',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['3', '5', '7', '8', '9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '912 345 678',\r\n },\r\n PH: {\r\n countryCode: 'PH',\r\n dialCode: '+63',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '917 123 4567',\r\n },\r\n MY: {\r\n countryCode: 'MY',\r\n dialCode: '+60',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['1'],\r\n landlinePrefixes: ['3'],\r\n pattern: 'XX XXXX XXXX',\r\n example: '12 3456 7890',\r\n },\r\n SG: {\r\n countryCode: 'SG',\r\n dialCode: '+65',\r\n lengths: [8],\r\n mobilePrefixes: ['8', '9'],\r\n landlinePrefixes: ['6'],\r\n pattern: 'XXXX XXXX',\r\n example: '9123 4567',\r\n },\r\n\r\n // Middle East\r\n AE: {\r\n countryCode: 'AE',\r\n dialCode: '+971',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '52', '54', '55', '56', '58'],\r\n landlinePrefixes: ['2', '3', '4', '6', '7', '9'],\r\n pattern: 'XX XXX XXXX',\r\n example: '50 123 4567',\r\n },\r\n SA: {\r\n countryCode: 'SA',\r\n dialCode: '+966',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '53', '54', '55', '56', '57', '58', '59'],\r\n landlinePrefixes: ['1'],\r\n pattern: 'XX XXX XXXX',\r\n example: '50 123 4567',\r\n },\r\n EG: {\r\n countryCode: 'EG',\r\n dialCode: '+20',\r\n lengths: [10],\r\n mobilePrefixes: ['10', '11', '12', '15'],\r\n landlinePrefixes: ['2', '3'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '100 123 4567',\r\n },\r\n TR: {\r\n countryCode: 'TR',\r\n dialCode: '+90',\r\n lengths: [10],\r\n mobilePrefixes: ['5'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XX XX',\r\n example: '532 123 45 67',\r\n },\r\n IR: {\r\n countryCode: 'IR',\r\n dialCode: '+98',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '912 345 6789',\r\n },\r\n\r\n // Africa\r\n NG: {\r\n countryCode: 'NG',\r\n dialCode: '+234',\r\n lengths: [10],\r\n mobilePrefixes: ['70', '80', '81', '90', '91'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '803 123 4567',\r\n },\r\n ZA: {\r\n countryCode: 'ZA',\r\n dialCode: '+27',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7', '8'],\r\n landlinePrefixes: ['1', '2'],\r\n pattern: 'XX XXX XXXX',\r\n example: '71 123 4567',\r\n },\r\n KE: {\r\n countryCode: 'KE',\r\n dialCode: '+254',\r\n lengths: [9],\r\n mobilePrefixes: ['7', '1'],\r\n landlinePrefixes: ['20'],\r\n pattern: 'XXX XXX XXX',\r\n example: '712 345 678',\r\n },\r\n\r\n // South America\r\n BR: {\r\n countryCode: 'BR',\r\n dialCode: '+55',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXXX XXXX',\r\n example: '11 91234 5678',\r\n },\r\n AR: {\r\n countryCode: 'AR',\r\n dialCode: '+54',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXX XXXX',\r\n example: '11 1234 5678',\r\n },\r\n MX: {\r\n countryCode: 'MX',\r\n dialCode: '+52',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '555 123 4567',\r\n },\r\n CO: {\r\n countryCode: 'CO',\r\n dialCode: '+57',\r\n lengths: [10],\r\n mobilePrefixes: ['3'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '310 123 4567',\r\n },\r\n\r\n // Oceania\r\n AU: {\r\n countryCode: 'AU',\r\n dialCode: '+61',\r\n lengths: [9],\r\n mobilePrefixes: ['4'],\r\n landlinePrefixes: ['2', '3', '7', '8'],\r\n pattern: 'XXX XXX XXX',\r\n example: '412 345 678',\r\n },\r\n NZ: {\r\n countryCode: 'NZ',\r\n dialCode: '+64',\r\n lengths: [8, 9],\r\n mobilePrefixes: ['2'],\r\n landlinePrefixes: ['3', '4', '6', '7', '9'],\r\n pattern: 'XX XXX XXXX',\r\n example: '21 234 5678',\r\n },\r\n\r\n // Russia & CIS\r\n RU: {\r\n countryCode: 'RU',\r\n dialCode: '+7',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XX XX',\r\n example: '912 345 67 89',\r\n },\r\n UA: {\r\n countryCode: 'UA',\r\n dialCode: '+380',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '63', '66', '67', '68', '73', '91', '92', '93', '94', '95', '96', '97', '98', '99'],\r\n landlinePrefixes: ['44'],\r\n pattern: 'XX XXX XX XX',\r\n example: '50 123 45 67',\r\n },\r\n};\r\n\r\n/**\r\n * Get phone format for a country\r\n */\r\nexport function getPhoneFormat(countryCode: string): PhoneFormat | null {\r\n return PHONE_FORMATS[countryCode.toUpperCase()] || null;\r\n}\r\n\r\n/**\r\n * Get all supported country codes\r\n */\r\nexport function getSupportedPhoneCountries(): string[] {\r\n return Object.keys(PHONE_FORMATS);\r\n}\r\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// src/async.ts
|
|
2
|
+
var DEFAULT_OPTIONS = {
|
|
3
|
+
timeout: 5e3,
|
|
4
|
+
abortEarly: false
|
|
5
|
+
};
|
|
6
|
+
async function validateAsync(value, validator, options = {}) {
|
|
7
|
+
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
8
|
+
const startTime = Date.now();
|
|
9
|
+
try {
|
|
10
|
+
const result = await Promise.race([
|
|
11
|
+
validator(value),
|
|
12
|
+
new Promise(
|
|
13
|
+
(_, reject) => setTimeout(() => reject(new Error("Validation timeout")), opts.timeout)
|
|
14
|
+
)
|
|
15
|
+
]);
|
|
16
|
+
return {
|
|
17
|
+
...result,
|
|
18
|
+
duration: Date.now() - startTime
|
|
19
|
+
};
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return {
|
|
22
|
+
isValid: false,
|
|
23
|
+
errors: [
|
|
24
|
+
{
|
|
25
|
+
field: "async",
|
|
26
|
+
code: "VALIDATION_ERROR",
|
|
27
|
+
message: error instanceof Error ? error.message : "Validation failed"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
duration: Date.now() - startTime
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function validateAllAsync(validators, options = {}) {
|
|
35
|
+
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
36
|
+
const startTime = Date.now();
|
|
37
|
+
const allErrors = [];
|
|
38
|
+
try {
|
|
39
|
+
const results = await Promise.all(
|
|
40
|
+
validators.map(async ({ value, validator, field }) => {
|
|
41
|
+
try {
|
|
42
|
+
const result = await Promise.race([
|
|
43
|
+
validator(value),
|
|
44
|
+
new Promise(
|
|
45
|
+
(_, reject) => setTimeout(() => reject(new Error("Validation timeout")), opts.timeout)
|
|
46
|
+
)
|
|
47
|
+
]);
|
|
48
|
+
return result.errors.map((err) => ({
|
|
49
|
+
...err,
|
|
50
|
+
field: err.field === "async" ? field : `${field}.${err.field}`
|
|
51
|
+
}));
|
|
52
|
+
} catch (error) {
|
|
53
|
+
return [
|
|
54
|
+
{
|
|
55
|
+
field,
|
|
56
|
+
code: "VALIDATION_ERROR",
|
|
57
|
+
message: error instanceof Error ? error.message : "Validation failed"
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
);
|
|
63
|
+
results.forEach((errors) => allErrors.push(...errors));
|
|
64
|
+
return {
|
|
65
|
+
isValid: allErrors.length === 0,
|
|
66
|
+
errors: allErrors,
|
|
67
|
+
duration: Date.now() - startTime
|
|
68
|
+
};
|
|
69
|
+
} catch (error) {
|
|
70
|
+
return {
|
|
71
|
+
isValid: false,
|
|
72
|
+
errors: [
|
|
73
|
+
{
|
|
74
|
+
field: "async",
|
|
75
|
+
code: "VALIDATION_ERROR",
|
|
76
|
+
message: error instanceof Error ? error.message : "Validation failed"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
duration: Date.now() - startTime
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function createDebouncedValidator(validator, delay = 300) {
|
|
84
|
+
let timeoutId = null;
|
|
85
|
+
let pendingResolve = null;
|
|
86
|
+
return (value) => {
|
|
87
|
+
return new Promise((resolve) => {
|
|
88
|
+
if (timeoutId) {
|
|
89
|
+
clearTimeout(timeoutId);
|
|
90
|
+
if (pendingResolve) {
|
|
91
|
+
pendingResolve({
|
|
92
|
+
isValid: true,
|
|
93
|
+
errors: [],
|
|
94
|
+
duration: 0
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
pendingResolve = resolve;
|
|
99
|
+
timeoutId = setTimeout(async () => {
|
|
100
|
+
const startTime = Date.now();
|
|
101
|
+
try {
|
|
102
|
+
const result = await validator(value);
|
|
103
|
+
resolve({
|
|
104
|
+
...result,
|
|
105
|
+
duration: Date.now() - startTime
|
|
106
|
+
});
|
|
107
|
+
} catch (error) {
|
|
108
|
+
resolve({
|
|
109
|
+
isValid: false,
|
|
110
|
+
errors: [
|
|
111
|
+
{
|
|
112
|
+
field: "async",
|
|
113
|
+
code: "VALIDATION_ERROR",
|
|
114
|
+
message: error instanceof Error ? error.message : "Validation failed"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
duration: Date.now() - startTime
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
pendingResolve = null;
|
|
121
|
+
timeoutId = null;
|
|
122
|
+
}, delay);
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function composeValidators(...validators) {
|
|
127
|
+
return async (value) => {
|
|
128
|
+
const startTime = Date.now();
|
|
129
|
+
const allErrors = [];
|
|
130
|
+
for (const validator of validators) {
|
|
131
|
+
const result = await validator(value);
|
|
132
|
+
allErrors.push(...result.errors);
|
|
133
|
+
if (!result.isValid && allErrors.length > 0) ;
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
isValid: allErrors.length === 0,
|
|
137
|
+
errors: allErrors,
|
|
138
|
+
duration: Date.now() - startTime
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export { composeValidators, createDebouncedValidator, validateAllAsync, validateAsync };
|
|
144
|
+
//# sourceMappingURL=chunk-P3NUK46X.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-P3NUK46X.js.map
|