@lykmapipo/postman
Version:
collective notifications for nodejs
38 lines (31 loc) • 1.02 kB
JavaScript
;
/* dependencies */
const _ = require('lodash');
const phone = require('phone');
const { getString } = require('@lykmapipo/env');
/**
* @name toE164
* @description format provided mobile phone number to E.164 format
* @param {String} phoneNumber a mobile phone number to be formatted
* @param {String} [country] 2 or 3 letter ISO country code
* @return {String} E.164 formated phone number without leading plus sign
* @see {@link https://en.wikipedia.org/wiki/E.164|e.164}
* @author lally elias <lallyelias87@mail.com>
* @since 0.1.0
* @version 0.1.0
* @public
*/
exports.toE164 = function (phoneNumber, countryCode) {
//try convert give phone number to e.164
try {
const _countryCode = (countryCode || getString('DEFAULT_COUNTRY_CODE'));
let _phoneNumber = phone(phoneNumber, _countryCode);
_phoneNumber = _
.first(_phoneNumber).replace(/\+/g, '');
return _phoneNumber;
}
//fail to convert, return original format
catch (error) {
return phoneNumber;
}
};