soff-phone 0.0.8 → 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 +1 -1
package/dist/locales/cl.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:"56",getNationalNumber:t=>t.startsWith("56")&&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"}:/^[2-7]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Chile"}});export{c as validate};//# sourceMappingURL=cl.js.map
|
|
2
2
|
//# sourceMappingURL=cl.js.map
|
package/dist/locales/cl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/cl.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/cl.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,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,0BAA2B,CAE/D,CAAC","file":"cl.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: '56',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('56') && 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 (/^[2-7]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Chile' };\n },\n});\n"]}
|
package/dist/locales/co.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:"57",getNationalNumber:t=>t.startsWith("57")&&t.length>10?t.slice(2):t,evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:t.startsWith("3")?{isValid:true,type:"mobile"}:t.startsWith("60")?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Colombia"}});exports.validate=c;//# sourceMappingURL=co.cjs.map
|
|
2
2
|
//# sourceMappingURL=co.cjs.map
|
package/dist/locales/co.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/co.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/co.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,GAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,gCAAiC,CAAA,CAE/DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErCA,CAAAA,CAAS,UAAA,CAAW,IAAI,CAAA,CACnB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,6BAA8B,CAElE,CAAC","file":"co.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: '57',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('57') && 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 if (national.startsWith('3')) {\n return { isValid: true, type: 'mobile' };\n }\n if (national.startsWith('60')) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Colombia' };\n },\n});\n"]}
|
package/dist/locales/co.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../co-
|
|
2
|
+
export { v as validate } from '../co-DsNqMeJC.cjs';
|
package/dist/locales/co.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../co-
|
|
2
|
+
export { v as validate } from '../co-Ds64GC27.js';
|
package/dist/locales/co.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:"57",getNationalNumber:t=>t.startsWith("57")&&t.length>10?t.slice(2):t,evaluateNationalNumber:t=>t.length!==10?{isValid:false,error:"Phone number must be 10 digits"}:t.startsWith("3")?{isValid:true,type:"mobile"}:t.startsWith("60")?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Colombia"}});export{c as validate};//# sourceMappingURL=co.js.map
|
|
2
2
|
//# sourceMappingURL=co.js.map
|
package/dist/locales/co.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/co.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/co.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,GAAKA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,EACvE,sBAAA,CAAyBC,CAAAA,EACnBA,CAAAA,CAAS,MAAA,GAAW,EAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,MAAO,gCAAiC,CAAA,CAE/DA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErCA,CAAAA,CAAS,UAAA,CAAW,IAAI,CAAA,CACnB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,6BAA8B,CAElE,CAAC","file":"co.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: '57',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('57') && 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 if (national.startsWith('3')) {\n return { isValid: true, type: 'mobile' };\n }\n if (national.startsWith('60')) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Colombia' };\n },\n});\n"]}
|
package/dist/locales/cr.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:"506",getNationalNumber:t=>t.startsWith("506")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:/^[5678]/.test(t)?{isValid:true,type:"mobile"}:t.startsWith("2")?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=cr.cjs.map
|
|
2
2
|
//# sourceMappingURL=cr.cjs.map
|
package/dist/locales/cr.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/cr.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/cr.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,SAAA,CAAU,IAAA,CAAKA,CAAQ,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErCA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"cr.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: '506',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('506') && 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 (/^[5678]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (national.startsWith('2')) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
|
package/dist/locales/cr.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../cr-
|
|
2
|
+
export { v as validate } from '../cr-D1nfQd5a.cjs';
|
package/dist/locales/cr.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../cr-
|
|
2
|
+
export { v as validate } from '../cr-DZo_UJeA.js';
|
package/dist/locales/cr.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:"506",getNationalNumber:t=>t.startsWith("506")&&t.length>8?t.slice(3):t,evaluateNationalNumber:t=>t.length!==8?{isValid:false,error:"Phone number must be 8 digits"}:/^[5678]/.test(t)?{isValid:true,type:"mobile"}:t.startsWith("2")?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=cr.js.map
|
|
2
2
|
//# sourceMappingURL=cr.js.map
|
package/dist/locales/cr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/cr.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/cr.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,SAAA,CAAU,IAAA,CAAKA,CAAQ,CAAA,CAClB,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,QAAS,CAAA,CAErCA,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"cr.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: '506',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('506') && 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 (/^[5678]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (national.startsWith('2')) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
|
package/dist/locales/de.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 p=s({countryCode:"49",getNationalNumber:t=>{let e=t.startsWith("49")?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length<9||t.length>11?{isValid:false,error:"Phone number must be 9-11 digits"}:/^1[567]/.test(t)?{isValid:true,type:"mobile"}:{isValid:true,type:"landline"}});exports.validate=p;//# sourceMappingURL=de.cjs.map
|
|
2
2
|
//# sourceMappingURL=de.cjs.map
|
package/dist/locales/de.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/de.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/de.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,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,EAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,SAAW,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,KAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,CC9BO,IAAMC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,YAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,CAAAA,CAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,EAAIA,CAAAA,CAC7D,OAAIC,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,CAAA,CACA,uBAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,CAAS,CAAA,EAAKA,EAAS,MAAA,CAAS,EAAA,CACpC,CAAE,OAAA,CAAS,MAAO,KAAA,CAAO,kCAAmC,CAAA,CAEjE,SAAA,CAAU,IAAA,CAAKA,CAAQ,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,QAAS,CAAA,CAElC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAE7C,CAAC","file":"de.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: '49',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('49') ? 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 > 11) {\n return { isValid: false, error: 'Phone number must be 9-11 digits' };\n }\n if (/^1[567]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n return { isValid: true, type: 'landline' };\n },\n});\n"]}
|
package/dist/locales/de.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../de-
|
|
2
|
+
export { v as validate } from '../de-D8Dy5ZLN.cjs';
|
package/dist/locales/de.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../de-
|
|
2
|
+
export { v as validate } from '../de-B0lClAaa.js';
|
package/dist/locales/de.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 p=s({countryCode:"49",getNationalNumber:t=>{let e=t.startsWith("49")?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length<9||t.length>11?{isValid:false,error:"Phone number must be 9-11 digits"}:/^1[567]/.test(t)?{isValid:true,type:"mobile"}:{isValid:true,type:"landline"}});export{p as validate};//# sourceMappingURL=de.js.map
|
|
2
2
|
//# sourceMappingURL=de.js.map
|
package/dist/locales/de.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/de.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/de.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,MAAA,GAAW,MAAA,CACtBI,CAAAA,CAAYR,CAAAA,CAAWG,EAAO,WAAA,CAAaG,CAAQ,CAAA,CAC1CF,CAAAA,EAAS,SAAW,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,KAAM,SAAA,CAAAC,CAAU,CAC3D,CACF,CC9BO,IAAMC,CAAAA,CAAWP,CAAAA,CAAgB,CACtC,YAAa,IAAA,CACb,iBAAA,CAAoBG,CAAAA,EAAY,CAC9B,IAAIC,CAAAA,CAAWD,CAAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,EAAIA,CAAAA,CAC7D,OAAIC,CAAAA,CAAS,UAAA,CAAW,GAAG,CAAA,GACzBA,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,CAAC,CAAA,CAAA,CAEtBA,CACT,CAAA,CACA,uBAAyBA,CAAAA,EACnBA,CAAAA,CAAS,MAAA,CAAS,CAAA,EAAKA,EAAS,MAAA,CAAS,EAAA,CACpC,CAAE,OAAA,CAAS,MAAO,KAAA,CAAO,kCAAmC,CAAA,CAEjE,SAAA,CAAU,IAAA,CAAKA,CAAQ,CAAA,CAClB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,QAAS,CAAA,CAElC,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAE7C,CAAC","file":"de.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: '49',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('49') ? 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 > 11) {\n return { isValid: false, error: 'Phone number must be 9-11 digits' };\n }\n if (/^1[567]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n return { isValid: true, type: 'landline' };\n },\n});\n"]}
|
package/dist/locales/ec.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:"593",getNationalNumber:t=>t.startsWith("593")&&t.length>9?t.slice(3):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:t.startsWith("9")?{isValid:true,type:"mobile"}:/^[2-7]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Ecuador"}});exports.validate=c;//# sourceMappingURL=ec.cjs.map
|
|
2
2
|
//# sourceMappingURL=ec.cjs.map
|
package/dist/locales/ec.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/ec.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/ec.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,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,4BAA6B,CAEjE,CAAC","file":"ec.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: '593',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('593') && cleaned.length > 9 ? cleaned.slice(3) : 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 (/^[2-7]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Ecuador' };\n },\n});\n"]}
|
package/dist/locales/ec.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../ec-
|
|
2
|
+
export { v as validate } from '../ec-Dmvg9ZEu.cjs';
|
package/dist/locales/ec.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../ec-
|
|
2
|
+
export { v as validate } from '../ec-DMEwGX4e.js';
|
package/dist/locales/ec.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:"593",getNationalNumber:t=>t.startsWith("593")&&t.length>9?t.slice(3):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:t.startsWith("9")?{isValid:true,type:"mobile"}:/^[2-7]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Ecuador"}});export{c as validate};//# sourceMappingURL=ec.js.map
|
|
2
2
|
//# sourceMappingURL=ec.js.map
|
package/dist/locales/ec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/ec.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/ec.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,QAAA,CAAS,IAAA,CAAKA,CAAQ,CAAA,CACjB,CAAE,QAAS,IAAA,CAAM,IAAA,CAAM,UAAW,CAAA,CAEpC,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,4BAA6B,CAEjE,CAAC","file":"ec.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: '593',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('593') && cleaned.length > 9 ? cleaned.slice(3) : 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 (/^[2-7]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Ecuador' };\n },\n});\n"]}
|
package/dist/locales/es.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:"34",getNationalNumber:t=>t.startsWith("34")&&t.length>9?t.slice(2):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:/^[67]/.test(t)?{isValid:true,type:"mobile"}:/^[89]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Spain"}});exports.validate=c;//# sourceMappingURL=es.cjs.map
|
|
2
2
|
//# sourceMappingURL=es.cjs.map
|
package/dist/locales/es.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/es.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/es.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,CAE9D,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,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,0BAA2B,CAE/D,CAAC","file":"es.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: '34',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('34') && 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 (/^[67]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[89]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Spain' };\n },\n});\n"]}
|
package/dist/locales/es.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../es-
|
|
2
|
+
export { v as validate } from '../es-nCje-ks0.cjs';
|
package/dist/locales/es.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../es-
|
|
2
|
+
export { v as validate } from '../es-C9fnTkGA.js';
|
package/dist/locales/es.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:"34",getNationalNumber:t=>t.startsWith("34")&&t.length>9?t.slice(2):t,evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:/^[67]/.test(t)?{isValid:true,type:"mobile"}:/^[89]/.test(t)?{isValid:true,type:"landline"}:{isValid:false,error:"Invalid prefix for Spain"}});export{c as validate};//# sourceMappingURL=es.js.map
|
|
2
2
|
//# sourceMappingURL=es.js.map
|
package/dist/locales/es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/es.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/es.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,CAE9D,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,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,0BAA2B,CAE/D,CAAC","file":"es.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: '34',\n getNationalNumber: (cleaned) =>\n cleaned.startsWith('34') && 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 (/^[67]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[89]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: false, error: 'Invalid prefix for Spain' };\n },\n});\n"]}
|
package/dist/locales/fr.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:"33",getNationalNumber:t=>{let e=t.startsWith("33")&&t.length>9?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:/^[67]/.test(t)?{isValid:true,type:"mobile"}:/^[1-5,9]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});exports.validate=c;//# sourceMappingURL=fr.cjs.map
|
|
2
2
|
//# sourceMappingURL=fr.cjs.map
|
package/dist/locales/fr.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/fr.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/fr.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,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACnF,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,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,+BAAgC,EAE9D,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,QAAS,EAErC,UAAA,CAAW,IAAA,CAAKA,CAAQ,CAAA,CACnB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,EAEpC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"fr.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: '33',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('33') && 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) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n if (/^[67]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[1-5,9]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
|
package/dist/locales/fr.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.cjs';
|
|
2
|
-
export { v as validate } from '../fr-
|
|
2
|
+
export { v as validate } from '../fr-6elCkAaM.cjs';
|
package/dist/locales/fr.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import '../types-BCr040RT.js';
|
|
2
|
-
export { v as validate } from '../fr-
|
|
2
|
+
export { v as validate } from '../fr-DhJ1s23l.js';
|
package/dist/locales/fr.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:"33",getNationalNumber:t=>{let e=t.startsWith("33")&&t.length>9?t.slice(2):t;return e.startsWith("0")&&(e=e.slice(1)),e},evaluateNationalNumber:t=>t.length!==9?{isValid:false,error:"Phone number must be 9 digits"}:/^[67]/.test(t)?{isValid:true,type:"mobile"}:/^[1-5,9]/.test(t)?{isValid:true,type:"landline"}:{isValid:true,type:"unknown"}});export{c as validate};//# sourceMappingURL=fr.js.map
|
|
2
2
|
//# sourceMappingURL=fr.js.map
|
package/dist/locales/fr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/utils.ts","../../src/locales/fr.ts"],"names":["cleanPhone","phone","formatE164","countryCode","
|
|
1
|
+
{"version":3,"sources":["../../src/core/utils.ts","../../src/core/validator.ts","../../src/locales/fr.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,CAAA,CAAIA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAIA,CAAAA,CACnF,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,CAAA,CACf,CAAE,OAAA,CAAS,KAAA,CAAO,KAAA,CAAO,+BAAgC,EAE9D,OAAA,CAAQ,IAAA,CAAKA,CAAQ,CAAA,CAChB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,QAAS,EAErC,UAAA,CAAW,IAAA,CAAKA,CAAQ,CAAA,CACnB,CAAE,OAAA,CAAS,IAAA,CAAM,IAAA,CAAM,UAAW,EAEpC,CAAE,OAAA,CAAS,KAAM,IAAA,CAAM,SAAU,CAE5C,CAAC","file":"fr.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: '33',\n getNationalNumber: (cleaned) => {\n let national = cleaned.startsWith('33') && 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) {\n return { isValid: false, error: 'Phone number must be 9 digits' };\n }\n if (/^[67]/.test(national)) {\n return { isValid: true, type: 'mobile' };\n }\n if (/^[1-5,9]/.test(national)) {\n return { isValid: true, type: 'landline' };\n }\n return { isValid: true, type: 'unknown' };\n },\n});\n"]}
|