@ema/js-base-library
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
221 lines • 13.6 kB
JavaScript
/**
* @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 {?} */
var singleton = Symbol();
/** @type {?} */
var singletonEnforcer = Symbol();
var BaseService = /** @class */ (function () {
function BaseService(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 {?}
*/
BaseService.prototype.initApp = /**
* @param {?} config
* @param {?=} useDefaults
* @param {?=} namespace
* @return {?}
*/
function (config, useDefaults, namespace) {
if (useDefaults === void 0) { useDefaults = false; }
if (namespace === void 0) { namespace = undefined; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var configFetched;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (namespace) {
this.initGlobalNameSpace(namespace);
}
if (useDefaults) {
this.config.setDefaults(configDefaults);
}
if (!(typeof config === 'string')) return [3 /*break*/, 2];
return [4 /*yield*/, this.config.fetch(config, true)];
case 1:
configFetched = _a.sent();
return [2 /*return*/, configFetched];
case 2:
if (typeof config === 'object') {
this.config.add(config);
return [2 /*return*/, config];
}
return [2 /*return*/];
}
});
});
};
/**
* @param {?} url
* @return {?}
*/
BaseService.prototype.fetchJson = /**
* @param {?} url
* @return {?}
*/
function (url) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var response, json;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, fetch(url)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.json()];
case 2:
json = _a.sent();
return [2 /*return*/, json];
}
});
});
};
;
/**
* @return {?}
*/
BaseService.prototype.getGlobal = /**
* @return {?}
*/
function () {
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 {?}
*/
BaseService.prototype.initGlobalNameSpace = /**
* @param {?=} namespace
* @return {?}
*/
function (namespace) {
if (namespace === void 0) { namespace = '_ema'; }
this.config.set('globalNameSpace', namespace);
this.getGlobal()[namespace] = this;
};
Object.defineProperty(BaseService.prototype, "config", {
get: /**
* @return {?}
*/
function () {
return this._configService;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseService.prototype, "environment", {
get: /**
* @return {?}
*/
function () {
return this._environment;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseService.prototype, "translation", {
get: /**
* @return {?}
*/
function () {
return this._translateService;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseService.prototype, "translateService", {
get: /**
* @return {?}
*/
function () {
return this._translateService;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseService, "instance", {
get: /**
* @return {?}
*/
function () {
if (!this[singleton]) {
this[singleton] = new BaseService(singletonEnforcer);
}
return this[singleton];
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseService.prototype, "type", {
get: /**
* @return {?}
*/
function () {
return this._type;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._type = value;
},
enumerable: true,
configurable: true
});
return BaseService;
}());
export { BaseService };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVtYS9qcy1iYXNlLWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvYmFzZS9iYXNlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztJQUU1RCxTQUFTLEdBQUcsTUFBTSxFQUFFOztJQUNwQixpQkFBaUIsR0FBRyxNQUFNLEVBQUU7QUFFbEM7SUFTSSxxQkFBWSxRQUFRO1FBQ2hCLElBQUksUUFBUSxLQUFLLGlCQUFpQixFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2QyxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUE7SUFDTCxDQUFDOzs7Ozs7O0lBRUssNkJBQU87Ozs7OztJQUFiLFVBQWMsTUFBTSxFQUFFLFdBQW1CLEVBQUUsU0FBNkI7UUFBbEQsNEJBQUEsRUFBQSxtQkFBbUI7UUFBRSwwQkFBQSxFQUFBLHFCQUE2Qjs7Ozs7O3dCQUNwRSxJQUFHLFNBQVMsRUFBRTs0QkFDVixJQUFJLENBQUMsbUJBQW1CLENB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IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHsgY29uZmlnRGVmYXVsdHMgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLWRlZmF1bHRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGUvdHJhbnNsYXRlLXNlcnZpY2UnO1xuXG5jb25zdCBzaW5nbGV0b24gPSBTeW1ib2woKTtcbmNvbnN0IHNpbmdsZXRvbkVuZm9yY2VyID0gU3ltYm9sKCk7XG5cbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG4gICAgLypcbiAgICAqIGpzLWJhc2U6IGFwcGxpY2F0aW9uIHNpbmdsZXRvbiBzZXJ2aWNlXG4gICAgKiAqL1xuICAgIHByaXZhdGUgX2Vudmlyb25tZW50OiBhbnk7XG4gICAgcHJpdmF0ZSBfY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZTtcbiAgICBwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlO1xuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGVuZm9yY2VyKSB7XG4gICAgICAgIGlmIChlbmZvcmNlciAhPT0gc2luZ2xldG9uRW5mb3JjZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNvbnN0cnVjdCBzaW5nbGV0b24nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb25maWdTZXJ2aWNlID0gQ29uZmlnU2VydmljZS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZSA9IFRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFuY2U7XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnQmFzZVNlcnZpY2UnO1xuICAgICAgICB0aGlzLl9lbnZpcm9ubWVudCA9IHtcbiAgICAgICAgICAgIGdsb2JhbDogdGhpcy5nZXRHbG9iYWwoKSxcbiAgICAgICAgICAgIHN0YXJ0ZWQ6IE1hdGgucm91bmQoK25ldyBEYXRlKCkgLyAxMDAwKSxcbiAgICAgICAgICAgIHR5cGU6ICdqcydcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGluaXRBcHAoY29uZmlnLCB1c2VEZWZhdWx0cyA9IGZhbHNlLCBuYW1lc3BhY2U6IHN0cmluZyA9IHVuZGVmaW5lZCkge1xuICAgICAgICBpZihuYW1lc3BhY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEdsb2JhbE5hbWVTcGFjZShuYW1lc3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHVzZURlZmF1bHRzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5zZXREZWZhdWx0cyhjb25maWdEZWZhdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBsZXQgY29uZmlnRmV0Y2hlZCA9IGF3YWl0IHRoaXMuY29uZmlnLmZldGNoKGNvbmZpZywgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlnRmV0Y2hlZDtcbiAgICAgICAgfVxuICAgICAgICBpZiggdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZChjb25maWcpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGZldGNoSnNvbih1cmw6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgIHJldHVybiBqc29uO1xuICAgIH07XG5cbiAgICBnZXRHbG9iYWwoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIHNlbGY7IH1cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7IHJldHVybiB3aW5kb3c7IH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIGdsb2JhbDsgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCcpO1xuICAgIH1cblxuICAgIGluaXRHbG9iYWxOYW1lU3BhY2UobmFtZXNwYWNlOiBzdHJpbmcgPSAnX2VtYScpIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2V0KCdnbG9iYWxOYW1lU3BhY2UnLG5hbWVzcGFjZSk7XG4gICAgICAgIHRoaXMuZ2V0R2xvYmFsKClbbmFtZXNwYWNlXSA9IHRoaXM7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1NlcnZpY2U7XG4gICAgfVxuXG4gICAgZ2V0IGVudmlyb25tZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHRyYW5zbGF0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZTtcbiAgICB9XG5cbiAgICBnZXQgdHJhbnNsYXRlU2VydmljZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzW3NpbmdsZXRvbl0pIHtcbiAgICAgICAgICAgIHRoaXNbc2luZ2xldG9uXSA9IG5ldyBCYXNlU2VydmljZShzaW5nbGV0b25FbmZvcmNlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXNbc2luZ2xldG9uXTtcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgc2V0IHR5cGUodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgIH1cblxufVxuXG4iXX0=