{"version":3,"file":"phoneNumber.mjs","names":[],"sources":["../../src/validation/phoneNumber.ts"],"sourcesContent":["import { parsePhoneNumberWithError, PhoneNumber } from 'libphonenumber-js';\nimport { RefinementCtx, z } from 'zod';\n\nexport type * from 'libphonenumber-js';\n\nexport function validateAndTransformPhoneNumber(value: string | undefined, context: RefinementCtx): string | undefined {\n    let phoneNumber: PhoneNumber;\n    if (!value) return undefined;\n    try {\n        phoneNumber = parsePhoneNumberWithError(value, 'US');\n    } catch (error) {\n        let errorMessage = `Unable to parse phone number (${value}) and convert into E.164 format.`;\n        if (error instanceof Error) {\n            errorMessage += ` Error: ${error.message}`;\n        }\n        context.addIssue({\n            code: z.ZodIssueCode.custom,\n            message: errorMessage,\n        });\n\n        return z.NEVER;\n    }\n\n    return phoneNumber.number;\n}\n"],"mappings":";;;AAKA,SAAgB,gCAAgC,OAA2B,SAA4C;CACnH,IAAI;CACJ,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,IAAI;EACA,cAAc,0BAA0B,OAAO,IAAI;CACvD,SAAS,OAAO;EACZ,IAAI,eAAe,iCAAiC,MAAM;EAC1D,IAAI,iBAAiB,OACjB,gBAAgB,WAAW,MAAM;EAErC,QAAQ,SAAS;GACb,MAAM,EAAE,aAAa;GACrB,SAAS;EACb,CAAC;EAED,OAAO,EAAE;CACb;CAEA,OAAO,YAAY;AACvB"}