UNPKG

@smooai/utils

Version:

A collection of shared utilities and tools used across SmooAI projects. This package provides common functionality to standardize and simplify development across all SmooAI repositories.

1 lines 1.3 kB
{"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":[]}