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.
- package/dist/{ar-GEGiRgO-.d.cts → ar-CoG6alvv.d.cts} +1 -1
- package/dist/{ar-tFIt4w8t.d.ts → ar-DflcS_NX.d.ts} +1 -1
- package/dist/{br-DDdWmYiI.d.ts → br-DUpSkSAW.d.ts} +1 -1
- package/dist/{br-BT6qg54j.d.cts → br-wLM9wWJU.d.cts} +1 -1
- package/dist/{ca-DCSAnAM6.d.cts → ca-CrMz6MFF.d.cts} +1 -1
- package/dist/{ca-_dlgNQpK.d.ts → ca-DgJh2Fn8.d.ts} +1 -1
- package/dist/{cl-BnJa59XK.d.ts → cl-BlYnSeBu.d.ts} +1 -1
- package/dist/{cl-FomUh7u7.d.cts → cl-Bsw7oXO1.d.cts} +1 -1
- package/dist/{co-D3zWUbcg.d.ts → co-Ds64GC27.d.ts} +1 -1
- package/dist/{co-HLHZhdf-.d.cts → co-DsNqMeJC.d.cts} +1 -1
- package/dist/{cr-TYetkCTg.d.cts → cr-D1nfQd5a.d.cts} +1 -1
- package/dist/{cr-CkAZd-e7.d.ts → cr-DZo_UJeA.d.ts} +1 -1
- package/dist/{de-D-lK2VKQ.d.ts → de-B0lClAaa.d.ts} +1 -1
- package/dist/{de-l5sbcQdU.d.cts → de-D8Dy5ZLN.d.cts} +1 -1
- package/dist/{ec-CLItBhMX.d.ts → ec-DMEwGX4e.d.ts} +1 -1
- package/dist/{ec-G_GvdmHT.d.cts → ec-Dmvg9ZEu.d.cts} +1 -1
- package/dist/{es-C0cTzz5Q.d.ts → es-C9fnTkGA.d.ts} +1 -1
- package/dist/{es-DBWm_0BJ.d.cts → es-nCje-ks0.d.cts} +1 -1
- package/dist/{fr-BFsuh3v2.d.cts → fr-6elCkAaM.d.cts} +1 -1
- package/dist/{fr-BE6W1TEy.d.ts → fr-DhJ1s23l.d.ts} +1 -1
- package/dist/{gb-Dsiq1sFD.d.cts → gb-B25B912T.d.cts} +1 -1
- package/dist/{gb-Cvog8XpH.d.ts → gb-ehC5-Ys2.d.ts} +1 -1
- package/dist/{gt-CHOp9jw8.d.cts → gt-DKGg-Cq-.d.cts} +1 -1
- package/dist/{gt-BJOTX_KH.d.ts → gt-wRdkBW-T.d.ts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -18
- package/dist/index.d.ts +18 -18
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{it-Cvn0ckKc.d.cts → it-B434bcYI.d.cts} +1 -1
- package/dist/{it-DRkyyTTW.d.ts → it-fKUkvQel.d.ts} +1 -1
- package/dist/locales/ar.cjs +1 -1
- package/dist/locales/ar.cjs.map +1 -1
- package/dist/locales/ar.d.cts +1 -1
- package/dist/locales/ar.d.ts +1 -1
- package/dist/locales/ar.js +1 -1
- package/dist/locales/ar.js.map +1 -1
- package/dist/locales/br.cjs +1 -1
- package/dist/locales/br.cjs.map +1 -1
- package/dist/locales/br.d.cts +1 -1
- package/dist/locales/br.d.ts +1 -1
- package/dist/locales/br.js +1 -1
- package/dist/locales/br.js.map +1 -1
- package/dist/locales/ca.cjs +1 -1
- package/dist/locales/ca.cjs.map +1 -1
- package/dist/locales/ca.d.cts +1 -1
- package/dist/locales/ca.d.ts +1 -1
- package/dist/locales/ca.js +1 -1
- package/dist/locales/ca.js.map +1 -1
- package/dist/locales/cl.cjs +1 -1
- package/dist/locales/cl.cjs.map +1 -1
- package/dist/locales/cl.d.cts +1 -1
- package/dist/locales/cl.d.ts +1 -1
- package/dist/locales/cl.js +1 -1
- package/dist/locales/cl.js.map +1 -1
- package/dist/locales/co.cjs +1 -1
- package/dist/locales/co.cjs.map +1 -1
- package/dist/locales/co.d.cts +1 -1
- package/dist/locales/co.d.ts +1 -1
- package/dist/locales/co.js +1 -1
- package/dist/locales/co.js.map +1 -1
- package/dist/locales/cr.cjs +1 -1
- package/dist/locales/cr.cjs.map +1 -1
- package/dist/locales/cr.d.cts +1 -1
- package/dist/locales/cr.d.ts +1 -1
- package/dist/locales/cr.js +1 -1
- package/dist/locales/cr.js.map +1 -1
- package/dist/locales/de.cjs +1 -1
- package/dist/locales/de.cjs.map +1 -1
- package/dist/locales/de.d.cts +1 -1
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +1 -1
- package/dist/locales/de.js.map +1 -1
- package/dist/locales/ec.cjs +1 -1
- package/dist/locales/ec.cjs.map +1 -1
- package/dist/locales/ec.d.cts +1 -1
- package/dist/locales/ec.d.ts +1 -1
- package/dist/locales/ec.js +1 -1
- package/dist/locales/ec.js.map +1 -1
- package/dist/locales/es.cjs +1 -1
- package/dist/locales/es.cjs.map +1 -1
- package/dist/locales/es.d.cts +1 -1
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +1 -1
- package/dist/locales/es.js.map +1 -1
- package/dist/locales/fr.cjs +1 -1
- package/dist/locales/fr.cjs.map +1 -1
- package/dist/locales/fr.d.cts +1 -1
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +1 -1
- package/dist/locales/fr.js.map +1 -1
- package/dist/locales/gb.cjs +1 -1
- package/dist/locales/gb.cjs.map +1 -1
- package/dist/locales/gb.d.cts +1 -1
- package/dist/locales/gb.d.ts +1 -1
- package/dist/locales/gb.js +1 -1
- package/dist/locales/gb.js.map +1 -1
- package/dist/locales/gt.cjs +1 -1
- package/dist/locales/gt.cjs.map +1 -1
- package/dist/locales/gt.d.cts +1 -1
- package/dist/locales/gt.d.ts +1 -1
- package/dist/locales/gt.js +1 -1
- package/dist/locales/gt.js.map +1 -1
- package/dist/locales/it.cjs +1 -1
- package/dist/locales/it.cjs.map +1 -1
- package/dist/locales/it.d.cts +1 -1
- package/dist/locales/it.d.ts +1 -1
- package/dist/locales/it.js +1 -1
- package/dist/locales/it.js.map +1 -1
- package/dist/locales/mx.cjs +1 -1
- package/dist/locales/mx.cjs.map +1 -1
- package/dist/locales/mx.d.cts +1 -1
- package/dist/locales/mx.d.ts +1 -1
- package/dist/locales/mx.js +1 -1
- package/dist/locales/mx.js.map +1 -1
- package/dist/locales/pa.cjs +1 -1
- package/dist/locales/pa.cjs.map +1 -1
- package/dist/locales/pa.d.cts +1 -1
- package/dist/locales/pa.d.ts +1 -1
- package/dist/locales/pa.js +1 -1
- package/dist/locales/pa.js.map +1 -1
- package/dist/locales/pe.cjs +1 -1
- package/dist/locales/pe.cjs.map +1 -1
- package/dist/locales/pe.d.cts +1 -1
- package/dist/locales/pe.d.ts +1 -1
- package/dist/locales/pe.js +1 -1
- package/dist/locales/pe.js.map +1 -1
- package/dist/locales/us.cjs +1 -1
- package/dist/locales/us.cjs.map +1 -1
- package/dist/locales/us.d.cts +1 -1
- package/dist/locales/us.d.ts +1 -1
- package/dist/locales/us.js +1 -1
- package/dist/locales/us.js.map +1 -1
- package/dist/locales/ve.cjs +1 -1
- package/dist/locales/ve.cjs.map +1 -1
- package/dist/locales/ve.d.cts +1 -1
- package/dist/locales/ve.d.ts +1 -1
- package/dist/locales/ve.js +1 -1
- package/dist/locales/ve.js.map +1 -1
- package/dist/{mx-CmkrNDw0.d.cts → mx-CIn7fuEP.d.cts} +1 -1
- package/dist/{mx-DkRS3Aa-.d.ts → mx-Cqj3ptQG.d.ts} +1 -1
- package/dist/{pa-BPfQzrBx.d.cts → pa-CJU86P1e.d.cts} +1 -1
- package/dist/{pa-Dyi3iuWW.d.ts → pa-DuqdSeyg.d.ts} +1 -1
- package/dist/{pe-B_5pgsR0.d.cts → pe-9EBUjBeW.d.cts} +1 -1
- package/dist/{pe-NCsXTXmc.d.ts → pe-DlAD1sw9.d.ts} +1 -1
- package/dist/{us-BaYu0g3a.d.cts → us-n2Rg22p3.d.cts} +1 -1
- package/dist/{us-KOpobREo.d.ts → us-oR1xJLtG.d.ts} +1 -1
- package/dist/{ve-BFLV2qGp.d.ts → ve-D0yC7va3.d.ts} +1 -1
- package/dist/{ve-BomxppQL.d.cts → ve-DZM4BR8e.d.cts} +1 -1
- package/package.json +6 -6
package/dist/locales/gb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/gb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/gb.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../gb-
|
|
2
|
+
export { v as validate } from '../gb-B25B912T.cjs';
|
package/dist/locales/gb.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../gb-
|
|
2
|
+
export { v as validate } from '../gb-ehC5-Ys2.js';
|
package/dist/locales/gb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/gb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gb.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/gt.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/gt.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/gt.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../gt-
|
|
2
|
+
export { v as validate } from '../gt-DKGg-Cq-.cjs';
|
package/dist/locales/gt.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../gt-
|
|
2
|
+
export { v as validate } from '../gt-wRdkBW-T.js';
|
package/dist/locales/gt.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/gt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/gt.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/it.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/it.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/it.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../it-
|
|
2
|
+
export { v as validate } from '../it-B434bcYI.cjs';
|
package/dist/locales/it.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../it-
|
|
2
|
+
export { v as validate } from '../it-fKUkvQel.js';
|
package/dist/locales/it.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/it.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/it.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/mx.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/mx.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/mx.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../mx-
|
|
2
|
+
export { v as validate } from '../mx-CIn7fuEP.cjs';
|
package/dist/locales/mx.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../mx-
|
|
2
|
+
export { v as validate } from '../mx-Cqj3ptQG.js';
|
package/dist/locales/mx.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/mx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/mx.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/pa.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/pa.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/pa.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../pa-
|
|
2
|
+
export { v as validate } from '../pa-CJU86P1e.cjs';
|
package/dist/locales/pa.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../pa-
|
|
2
|
+
export { v as validate } from '../pa-DuqdSeyg.js';
|
package/dist/locales/pa.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/pa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pa.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/pe.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/pe.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/pe.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../pe-
|
|
2
|
+
export { v as validate } from '../pe-9EBUjBeW.cjs';
|
package/dist/locales/pe.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../pe-
|
|
2
|
+
export { v as validate } from '../pe-DlAD1sw9.js';
|
package/dist/locales/pe.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
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
|
package/dist/locales/pe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/pe.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|
package/dist/locales/us.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';function
|
|
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
|
package/dist/locales/us.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/us.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
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"]}
|