UNPKG

runtime-config-loader

Version:

Most applications require certain configuration values that can be changed at runtime of the app. The `environment.ts` files in an Angular application technically work for setting configuration values in an app, but those are buildtime configuration value

49 lines 5.05 kB
import { HttpClientModule } from '@angular/common/http'; import { APP_INITIALIZER, NgModule } from '@angular/core'; import { RuntimeConfig } from './runtime-config'; import { RuntimeConfigLoaderService } from './runtime-config-loader/runtime-config-loader.service'; import * as i0 from "@angular/core"; export function initConfig(configSvc) { return () => configSvc.loadConfig(); } export class RuntimeConfigLoaderModule { static forRoot(config) { return { ngModule: RuntimeConfigLoaderModule, providers: [ { provide: RuntimeConfig, useValue: config, }, RuntimeConfigLoaderService, ], }; } } RuntimeConfigLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RuntimeConfigLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); RuntimeConfigLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: RuntimeConfigLoaderModule, imports: [HttpClientModule] }); RuntimeConfigLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RuntimeConfigLoaderModule, providers: [ RuntimeConfigLoaderService, { provide: APP_INITIALIZER, useFactory: initConfig, deps: [RuntimeConfigLoaderService], multi: true, }, ], imports: [HttpClientModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RuntimeConfigLoaderModule, decorators: [{ type: NgModule, args: [{ imports: [HttpClientModule], providers: [ RuntimeConfigLoaderService, { provide: APP_INITIALIZER, useFactory: initConfig, deps: [RuntimeConfigLoaderService], multi: true, }, ], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb25maWctbG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcnVudGltZS1jb25maWctbG9hZGVyL3NyYy9saWIvcnVudGltZS1jb25maWctbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQUVuRyxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQXFDO0lBQy9ELE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFjRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQ2IsTUFBcUI7UUFFckIsT0FBTztZQUNOLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNWO29CQUNDLE9BQU8sRUFBRSxhQUFhO29CQUN0QixRQUFRLEVBQUUsTUFBTTtpQkFDaEI7Z0JBQ0QsMEJBQTBCO2FBQzFCO1NBQ0QsQ0FBQztJQUNILENBQUM7O3NIQWRXLHlCQUF5Qjt1SEFBekIseUJBQXlCLFlBWDNCLGdCQUFnQjt1SEFXZCx5QkFBeUIsYUFWMUI7UUFDViwwQkFBMEI7UUFDMUI7WUFDQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsVUFBVTtZQUN0QixJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0QsWUFUUyxnQkFBZ0I7MkZBV2QseUJBQXlCO2tCQVpyQyxRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUU7d0JBQ1YsMEJBQTBCO3dCQUMxQjs0QkFDQyxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLFVBQVU7NEJBQ3RCLElBQUksRUFBRSxDQUFDLDBCQUEwQixDQUFDOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFDRDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdW50aW1lQ29uZmlnIH0gZnJvbSAnLi9ydW50aW1lLWNvbmZpZyc7XG5pbXBvcnQgeyBSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZSB9IGZyb20gJy4vcnVudGltZS1jb25maWctbG9hZGVyL3J1bnRpbWUtY29uZmlnLWxvYWRlci5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb25maWcoY29uZmlnU3ZjOiBSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZSkge1xuXHRyZXR1cm4gKCkgPT4gY29uZmlnU3ZjLmxvYWRDb25maWcoKTtcbn1cblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGVdLFxuXHRwcm92aWRlcnM6IFtcblx0XHRSdW50aW1lQ29uZmlnTG9hZGVyU2VydmljZSxcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG5cdFx0XHR1c2VGYWN0b3J5OiBpbml0Q29uZmlnLFxuXHRcdFx0ZGVwczogW1J1bnRpbWVDb25maWdMb2FkZXJTZXJ2aWNlXSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb25maWdMb2FkZXJNb2R1bGUge1xuXHRzdGF0aWMgZm9yUm9vdChcblx0XHRjb25maWc6IFJ1bnRpbWVDb25maWdcblx0KTogTW9kdWxlV2l0aFByb3ZpZGVyczxSdW50aW1lQ29uZmlnTG9hZGVyTW9kdWxlPiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5nTW9kdWxlOiBSdW50aW1lQ29uZmlnTG9hZGVyTW9kdWxlLFxuXHRcdFx0cHJvdmlkZXJzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRwcm92aWRlOiBSdW50aW1lQ29uZmlnLFxuXHRcdFx0XHRcdHVzZVZhbHVlOiBjb25maWcsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdFJ1bnRpbWVDb25maWdMb2FkZXJTZXJ2aWNlLFxuXHRcdFx0XSxcblx0XHR9O1xuXHR9XG59XG4iXX0=