soff-phone 0.0.7 → 0.1.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 (151) hide show
  1. package/dist/{ar-GEGiRgO-.d.cts → ar-CoG6alvv.d.cts} +1 -1
  2. package/dist/{ar-tFIt4w8t.d.ts → ar-DflcS_NX.d.ts} +1 -1
  3. package/dist/{br-DDdWmYiI.d.ts → br-DUpSkSAW.d.ts} +1 -1
  4. package/dist/{br-BT6qg54j.d.cts → br-wLM9wWJU.d.cts} +1 -1
  5. package/dist/{ca-DCSAnAM6.d.cts → ca-CrMz6MFF.d.cts} +1 -1
  6. package/dist/{ca-_dlgNQpK.d.ts → ca-DgJh2Fn8.d.ts} +1 -1
  7. package/dist/{cl-BnJa59XK.d.ts → cl-BlYnSeBu.d.ts} +1 -1
  8. package/dist/{cl-FomUh7u7.d.cts → cl-Bsw7oXO1.d.cts} +1 -1
  9. package/dist/{co-D3zWUbcg.d.ts → co-Ds64GC27.d.ts} +1 -1
  10. package/dist/{co-HLHZhdf-.d.cts → co-DsNqMeJC.d.cts} +1 -1
  11. package/dist/{cr-TYetkCTg.d.cts → cr-D1nfQd5a.d.cts} +1 -1
  12. package/dist/{cr-CkAZd-e7.d.ts → cr-DZo_UJeA.d.ts} +1 -1
  13. package/dist/{de-D-lK2VKQ.d.ts → de-B0lClAaa.d.ts} +1 -1
  14. package/dist/{de-l5sbcQdU.d.cts → de-D8Dy5ZLN.d.cts} +1 -1
  15. package/dist/{ec-CLItBhMX.d.ts → ec-DMEwGX4e.d.ts} +1 -1
  16. package/dist/{ec-G_GvdmHT.d.cts → ec-Dmvg9ZEu.d.cts} +1 -1
  17. package/dist/{es-C0cTzz5Q.d.ts → es-C9fnTkGA.d.ts} +1 -1
  18. package/dist/{es-DBWm_0BJ.d.cts → es-nCje-ks0.d.cts} +1 -1
  19. package/dist/{fr-BFsuh3v2.d.cts → fr-6elCkAaM.d.cts} +1 -1
  20. package/dist/{fr-BE6W1TEy.d.ts → fr-DhJ1s23l.d.ts} +1 -1
  21. package/dist/{gb-Dsiq1sFD.d.cts → gb-B25B912T.d.cts} +1 -1
  22. package/dist/{gb-Cvog8XpH.d.ts → gb-ehC5-Ys2.d.ts} +1 -1
  23. package/dist/{gt-CHOp9jw8.d.cts → gt-DKGg-Cq-.d.cts} +1 -1
  24. package/dist/{gt-BJOTX_KH.d.ts → gt-wRdkBW-T.d.ts} +1 -1
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +18 -18
  28. package/dist/index.d.ts +18 -18
  29. package/dist/index.js +1 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/{it-Cvn0ckKc.d.cts → it-B434bcYI.d.cts} +1 -1
  32. package/dist/{it-DRkyyTTW.d.ts → it-fKUkvQel.d.ts} +1 -1
  33. package/dist/locales/ar.cjs +1 -1
  34. package/dist/locales/ar.cjs.map +1 -1
  35. package/dist/locales/ar.d.cts +1 -1
  36. package/dist/locales/ar.d.ts +1 -1
  37. package/dist/locales/ar.js +1 -1
  38. package/dist/locales/ar.js.map +1 -1
  39. package/dist/locales/br.cjs +1 -1
  40. package/dist/locales/br.cjs.map +1 -1
  41. package/dist/locales/br.d.cts +1 -1
  42. package/dist/locales/br.d.ts +1 -1
  43. package/dist/locales/br.js +1 -1
  44. package/dist/locales/br.js.map +1 -1
  45. package/dist/locales/ca.cjs +1 -1
  46. package/dist/locales/ca.cjs.map +1 -1
  47. package/dist/locales/ca.d.cts +1 -1
  48. package/dist/locales/ca.d.ts +1 -1
  49. package/dist/locales/ca.js +1 -1
  50. package/dist/locales/ca.js.map +1 -1
  51. package/dist/locales/cl.cjs +1 -1
  52. package/dist/locales/cl.cjs.map +1 -1
  53. package/dist/locales/cl.d.cts +1 -1
  54. package/dist/locales/cl.d.ts +1 -1
  55. package/dist/locales/cl.js +1 -1
  56. package/dist/locales/cl.js.map +1 -1
  57. package/dist/locales/co.cjs +1 -1
  58. package/dist/locales/co.cjs.map +1 -1
  59. package/dist/locales/co.d.cts +1 -1
  60. package/dist/locales/co.d.ts +1 -1
  61. package/dist/locales/co.js +1 -1
  62. package/dist/locales/co.js.map +1 -1
  63. package/dist/locales/cr.cjs +1 -1
  64. package/dist/locales/cr.cjs.map +1 -1
  65. package/dist/locales/cr.d.cts +1 -1
  66. package/dist/locales/cr.d.ts +1 -1
  67. package/dist/locales/cr.js +1 -1
  68. package/dist/locales/cr.js.map +1 -1
  69. package/dist/locales/de.cjs +1 -1
  70. package/dist/locales/de.cjs.map +1 -1
  71. package/dist/locales/de.d.cts +1 -1
  72. package/dist/locales/de.d.ts +1 -1
  73. package/dist/locales/de.js +1 -1
  74. package/dist/locales/de.js.map +1 -1
  75. package/dist/locales/ec.cjs +1 -1
  76. package/dist/locales/ec.cjs.map +1 -1
  77. package/dist/locales/ec.d.cts +1 -1
  78. package/dist/locales/ec.d.ts +1 -1
  79. package/dist/locales/ec.js +1 -1
  80. package/dist/locales/ec.js.map +1 -1
  81. package/dist/locales/es.cjs +1 -1
  82. package/dist/locales/es.cjs.map +1 -1
  83. package/dist/locales/es.d.cts +1 -1
  84. package/dist/locales/es.d.ts +1 -1
  85. package/dist/locales/es.js +1 -1
  86. package/dist/locales/es.js.map +1 -1
  87. package/dist/locales/fr.cjs +1 -1
  88. package/dist/locales/fr.cjs.map +1 -1
  89. package/dist/locales/fr.d.cts +1 -1
  90. package/dist/locales/fr.d.ts +1 -1
  91. package/dist/locales/fr.js +1 -1
  92. package/dist/locales/fr.js.map +1 -1
  93. package/dist/locales/gb.cjs +1 -1
  94. package/dist/locales/gb.cjs.map +1 -1
  95. package/dist/locales/gb.d.cts +1 -1
  96. package/dist/locales/gb.d.ts +1 -1
  97. package/dist/locales/gb.js +1 -1
  98. package/dist/locales/gb.js.map +1 -1
  99. package/dist/locales/gt.cjs +1 -1
  100. package/dist/locales/gt.cjs.map +1 -1
  101. package/dist/locales/gt.d.cts +1 -1
  102. package/dist/locales/gt.d.ts +1 -1
  103. package/dist/locales/gt.js +1 -1
  104. package/dist/locales/gt.js.map +1 -1
  105. package/dist/locales/it.cjs +1 -1
  106. package/dist/locales/it.cjs.map +1 -1
  107. package/dist/locales/it.d.cts +1 -1
  108. package/dist/locales/it.d.ts +1 -1
  109. package/dist/locales/it.js +1 -1
  110. package/dist/locales/it.js.map +1 -1
  111. package/dist/locales/mx.cjs +1 -1
  112. package/dist/locales/mx.cjs.map +1 -1
  113. package/dist/locales/mx.d.cts +1 -1
  114. package/dist/locales/mx.d.ts +1 -1
  115. package/dist/locales/mx.js +1 -1
  116. package/dist/locales/mx.js.map +1 -1
  117. package/dist/locales/pa.cjs +1 -1
  118. package/dist/locales/pa.cjs.map +1 -1
  119. package/dist/locales/pa.d.cts +1 -1
  120. package/dist/locales/pa.d.ts +1 -1
  121. package/dist/locales/pa.js +1 -1
  122. package/dist/locales/pa.js.map +1 -1
  123. package/dist/locales/pe.cjs +1 -1
  124. package/dist/locales/pe.cjs.map +1 -1
  125. package/dist/locales/pe.d.cts +1 -1
  126. package/dist/locales/pe.d.ts +1 -1
  127. package/dist/locales/pe.js +1 -1
  128. package/dist/locales/pe.js.map +1 -1
  129. package/dist/locales/us.cjs +1 -1
  130. package/dist/locales/us.cjs.map +1 -1
  131. package/dist/locales/us.d.cts +1 -1
  132. package/dist/locales/us.d.ts +1 -1
  133. package/dist/locales/us.js +1 -1
  134. package/dist/locales/us.js.map +1 -1
  135. package/dist/locales/ve.cjs +1 -1
  136. package/dist/locales/ve.cjs.map +1 -1
  137. package/dist/locales/ve.d.cts +1 -1
  138. package/dist/locales/ve.d.ts +1 -1
  139. package/dist/locales/ve.js +1 -1
  140. package/dist/locales/ve.js.map +1 -1
  141. package/dist/{mx-CmkrNDw0.d.cts → mx-CIn7fuEP.d.cts} +1 -1
  142. package/dist/{mx-DkRS3Aa-.d.ts → mx-Cqj3ptQG.d.ts} +1 -1
  143. package/dist/{pa-BPfQzrBx.d.cts → pa-CJU86P1e.d.cts} +1 -1
  144. package/dist/{pa-Dyi3iuWW.d.ts → pa-DuqdSeyg.d.ts} +1 -1
  145. package/dist/{pe-B_5pgsR0.d.cts → pe-9EBUjBeW.d.cts} +1 -1
  146. package/dist/{pe-NCsXTXmc.d.ts → pe-DlAD1sw9.d.ts} +1 -1
  147. package/dist/{us-BaYu0g3a.d.cts → us-n2Rg22p3.d.cts} +1 -1
  148. package/dist/{us-KOpobREo.d.ts → us-oR1xJLtG.d.ts} +1 -1
  149. package/dist/{ve-BFLV2qGp.d.ts → ve-D0yC7va3.d.ts} +1 -1
  150. package/dist/{ve-BomxppQL.d.cts → ve-DZM4BR8e.d.cts} +1 -1
  151. package/package.json +6 -6
@@ -1,2 +1,2 @@
1
- 'use strict';function s(e){return e.replace(/\D/g,"")}function a(e,n){return `+${e}${n}`}var r="44";function h(e,n){let i=s(e),t=i;if(i.startsWith(r)&&i.length>10&&(t=i.slice(r.length)),t.startsWith("0")&&(t=t.slice(1)),t.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let o="unknown";t.startsWith("7")?o="mobile":/^[123]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=a(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}exports.validate=h;//# sourceMappingURL=gb.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,e){return `+${t}${e}`}function s(t){return function(u,a){let d=o(u),r=t.getNationalNumber(d),n=t.evaluateNationalNumber(r);if(!n.isValid)return n;let i=r;return a?.format==="e164"?i=l(t.countryCode,r):a?.format==="international"&&(i=`+${t.countryCode} ${r}`),{isValid:true,type:n.type,formatted:i}}}var c=s({countryCode:"44",getNationalNumber:t=>{let e=t.startsWith("44")&&t.length>10?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:t.startsWith("7")?{isValid:true,type:"mobile"}:/^[123]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=gb.cjs.map
2
2
  //# sourceMappingURL=gb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,CAAAA,CAASJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAG5BO,CAAAA,CAAWD,CAAAA,CAWf,GAVIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,EAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAK1CI,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,EAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAGzBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAGnE,IAAIC,CAAAA,CAA0C,SAAA,CAG1CD,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CACzBC,CAAAA,CAAO,QAAA,CAGA,QAAA,CAAS,IAAA,CAAKD,CAAQ,CAAA,GAC7BC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWE,CAAAA,CAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"gb.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '44';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 10) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // UK numbers: 10 digits (excluding the leading 0)\n // But users often include the leading 0, so we accept both formats\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 7\n if (national.startsWith('7')) {\n type = 'mobile';\n }\n // Landline: Starts with 1, 2, 3\n else if (/^[123]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,EAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,EAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,EACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,EAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,GAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,EAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,QAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,UAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,EAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,EAAQ,MAAA,CAAS,EAAA,CAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACpF,OAAIC,CAAAA,CAAS,WAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,MAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,CAAA,CACA,uBAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,EAE/DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,QAAS,EAErC,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,EAEpC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"gb.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '44',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('44') && cleaned.length > 10 ? cleaned.slice(2) : cleaned;\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n return national;\n },\n evaluateNationalNumber: (national) => {\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n if (national.startsWith('7')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[123]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../gb-Dsiq1sFD.cjs';
2
+ export { v as validate } from '../gb-B25B912T.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../gb-Cvog8XpH.js';
2
+ export { v as validate } from '../gb-ehC5-Ys2.js';
@@ -1,2 +1,2 @@
1
- function s(e){return e.replace(/\D/g,"")}function a(e,n){return `+${e}${n}`}var r="44";function h(e,n){let i=s(e),t=i;if(i.startsWith(r)&&i.length>10&&(t=i.slice(r.length)),t.startsWith("0")&&(t=t.slice(1)),t.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let o="unknown";t.startsWith("7")?o="mobile":/^[123]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=a(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}export{h as validate};//# sourceMappingURL=gb.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,e){return `+${t}${e}`}function s(t){return function(u,a){let d=o(u),r=t.getNationalNumber(d),n=t.evaluateNationalNumber(r);if(!n.isValid)return n;let i=r;return a?.format==="e164"?i=l(t.countryCode,r):a?.format==="international"&&(i=`+${t.countryCode} ${r}`),{isValid:true,type:n.type,formatted:i}}}var c=s({countryCode:"44",getNationalNumber:t=>{let e=t.startsWith("44")&&t.length>10?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:t.startsWith("7")?{isValid:true,type:"mobile"}:/^[123]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=gb.js.map
2
2
  //# sourceMappingURL=gb.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,CAAAA,CAASJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAG5BO,CAAAA,CAAWD,CAAAA,CAWf,GAVIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,EAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAK1CI,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,EAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAGzBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAGnE,IAAIC,CAAAA,CAA0C,SAAA,CAG1CD,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CACzBC,CAAAA,CAAO,QAAA,CAGA,QAAA,CAAS,IAAA,CAAKD,CAAQ,CAAA,GAC7BC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWE,CAAAA,CAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"gb.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '44';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 10) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // UK numbers: 10 digits (excluding the leading 0)\n // But users often include the leading 0, so we accept both formats\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 7\n if (national.startsWith('7')) {\n type = 'mobile';\n }\n // Landline: Starts with 1, 2, 3\n else if (/^[123]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,EAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,EAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,EACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,EAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,GAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,EAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,QAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,UAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,EAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,EAAQ,MAAA,CAAS,EAAA,CAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACpF,OAAIC,CAAAA,CAAS,WAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,MAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,CAAA,CACA,uBAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,EAE/DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,QAAS,EAErC,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,EAEpC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"gb.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '44',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('44') && cleaned.length > 10 ? cleaned.slice(2) : cleaned;\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n return national;\n },\n evaluateNationalNumber: (national) => {\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n if (national.startsWith('7')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[123]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function a(e){return e.replace(/\D/g,"")}function s(e,n){return `+${e}${n}`}var r="502";function m(e,n){let i=a(e),t=i;if(i.startsWith(r)&&i.length>8&&(t=i.slice(r.length)),t.length!==8)return {isValid:false,error:"Phone number must be 8 digits"};let o="unknown";/^[345]/.test(t)?o="mobile":/^[267]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=s(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}exports.validate=m;//# sourceMappingURL=gt.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,i){return `+${t}${i}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let n=e;return a?.format==="e164"?n=l(t.countryCode,e):a?.format==="international"&&(n=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:n}}}var c=s({countryCode:"502",getNationalNumber:t=>t.startsWith("502")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:/^[345]/.test(t)?{isValid:true,type:"mobile"}:/^[267]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=gt.cjs.map
2
2
  //# sourceMappingURL=gt.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,EAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,EAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,KAAA,CAEd,SAASC,CAAAA,CAASJ,CAAAA,CAAeK,EAA+C,CACrF,IAAMC,EAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,EAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,EAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,SAAW,CAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAGlE,IAAIC,CAAAA,CAA0C,SAAA,CAG1C,QAAA,CAAS,KAAKD,CAAQ,CAAA,CACxBC,CAAAA,CAAO,QAAA,CAGA,QAAA,CAAS,IAAA,CAAKD,CAAQ,CAAA,GAC7BC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"gt.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '502';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 8) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Guatemalan numbers: 8 digits\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 3, 4, 5\n if (/^[345]/.test(national)) {\n type = 'mobile';\n }\n // Landline: Starts with 2, 6, 7\n else if (/^[267]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,KAAK,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9D,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"gt.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '502',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('502') && cleaned.length > 8 ? cleaned.slice(3) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n if (/^[345]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[267]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../gt-CHOp9jw8.cjs';
2
+ export { v as validate } from '../gt-DKGg-Cq-.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../gt-BJOTX_KH.js';
2
+ export { v as validate } from '../gt-wRdkBW-T.js';
@@ -1,2 +1,2 @@
1
- function a(e){return e.replace(/\D/g,"")}function s(e,n){return `+${e}${n}`}var r="502";function m(e,n){let i=a(e),t=i;if(i.startsWith(r)&&i.length>8&&(t=i.slice(r.length)),t.length!==8)return {isValid:false,error:"Phone number must be 8 digits"};let o="unknown";/^[345]/.test(t)?o="mobile":/^[267]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=s(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}export{m as validate};//# sourceMappingURL=gt.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,i){return `+${t}${i}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let n=e;return a?.format==="e164"?n=l(t.countryCode,e):a?.format==="international"&&(n=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:n}}}var c=s({countryCode:"502",getNationalNumber:t=>t.startsWith("502")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:/^[345]/.test(t)?{isValid:true,type:"mobile"}:/^[267]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=gt.js.map
2
2
  //# sourceMappingURL=gt.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,EAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,EAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,KAAA,CAEd,SAASC,CAAAA,CAASJ,CAAAA,CAAeK,EAA+C,CACrF,IAAMC,EAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,EAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,EAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,SAAW,CAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAGlE,IAAIC,CAAAA,CAA0C,SAAA,CAG1C,QAAA,CAAS,KAAKD,CAAQ,CAAA,CACxBC,CAAAA,CAAO,QAAA,CAGA,QAAA,CAAS,IAAA,CAAKD,CAAQ,CAAA,GAC7BC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"gt.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '502';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 8) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Guatemalan numbers: 8 digits\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 3, 4, 5\n if (/^[345]/.test(national)) {\n type = 'mobile';\n }\n // Landline: Starts with 2, 6, 7\n else if (/^[267]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,KAAK,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9D,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"gt.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '502',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('502') && cleaned.length > 8 ? cleaned.slice(3) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n if (/^[345]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[267]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function s(e){return e.replace(/\D/g,"")}function a(e,n){return `+${e}${n}`}var r="39";function c(e,n){let i=s(e),t=i;if(i.startsWith(r)&&i.length>9&&(t=i.slice(r.length)),t.startsWith("0")&&(t=t.slice(1)),t.length<9||t.length>10)return {isValid:false,error:"Phone number must be 9-10 digits"};let l=t.startsWith("3")?"mobile":"landline",o=t;return n?.format==="e164"?o=a(r,t):n?.format==="international"&&(o=`+${r} ${t}`),{isValid:true,type:l,formatted:o}}exports.validate=c;//# sourceMappingURL=it.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,e){return `+${t}${e}`}function s(t){return function(u,a){let d=o(u),r=t.getNationalNumber(d),n=t.evaluateNationalNumber(r);if(!n.isValid)return n;let i=r;return a?.format==="e164"?i=l(t.countryCode,r):a?.format==="international"&&(i=`+${t.countryCode} ${r}`),{isValid:true,type:n.type,formatted:i}}}var c=s({countryCode:"39",getNationalNumber:t=>{let e=t.startsWith("39")&&t.length>9?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length<9||t.length>10?{isValid:false,error:"Phone number must be 9-10 digits"}:t.startsWith("3")?{isValid:true,type:"mobile"}:{isValid:true,type:"landline"}});exports.validate=c;//# sourceMappingURL=it.cjs.map
2
2
  //# sourceMappingURL=it.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,EAASJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAWf,GAVIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,MAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAK1CI,CAAAA,CAAS,UAAA,CAAW,GAAG,IACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAGzBA,CAAAA,CAAS,OAAS,CAAA,EAAKA,CAAAA,CAAS,MAAA,CAAS,EAAA,CAC3C,OAAO,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,kCAAmC,CAAA,CAGrE,IAAMC,CAAAA,CAAOD,EAAS,UAAA,CAAW,GAAG,CAAA,CAAI,QAAA,CAAW,UAAA,CAE/CE,CAAAA,CAAYF,EAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"it.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '39';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 9) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Italian numbers: variable length (9-10 digits)\n // Often start with 0 for domestic dialing\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n\n if (national.length < 9 || national.length > 10) {\n return { isValid: false, error: 'Phone number must be 9-10 digits' };\n }\n\n const type = national.startsWith('3') ? 'mobile' : 'landline';\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,EAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,EAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,CAAA,CAE3CE,CAAAA,CAAaJ,EAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,SAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,YAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,kBAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,IAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,UAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,EAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,EAAQ,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACnF,OAAIC,CAAAA,CAAS,WAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,EACA,sBAAA,CAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,CAAS,GAAKA,CAAAA,CAAS,MAAA,CAAS,EAAA,CACpC,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,kCAAmC,CAAA,CAEjEA,EAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,QAAS,CAAA,CAElC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAE7C,CAAC","file":"it.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '39',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('39') && cleaned.length > 9 ? cleaned.slice(2) : cleaned;\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n return national;\n },\n evaluateNationalNumber: (national) => {\n if (national.length < 9 || national.length > 10) {\n return { isValid: false, error: 'Phone number must be 9-10 digits' };\n }\n if (national.startsWith('3')) {\n return { isValid: true, type: 'mobile' };\n }\n return { isValid: true, type: 'landline' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../it-Cvn0ckKc.cjs';
2
+ export { v as validate } from '../it-B434bcYI.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../it-DRkyyTTW.js';
2
+ export { v as validate } from '../it-fKUkvQel.js';
@@ -1,2 +1,2 @@
1
- function s(e){return e.replace(/\D/g,"")}function a(e,n){return `+${e}${n}`}var r="39";function c(e,n){let i=s(e),t=i;if(i.startsWith(r)&&i.length>9&&(t=i.slice(r.length)),t.startsWith("0")&&(t=t.slice(1)),t.length<9||t.length>10)return {isValid:false,error:"Phone number must be 9-10 digits"};let l=t.startsWith("3")?"mobile":"landline",o=t;return n?.format==="e164"?o=a(r,t):n?.format==="international"&&(o=`+${r} ${t}`),{isValid:true,type:l,formatted:o}}export{c as validate};//# sourceMappingURL=it.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,e){return `+${t}${e}`}function s(t){return function(u,a){let d=o(u),r=t.getNationalNumber(d),n=t.evaluateNationalNumber(r);if(!n.isValid)return n;let i=r;return a?.format==="e164"?i=l(t.countryCode,r):a?.format==="international"&&(i=`+${t.countryCode} ${r}`),{isValid:true,type:n.type,formatted:i}}}var c=s({countryCode:"39",getNationalNumber:t=>{let e=t.startsWith("39")&&t.length>9?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length<9||t.length>10?{isValid:false,error:"Phone number must be 9-10 digits"}:t.startsWith("3")?{isValid:true,type:"mobile"}:{isValid:true,type:"landline"}});export{c as validate};//# sourceMappingURL=it.js.map
2
2
  //# sourceMappingURL=it.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,EAASJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAWf,GAVIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,MAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAK1CI,CAAAA,CAAS,UAAA,CAAW,GAAG,IACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAGzBA,CAAAA,CAAS,OAAS,CAAA,EAAKA,CAAAA,CAAS,MAAA,CAAS,EAAA,CAC3C,OAAO,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,kCAAmC,CAAA,CAGrE,IAAMC,CAAAA,CAAOD,EAAS,UAAA,CAAW,GAAG,CAAA,CAAI,QAAA,CAAW,UAAA,CAE/CE,CAAAA,CAAYF,EAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"it.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '39';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 9) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Italian numbers: variable length (9-10 digits)\n // Often start with 0 for domestic dialing\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n\n if (national.length < 9 || national.length > 10) {\n return { isValid: false, error: 'Phone number must be 9-10 digits' };\n }\n\n const type = national.startsWith('3') ? 'mobile' : 'landline';\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,EAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,EAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,CAAA,CAE3CE,CAAAA,CAAaJ,EAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,SAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,YAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,kBAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,IAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,UAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,EAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,EAAQ,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACnF,OAAIC,CAAAA,CAAS,WAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,EACA,sBAAA,CAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,CAAS,GAAKA,CAAAA,CAAS,MAAA,CAAS,EAAA,CACpC,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,kCAAmC,CAAA,CAEjEA,EAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,QAAS,CAAA,CAElC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAE7C,CAAC","file":"it.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '39',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('39') && cleaned.length > 9 ? cleaned.slice(2) : cleaned;\n if (national.startsWith('0')) {\n national = national.slice(1);\n }\n return national;\n },\n evaluateNationalNumber: (national) => {\n if (national.length < 9 || national.length > 10) {\n return { isValid: false, error: 'Phone number must be 9-10 digits' };\n }\n if (national.startsWith('3')) {\n return { isValid: true, type: 'mobile' };\n }\n return { isValid: true, type: 'landline' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function a(t){return t.replace(/\D/g,"")}function s(t,n){return `+${t}${n}`}var i="52";function u(t,n){let r=a(t),e=r;if(r.startsWith(i)&&r.length>10&&(e=r.slice(i.length)),e.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let o=e;return n?.format==="e164"?o=s(i,e):n?.format==="international"&&(o=`+${i} ${e}`),{isValid:true,type:"unknown",formatted:o}}exports.validate=u;//# sourceMappingURL=mx.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,a){return `+${t}${a}`}function s(t){return function(u,i){let d=o(u),e=t.getNationalNumber(d),n=t.evaluateNationalNumber(e);if(!n.isValid)return n;let r=e;return i?.format==="e164"?r=l(t.countryCode,e):i?.format==="international"&&(r=`+${t.countryCode} ${e}`),{isValid:true,type:n.type,formatted:r}}}var c=s({countryCode:"52",getNationalNumber:t=>t.startsWith("52")&&t.length>10?t.slice(2):t,evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=mx.cjs.map
2
2
  //# sourceMappingURL=mx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","formatted"],"mappings":"aAAO,SAASA,EAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,OAAA,CAAQ,MAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,EAAe,IAAA,CAEd,SAASC,EAASJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,EAAWC,CAAK,CAAA,CAG5BO,EAAWD,CAAAA,CAKf,GAJIA,EAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,EAAA,GACvDC,CAAAA,CAAWD,EAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAG1CI,CAAAA,CAAS,SAAW,EAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,gCAAiC,CAAA,CASnE,IAAIC,CAAAA,CAAYD,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBG,CAAAA,CAAYP,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,GAAS,MAAA,GAAW,eAAA,GAC7BG,EAAY,CAAA,CAAA,EAAIL,CAAY,IAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,KAAM,SAAA,CAAW,SAAA,CAAAC,CAAU,CACrD","file":"mx.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '52';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 10) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n\n // Mexico doesn't strictly separate mobile/landline ranges as clearly in the first digit anymore for all cases,\n // but generally we can just validate length.\n // Distinction is harder without a massive database of area codes.\n // We will mark as 'unknown' type unless we want to implement complex area code logic.\n // For now, let's assume valid if 10 digits.\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type: 'unknown', formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,CAAA,CAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,CC9BO,IAAMC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAA,CAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAE5D,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"mx.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '52',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('52') && cleaned.length > 10 ? cleaned.slice(2) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../mx-CmkrNDw0.cjs';
2
+ export { v as validate } from '../mx-CIn7fuEP.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../mx-DkRS3Aa-.js';
2
+ export { v as validate } from '../mx-Cqj3ptQG.js';
@@ -1,2 +1,2 @@
1
- function a(t){return t.replace(/\D/g,"")}function s(t,n){return `+${t}${n}`}var i="52";function u(t,n){let r=a(t),e=r;if(r.startsWith(i)&&r.length>10&&(e=r.slice(i.length)),e.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let o=e;return n?.format==="e164"?o=s(i,e):n?.format==="international"&&(o=`+${i} ${e}`),{isValid:true,type:"unknown",formatted:o}}export{u as validate};//# sourceMappingURL=mx.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,a){return `+${t}${a}`}function s(t){return function(u,i){let d=o(u),e=t.getNationalNumber(d),n=t.evaluateNationalNumber(e);if(!n.isValid)return n;let r=e;return i?.format==="e164"?r=l(t.countryCode,e):i?.format==="international"&&(r=`+${t.countryCode} ${e}`),{isValid:true,type:n.type,formatted:r}}}var c=s({countryCode:"52",getNationalNumber:t=>t.startsWith("52")&&t.length>10?t.slice(2):t,evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=mx.js.map
2
2
  //# sourceMappingURL=mx.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","formatted"],"mappings":"AAAO,SAASA,EAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,OAAA,CAAQ,MAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,EAAe,IAAA,CAEd,SAASC,EAASJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,EAAWC,CAAK,CAAA,CAG5BO,EAAWD,CAAAA,CAKf,GAJIA,EAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,EAAA,GACvDC,CAAAA,CAAWD,EAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAG1CI,CAAAA,CAAS,SAAW,EAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,gCAAiC,CAAA,CASnE,IAAIC,CAAAA,CAAYD,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBG,CAAAA,CAAYP,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,GAAS,MAAA,GAAW,eAAA,GAC7BG,EAAY,CAAA,CAAA,EAAIL,CAAY,IAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,KAAM,SAAA,CAAW,SAAA,CAAAC,CAAU,CACrD","file":"mx.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '52';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 10) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n\n // Mexico doesn't strictly separate mobile/landline ranges as clearly in the first digit anymore for all cases,\n // but generally we can just validate length.\n // Distinction is harder without a massive database of area codes.\n // We will mark as 'unknown' type unless we want to implement complex area code logic.\n // For now, let's assume valid if 10 digits.\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type: 'unknown', formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,CAAA,CAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,CC9BO,IAAMC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAA,CAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAE5D,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"mx.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '52',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('52') && cleaned.length > 10 ? cleaned.slice(2) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function a(e){return e.replace(/\D/g,"")}function s(e,n){return `+${e}${n}`}var r="507";function m(e,n){let i=a(e),t=i;if(i.startsWith(r)&&i.length>8&&(t=i.slice(r.length)),t.length!==8)return {isValid:false,error:"Phone number must be 8 digits"};let o="unknown";t.startsWith("6")?o="mobile":/^[2-57-9]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=s(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}exports.validate=m;//# sourceMappingURL=pa.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,i){return `+${t}${i}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let n=e;return a?.format==="e164"?n=l(t.countryCode,e):a?.format==="international"&&(n=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:n}}}var c=s({countryCode:"507",getNationalNumber:t=>t.startsWith("507")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:t.startsWith("6")?{isValid:true,type:"mobile"}:/^[2-57-9]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=pa.cjs.map
2
2
  //# sourceMappingURL=pa.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,EAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,EAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,KAAA,CAEd,SAASC,CAAAA,CAASJ,CAAAA,CAAeK,EAA+C,CACrF,IAAMC,EAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,EAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,EAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,SAAW,CAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAGlE,IAAIC,CAAAA,CAA0C,SAAA,CAG1CD,CAAAA,CAAS,WAAW,GAAG,CAAA,CACzBC,CAAAA,CAAO,QAAA,CAGA,WAAA,CAAY,IAAA,CAAKD,CAAQ,CAAA,GAChCC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"pa.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '507';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 8) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Panamanian numbers: 8 digits\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 6\n if (national.startsWith('6')) {\n type = 'mobile';\n }\n // Landline: Starts with 2-5, 7-9\n else if (/^[2-57-9]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,KAAK,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,WAAA,CAAY,IAAA,CAAKA,CAAQ,CAAA,CACpB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"pa.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '507',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('507') && cleaned.length > 8 ? cleaned.slice(3) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n if (national.startsWith('6')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[2-57-9]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../pa-BPfQzrBx.cjs';
2
+ export { v as validate } from '../pa-CJU86P1e.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../pa-Dyi3iuWW.js';
2
+ export { v as validate } from '../pa-DuqdSeyg.js';
@@ -1,2 +1,2 @@
1
- function a(e){return e.replace(/\D/g,"")}function s(e,n){return `+${e}${n}`}var r="507";function m(e,n){let i=a(e),t=i;if(i.startsWith(r)&&i.length>8&&(t=i.slice(r.length)),t.length!==8)return {isValid:false,error:"Phone number must be 8 digits"};let o="unknown";t.startsWith("6")?o="mobile":/^[2-57-9]/.test(t)&&(o="landline");let l=t;return n?.format==="e164"?l=s(r,t):n?.format==="international"&&(l=`+${r} ${t}`),{isValid:true,type:o,formatted:l}}export{m as validate};//# sourceMappingURL=pa.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,i){return `+${t}${i}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let n=e;return a?.format==="e164"?n=l(t.countryCode,e):a?.format==="international"&&(n=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:n}}}var c=s({countryCode:"507",getNationalNumber:t=>t.startsWith("507")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:t.startsWith("6")?{isValid:true,type:"mobile"}:/^[2-57-9]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=pa.js.map
2
2
  //# sourceMappingURL=pa.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,EAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,EAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,GAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,KAAA,CAEd,SAASC,CAAAA,CAASJ,CAAAA,CAAeK,EAA+C,CACrF,IAAMC,EAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,EAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,EAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,SAAW,CAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAGlE,IAAIC,CAAAA,CAA0C,SAAA,CAG1CD,CAAAA,CAAS,WAAW,GAAG,CAAA,CACzBC,CAAAA,CAAO,QAAA,CAGA,WAAA,CAAY,IAAA,CAAKD,CAAQ,CAAA,GAChCC,CAAAA,CAAO,UAAA,CAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWE,EAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,CAAAA,CAAY,IAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"pa.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '507';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 8) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Panamanian numbers: 8 digits\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n\n let type: 'mobile' | 'landline' | 'unknown' = 'unknown';\n\n // Mobile: Starts with 6\n if (national.startsWith('6')) {\n type = 'mobile';\n }\n // Landline: Starts with 2-5, 7-9\n else if (/^[2-57-9]/.test(national)) {\n type = 'landline';\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,KAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,KAAK,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,WAAA,CAAY,IAAA,CAAKA,CAAQ,CAAA,CACpB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"pa.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '507',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('507') && cleaned.length > 8 ? cleaned.slice(3) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 8) {\n return { isValid: false, error: 'Phone number must be 8 digits' };\n }\n if (national.startsWith('6')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[2-57-9]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function s(e){return e.replace(/\D/g,"")}function l(e,n){return `+${e}${n}`}var i="51";function d(e,n){let r=s(e),t=r;if(r.startsWith(i)&&r.length>9&&(t=r.slice(i.length)),t.length!==9)return {isValid:false,error:"Phone number must be 9 digits"};let a=t.startsWith("9")?"mobile":/^[01]/.test(t)?"landline":void 0;if(!a)return {isValid:false,error:"Invalid prefix for Peru"};let o=t;return n?.format==="e164"?o=l(i,t):n?.format==="international"&&(o=`+${i} ${t}`),{isValid:true,type:a,formatted:o}}exports.validate=d;//# sourceMappingURL=pe.cjs.map
1
+ 'use strict';function o(t){return t.replace(/\D/g,"")}function l(t,n){return `+${t}${n}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let i=e;return a?.format==="e164"?i=l(t.countryCode,e):a?.format==="international"&&(i=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:i}}}var c=s({countryCode:"51",getNationalNumber:t=>t.startsWith("51")&&t.length>9?t.slice(2):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:t.startsWith("9")?{isValid:true,type:"mobile"}:/^[01]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Peru"}});exports.validate=c;//# sourceMappingURL=pe.cjs.map
2
2
  //# sourceMappingURL=pe.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,CAAAA,CAASJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,MAAA,GAAW,CAAA,CACtB,OAAO,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,+BAAgC,CAAA,CAGlE,IAAMC,CAAAA,CAAOD,EAAS,UAAA,CAAW,GAAG,CAAA,CAChC,QAAA,CACA,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CACnB,UAAA,CACA,MAAA,CAEN,GAAI,CAACC,CAAAA,CACH,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,yBAA0B,CAAA,CAG5D,IAAIC,EAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,EAAWE,CAAAA,CAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"pe.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '51';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 9) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Peruvian numbers: 9 digits\n if (national.length !== 9) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n\n const type = national.startsWith('9')\n ? 'mobile'\n : /^[01]/.test(national)\n ? 'landline'\n : undefined;\n\n if (!type) {\n return { isValid: false, error: 'Invalid prefix for Peru' };\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,IAAI,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACtE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,yBAA0B,CAE9D,CAAC","file":"pe.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '51',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('51') && cleaned.length > 9 ? cleaned.slice(2) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 9) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n if (national.startsWith('9')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[01]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Peru' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.cjs';
2
- export { v as validate } from '../pe-B_5pgsR0.cjs';
2
+ export { v as validate } from '../pe-9EBUjBeW.cjs';
@@ -1,2 +1,2 @@
1
1
  import '../types-BCr040RT.js';
2
- export { v as validate } from '../pe-NCsXTXmc.js';
2
+ export { v as validate } from '../pe-DlAD1sw9.js';
@@ -1,2 +1,2 @@
1
- function s(e){return e.replace(/\D/g,"")}function l(e,n){return `+${e}${n}`}var i="51";function d(e,n){let r=s(e),t=r;if(r.startsWith(i)&&r.length>9&&(t=r.slice(i.length)),t.length!==9)return {isValid:false,error:"Phone number must be 9 digits"};let a=t.startsWith("9")?"mobile":/^[01]/.test(t)?"landline":void 0;if(!a)return {isValid:false,error:"Invalid prefix for Peru"};let o=t;return n?.format==="e164"?o=l(i,t):n?.format==="international"&&(o=`+${i} ${t}`),{isValid:true,type:a,formatted:o}}export{d as validate};//# sourceMappingURL=pe.js.map
1
+ function o(t){return t.replace(/\D/g,"")}function l(t,n){return `+${t}${n}`}function s(t){return function(u,a){let d=o(u),e=t.getNationalNumber(d),r=t.evaluateNationalNumber(e);if(!r.isValid)return r;let i=e;return a?.format==="e164"?i=l(t.countryCode,e):a?.format==="international"&&(i=`+${t.countryCode} ${e}`),{isValid:true,type:r.type,formatted:i}}}var c=s({countryCode:"51",getNationalNumber:t=>t.startsWith("51")&&t.length>9?t.slice(2):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:t.startsWith("9")?{isValid:true,type:"mobile"}:/^[01]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Peru"}});export{c as validate};//# sourceMappingURL=pe.js.map
2
2
  //# sourceMappingURL=pe.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","type","formatted"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,EAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,IAAA,CAEd,SAASC,CAAAA,CAASJ,EAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,EAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,GAAKG,CAAAA,CAAQ,MAAA,CAAS,CAAA,GACvDC,CAAAA,CAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,MAAA,GAAW,CAAA,CACtB,OAAO,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,+BAAgC,CAAA,CAGlE,IAAMC,CAAAA,CAAOD,EAAS,UAAA,CAAW,GAAG,CAAA,CAChC,QAAA,CACA,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CACnB,UAAA,CACA,MAAA,CAEN,GAAI,CAACC,CAAAA,CACH,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,yBAA0B,CAAA,CAG5D,IAAIC,EAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,EAAWE,CAAAA,CAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIN,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAC1C","file":"pe.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '51';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length > 9) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // Peruvian numbers: 9 digits\n if (national.length !== 9) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n\n const type = national.startsWith('9')\n ? 'mobile'\n : /^[01]/.test(national)\n ? 'landline'\n : undefined;\n\n if (!type) {\n return { isValid: false, error: 'Invalid prefix for Peru' };\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type, formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate"],"mappings":"AAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,CAAAA,CAAO,iBAAA,CAAkBE,CAAO,EAE3CE,CAAAA,CAAaJ,CAAAA,CAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,QACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAMC,CAAAA,CAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,KC9BaC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,CAAAA,CAAQ,WAAW,IAAI,CAAA,EAAKA,CAAAA,CAAQ,MAAA,CAAS,EAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACtE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,+BAAgC,CAAA,CAE9DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErC,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,yBAA0B,CAE9D,CAAC","file":"pe.js","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '51',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('51') && cleaned.length > 9 ? cleaned.slice(2) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 9) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n if (national.startsWith('9')) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[01]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Peru' };\n },\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';function a(t){return t.replace(/\D/g,"")}function s(t,n){return `+${t}${n}`}var i="1";function u(t,n){let r=a(t),e=r;if(r.startsWith(i)&&r.length===11&&(e=r.slice(i.length)),e.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let l=e.substring(0,3);if(!/^[2-9][0-8][0-9]$/.test(l))return {isValid:false,error:"Invalid area code"};let f=e.substring(3,6);if(!/^[2-9]\d{2}$/.test(f))return {isValid:false,error:"Invalid exchange code"};let o=e;return n?.format==="e164"?o=s(i,e):n?.format==="international"&&(o=`+${i} ${e}`),{isValid:true,type:"unknown",formatted:o}}exports.validate=u;//# sourceMappingURL=us.cjs.map
1
+ 'use strict';function s(t){return t.replace(/\D/g,"")}function l(t,e){return `+${t}${e}`}function u(t){return function(n,o){let d=s(n),r=t.getNationalNumber(d),a=t.evaluateNationalNumber(r);if(!a.isValid)return a;let i=r;return o?.format==="e164"?i=l(t.countryCode,r):o?.format==="international"&&(i=`+${t.countryCode} ${r}`),{isValid:true,type:a.type,formatted:i}}}var p=u({countryCode:"1",getNationalNumber:t=>t.startsWith("1")&&t.length===11?t.slice(1):t,evaluateNationalNumber:t=>{if(t.length!==10)return {isValid:false,error:"Phone number must be 10 digits"};let e=t.substring(0,3);if(!/^[2-9][0-8][0-9]$/.test(e))return {isValid:false,error:"Invalid area code"};let n=t.substring(3,6);return /^[2-9]\d{2}$/.test(n)?{isValid:true,type:"unknown"}:{isValid:false,error:"Invalid exchange code"}}});exports.validate=p;//# sourceMappingURL=us.cjs.map
2
2
  //# sourceMappingURL=us.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/utils.ts","../../src/locales/us.ts"],"names":["cleanPhone","phone","formatE164","countryCode","COUNTRY_CODE","validate","options","cleaned","national","areaCode","exchangeCode","formatted"],"mappings":"aAAO,SAASA,CAAAA,CAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,CAAAA,CAAuB,CACrE,OAAO,CAAA,CAAA,EAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCHA,IAAMG,CAAAA,CAAe,GAAA,CAEd,SAASC,CAAAA,CAASJ,CAAAA,CAAeK,EAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAG5BO,CAAAA,CAAWD,CAAAA,CAMf,GALIA,CAAAA,CAAQ,UAAA,CAAWH,CAAY,CAAA,EAAKG,CAAAA,CAAQ,MAAA,GAAW,EAAA,GACzDC,CAAAA,CAAWD,CAAAA,CAAQ,KAAA,CAAMH,CAAAA,CAAa,MAAM,CAAA,CAAA,CAI1CI,CAAAA,CAAS,MAAA,GAAW,EAAA,CACtB,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAInE,IAAMC,CAAAA,CAAWD,CAAAA,CAAS,SAAA,CAAU,CAAA,CAAG,CAAC,CAAA,CACxC,GAAI,CAAC,mBAAA,CAAoB,IAAA,CAAKC,CAAQ,CAAA,CACpC,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,mBAAoB,CAAA,CAItD,IAAMC,CAAAA,CAAeF,CAAAA,CAAS,SAAA,CAAU,CAAA,CAAG,CAAC,CAAA,CAC5C,GAAI,CAAC,cAAA,CAAe,IAAA,CAAKE,CAAY,CAAA,CACnC,OAAO,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,uBAAwB,CAAA,CAG1D,IAAIC,CAAAA,CAAYH,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,MAAA,CACtBK,CAAAA,CAAYT,CAAAA,CAAWE,CAAAA,CAAcI,CAAQ,CAAA,CACpCF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BK,CAAAA,CAAY,CAAA,CAAA,EAAIP,CAAY,CAAA,CAAA,EAAII,CAAQ,CAAA,CAAA,CAAA,CAGnC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAA,CAAW,SAAA,CAAAG,CAAU,CACrD","file":"us.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from '../core/types.js';\nimport { cleanPhone, formatE164 } from '../core/utils.js';\n\nconst COUNTRY_CODE = '1';\n\nexport function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n\n // Check if it includes country code\n let national = cleaned;\n if (cleaned.startsWith(COUNTRY_CODE) && cleaned.length === 11) {\n national = cleaned.slice(COUNTRY_CODE.length);\n }\n\n // US/Canada numbers: 10 digits (NPA-NXX-XXXX)\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n\n // Check valid area code (NPA): first digit 2-9, second digit 0-8, third digit 0-9\n const areaCode = national.substring(0, 3);\n if (!/^[2-9][0-8][0-9]$/.test(areaCode)) {\n return { isValid: false, error: 'Invalid area code' };\n }\n\n // Check valid exchange code (NXX): first digit 2-9\n const exchangeCode = national.substring(3, 6);\n if (!/^[2-9]\\d{2}$/.test(exchangeCode)) {\n return { isValid: false, error: 'Invalid exchange code' };\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(COUNTRY_CODE, national);\n } else if (options?.format === 'international') {\n formatted = `+${COUNTRY_CODE} ${national}`;\n }\n\n return { isValid: true, type: 'unknown', formatted };\n}\n"]}
1
+ {"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/us.ts"],"names":["cleanPhone","phone","formatE164","countryCode","createValidator","config","options","cleaned","national","evaluation","formatted","validate","areaCode","exchangeCode"],"mappings":"aAAO,SAASA,EAAWC,CAAAA,CAAuB,CAChD,OAAOA,CAAAA,CAAM,QAAQ,KAAA,CAAO,EAAE,CAChC,CAEO,SAASC,CAAAA,CAAWC,CAAAA,CAAqBF,EAAuB,CACrE,OAAO,IAAIE,CAAW,CAAA,EAAGF,CAAK,CAAA,CAChC,CCOO,SAASG,CAAAA,CAAgBC,CAAAA,CAA8B,CAC5D,OAAO,SAAkBJ,CAAAA,CAAeK,CAAAA,CAA+C,CACrF,IAAMC,CAAAA,CAAUP,CAAAA,CAAWC,CAAK,CAAA,CAC1BO,CAAAA,CAAWH,EAAO,iBAAA,CAAkBE,CAAO,CAAA,CAE3CE,CAAAA,CAAaJ,EAAO,sBAAA,CAAuBG,CAAQ,CAAA,CACzD,GAAI,CAACC,CAAAA,CAAW,OAAA,CACd,OAAOA,CAAAA,CAGT,IAAIC,CAAAA,CAAYF,CAAAA,CAChB,OAAIF,CAAAA,EAAS,MAAA,GAAW,OACtBI,CAAAA,CAAYR,CAAAA,CAAWG,CAAAA,CAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,MAAA,GAAW,eAAA,GAC7BI,EAAY,CAAA,CAAA,EAAIL,CAAAA,CAAO,WAAW,CAAA,CAAA,EAAIG,CAAQ,CAAA,CAAA,CAAA,CAGzC,CAAE,QAAS,IAAA,CAAM,IAAA,CAAMC,EAAW,IAAA,CAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,CC9BO,IAAMC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,WAAA,CAAa,GAAA,CACb,iBAAA,CAAoBG,CAAAA,EAClBA,EAAQ,UAAA,CAAW,GAAG,GAAKA,CAAAA,CAAQ,MAAA,GAAW,GAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACxE,sBAAA,CAAyBC,CAAAA,EAAa,CACpC,GAAIA,EAAS,MAAA,GAAW,EAAA,CACtB,OAAO,CAAE,QAAS,KAAA,CAAO,KAAA,CAAO,gCAAiC,CAAA,CAEnE,IAAMI,EAAWJ,CAAAA,CAAS,SAAA,CAAU,CAAA,CAAG,CAAC,EACxC,GAAI,CAAC,mBAAA,CAAoB,IAAA,CAAKI,CAAQ,CAAA,CACpC,OAAO,CAAE,OAAA,CAAS,MAAO,KAAA,CAAO,mBAAoB,EAEtD,IAAMC,CAAAA,CAAeL,EAAS,SAAA,CAAU,CAAA,CAAG,CAAC,CAAA,CAC5C,OAAK,cAAA,CAAe,IAAA,CAAKK,CAAY,CAAA,CAG9B,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAAA,CAF/B,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,uBAAwB,CAG5D,CACF,CAAC","file":"us.cjs","sourcesContent":["export function cleanPhone(phone: string): string {\n return phone.replace(/\\D/g, '');\n}\n\nexport function formatE164(countryCode: string, phone: string): string {\n return `+${countryCode}${phone}`;\n}\n","import type { PhoneValidationResult, PhoneOptions } from './types.js';\nimport { cleanPhone, formatE164 } from './utils.js';\n\nexport interface PhoneValidatorConfig {\n countryCode: string;\n getNationalNumber: (cleaned: string) => string;\n evaluateNationalNumber: (\n national: string\n ) =>\n | { isValid: true; type: 'mobile' | 'landline' | 'unknown' }\n | { isValid: false; error: string };\n}\n\nexport function createValidator(config: PhoneValidatorConfig) {\n return function validate(phone: string, options?: PhoneOptions): PhoneValidationResult {\n const cleaned = cleanPhone(phone);\n const national = config.getNationalNumber(cleaned);\n\n const evaluation = config.evaluateNationalNumber(national);\n if (!evaluation.isValid) {\n return evaluation;\n }\n\n let formatted = national;\n if (options?.format === 'e164') {\n formatted = formatE164(config.countryCode, national);\n } else if (options?.format === 'international') {\n formatted = `+${config.countryCode} ${national}`;\n }\n\n return { isValid: true, type: evaluation.type, formatted };\n };\n}\n","import { createValidator } from '../core/validator.js';\n\nexport const validate = createValidator({\n countryCode: '1',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('1') && cleaned.length === 11 ? cleaned.slice(1) : cleaned,\n evaluateNationalNumber: (national) => {\n if (national.length !== 10) {\n return { isValid: false, error: 'Phone number must be 10 digits' };\n }\n const areaCode = national.substring(0, 3);\n if (!/^[2-9][0-8][0-9]$/.test(areaCode)) {\n return { isValid: false, error: 'Invalid area code' };\n }\n const exchangeCode = national.substring(3, 6);\n if (!/^[2-9]\\d{2}$/.test(exchangeCode)) {\n return { isValid: false, error: 'Invalid exchange code' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}