Remove legacy phone formatting code

update-emoji-mart^2
Alex Gleason 2022-07-13 19:09:13 -05:00
rodzic 11a0329924
commit 21e7215beb
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
2 zmienionych plików z 0 dodań i 58 usunięć

Wyświetl plik

@ -1,29 +0,0 @@
import { formatPhoneNumber } from '../phone';
describe('Phone unit tests', () => {
it('Properly formats', () => {
let number = '';
expect(formatPhoneNumber('1', number)).toEqual('');
number = '5';
expect(formatPhoneNumber('1', number)).toEqual('+1 (5');
number = '55';
expect(formatPhoneNumber('1', number)).toEqual('+1 (55');
number = '555';
expect(formatPhoneNumber('1', number)).toEqual('+1 (555');
number = '55513';
expect(formatPhoneNumber('1', number)).toEqual('+1 (555) 13');
number = '555135';
expect(formatPhoneNumber('1', number)).toEqual('+1 (555) 135');
number = '5551350';
expect(formatPhoneNumber('1', number)).toEqual('+1 (555) 135-0');
number = '5551350123';
expect(formatPhoneNumber('1', number)).toEqual('+1 (555) 135-0123');
});
});

Wyświetl plik

@ -10,37 +10,8 @@ type CountryCode = typeof COUNTRY_CODES[number];
/** Check whether a given value is a country code. */
const isCountryCode = (value: any): value is CountryCode => COUNTRY_CODES.includes(value);
function removeFormattingFromNumber(number = '') {
if (number) {
return number.toString().replace(/\D/g, '');
}
return number;
}
function formatPhoneNumber(countryCode: CountryCode, phoneNumber = '') {
let formattedPhoneNumber = '';
const strippedPhone = removeFormattingFromNumber(phoneNumber);
for (let i = 0; i < strippedPhone.length && i < 10; i++) {
const character = strippedPhone.charAt(i);
if (i === 0) {
const prefix = `+${countryCode} (`;
formattedPhoneNumber += prefix + character;
} else if (i === 3) {
formattedPhoneNumber += `) ${character}`;
} else if (i === 6) {
formattedPhoneNumber += `-${character}`;
} else {
formattedPhoneNumber += character;
}
}
return formattedPhoneNumber;
}
export {
COUNTRY_CODES,
CountryCode,
isCountryCode,
formatPhoneNumber,
};