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.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +338 -0
  3. package/dist/async.cjs +25 -0
  4. package/dist/async.cjs.map +1 -0
  5. package/dist/async.d.cts +104 -0
  6. package/dist/async.d.ts +104 -0
  7. package/dist/async.js +4 -0
  8. package/dist/async.js.map +1 -0
  9. package/dist/chunk-2ICNRTSN.cjs +346 -0
  10. package/dist/chunk-2ICNRTSN.cjs.map +1 -0
  11. package/dist/chunk-3DPF72DY.js +170 -0
  12. package/dist/chunk-3DPF72DY.js.map +1 -0
  13. package/dist/chunk-4CV4JOE5.js +24 -0
  14. package/dist/chunk-4CV4JOE5.js.map +1 -0
  15. package/dist/chunk-4SLYNSLH.cjs +783 -0
  16. package/dist/chunk-4SLYNSLH.cjs.map +1 -0
  17. package/dist/chunk-5WP7DWCG.js +1285 -0
  18. package/dist/chunk-5WP7DWCG.js.map +1 -0
  19. package/dist/chunk-BMQ6YPKV.js +876 -0
  20. package/dist/chunk-BMQ6YPKV.js.map +1 -0
  21. package/dist/chunk-BZCMWUKS.cjs +479 -0
  22. package/dist/chunk-BZCMWUKS.cjs.map +1 -0
  23. package/dist/chunk-C5R744DY.cjs +173 -0
  24. package/dist/chunk-C5R744DY.cjs.map +1 -0
  25. package/dist/chunk-C75J62CV.cjs +913 -0
  26. package/dist/chunk-C75J62CV.cjs.map +1 -0
  27. package/dist/chunk-CZLDE2OZ.cjs +28 -0
  28. package/dist/chunk-CZLDE2OZ.cjs.map +1 -0
  29. package/dist/chunk-DSMB6AF6.cjs +193 -0
  30. package/dist/chunk-DSMB6AF6.cjs.map +1 -0
  31. package/dist/chunk-ETWGPOPY.js +426 -0
  32. package/dist/chunk-ETWGPOPY.js.map +1 -0
  33. package/dist/chunk-FQBPVN63.cjs +403 -0
  34. package/dist/chunk-FQBPVN63.cjs.map +1 -0
  35. package/dist/chunk-G4GYQGTW.cjs +178 -0
  36. package/dist/chunk-G4GYQGTW.cjs.map +1 -0
  37. package/dist/chunk-GFDMZDMI.js +486 -0
  38. package/dist/chunk-GFDMZDMI.js.map +1 -0
  39. package/dist/chunk-HOTOYIPB.js +171 -0
  40. package/dist/chunk-HOTOYIPB.js.map +1 -0
  41. package/dist/chunk-HYADH4ZX.js +176 -0
  42. package/dist/chunk-HYADH4ZX.js.map +1 -0
  43. package/dist/chunk-JBN7C5WE.js +255 -0
  44. package/dist/chunk-JBN7C5WE.js.map +1 -0
  45. package/dist/chunk-JNCTPFTD.cjs +25 -0
  46. package/dist/chunk-JNCTPFTD.cjs.map +1 -0
  47. package/dist/chunk-N3BH3BV7.js +21 -0
  48. package/dist/chunk-N3BH3BV7.js.map +1 -0
  49. package/dist/chunk-NFPGAVRQ.js +749 -0
  50. package/dist/chunk-NFPGAVRQ.js.map +1 -0
  51. package/dist/chunk-OFFRGRBN.cjs +1332 -0
  52. package/dist/chunk-OFFRGRBN.cjs.map +1 -0
  53. package/dist/chunk-OZLKYIZL.cjs +490 -0
  54. package/dist/chunk-OZLKYIZL.cjs.map +1 -0
  55. package/dist/chunk-P3NUK46X.js +145 -0
  56. package/dist/chunk-P3NUK46X.js.map +1 -0
  57. package/dist/chunk-P7P2B7ZI.cjs +429 -0
  58. package/dist/chunk-P7P2B7ZI.cjs.map +1 -0
  59. package/dist/chunk-PB6SKSJN.cjs +150 -0
  60. package/dist/chunk-PB6SKSJN.cjs.map +1 -0
  61. package/dist/chunk-R3IXCJR7.js +378 -0
  62. package/dist/chunk-R3IXCJR7.js.map +1 -0
  63. package/dist/chunk-SD6P3WEJ.js +324 -0
  64. package/dist/chunk-SD6P3WEJ.js.map +1 -0
  65. package/dist/chunk-YSCHP26P.js +451 -0
  66. package/dist/chunk-YSCHP26P.js.map +1 -0
  67. package/dist/chunk-ZLMPRPCY.cjs +274 -0
  68. package/dist/chunk-ZLMPRPCY.cjs.map +1 -0
  69. package/dist/common-CBDYNJeh.d.cts +48 -0
  70. package/dist/common-CBDYNJeh.d.ts +48 -0
  71. package/dist/constants.cjs +42 -0
  72. package/dist/constants.cjs.map +1 -0
  73. package/dist/constants.d.cts +60 -0
  74. package/dist/constants.d.ts +60 -0
  75. package/dist/constants.js +5 -0
  76. package/dist/constants.js.map +1 -0
  77. package/dist/country/index.cjs +154 -0
  78. package/dist/country/index.cjs.map +1 -0
  79. package/dist/country/index.d.cts +1 -0
  80. package/dist/country/index.d.ts +1 -0
  81. package/dist/country/index.js +5 -0
  82. package/dist/country/index.js.map +1 -0
  83. package/dist/date/index.cjs +117 -0
  84. package/dist/date/index.cjs.map +1 -0
  85. package/dist/date/index.d.cts +283 -0
  86. package/dist/date/index.d.ts +283 -0
  87. package/dist/date/index.js +4 -0
  88. package/dist/date/index.js.map +1 -0
  89. package/dist/environment/index.cjs +73 -0
  90. package/dist/environment/index.cjs.map +1 -0
  91. package/dist/environment/index.d.cts +127 -0
  92. package/dist/environment/index.d.ts +127 -0
  93. package/dist/environment/index.js +4 -0
  94. package/dist/environment/index.js.map +1 -0
  95. package/dist/form/index.cjs +81 -0
  96. package/dist/form/index.cjs.map +1 -0
  97. package/dist/form/index.d.cts +227 -0
  98. package/dist/form/index.d.ts +227 -0
  99. package/dist/form/index.js +4 -0
  100. package/dist/form/index.js.map +1 -0
  101. package/dist/i18n.cjs +37 -0
  102. package/dist/i18n.cjs.map +1 -0
  103. package/dist/i18n.d.cts +102 -0
  104. package/dist/i18n.d.ts +102 -0
  105. package/dist/i18n.js +4 -0
  106. package/dist/i18n.js.map +1 -0
  107. package/dist/index-BXBmBHyL.d.ts +718 -0
  108. package/dist/index-BYsUCP3u.d.cts +718 -0
  109. package/dist/index-Cl26FrAZ.d.cts +362 -0
  110. package/dist/index-Cl26FrAZ.d.ts +362 -0
  111. package/dist/index.cjs +1265 -0
  112. package/dist/index.cjs.map +1 -0
  113. package/dist/index.d.cts +205 -0
  114. package/dist/index.d.ts +205 -0
  115. package/dist/index.js +277 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/schema.cjs +13 -0
  118. package/dist/schema.cjs.map +1 -0
  119. package/dist/schema.d.cts +84 -0
  120. package/dist/schema.d.ts +84 -0
  121. package/dist/schema.js +4 -0
  122. package/dist/schema.js.map +1 -0
  123. package/dist/security/index.cjs +94 -0
  124. package/dist/security/index.cjs.map +1 -0
  125. package/dist/security/index.d.cts +216 -0
  126. package/dist/security/index.d.ts +216 -0
  127. package/dist/security/index.js +5 -0
  128. package/dist/security/index.js.map +1 -0
  129. package/dist/string/index.cjs +153 -0
  130. package/dist/string/index.cjs.map +1 -0
  131. package/dist/string/index.d.cts +471 -0
  132. package/dist/string/index.d.ts +471 -0
  133. package/dist/string/index.js +4 -0
  134. package/dist/string/index.js.map +1 -0
  135. package/dist/transform/index.cjs +105 -0
  136. package/dist/transform/index.cjs.map +1 -0
  137. package/dist/transform/index.d.cts +271 -0
  138. package/dist/transform/index.d.ts +271 -0
  139. package/dist/transform/index.js +4 -0
  140. package/dist/transform/index.js.map +1 -0
  141. package/dist/validators/index.cjs +195 -0
  142. package/dist/validators/index.cjs.map +1 -0
  143. package/dist/validators/index.d.cts +2 -0
  144. package/dist/validators/index.d.ts +2 -0
  145. package/dist/validators/index.js +6 -0
  146. package/dist/validators/index.js.map +1 -0
  147. 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