Merged in feat/sw3370-move-phone-utils (pull request #2743)

feat(SW-3370): Move phone utils to common

* Move phone utils to common

* Update lock file


Approved-by: Joakim Jäderberg
This commit is contained in:
Anton Gunnarsson
2025-09-02 06:53:58 +00:00
parent 65c6bc4c59
commit ecd567f54f
12 changed files with 33 additions and 30 deletions

View File

@@ -0,0 +1,42 @@
import parsePhoneNumberFromString, { type CountryCode } from "libphonenumber-js"
import { logger } from "../logger"
import type { Lang } from "../constants/language"
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
}
export function getDefaultCountryFromLang(lang: Lang): Lowercase<CountryCode> {
const countryMap: Record<Lang, Lowercase<CountryCode>> = {
sv: "se",
da: "dk",
fi: "fi",
no: "no",
de: "de",
en: "se", // Default to Sweden for English
}
return countryMap[lang] || "se"
}