lion/packages/input-tel/src/parsers.js
gerjanvangeest d382887e67 fix(input-tel): make use of awesome-phonenumber
Co-authored-by: Thijs Louisse <thijs.louisse@ing.com>
2022-05-12 17:50:27 +02:00

33 lines
792 B
JavaScript

import { PhoneUtilManager } from './PhoneUtilManager.js';
/**
* @typedef {import('../types').RegionCode} RegionCode
* @typedef {* & import('awesome-phonenumber').default} AwesomePhoneNumber
*/
/**
* @param {string} viewValue
* @param {{regionCode:RegionCode}} options
* @returns {string}
*/
export function parsePhoneNumber(viewValue, { regionCode }) {
// Do not format when not loaded
if (!PhoneUtilManager.isLoaded) {
return viewValue;
}
// eslint-disable-next-line prefer-destructuring
const PhoneNumber = /** @type {AwesomePhoneNumber} */ (PhoneUtilManager.PhoneUtil);
let pn;
try {
pn = PhoneNumber(viewValue, regionCode);
// eslint-disable-next-line no-empty
} catch (_) {}
if (pn) {
return pn.getNumber('e164');
}
return viewValue;
}