24 lines
673 B
TypeScript
24 lines
673 B
TypeScript
"use client"
|
|
|
|
import parsePhoneNumberFromString from "libphonenumber-js"
|
|
|
|
export default function usePhoneNumberParsing(
|
|
initialPhoneNumber?: string,
|
|
initialPhoneNumberCC?: string
|
|
) {
|
|
const parsedInitialPhoneNumber = initialPhoneNumber
|
|
? parsePhoneNumberFromString(initialPhoneNumber)
|
|
: undefined
|
|
|
|
let phoneNumberCC = initialPhoneNumberCC
|
|
if (parsedInitialPhoneNumber && !phoneNumberCC) {
|
|
phoneNumberCC = parsedInitialPhoneNumber.country ?? ""
|
|
}
|
|
|
|
const phoneNumber = parsedInitialPhoneNumber?.isValid()
|
|
? parsedInitialPhoneNumber.nationalNumber
|
|
: initialPhoneNumber
|
|
|
|
return { phoneNumber, phoneNumberCC: phoneNumberCC?.toLowerCase() }
|
|
}
|