import { LocalizerType } from './Util'; export function format( phoneNumber: string, _options: { ourRegionCode: string; } ) { return phoneNumber; } export function parse( phoneNumber: string, _options: { regionCode: string; } ): string { return phoneNumber; } export function normalize( phoneNumber: string, _options: { regionCode: string } ): string | undefined { try { if (isValidNumber(phoneNumber)) { return phoneNumber; } return; } catch (error) { return; } } function validate(number: string) { // Check if it's hex const isHex = number.replace(/[\s]*/g, '').match(/^[0-9a-fA-F]+$/); if (!isHex) { return 'invalidHexId'; } // Check if the pubkey length is 33 and leading with 05 or of length 32 const len = number.length; if ((len !== 33 * 2 || !/^05/.test(number)) && len !== 32 * 2) { return 'invalidPubkeyFormat'; } return null; } function isValidNumber(number: string) { const error = validate(number); return !error; } export function validateNumber(number: string, i18n: LocalizerType) { const error = validate(number); return error && i18n(error); }