runtime-config-loader 4.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ export * from './lib/runtime-config-loader.module';
2
+ export * from './lib/runtime-config';
3
+ export * from './lib/runtime-config-loader/runtime-config-loader.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3J1bnRpbWUtY29uZmlnLWxvYWRlci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkRBQTJELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ydW50aW1lLWNvbmZpZy1sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bnRpbWUtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bnRpbWUtY29uZmlnLWxvYWRlci9ydW50aW1lLWNvbmZpZy1sb2FkZXIuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable, Optional } from '@angular/core';
3
+ import { RuntimeConfig } from '../runtime-config';
4
+ import { forkJoin, of, Subject } from 'rxjs';
5
+ import { catchError, take, tap } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../runtime-config";
9
+ export class RuntimeConfigLoaderService {
10
+ constructor(_http, config) {
11
+ this._http = _http;
12
+ this.configUrl = './assets/config.json';
13
+ this.configObject = null;
14
+ this.configSubject = new Subject();
15
+ if (config) {
16
+ this.configUrl = config.configUrl;
17
+ }
18
+ }
19
+ loadConfig() {
20
+ const urls = Array.isArray(this.configUrl)
21
+ ? this.configUrl
22
+ : [this.configUrl];
23
+ const observables = urls.map((url) => this.makeHttpCall(url));
24
+ return forkJoin(observables).pipe(tap((configDataArray) => {
25
+ this.configObject = configDataArray.reduce((acc, configData) => {
26
+ return { ...acc, ...configData };
27
+ }, {});
28
+ this.configSubject.next(this.configObject);
29
+ }), catchError((err) => {
30
+ console.error('Error loading config: ', err);
31
+ this.configObject = null;
32
+ this.configSubject.next(this.configObject);
33
+ return of(null);
34
+ }));
35
+ }
36
+ makeHttpCall(url) {
37
+ return this._http.get(url).pipe(take(1));
38
+ }
39
+ getConfig() {
40
+ return this.configObject;
41
+ }
42
+ getConfigObjectKey(key) {
43
+ return this.configObject ? this.configObject[key] : null;
44
+ }
45
+ }
46
+ RuntimeConfigLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, deps: [{ token: i1.HttpClient }, { token: i2.RuntimeConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ RuntimeConfigLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, decorators: [{
49
+ type: Injectable
50
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.RuntimeConfig, decorators: [{
51
+ type: Optional
52
+ }] }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWctbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3J1bnRpbWUtY29uZmlnLWxvYWRlci9zcmMvbGliL3J1bnRpbWUtY29uZmlnLWxvYWRlci9ydW50aW1lLWNvbmZpZy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBTyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd2RCxNQUFNLE9BQU8sMEJBQTBCO0lBS3RDLFlBQW9CLEtBQWlCLEVBQWMsTUFBcUI7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUo3QixjQUFTLEdBQXNCLHNCQUFzQixDQUFDO1FBQ3RELGlCQUFZLEdBQVEsSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFHdkQsSUFBSSxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDbEM7SUFDRixDQUFDO0lBRUQsVUFBVTtRQUNULE1BQU0sSUFBSSxHQUFhLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDaEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBCLE1BQU0sV0FBVyxHQUFzQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FDdEIsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsZUFBc0IsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLENBQUMsRUFDRCxFQUFFLENBQ0YsQ0FBQztZQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7O3VIQWxEVywwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOzswQkFNOEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUnVudGltZUNvbmZpZyB9IGZyb20gJy4uL3J1bnRpbWUtY29uZmlnJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgemlwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZSB7XG5cdHByaXZhdGUgY29uZmlnVXJsOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcuL2Fzc2V0cy9jb25maWcuanNvbic7XG5cdHByaXZhdGUgY29uZmlnT2JqZWN0OiBhbnkgPSBudWxsO1xuXHRwdWJsaWMgY29uZmlnU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpIGNvbmZpZzogUnVudGltZUNvbmZpZykge1xuXHRcdGlmIChjb25maWcpIHtcblx0XHRcdHRoaXMuY29uZmlnVXJsID0gY29uZmlnLmNvbmZpZ1VybDtcblx0XHR9XG5cdH1cblxuXHRsb2FkQ29uZmlnKCk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0Y29uc3QgdXJsczogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KHRoaXMuY29uZmlnVXJsKVxuXHRcdFx0PyB0aGlzLmNvbmZpZ1VybFxuXHRcdFx0OiBbdGhpcy5jb25maWdVcmxdO1xuXG5cdFx0Y29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gdXJscy5tYXAoKHVybCkgPT5cblx0XHRcdHRoaXMubWFrZUh0dHBDYWxsKHVybClcblx0XHQpO1xuXG5cdFx0cmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKFxuXHRcdFx0dGFwKChjb25maWdEYXRhQXJyYXk6IGFueVtdKSA9PiB7XG5cdFx0XHRcdHRoaXMuY29uZmlnT2JqZWN0ID0gY29uZmlnRGF0YUFycmF5LnJlZHVjZShcblx0XHRcdFx0XHQoYWNjLCBjb25maWdEYXRhKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4geyAuLi5hY2MsIC4uLmNvbmZpZ0RhdGEgfTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHt9XG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0dGhpcy5jb25maWdTdWJqZWN0Lm5leHQodGhpcy5jb25maWdPYmplY3QpO1xuXHRcdFx0fSksXG5cdFx0XHRjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGNvbmZpZzogJywgZXJyKTtcblx0XHRcdFx0dGhpcy5jb25maWdPYmplY3QgPSBudWxsO1xuXHRcdFx0XHR0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh0aGlzLmNvbmZpZ09iamVjdCk7XG5cdFx0XHRcdHJldHVybiBvZihudWxsKTtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgbWFrZUh0dHBDYWxsKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQodXJsKS5waXBlKHRha2UoMSkpO1xuXHR9XG5cblx0Z2V0Q29uZmlnKCkge1xuXHRcdHJldHVybiB0aGlzLmNvbmZpZ09iamVjdDtcblx0fVxuXG5cdGdldENvbmZpZ09iamVjdEtleShrZXk6IHN0cmluZykge1xuXHRcdHJldHVybiB0aGlzLmNvbmZpZ09iamVjdCA/IHRoaXMuY29uZmlnT2JqZWN0W2tleV0gOiBudWxsO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { HttpClientModule } from '@angular/common/http';
2
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
3
+ import { RuntimeConfig } from './runtime-config';
4
+ import { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';
5
+ import * as i0 from "@angular/core";
6
+ export function initConfig(configSvc) {
7
+ return () => configSvc.loadConfig();
8
+ }
9
+ export class RuntimeConfigLoaderModule {
10
+ static forRoot(config) {
11
+ return {
12
+ ngModule: RuntimeConfigLoaderModule,
13
+ providers: [
14
+ {
15
+ provide: RuntimeConfig,
16
+ useValue: config,
17
+ },
18
+ RuntimeConfigLoaderService,
19
+ ],
20
+ };
21
+ }
22
+ }
23
+ RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] });
25
+ RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [
26
+ RuntimeConfigLoaderService,
27
+ {
28
+ provide: APP_INITIALIZER,
29
+ useFactory: initConfig,
30
+ deps: [RuntimeConfigLoaderService],
31
+ multi: true,
32
+ },
33
+ ], imports: [[HttpClientModule]] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ imports: [HttpClientModule],
38
+ providers: [
39
+ RuntimeConfigLoaderService,
40
+ {
41
+ provide: APP_INITIALIZER,
42
+ useFactory: initConfig,
43
+ deps: [RuntimeConfigLoaderService],
44
+ multi: true,
45
+ },
46
+ ],
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWctbG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcnVudGltZS1jb25maWctbG9hZGVyL3NyYy9saWIvcnVudGltZS1jb25maWctbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQUVuRyxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQXFDO0lBQy9ELE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFjRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQ2IsTUFBcUI7UUFFckIsT0FBTztZQUNOLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNWO29CQUNDLE9BQU8sRUFBRSxhQUFhO29CQUN0QixRQUFRLEVBQUUsTUFBTTtpQkFDaEI7Z0JBQ0QsMEJBQTBCO2FBQzFCO1NBQ0QsQ0FBQztJQUNILENBQUM7O3NIQWRXLHlCQUF5Qjt1SEFBekIseUJBQXlCLFlBWDNCLGdCQUFnQjt1SEFXZCx5QkFBeUIsYUFWMUI7UUFDViwwQkFBMEI7UUFDMUI7WUFDQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsVUFBVTtZQUN0QixJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0QsWUFUUSxDQUFDLGdCQUFnQixDQUFDOzJGQVdmLHlCQUF5QjtrQkFackMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsU0FBUyxFQUFFO3dCQUNWLDBCQUEwQjt3QkFDMUI7NEJBQ0MsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxVQUFVOzRCQUN0QixJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUnVudGltZUNvbmZpZyB9IGZyb20gJy4vcnVudGltZS1jb25maWcnO1xuaW1wb3J0IHsgUnVudGltZUNvbmZpZ0xvYWRlclNlcnZpY2UgfSBmcm9tICcuL3J1bnRpbWUtY29uZmlnLWxvYWRlci9ydW50aW1lLWNvbmZpZy1sb2FkZXIuc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29uZmlnKGNvbmZpZ1N2YzogUnVudGltZUNvbmZpZ0xvYWRlclNlcnZpY2UpIHtcblx0cmV0dXJuICgpID0+IGNvbmZpZ1N2Yy5sb2FkQ29uZmlnKCk7XG59XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0UnVudGltZUNvbmZpZ0xvYWRlclNlcnZpY2UsXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuXHRcdFx0dXNlRmFjdG9yeTogaW5pdENvbmZpZyxcblx0XHRcdGRlcHM6IFtSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZV0sXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29uZmlnTG9hZGVyTW9kdWxlIHtcblx0c3RhdGljIGZvclJvb3QoXG5cdFx0Y29uZmlnOiBSdW50aW1lQ29uZmlnXG5cdCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVudGltZUNvbmZpZ0xvYWRlck1vZHVsZT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRuZ01vZHVsZTogUnVudGltZUNvbmZpZ0xvYWRlck1vZHVsZSxcblx0XHRcdHByb3ZpZGVyczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0cHJvdmlkZTogUnVudGltZUNvbmZpZyxcblx0XHRcdFx0XHR1c2VWYWx1ZTogY29uZmlnLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZSxcblx0XHRcdF0sXG5cdFx0fTtcblx0fVxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export class RuntimeConfig {
2
+ constructor(obj = {}) {
3
+ this.configUrl = obj.configUrl || './assets/config.json';
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3J1bnRpbWUtY29uZmlnLWxvYWRlci9zcmMvbGliL3J1bnRpbWUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBR3pCLFlBQVksTUFBVyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxzQkFBc0IsQ0FBQztJQUMxRCxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUnVudGltZUNvbmZpZyB7XG5cdGNvbmZpZ1VybDogc3RyaW5nIHwgc3RyaW5nW107XG5cblx0Y29uc3RydWN0b3Iob2JqOiBhbnkgPSB7fSkge1xuXHRcdHRoaXMuY29uZmlnVXJsID0gb2JqLmNvbmZpZ1VybCB8fCAnLi9hc3NldHMvY29uZmlnLmpzb24nO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWctbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9ydW50aW1lLWNvbmZpZy1sb2FkZXIvc3JjL3J1bnRpbWUtY29uZmlnLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,110 @@
1
+ import * as i1 from '@angular/common/http';
2
+ import { HttpClientModule } from '@angular/common/http';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, Optional, APP_INITIALIZER, NgModule } from '@angular/core';
5
+ import { Subject, forkJoin, of } from 'rxjs';
6
+ import { tap, catchError, take } from 'rxjs/operators';
7
+
8
+ class RuntimeConfig {
9
+ constructor(obj = {}) {
10
+ this.configUrl = obj.configUrl || './assets/config.json';
11
+ }
12
+ }
13
+
14
+ class RuntimeConfigLoaderService {
15
+ constructor(_http, config) {
16
+ this._http = _http;
17
+ this.configUrl = './assets/config.json';
18
+ this.configObject = null;
19
+ this.configSubject = new Subject();
20
+ if (config) {
21
+ this.configUrl = config.configUrl;
22
+ }
23
+ }
24
+ loadConfig() {
25
+ const urls = Array.isArray(this.configUrl)
26
+ ? this.configUrl
27
+ : [this.configUrl];
28
+ const observables = urls.map((url) => this.makeHttpCall(url));
29
+ return forkJoin(observables).pipe(tap((configDataArray) => {
30
+ this.configObject = configDataArray.reduce((acc, configData) => {
31
+ return Object.assign(Object.assign({}, acc), configData);
32
+ }, {});
33
+ this.configSubject.next(this.configObject);
34
+ }), catchError((err) => {
35
+ console.error('Error loading config: ', err);
36
+ this.configObject = null;
37
+ this.configSubject.next(this.configObject);
38
+ return of(null);
39
+ }));
40
+ }
41
+ makeHttpCall(url) {
42
+ return this._http.get(url).pipe(take(1));
43
+ }
44
+ getConfig() {
45
+ return this.configObject;
46
+ }
47
+ getConfigObjectKey(key) {
48
+ return this.configObject ? this.configObject[key] : null;
49
+ }
50
+ }
51
+ RuntimeConfigLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, deps: [{ token: i1.HttpClient }, { token: RuntimeConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ RuntimeConfigLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, decorators: [{
54
+ type: Injectable
55
+ }], ctorParameters: function () {
56
+ return [{ type: i1.HttpClient }, { type: RuntimeConfig, decorators: [{
57
+ type: Optional
58
+ }] }];
59
+ } });
60
+
61
+ function initConfig(configSvc) {
62
+ return () => configSvc.loadConfig();
63
+ }
64
+ class RuntimeConfigLoaderModule {
65
+ static forRoot(config) {
66
+ return {
67
+ ngModule: RuntimeConfigLoaderModule,
68
+ providers: [
69
+ {
70
+ provide: RuntimeConfig,
71
+ useValue: config,
72
+ },
73
+ RuntimeConfigLoaderService,
74
+ ],
75
+ };
76
+ }
77
+ }
78
+ RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
79
+ RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] });
80
+ RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [
81
+ RuntimeConfigLoaderService,
82
+ {
83
+ provide: APP_INITIALIZER,
84
+ useFactory: initConfig,
85
+ deps: [RuntimeConfigLoaderService],
86
+ multi: true,
87
+ },
88
+ ], imports: [[HttpClientModule]] });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{
90
+ type: NgModule,
91
+ args: [{
92
+ imports: [HttpClientModule],
93
+ providers: [
94
+ RuntimeConfigLoaderService,
95
+ {
96
+ provide: APP_INITIALIZER,
97
+ useFactory: initConfig,
98
+ deps: [RuntimeConfigLoaderService],
99
+ multi: true,
100
+ },
101
+ ],
102
+ }]
103
+ }] });
104
+
105
+ /**
106
+ * Generated bundle index. Do not edit.
107
+ */
108
+
109
+ export { RuntimeConfig, RuntimeConfigLoaderModule, RuntimeConfigLoaderService, initConfig };
110
+ //# sourceMappingURL=runtime-config-loader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config-loader.mjs","sources":["../../../../libs/runtime-config-loader/src/lib/runtime-config.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader/runtime-config-loader.service.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader.module.ts","../../../../libs/runtime-config-loader/src/runtime-config-loader.ts"],"sourcesContent":["export class RuntimeConfig {\n\tconfigUrl: string | string[];\n\n\tconstructor(obj: any = {}) {\n\t\tthis.configUrl = obj.configUrl || './assets/config.json';\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { RuntimeConfig } from '../runtime-config';\nimport { forkJoin, Observable, of, Subject, zip } from 'rxjs';\nimport { catchError, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RuntimeConfigLoaderService {\n\tprivate configUrl: string | string[] = './assets/config.json';\n\tprivate configObject: any = null;\n\tpublic configSubject: Subject<any> = new Subject<any>();\n\n\tconstructor(private _http: HttpClient, @Optional() config: RuntimeConfig) {\n\t\tif (config) {\n\t\t\tthis.configUrl = config.configUrl;\n\t\t}\n\t}\n\n\tloadConfig(): Observable<any> {\n\t\tconst urls: string[] = Array.isArray(this.configUrl)\n\t\t\t? this.configUrl\n\t\t\t: [this.configUrl];\n\n\t\tconst observables: Observable<any>[] = urls.map((url) =>\n\t\t\tthis.makeHttpCall(url)\n\t\t);\n\n\t\treturn forkJoin(observables).pipe(\n\t\t\ttap((configDataArray: any[]) => {\n\t\t\t\tthis.configObject = configDataArray.reduce(\n\t\t\t\t\t(acc, configData) => {\n\t\t\t\t\t\treturn { ...acc, ...configData };\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t}),\n\t\t\tcatchError((err: any) => {\n\t\t\t\tconsole.error('Error loading config: ', err);\n\t\t\t\tthis.configObject = null;\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t\treturn of(null);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate makeHttpCall(url: string): Observable<any> {\n\t\treturn this._http.get(url).pipe(take(1));\n\t}\n\n\tgetConfig() {\n\t\treturn this.configObject;\n\t}\n\n\tgetConfigObjectKey(key: string) {\n\t\treturn this.configObject ? this.configObject[key] : null;\n\t}\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RuntimeConfig } from './runtime-config';\nimport { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';\n\nexport function initConfig(configSvc: RuntimeConfigLoaderService) {\n\treturn () => configSvc.loadConfig();\n}\n\n@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\tRuntimeConfigLoaderService,\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initConfig,\n\t\t\tdeps: [RuntimeConfigLoaderService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RuntimeConfigLoaderModule {\n\tstatic forRoot(\n\t\tconfig: RuntimeConfig\n\t): ModuleWithProviders<RuntimeConfigLoaderModule> {\n\t\treturn {\n\t\t\tngModule: RuntimeConfigLoaderModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RuntimeConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t\tRuntimeConfigLoaderService,\n\t\t\t],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.RuntimeConfig"],"mappings":"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"}
@@ -28,7 +28,7 @@ class RuntimeConfigLoaderService {
28
28
  const observables = urls.map((url) => this.makeHttpCall(url));
29
29
  return forkJoin(observables).pipe(tap((configDataArray) => {
30
30
  this.configObject = configDataArray.reduce((acc, configData) => {
31
- return Object.assign(Object.assign({}, acc), configData);
31
+ return { ...acc, ...configData };
32
32
  }, {});
33
33
  this.configSubject.next(this.configObject);
34
34
  }), catchError((err) => {
@@ -48,9 +48,9 @@ class RuntimeConfigLoaderService {
48
48
  return this.configObject ? this.configObject[key] : null;
49
49
  }
50
50
  }
51
- RuntimeConfigLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService, deps: [{ token: i1.HttpClient }, { token: RuntimeConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
52
- RuntimeConfigLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService, decorators: [{
51
+ RuntimeConfigLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, deps: [{ token: i1.HttpClient }, { token: RuntimeConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ RuntimeConfigLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderService, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: RuntimeConfig, decorators: [{
56
56
  type: Optional
@@ -73,9 +73,9 @@ class RuntimeConfigLoaderModule {
73
73
  };
74
74
  }
75
75
  }
76
- RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
77
- RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] });
78
- RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [
76
+ RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
77
+ RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] });
78
+ RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [
79
79
  RuntimeConfigLoaderService,
80
80
  {
81
81
  provide: APP_INITIALIZER,
@@ -84,7 +84,7 @@ RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
84
84
  multi: true,
85
85
  },
86
86
  ], imports: [[HttpClientModule]] });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{
88
88
  type: NgModule,
89
89
  args: [{
90
90
  imports: [HttpClientModule],
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
105
105
  */
106
106
 
107
107
  export { RuntimeConfig, RuntimeConfigLoaderModule, RuntimeConfigLoaderService, initConfig };
108
- //# sourceMappingURL=runtime-config-loader.js.map
108
+ //# sourceMappingURL=runtime-config-loader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config-loader.mjs","sources":["../../../../libs/runtime-config-loader/src/lib/runtime-config.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader/runtime-config-loader.service.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader.module.ts","../../../../libs/runtime-config-loader/src/runtime-config-loader.ts"],"sourcesContent":["export class RuntimeConfig {\n\tconfigUrl: string | string[];\n\n\tconstructor(obj: any = {}) {\n\t\tthis.configUrl = obj.configUrl || './assets/config.json';\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { RuntimeConfig } from '../runtime-config';\nimport { forkJoin, Observable, of, Subject, zip } from 'rxjs';\nimport { catchError, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RuntimeConfigLoaderService {\n\tprivate configUrl: string | string[] = './assets/config.json';\n\tprivate configObject: any = null;\n\tpublic configSubject: Subject<any> = new Subject<any>();\n\n\tconstructor(private _http: HttpClient, @Optional() config: RuntimeConfig) {\n\t\tif (config) {\n\t\t\tthis.configUrl = config.configUrl;\n\t\t}\n\t}\n\n\tloadConfig(): Observable<any> {\n\t\tconst urls: string[] = Array.isArray(this.configUrl)\n\t\t\t? this.configUrl\n\t\t\t: [this.configUrl];\n\n\t\tconst observables: Observable<any>[] = urls.map((url) =>\n\t\t\tthis.makeHttpCall(url)\n\t\t);\n\n\t\treturn forkJoin(observables).pipe(\n\t\t\ttap((configDataArray: any[]) => {\n\t\t\t\tthis.configObject = configDataArray.reduce(\n\t\t\t\t\t(acc, configData) => {\n\t\t\t\t\t\treturn { ...acc, ...configData };\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t}),\n\t\t\tcatchError((err: any) => {\n\t\t\t\tconsole.error('Error loading config: ', err);\n\t\t\t\tthis.configObject = null;\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t\treturn of(null);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate makeHttpCall(url: string): Observable<any> {\n\t\treturn this._http.get(url).pipe(take(1));\n\t}\n\n\tgetConfig() {\n\t\treturn this.configObject;\n\t}\n\n\tgetConfigObjectKey(key: string) {\n\t\treturn this.configObject ? this.configObject[key] : null;\n\t}\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RuntimeConfig } from './runtime-config';\nimport { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';\n\nexport function initConfig(configSvc: RuntimeConfigLoaderService) {\n\treturn () => configSvc.loadConfig();\n}\n\n@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\tRuntimeConfigLoaderService,\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initConfig,\n\t\t\tdeps: [RuntimeConfigLoaderService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RuntimeConfigLoaderModule {\n\tstatic forRoot(\n\t\tconfig: RuntimeConfig\n\t): ModuleWithProviders<RuntimeConfigLoaderModule> {\n\t\treturn {\n\t\t\tngModule: RuntimeConfigLoaderModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RuntimeConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t\tRuntimeConfigLoaderService,\n\t\t\t],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.RuntimeConfig"],"mappings":";;;;;;;MAAa,aAAa,CAAA;AAGzB,IAAA,WAAA,CAAY,MAAW,EAAE,EAAA;QACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,sBAAsB,CAAC;KACzD;AACD;;MCCY,0BAA0B,CAAA;IAKtC,WAAoB,CAAA,KAAiB,EAAc,MAAqB,EAAA;QAApD,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QAJ7B,IAAS,CAAA,SAAA,GAAsB,sBAAsB,CAAC;QACtD,IAAY,CAAA,YAAA,GAAQ,IAAI,CAAC;AAC1B,QAAA,IAAA,CAAA,aAAa,GAAiB,IAAI,OAAO,EAAO,CAAC;AAGvD,QAAA,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,SAAA;KACD;IAED,UAAU,GAAA;QACT,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;cACjD,IAAI,CAAC,SAAS;AAChB,cAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEpB,QAAA,MAAM,WAAW,GAAsB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CACtB,CAAC;AAEF,QAAA,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAChC,GAAG,CAAC,CAAC,eAAsB,KAAI;AAC9B,YAAA,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,UAAU,KAAI;AACnB,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;aACjC,EACD,EAAE,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,GAAQ,KAAI;AACvB,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;AAC7C,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC3C,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SAChB,CAAC,CACF,CAAC;KACF;AAEO,IAAA,YAAY,CAAC,GAAW,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAED,SAAS,GAAA;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;KACzB;AAED,IAAA,kBAAkB,CAAC,GAAW,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;KACzD;;uHAlDW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2HAA1B,0BAA0B,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;0BAM8B,QAAQ;;;ACP3C,SAAU,UAAU,CAAC,SAAqC,EAAA;AAC/D,IAAA,OAAO,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;AACrC,CAAC;MAcY,yBAAyB,CAAA;IACrC,OAAO,OAAO,CACb,MAAqB,EAAA;QAErB,OAAO;AACN,YAAA,QAAQ,EAAE,yBAAyB;AACnC,YAAA,SAAS,EAAE;AACV,gBAAA;AACC,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,QAAQ,EAAE,MAAM;AAChB,iBAAA;gBACD,0BAA0B;AAC1B,aAAA;SACD,CAAC;KACF;;sHAdW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAX3B,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAWd,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAV1B,SAAA,EAAA;QACV,0BAA0B;AAC1B,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,CAAC,0BAA0B,CAAC;AAClC,YAAA,KAAK,EAAE,IAAI;AACX,SAAA;KACD,EATQ,OAAA,EAAA,CAAA,CAAC,gBAAgB,CAAC,CAAA,EAAA,CAAA,CAAA;2FAWf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE;wBACV,0BAA0B;AAC1B,wBAAA;AACC,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,CAAC,0BAA0B,CAAC;AAClC,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runtime-config-loader",
3
- "version": "4.1.0",
3
+ "version": "5.0.0",
4
4
  "author": {
5
5
  "email": "preston.j.lamb@gmail.com",
6
6
  "name": "Preston Lamb",
@@ -23,18 +23,32 @@
23
23
  "config"
24
24
  ],
25
25
  "peerDependencies": {
26
- "@angular/common": ">=12.0.0",
27
- "@angular/core": ">=12.0.0",
28
- "rxjs": "~6.6.0"
26
+ "@angular/common": ">=13.0.0",
27
+ "@angular/core": ">=13.0.0",
28
+ "rxjs": "~6.6.0",
29
+ "@angular/platform-browser-dynamic": "13.3.5"
29
30
  },
30
31
  "dependencies": {
31
32
  "tslib": "^2.3.0"
32
33
  },
33
- "main": "bundles/runtime-config-loader.umd.js",
34
- "module": "fesm2015/runtime-config-loader.js",
35
- "es2015": "fesm2015/runtime-config-loader.js",
36
- "esm2015": "esm2015/runtime-config-loader.js",
37
- "fesm2015": "fesm2015/runtime-config-loader.js",
34
+ "module": "fesm2015/runtime-config-loader.mjs",
35
+ "es2020": "fesm2020/runtime-config-loader.mjs",
36
+ "esm2020": "esm2020/runtime-config-loader.mjs",
37
+ "fesm2020": "fesm2020/runtime-config-loader.mjs",
38
+ "fesm2015": "fesm2015/runtime-config-loader.mjs",
38
39
  "typings": "runtime-config-loader.d.ts",
40
+ "exports": {
41
+ "./package.json": {
42
+ "default": "./package.json"
43
+ },
44
+ ".": {
45
+ "types": "./runtime-config-loader.d.ts",
46
+ "esm2020": "./esm2020/runtime-config-loader.mjs",
47
+ "es2020": "./fesm2020/runtime-config-loader.mjs",
48
+ "es2015": "./fesm2015/runtime-config-loader.mjs",
49
+ "node": "./fesm2015/runtime-config-loader.mjs",
50
+ "default": "./fesm2020/runtime-config-loader.mjs"
51
+ }
52
+ },
39
53
  "sideEffects": false
40
54
  }
Binary file
@@ -1,146 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common/http'), require('@angular/core'), require('rxjs'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('runtime-config-loader', ['exports', '@angular/common/http', '@angular/core', 'rxjs', 'rxjs/operators'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['runtime-config-loader'] = {}, global.ng.common.http, global.ng.core, global.rxjs, global.rxjs.operators));
5
- }(this, (function (exports, i1, i0, rxjs, operators) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () {
17
- return e[k];
18
- }
19
- });
20
- }
21
- });
22
- }
23
- n['default'] = e;
24
- return Object.freeze(n);
25
- }
26
-
27
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
29
-
30
- var RuntimeConfig = /** @class */ (function () {
31
- function RuntimeConfig(obj) {
32
- if (obj === void 0) { obj = {}; }
33
- this.configUrl = obj.configUrl || './assets/config.json';
34
- }
35
- return RuntimeConfig;
36
- }());
37
-
38
- var RuntimeConfigLoaderService = /** @class */ (function () {
39
- function RuntimeConfigLoaderService(_http, config) {
40
- this._http = _http;
41
- this.configUrl = './assets/config.json';
42
- this.configObject = null;
43
- this.configSubject = new rxjs.Subject();
44
- if (config) {
45
- this.configUrl = config.configUrl;
46
- }
47
- }
48
- RuntimeConfigLoaderService.prototype.loadConfig = function () {
49
- var _this = this;
50
- var urls = Array.isArray(this.configUrl)
51
- ? this.configUrl
52
- : [this.configUrl];
53
- var observables = urls.map(function (url) { return _this.makeHttpCall(url); });
54
- return rxjs.forkJoin(observables).pipe(operators.tap(function (configDataArray) {
55
- _this.configObject = configDataArray.reduce(function (acc, configData) {
56
- return Object.assign(Object.assign({}, acc), configData);
57
- }, {});
58
- _this.configSubject.next(_this.configObject);
59
- }), operators.catchError(function (err) {
60
- console.error('Error loading config: ', err);
61
- _this.configObject = null;
62
- _this.configSubject.next(_this.configObject);
63
- return rxjs.of(null);
64
- }));
65
- };
66
- RuntimeConfigLoaderService.prototype.makeHttpCall = function (url) {
67
- return this._http.get(url).pipe(operators.take(1));
68
- };
69
- RuntimeConfigLoaderService.prototype.getConfig = function () {
70
- return this.configObject;
71
- };
72
- RuntimeConfigLoaderService.prototype.getConfigObjectKey = function (key) {
73
- return this.configObject ? this.configObject[key] : null;
74
- };
75
- return RuntimeConfigLoaderService;
76
- }());
77
- RuntimeConfigLoaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderService, deps: [{ token: i1__namespace.HttpClient }, { token: RuntimeConfig, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
78
- RuntimeConfigLoaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderService });
79
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderService, decorators: [{
80
- type: i0.Injectable
81
- }], ctorParameters: function () {
82
- return [{ type: i1__namespace.HttpClient }, { type: RuntimeConfig, decorators: [{
83
- type: i0.Optional
84
- }] }];
85
- } });
86
-
87
- function initConfig(configSvc) {
88
- return function () { return configSvc.loadConfig(); };
89
- }
90
- var RuntimeConfigLoaderModule = /** @class */ (function () {
91
- function RuntimeConfigLoaderModule() {
92
- }
93
- RuntimeConfigLoaderModule.forRoot = function (config) {
94
- return {
95
- ngModule: RuntimeConfigLoaderModule,
96
- providers: [
97
- {
98
- provide: RuntimeConfig,
99
- useValue: config,
100
- },
101
- RuntimeConfigLoaderService,
102
- ],
103
- };
104
- };
105
- return RuntimeConfigLoaderModule;
106
- }());
107
- RuntimeConfigLoaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
108
- RuntimeConfigLoaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderModule, imports: [i1.HttpClientModule] });
109
- RuntimeConfigLoaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderModule, providers: [
110
- RuntimeConfigLoaderService,
111
- {
112
- provide: i0.APP_INITIALIZER,
113
- useFactory: initConfig,
114
- deps: [RuntimeConfigLoaderService],
115
- multi: true,
116
- },
117
- ], imports: [[i1.HttpClientModule]] });
118
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: RuntimeConfigLoaderModule, decorators: [{
119
- type: i0.NgModule,
120
- args: [{
121
- imports: [i1.HttpClientModule],
122
- providers: [
123
- RuntimeConfigLoaderService,
124
- {
125
- provide: i0.APP_INITIALIZER,
126
- useFactory: initConfig,
127
- deps: [RuntimeConfigLoaderService],
128
- multi: true,
129
- },
130
- ],
131
- }]
132
- }] });
133
-
134
- /**
135
- * Generated bundle index. Do not edit.
136
- */
137
-
138
- exports.RuntimeConfig = RuntimeConfig;
139
- exports.RuntimeConfigLoaderModule = RuntimeConfigLoaderModule;
140
- exports.RuntimeConfigLoaderService = RuntimeConfigLoaderService;
141
- exports.initConfig = initConfig;
142
-
143
- Object.defineProperty(exports, '__esModule', { value: true });
144
-
145
- })));
146
- //# sourceMappingURL=runtime-config-loader.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config-loader.umd.js","sources":["../../../../libs/runtime-config-loader/src/lib/runtime-config.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader/runtime-config-loader.service.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader.module.ts","../../../../libs/runtime-config-loader/src/runtime-config-loader.ts"],"sourcesContent":["export class RuntimeConfig {\n\tconfigUrl: string | string[];\n\n\tconstructor(obj: any = {}) {\n\t\tthis.configUrl = obj.configUrl || './assets/config.json';\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { RuntimeConfig } from '../runtime-config';\nimport { forkJoin, Observable, of, Subject, zip } from 'rxjs';\nimport { catchError, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RuntimeConfigLoaderService {\n\tprivate configUrl: string | string[] = './assets/config.json';\n\tprivate configObject: any = null;\n\tpublic configSubject: Subject<any> = new Subject<any>();\n\n\tconstructor(private _http: HttpClient, @Optional() config: RuntimeConfig) {\n\t\tif (config) {\n\t\t\tthis.configUrl = config.configUrl;\n\t\t}\n\t}\n\n\tloadConfig(): Observable<any> {\n\t\tconst urls: string[] = Array.isArray(this.configUrl)\n\t\t\t? this.configUrl\n\t\t\t: [this.configUrl];\n\n\t\tconst observables: Observable<any>[] = urls.map((url) =>\n\t\t\tthis.makeHttpCall(url)\n\t\t);\n\n\t\treturn forkJoin(observables).pipe(\n\t\t\ttap((configDataArray: any[]) => {\n\t\t\t\tthis.configObject = configDataArray.reduce(\n\t\t\t\t\t(acc, configData) => {\n\t\t\t\t\t\treturn { ...acc, ...configData };\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t}),\n\t\t\tcatchError((err: any) => {\n\t\t\t\tconsole.error('Error loading config: ', err);\n\t\t\t\tthis.configObject = null;\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t\treturn of(null);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate makeHttpCall(url: string): Observable<any> {\n\t\treturn this._http.get(url).pipe(take(1));\n\t}\n\n\tgetConfig() {\n\t\treturn this.configObject;\n\t}\n\n\tgetConfigObjectKey(key: string) {\n\t\treturn this.configObject ? this.configObject[key] : null;\n\t}\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RuntimeConfig } from './runtime-config';\nimport { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';\n\nexport function initConfig(configSvc: RuntimeConfigLoaderService) {\n\treturn () => configSvc.loadConfig();\n}\n\n@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\tRuntimeConfigLoaderService,\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initConfig,\n\t\t\tdeps: [RuntimeConfigLoaderService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RuntimeConfigLoaderModule {\n\tstatic forRoot(\n\t\tconfig: RuntimeConfig\n\t): ModuleWithProviders<RuntimeConfigLoaderModule> {\n\t\treturn {\n\t\t\tngModule: RuntimeConfigLoaderModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RuntimeConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t\tRuntimeConfigLoaderService,\n\t\t\t],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Subject","forkJoin","tap","catchError","of","take","Injectable","Optional","HttpClientModule","APP_INITIALIZER","NgModule"],"mappings":"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"}
package/esm2015/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from './lib/runtime-config-loader.module';
2
- export * from './lib/runtime-config';
3
- export * from './lib/runtime-config-loader/runtime-config-loader.service';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/runtime-config-loader/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,2DAA2D,CAAC","sourcesContent":["export * from './lib/runtime-config-loader.module';\nexport * from './lib/runtime-config';\nexport * from './lib/runtime-config-loader/runtime-config-loader.service';\n"]}
@@ -1,53 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable, Optional } from '@angular/core';
3
- import { RuntimeConfig } from '../runtime-config';
4
- import { forkJoin, of, Subject } from 'rxjs';
5
- import { catchError, take, tap } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "../runtime-config";
9
- export class RuntimeConfigLoaderService {
10
- constructor(_http, config) {
11
- this._http = _http;
12
- this.configUrl = './assets/config.json';
13
- this.configObject = null;
14
- this.configSubject = new Subject();
15
- if (config) {
16
- this.configUrl = config.configUrl;
17
- }
18
- }
19
- loadConfig() {
20
- const urls = Array.isArray(this.configUrl)
21
- ? this.configUrl
22
- : [this.configUrl];
23
- const observables = urls.map((url) => this.makeHttpCall(url));
24
- return forkJoin(observables).pipe(tap((configDataArray) => {
25
- this.configObject = configDataArray.reduce((acc, configData) => {
26
- return Object.assign(Object.assign({}, acc), configData);
27
- }, {});
28
- this.configSubject.next(this.configObject);
29
- }), catchError((err) => {
30
- console.error('Error loading config: ', err);
31
- this.configObject = null;
32
- this.configSubject.next(this.configObject);
33
- return of(null);
34
- }));
35
- }
36
- makeHttpCall(url) {
37
- return this._http.get(url).pipe(take(1));
38
- }
39
- getConfig() {
40
- return this.configObject;
41
- }
42
- getConfigObjectKey(key) {
43
- return this.configObject ? this.configObject[key] : null;
44
- }
45
- }
46
- RuntimeConfigLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService, deps: [{ token: i1.HttpClient }, { token: i2.RuntimeConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
47
- RuntimeConfigLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderService, decorators: [{
49
- type: Injectable
50
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.RuntimeConfig, decorators: [{
51
- type: Optional
52
- }] }]; } });
53
- //# sourceMappingURL=runtime-config-loader.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config-loader.service.js","sourceRoot":"","sources":["../../../../../../libs/runtime-config-loader/src/lib/runtime-config-loader/runtime-config-loader.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAc,EAAE,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;;;;AAGvD,MAAM,OAAO,0BAA0B;IAKtC,YAAoB,KAAiB,EAAc,MAAqB;QAApD,UAAK,GAAL,KAAK,CAAY;QAJ7B,cAAS,GAAsB,sBAAsB,CAAC;QACtD,iBAAY,GAAQ,IAAI,CAAC;QAC1B,kBAAa,GAAiB,IAAI,OAAO,EAAO,CAAC;QAGvD,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;SAClC;IACF,CAAC;IAED,UAAU;QACT,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpB,MAAM,WAAW,GAAsB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAChC,GAAG,CAAC,CAAC,eAAsB,EAAE,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;gBACnB,uCAAY,GAAG,GAAK,UAAU,EAAG;YAClC,CAAC,EACD,EAAE,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;;uHAlDW,0BAA0B;2HAA1B,0BAA0B;2FAA1B,0BAA0B;kBADtC,UAAU;;0BAM8B,QAAQ","sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { RuntimeConfig } from '../runtime-config';\nimport { forkJoin, Observable, of, Subject, zip } from 'rxjs';\nimport { catchError, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RuntimeConfigLoaderService {\n\tprivate configUrl: string | string[] = './assets/config.json';\n\tprivate configObject: any = null;\n\tpublic configSubject: Subject<any> = new Subject<any>();\n\n\tconstructor(private _http: HttpClient, @Optional() config: RuntimeConfig) {\n\t\tif (config) {\n\t\t\tthis.configUrl = config.configUrl;\n\t\t}\n\t}\n\n\tloadConfig(): Observable<any> {\n\t\tconst urls: string[] = Array.isArray(this.configUrl)\n\t\t\t? this.configUrl\n\t\t\t: [this.configUrl];\n\n\t\tconst observables: Observable<any>[] = urls.map((url) =>\n\t\t\tthis.makeHttpCall(url)\n\t\t);\n\n\t\treturn forkJoin(observables).pipe(\n\t\t\ttap((configDataArray: any[]) => {\n\t\t\t\tthis.configObject = configDataArray.reduce(\n\t\t\t\t\t(acc, configData) => {\n\t\t\t\t\t\treturn { ...acc, ...configData };\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t}),\n\t\t\tcatchError((err: any) => {\n\t\t\t\tconsole.error('Error loading config: ', err);\n\t\t\t\tthis.configObject = null;\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t\treturn of(null);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate makeHttpCall(url: string): Observable<any> {\n\t\treturn this._http.get(url).pipe(take(1));\n\t}\n\n\tgetConfig() {\n\t\treturn this.configObject;\n\t}\n\n\tgetConfigObjectKey(key: string) {\n\t\treturn this.configObject ? this.configObject[key] : null;\n\t}\n}\n"]}
@@ -1,49 +0,0 @@
1
- import { HttpClientModule } from '@angular/common/http';
2
- import { APP_INITIALIZER, NgModule } from '@angular/core';
3
- import { RuntimeConfig } from './runtime-config';
4
- import { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';
5
- import * as i0 from "@angular/core";
6
- export function initConfig(configSvc) {
7
- return () => configSvc.loadConfig();
8
- }
9
- export class RuntimeConfigLoaderModule {
10
- static forRoot(config) {
11
- return {
12
- ngModule: RuntimeConfigLoaderModule,
13
- providers: [
14
- {
15
- provide: RuntimeConfig,
16
- useValue: config,
17
- },
18
- RuntimeConfigLoaderService,
19
- ],
20
- };
21
- }
22
- }
23
- RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] });
25
- RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [
26
- RuntimeConfigLoaderService,
27
- {
28
- provide: APP_INITIALIZER,
29
- useFactory: initConfig,
30
- deps: [RuntimeConfigLoaderService],
31
- multi: true,
32
- },
33
- ], imports: [[HttpClientModule]] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- imports: [HttpClientModule],
38
- providers: [
39
- RuntimeConfigLoaderService,
40
- {
41
- provide: APP_INITIALIZER,
42
- useFactory: initConfig,
43
- deps: [RuntimeConfigLoaderService],
44
- multi: true,
45
- },
46
- ],
47
- }]
48
- }] });
49
- //# sourceMappingURL=runtime-config-loader.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config-loader.module.js","sourceRoot":"","sources":["../../../../../libs/runtime-config-loader/src/lib/runtime-config-loader.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;;AAEnG,MAAM,UAAU,UAAU,CAAC,SAAqC;IAC/D,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;AACrC,CAAC;AAcD,MAAM,OAAO,yBAAyB;IACrC,MAAM,CAAC,OAAO,CACb,MAAqB;QAErB,OAAO;YACN,QAAQ,EAAE,yBAAyB;YACnC,SAAS,EAAE;gBACV;oBACC,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE,MAAM;iBAChB;gBACD,0BAA0B;aAC1B;SACD,CAAC;IACH,CAAC;;sHAdW,yBAAyB;uHAAzB,yBAAyB,YAX3B,gBAAgB;uHAWd,yBAAyB,aAV1B;QACV,0BAA0B;QAC1B;YACC,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,CAAC,0BAA0B,CAAC;YAClC,KAAK,EAAE,IAAI;SACX;KACD,YATQ,CAAC,gBAAgB,CAAC;2FAWf,yBAAyB;kBAZrC,QAAQ;mBAAC;oBACT,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,SAAS,EAAE;wBACV,0BAA0B;wBAC1B;4BACC,OAAO,EAAE,eAAe;4BACxB,UAAU,EAAE,UAAU;4BACtB,IAAI,EAAE,CAAC,0BAA0B,CAAC;4BAClC,KAAK,EAAE,IAAI;yBACX;qBACD;iBACD","sourcesContent":["import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RuntimeConfig } from './runtime-config';\nimport { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';\n\nexport function initConfig(configSvc: RuntimeConfigLoaderService) {\n\treturn () => configSvc.loadConfig();\n}\n\n@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\tRuntimeConfigLoaderService,\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initConfig,\n\t\t\tdeps: [RuntimeConfigLoaderService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RuntimeConfigLoaderModule {\n\tstatic forRoot(\n\t\tconfig: RuntimeConfig\n\t): ModuleWithProviders<RuntimeConfigLoaderModule> {\n\t\treturn {\n\t\t\tngModule: RuntimeConfigLoaderModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RuntimeConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t\tRuntimeConfigLoaderService,\n\t\t\t],\n\t\t};\n\t}\n}\n"]}
@@ -1,6 +0,0 @@
1
- export class RuntimeConfig {
2
- constructor(obj = {}) {
3
- this.configUrl = obj.configUrl || './assets/config.json';
4
- }
5
- }
6
- //# sourceMappingURL=runtime-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../../../../libs/runtime-config-loader/src/lib/runtime-config.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IAGzB,YAAY,MAAW,EAAE;QACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,sBAAsB,CAAC;IAC1D,CAAC;CACD","sourcesContent":["export class RuntimeConfig {\n\tconfigUrl: string | string[];\n\n\tconstructor(obj: any = {}) {\n\t\tthis.configUrl = obj.configUrl || './assets/config.json';\n\t}\n}\n"]}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=runtime-config-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config-loader.js","sourceRoot":"","sources":["../../../../libs/runtime-config-loader/src/runtime-config-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-config-loader.js","sources":["../../../../libs/runtime-config-loader/src/lib/runtime-config.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader/runtime-config-loader.service.ts","../../../../libs/runtime-config-loader/src/lib/runtime-config-loader.module.ts","../../../../libs/runtime-config-loader/src/runtime-config-loader.ts"],"sourcesContent":["export class RuntimeConfig {\n\tconfigUrl: string | string[];\n\n\tconstructor(obj: any = {}) {\n\t\tthis.configUrl = obj.configUrl || './assets/config.json';\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { RuntimeConfig } from '../runtime-config';\nimport { forkJoin, Observable, of, Subject, zip } from 'rxjs';\nimport { catchError, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RuntimeConfigLoaderService {\n\tprivate configUrl: string | string[] = './assets/config.json';\n\tprivate configObject: any = null;\n\tpublic configSubject: Subject<any> = new Subject<any>();\n\n\tconstructor(private _http: HttpClient, @Optional() config: RuntimeConfig) {\n\t\tif (config) {\n\t\t\tthis.configUrl = config.configUrl;\n\t\t}\n\t}\n\n\tloadConfig(): Observable<any> {\n\t\tconst urls: string[] = Array.isArray(this.configUrl)\n\t\t\t? this.configUrl\n\t\t\t: [this.configUrl];\n\n\t\tconst observables: Observable<any>[] = urls.map((url) =>\n\t\t\tthis.makeHttpCall(url)\n\t\t);\n\n\t\treturn forkJoin(observables).pipe(\n\t\t\ttap((configDataArray: any[]) => {\n\t\t\t\tthis.configObject = configDataArray.reduce(\n\t\t\t\t\t(acc, configData) => {\n\t\t\t\t\t\treturn { ...acc, ...configData };\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t}),\n\t\t\tcatchError((err: any) => {\n\t\t\t\tconsole.error('Error loading config: ', err);\n\t\t\t\tthis.configObject = null;\n\t\t\t\tthis.configSubject.next(this.configObject);\n\t\t\t\treturn of(null);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate makeHttpCall(url: string): Observable<any> {\n\t\treturn this._http.get(url).pipe(take(1));\n\t}\n\n\tgetConfig() {\n\t\treturn this.configObject;\n\t}\n\n\tgetConfigObjectKey(key: string) {\n\t\treturn this.configObject ? this.configObject[key] : null;\n\t}\n}\n","import { HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RuntimeConfig } from './runtime-config';\nimport { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service';\n\nexport function initConfig(configSvc: RuntimeConfigLoaderService) {\n\treturn () => configSvc.loadConfig();\n}\n\n@NgModule({\n\timports: [HttpClientModule],\n\tproviders: [\n\t\tRuntimeConfigLoaderService,\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initConfig,\n\t\t\tdeps: [RuntimeConfigLoaderService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RuntimeConfigLoaderModule {\n\tstatic forRoot(\n\t\tconfig: RuntimeConfig\n\t): ModuleWithProviders<RuntimeConfigLoaderModule> {\n\t\treturn {\n\t\t\tngModule: RuntimeConfigLoaderModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: RuntimeConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t\tRuntimeConfigLoaderService,\n\t\t\t],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}