UNPKG

react-application-core

Version:

A react-based application core for the business applications.

149 lines 5.66 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PhoneConverter = void 0; var R = require("ramda"); var inversify_1 = require("inversify"); var google_libphonenumber_1 = require("google-libphonenumber"); var di_1 = require("../../di"); var util_1 = require("../../util"); var definitions_interface_1 = require("../../definitions.interface"); var PhoneConverter = /** @class */ (function () { function PhoneConverter() { this.phoneUtilInstance = google_libphonenumber_1.PhoneNumberUtil.getInstance(); } /** * @stable [30.11.2020] * @param cfg */ PhoneConverter.prototype.parse = function (cfg) { var countryAbbr = cfg.countryAbbr, value = cfg.value; if (util_1.ObjectUtils.isObjectEmpty(value)) { return null; } var $value = util_1.TypeUtils.isString(value) ? value : String(value); try { return this.phoneUtilInstance.parse($value, util_1.NvlUtils.nvl(countryAbbr, this.region)); } catch (e) { return null; } }; /** * @stable [30.11.2020] * @param cfg */ PhoneConverter.prototype.format = function (cfg) { var value = cfg.value, format = cfg.format; var pnObject = this.parse(cfg); if (R.isNil(pnObject)) { return null; } try { return this.phoneUtilInstance.isValidNumber(pnObject) ? this.phoneUtilInstance.format(pnObject, format) : "" + value; } catch (e) { return "" + value; } }; /** * @stable [30.11.2020] * @param cfg */ PhoneConverter.prototype.formatAsInternational = function (cfg) { return this.format(__assign(__assign({}, cfg), { format: google_libphonenumber_1.PhoneNumberFormat.INTERNATIONAL })); }; /** * @stable [30.11.2020] * @param cfg */ PhoneConverter.prototype.formatAsNational = function (cfg) { return this.format(__assign(__assign({}, cfg), { format: google_libphonenumber_1.PhoneNumberFormat.NATIONAL })); }; /** * @stable [30.11.2020] * @param cfg */ PhoneConverter.prototype.phoneParameter = function (cfg) { return util_1.ConditionUtils.ifNotNilThanValue(this.formatAsInternational(cfg), function (formattedValue) { return formattedValue.replace(/\D/g, ''); }, definitions_interface_1.UNDEF_SYMBOL); }; /** * @stable [30.11.2020] * @param config */ PhoneConverter.prototype.phoneDisplayValue = function (config) { return util_1.ConditionUtils.ifNotNilThanValue(this.parse(config), function (cfg) { return "" + cfg.getNationalNumber(); }, definitions_interface_1.UNDEF_SYMBOL); }; Object.defineProperty(PhoneConverter.prototype, "countryCodeByRegion", { /** * @stable [19.09.2020] */ get: function () { return this.phoneUtilInstance.getCountryCodeForRegion(this.region); }, enumerable: false, configurable: true }); Object.defineProperty(PhoneConverter.prototype, "countryCodeByRegionDisplayValue", { /** * @stable [30.11.2020] */ get: function () { return this.phoneSettings.regionCodeTemplate .replace('{value}', this.countryCodeByRegion); }, enumerable: false, configurable: true }); Object.defineProperty(PhoneConverter.prototype, "region", { /** * @stable [19.09.2020] */ get: function () { return this.phoneSettings.countryAbbr; }, enumerable: false, configurable: true }); Object.defineProperty(PhoneConverter.prototype, "phoneSettings", { /** * @stable [19.09.2020] */ get: function () { return this.settings.phone; }, enumerable: false, configurable: true }); __decorate([ di_1.lazyInject(di_1.DI_TYPES.Settings), __metadata("design:type", Object) ], PhoneConverter.prototype, "settings", void 0); PhoneConverter = __decorate([ inversify_1.injectable() ], PhoneConverter); return PhoneConverter; }()); exports.PhoneConverter = PhoneConverter; //# sourceMappingURL=phone-converter.service.js.map