mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-05-08 08:58:38 +01:00
Move phone number format/parse into ts/types/PhoneNumber
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
// @ts-ignore
|
||||
import Attachments from '../../app/attachments';
|
||||
import { formatPhoneNumber } from '../util/formatPhoneNumber';
|
||||
import { format as formatPhoneNumber } from '../types/PhoneNumber';
|
||||
|
||||
export interface Contact {
|
||||
name: Name;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
import { instance, PhoneNumberFormat } from '../util/libphonenumberInstance';
|
||||
|
||||
export function format(
|
||||
phoneNumber: string,
|
||||
options: {
|
||||
ourRegionCode: string;
|
||||
}
|
||||
) {
|
||||
try {
|
||||
const { ourRegionCode } = options;
|
||||
const parsedNumber = instance.parse(phoneNumber);
|
||||
const regionCode = instance.getRegionCodeForNumber(parsedNumber);
|
||||
|
||||
if (ourRegionCode && regionCode === ourRegionCode) {
|
||||
return instance.format(parsedNumber, PhoneNumberFormat.NATIONAL);
|
||||
}
|
||||
|
||||
return instance.format(parsedNumber, PhoneNumberFormat.INTERNATIONAL);
|
||||
} catch (error) {
|
||||
return phoneNumber;
|
||||
}
|
||||
}
|
||||
|
||||
export function parse(
|
||||
phoneNumber: string,
|
||||
options: {
|
||||
regionCode: string;
|
||||
}
|
||||
): string {
|
||||
const { regionCode } = options;
|
||||
const parsedNumber = instance.parse(phoneNumber, regionCode);
|
||||
|
||||
if (instance.isValidNumber(parsedNumber)) {
|
||||
return instance.format(parsedNumber, PhoneNumberFormat.E164);
|
||||
}
|
||||
|
||||
return phoneNumber;
|
||||
}
|
||||
Reference in New Issue
Block a user