{"version":3,"sources":["../../src/validation/phoneNumber.ts"],"sourcesContent":["import { E164Number, parsePhoneNumberWithError, PhoneNumber } from 'libphonenumber-js';\nimport { RefinementCtx, z } from 'zod';\n\nexport function validateAndTransformPhoneNumber(value: string | undefined, context: RefinementCtx): E164Number | 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":";;;AAAA,SAAqB,iCAA8C;AACnE,SAAwB,SAAS;AAE1B,SAAS,gCAAgC,OAA2B,SAAgD;AACvH,MAAI;AACJ,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI;AACA,kBAAc,0BAA0B,OAAO,IAAI;AAAA,EACvD,SAAS,OAAO;AACZ,QAAI,eAAe,iCAAiC,KAAK;AACzD,QAAI,iBAAiB,OAAO;AACxB,sBAAgB,WAAW,MAAM,OAAO;AAAA,IAC5C;AACA,YAAQ,SAAS;AAAA,MACb,MAAM,EAAE,aAAa;AAAA,MACrB,SAAS;AAAA,IACb,CAAC;AAED,WAAO,EAAE;AAAA,EACb;AAEA,SAAO,YAAY;AACvB;","names":[]}