Files
web/apps/scandic-web/utils/phone.ts
Joakim Jäderberg daf765f3d5 Merged in feature/wrap-logging (pull request #2511)
Feature/wrap logging

* feat: change all logging to go through our own logger function so that we can control log levels

* move packages/trpc to using our own logger

* merge


Approved-by: Linus Flood
2025-07-03 12:37:04 +00:00

29 lines
769 B
TypeScript

import parsePhoneNumberFromString, { type CountryCode } from "libphonenumber-js"
import { logger } from "@scandic-hotels/common/logger"
export function formatPhoneNumber(
phoneNumber: string,
phoneNumberCC?: string | null
): string {
if (!phoneNumber) return ""
const normalized = phoneNumber.trim().replaceAll(/-|\s/g, "")
const parsedPhonenumber = phoneNumberCC?.length
? parsePhoneNumberFromString(
normalized,
phoneNumberCC.toUpperCase() as CountryCode
)
: parsePhoneNumberFromString(normalized)
if (!parsedPhonenumber?.isValid()) {
logger.warn(
`Invalid phone number: ${phoneNumber} with country code: ${phoneNumberCC}`,
parsedPhonenumber
)
}
return parsedPhonenumber?.number || normalized
}