@@ -25,7 +25,7 @@ public function parse(string $phoneNumber, ?string $countryCode = null): PhoneNu
2525 $ countryCode ??= $ this ->defaultCountryCode ;
2626
2727 try {
28- $ parsedNumber = $ this ->phoneNumberUtil ->parse ($ phoneNumber , $ countryCode , keepRawInput: true );
28+ $ parsedNumber = $ this ->phoneNumberUtil ->parse ($ phoneNumber , $ countryCode , null , true );
2929 } catch (NumberParseException $ e ) {
3030 throw new InvalidArgumentException ("Unable to parse phoneNumber: " . $ phoneNumber , 0 , $ e );
3131 }
@@ -48,16 +48,27 @@ public function parse(string $phoneNumber, ?string $countryCode = null): PhoneNu
4848 (string )$ parsedNumber ->getNationalNumber (),
4949 (string )$ parsedNumber ->getRawInput (),
5050 (string )$ this ->phoneNumberUtil ->getRegionCodeForNumber ($ parsedNumber ),
51- $ this ->getNumberType ($ this ->phoneNumberUtil ->getNumberType ($ parsedNumber )),
51+ $ this ->convertNumberType ($ this ->phoneNumberUtil ->getNumberType ($ parsedNumber )),
5252 $ parsedNumber ,
5353 $ parsedNumber ->getExtension ()
5454 );
5555 }
5656
57- private function getNumberType ( int $ numberType ): PhoneNumberTypeEnum
57+ private function convertNumberType ( PhoneNumberType $ numberType ): PhoneNumberTypeEnum
5858 {
59- $ numberType = PhoneNumberType::values ()[$ numberType ];
60-
61- return PhoneNumberTypeEnum::tryFrom ($ numberType ) ?? PhoneNumberTypeEnum::UNKNOWN ;
59+ return match ($ numberType ) {
60+ PhoneNumberType::FIXED_LINE => PhoneNumberTypeEnum::FIXED_LINE ,
61+ PhoneNumberType::MOBILE => PhoneNumberTypeEnum::MOBILE ,
62+ PhoneNumberType::FIXED_LINE_OR_MOBILE => PhoneNumberTypeEnum::FIXED_LINE_OR_MOBILE ,
63+ PhoneNumberType::TOLL_FREE => PhoneNumberTypeEnum::TOLL_FREE ,
64+ PhoneNumberType::PREMIUM_RATE => PhoneNumberTypeEnum::PREMIUM_RATE ,
65+ PhoneNumberType::SHARED_COST => PhoneNumberTypeEnum::SHARED_COST ,
66+ PhoneNumberType::VOIP => PhoneNumberTypeEnum::VOIP ,
67+ PhoneNumberType::PERSONAL_NUMBER => PhoneNumberTypeEnum::PERSONAL_NUMBER ,
68+ PhoneNumberType::PAGER => PhoneNumberTypeEnum::PAGER ,
69+ PhoneNumberType::UAN => PhoneNumberTypeEnum::UAN ,
70+ PhoneNumberType::VOICEMAIL => PhoneNumberTypeEnum::VOICEMAIL ,
71+ default => PhoneNumberTypeEnum::UNKNOWN ,
72+ };
6273 }
6374}
0 commit comments