UNPKG

@ema/js-base-library

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.

163 lines 11 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ConfigService } from '../config/config-service'; import { configDefaults } from '../config/config-defaults'; import { TranslateService } from '../translate/translate-service'; /** @type {?} */ const singleton = Symbol(); /** @type {?} */ const singletonEnforcer = Symbol(); export class BaseService { /** * @param {?} enforcer */ constructor(enforcer) { if (enforcer !== singletonEnforcer) { throw new Error('Cannot construct singleton'); } this._configService = ConfigService.instance; this._translateService = TranslateService.instance; this._type = 'BaseService'; this._environment = { global: this.getGlobal(), started: Math.round(+new Date() / 1000), type: 'js' }; } /** * @param {?} config * @param {?=} useDefaults * @param {?=} namespace * @return {?} */ initApp(config, useDefaults = false, namespace = undefined) { return tslib_1.__awaiter(this, void 0, void 0, function* () { if (namespace) { this.initGlobalNameSpace(namespace); } if (useDefaults) { this.config.setDefaults(configDefaults); } if (typeof config === 'string') { /** @type {?} */ let configFetched = yield this.config.fetch(config, true); return configFetched; } if (typeof config === 'object') { this.config.add(config); return config; } }); } /** * @param {?} url * @return {?} */ fetchJson(url) { return tslib_1.__awaiter(this, void 0, void 0, function* () { /** @type {?} */ const response = yield fetch(url); /** @type {?} */ const json = yield response.json(); return json; }); } ; /** * @return {?} */ getGlobal() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } // @ts-ignore if (typeof global !== 'undefined') { return global; } throw new Error('unable to locate global object'); } /** * @param {?=} namespace * @return {?} */ initGlobalNameSpace(namespace = '_ema') { this.config.set('globalNameSpace', namespace); this.getGlobal()[namespace] = this; } /** * @return {?} */ get config() { return this._configService; } /** * @return {?} */ get environment() { return this._environment; } /** * @return {?} */ get translation() { return this._translateService; } /** * @return {?} */ get translateService() { return this._translateService; } /** * @return {?} */ static get instance() { if (!this[singleton]) { this[singleton] = new BaseService(singletonEnforcer); } return this[singleton]; } /** * @return {?} */ get type() { return this._type; } /** * @param {?} value * @return {?} */ set type(value) { this._type = value; } } if (false) { /** * @type {?} * @private */ BaseService.prototype._environment; /** * @type {?} * @private */ BaseService.prototype._configService; /** * @type {?} * @private */ BaseService.prototype._translateService; /** * @type {?} * @private */ BaseService.prototype._type; /* Skipping unhandled member: ;*/ } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVtYS9qcy1iYXNlLWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvYmFzZS9iYXNlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztNQUU1RCxTQUFTLEdBQUcsTUFBTSxFQUFFOztNQUNwQixpQkFBaUIsR0FBRyxNQUFNLEVBQUU7QUFFbEMsTUFBTSxPQUFPLFdBQVc7Ozs7SUFTcEIsWUFBWSxRQUFRO1FBQ2hCLElBQUksUUFBUSxLQUFLLGlCQUFpQixFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2QyxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUE7SUFDTCxDQUFDOzs7Ozs7O0lBRUssT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLFlBQW9CLFNBQVM7O1lBQ3BFLElBQUcsU0FBUyxFQUFFO2dCQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN2QztZQUNELElBQUcsV0FBVyxFQUFFO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7O29CQUN4QixhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUN6RCxPQUFPLGFBQWEsQ0FBQzthQUN4QjtZQUNELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsT0FBTyxNQUFNLENBQUM7YUFDakI7UUFDTCxDQUFDO0tBQUE7Ozs7O0lBRUssU0FBUyxDQUFDLEdBQVc7OztrQkFDakIsUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQzs7a0JBQzNCLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBQUEsQ0FBQzs7OztJQUVGLFNBQVM7UUFDTCxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDakQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFBRSxPQUFPLE1BQU0sQ0FBQztTQUFFO1FBQ3JELGFBQWE7UUFDYixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUFFLE9BQU8sTUFBTSxDQUFDO1NBQUU7UUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7O0lBRUQsbUJBQW1CLENBQUMsWUFBb0IsTUFBTTtRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7Ozs7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQzs7OztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDOzs7O0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQzs7OztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7Ozs7SUFFRCxNQUFNLEtBQUssUUFBUTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FFSjs7Ozs7O0lBdEZHLG1DQUEwQjs7Ozs7SUFDMUIscUNBQXNDOzs7OztJQUN0Qyx3Q0FBNEM7Ozs7O0lBQzVDLDRCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHsgY29uZmlnRGVmYXVsdHMgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLWRlZmF1bHRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGUvdHJhbnNsYXRlLXNlcnZpY2UnO1xuXG5jb25zdCBzaW5nbGV0b24gPSBTeW1ib2woKTtcbmNvbnN0IHNpbmdsZXRvbkVuZm9yY2VyID0gU3ltYm9sKCk7XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG4gICAgLypcbiAgICAqIGpzLWJhc2U6IGFwcGxpY2F0aW9uIHNpbmdsZXRvbiBzZXJ2aWNlXG4gICAgKiAqL1xuICAgIHByaXZhdGUgX2Vudmlyb25tZW50OiBhbnk7XG4gICAgcHJpdmF0ZSBfY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZTtcbiAgICBwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGVuZm9yY2VyKSB7XG4gICAgICAgIGlmIChlbmZvcmNlciAhPT0gc2luZ2xldG9uRW5mb3JjZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNvbnN0cnVjdCBzaW5nbGV0b24nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb25maWdTZXJ2aWNlID0gQ29uZmlnU2VydmljZS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZSA9IFRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFuY2U7XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnQmFzZVNlcnZpY2UnO1xuICAgICAgICB0aGlzLl9lbnZpcm9ubWVudCA9IHtcbiAgICAgICAgICAgIGdsb2JhbDogdGhpcy5nZXRHbG9iYWwoKSxcbiAgICAgICAgICAgIHN0YXJ0ZWQ6IE1hdGgucm91bmQoK25ldyBEYXRlKCkgLyAxMDAwKSxcbiAgICAgICAgICAgIHR5cGU6ICdqcydcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGluaXRBcHAoY29uZmlnLCB1c2VEZWZhdWx0cyA9IGZhbHNlLCBuYW1lc3BhY2U6IHN0cmluZyA9IHVuZGVmaW5lZCkge1xuICAgICAgICBpZihuYW1lc3BhY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEdsb2JhbE5hbWVTcGFjZShuYW1lc3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHVzZURlZmF1bHRzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5zZXREZWZhdWx0cyhjb25maWdEZWZhdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBsZXQgY29uZmlnRmV0Y2hlZCA9IGF3YWl0IHRoaXMuY29uZmlnLmZldGNoKGNvbmZpZywgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlnRmV0Y2hlZDtcbiAgICAgICAgfVxuICAgICAgICBpZiggdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZChjb25maWcpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGZldGNoSnNvbih1cmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgIHJldHVybiBqc29uO1xuICAgIH07XG5cbiAgICBnZXRHbG9iYWwoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIHNlbGY7IH1cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7IHJldHVybiB3aW5kb3c7IH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIGdsb2JhbDsgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCcpO1xuICAgIH1cblxuICAgIGluaXRHbG9iYWxOYW1lU3BhY2UobmFtZXNwYWNlOiBzdHJpbmcgPSAnX2VtYScpIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2V0KCdnbG9iYWxOYW1lU3BhY2UnLG5hbWVzcGFjZSk7XG4gICAgICAgIHRoaXMuZ2V0R2xvYmFsKClbbmFtZXNwYWNlXSA9IHRoaXM7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1NlcnZpY2U7XG4gICAgfVxuXG4gICAgZ2V0IGVudmlyb25tZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHRyYW5zbGF0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZTtcbiAgICB9XG5cbiAgICBnZXQgdHJhbnNsYXRlU2VydmljZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzW3NpbmdsZXRvbl0pIHtcbiAgICAgICAgICAgIHRoaXNbc2luZ2xldG9uXSA9IG5ldyBCYXNlU2VydmljZShzaW5nbGV0b25FbmZvcmNlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXNbc2luZ2xldG9uXTtcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgc2V0IHR5cGUodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIH1cblxufVxuXG4iXX0=