UNPKG

@cause-911/core

Version:

Run `npm install @cause-911/core --save` to add this library to your project

84 lines 6.68 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { HttpClient } from '@angular/common/http'; import { forkJoin, of } from 'rxjs'; import { catchError, map } from 'rxjs/operators'; export class CustomMultiTranslateHttpLoader { /** * @param {?} httpBackend * @param {?} options */ constructor(httpBackend, options) { this.resources = [{ prefix: '/assets/i18n/', suffix: '.json', }, { prefix: '/assets/i18n/cause/', suffix: '-core.json', }]; this.http = new HttpClient(httpBackend); if (options && options.libraries) { options.libraries.forEach((/** * @param {?} library * @return {?} */ (library) => { this.resources.push((/** @type {?} */ ({ prefix: '/assets/i18n/cause/', suffix: `-${library}.json`, }))); })); } } /** * @param {?} lang * @return {?} */ getTranslation(lang) { return forkJoin(this.resources.map((/** * @param {?} config * @return {?} */ config => this.getOneRessourceTranslation(lang, config)))).pipe(map((/** * @param {?} response * @return {?} */ response => { return response.reduce((/** * @param {?} a * @param {?} b * @return {?} */ (a, b) => { return Object.assign(a, b); })); }))); } /** * @param {?} lang * @param {?} config * @return {?} */ getOneRessourceTranslation(lang, config) { return this.http.get(`${config.prefix}${lang}${config.suffix}`).pipe(catchError((/** * @param {?} error * @return {?} */ error => of({})))); } } if (false) { /** * @type {?} * @private */ CustomMultiTranslateHttpLoader.prototype.http; /** * @type {?} * @private */ CustomMultiTranslateHttpLoader.prototype.resources; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW11bHRpLXRyYW5zbGF0ZS1odHRwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjYXVzZS05MTEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvbmd4LXRyYW5zbGF0ZS9jdXN0b20tbXVsdGktdHJhbnNsYXRlLWh0dHAtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0MsTUFBTSxPQUFPLDhCQUE4Qjs7Ozs7SUFVdkMsWUFDSSxXQUF3QixFQUN4QixPQUEwQjtRQVZ0QixjQUFTLEdBQXNCLENBQUM7Z0JBQ3BDLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsT0FBTzthQUNsQixFQUFFO2dCQUNDLE1BQU0sRUFBRSxxQkFBcUI7Z0JBQzdCLE1BQU0sRUFBRSxZQUFZO2FBQ3ZCLENBQUMsQ0FBQztRQU1DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUM5QixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBQTtvQkFDaEIsTUFBTSxFQUFFLHFCQUFxQjtvQkFDN0IsTUFBTSxFQUFFLElBQUksT0FBTyxPQUFPO2lCQUM3QixFQUFtQixDQUFDLENBQUM7WUFDMUIsQ0FBQyxFQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7Ozs7O0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDOUIsT0FBTyxRQUFRLENBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFDLENBQzlFLENBQUMsSUFBSSxDQUNGLEdBQUc7Ozs7UUFBQyxRQUFRLENBQUMsRUFBRTtZQUNYLE9BQU8sUUFBUSxDQUFDLE1BQU07Ozs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxFQUFDLENBQUM7UUFDUCxDQUFDLEVBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7Ozs7O0lBRU0sMEJBQTBCLENBQUMsSUFBWSxFQUFFLE1BQU07UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEUsVUFBVTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0NBQ0o7Ozs7OztJQTFDRyw4Q0FBeUI7Ozs7O0lBQ3pCLG1EQU1HIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhhbmRsZXIsIEh0dHBCYWNrZW5kIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtmb3JrSm9pbiwgb2YsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29yZU1vZHVsZU9wdGlvbnN9IGZyb20gJy4uL21vZGVscy9jb3JlLW1vZHVsZS1vcHRpb25zJztcbmltcG9ydCB7UmVzb3VyY2VPcHRpb25zfSBmcm9tICcuL3Jlc291cmNlLW9wdGlvbnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21NdWx0aVRyYW5zbGF0ZUh0dHBMb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudDtcbiAgICBwcml2YXRlIHJlc291cmNlczogUmVzb3VyY2VPcHRpb25zW10gPSBbe1xuICAgICAgICBwcmVmaXg6ICcvYXNzZXRzL2kxOG4vJyxcbiAgICAgICAgc3VmZml4OiAnLmpzb24nLFxuICAgIH0sIHtcbiAgICAgICAgcHJlZml4OiAnL2Fzc2V0cy9pMThuL2NhdXNlLycsXG4gICAgICAgIHN1ZmZpeDogJy1jb3JlLmpzb24nLFxuICAgIH1dO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGh0dHBCYWNrZW5kOiBIdHRwQmFja2VuZCxcbiAgICAgICAgb3B0aW9uczogQ29yZU1vZHVsZU9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgdGhpcy5odHRwID0gbmV3IEh0dHBDbGllbnQoaHR0cEJhY2tlbmQpO1xuXG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMubGlicmFyaWVzKSB7XG4gICAgICAgICAgICBvcHRpb25zLmxpYnJhcmllcy5mb3JFYWNoKChsaWJyYXJ5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnL2Fzc2V0cy9pMThuL2NhdXNlLycsXG4gICAgICAgICAgICAgICAgICAgIHN1ZmZpeDogYC0ke2xpYnJhcnl9Lmpzb25gLFxuICAgICAgICAgICAgICAgIH0gYXMgUmVzb3VyY2VPcHRpb25zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzLm1hcChjb25maWcgPT4gdGhpcy5nZXRPbmVSZXNzb3VyY2VUcmFuc2xhdGlvbihsYW5nLCBjb25maWcpKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYSwgYik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPbmVSZXNzb3VyY2VUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcsIGNvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke2NvbmZpZy5wcmVmaXh9JHtsYW5nfSR7Y29uZmlnLnN1ZmZpeH1gKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZih7fSkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19