@kyosho-/ng-config
Version:
Configuration and options service for Angular applications.
1 lines • 6.24 kB
Source Map (JSON)
{"version":3,"file":"kyosho--ng-config-http-config.mjs","sources":["../../../projects/ng-config/http-config/src/lib/http-config-provider-options.ts","../../../projects/ng-config/http-config/src/lib/http-config-provider.ts","../../../projects/ng-config/http-config/src/lib/http-config-provider.module.ts","../../../projects/ng-config/http-config/src/public-api.ts","../../../projects/ng-config/http-config/src/kyosho--ng-config-http-config.ts"],"sourcesContent":["/**\n * @license\n * Copyright DagonMetric. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found under the LICENSE file in the root directory of this source tree.\n */\n\nimport { InjectionToken } from '@angular/core';\n\n/**\n * The options for `HttpConfigProvider`.\n */\nexport interface HttpConfigProviderOptions {\n /**\n * The endpoint url string or InjectionToken.\n */\n endpoint: string | InjectionToken<string>;\n}\n\nexport const HTTP_CONFIG_PROVIDER_OPTIONS = new InjectionToken<HttpConfigProviderOptions>('HttpConfigProviderOptions');\n","/**\n * @license\n * Copyright DagonMetric. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found under the LICENSE file in the root directory of this source tree.\n */\n\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, Injector } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { ConfigProvider, ConfigSection } from '@kyosho-/ng-config';\n\nimport {\n HTTP_CONFIG_PROVIDER_OPTIONS,\n HttpConfigProviderOptions,\n} from './http-config-provider-options';\n\n/**\n * Implements an HTTP client API for HttpConfigProvider that relies on the Angular HttpClient.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpConfigProvider implements ConfigProvider {\n get name(): string {\n return 'HttpConfigProvider';\n }\n\n get endpoint(): string {\n return this.configEndpoint;\n }\n\n private readonly configEndpoint: string;\n\n constructor(\n private readonly httpClient: HttpClient,\n injector: Injector,\n @Inject(HTTP_CONFIG_PROVIDER_OPTIONS) options: HttpConfigProviderOptions\n ) {\n if (typeof options.endpoint === 'string') {\n this.configEndpoint = options.endpoint;\n } else {\n this.configEndpoint = injector.get(options.endpoint);\n }\n }\n\n load(): Observable<ConfigSection> {\n return this.httpClient.get<ConfigSection>(this.configEndpoint);\n }\n}\n","/**\n * @license\n * Copyright DagonMetric. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found under the LICENSE file in the root directory of this source tree.\n */\n\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CONFIG_PROVIDER } from '@kyosho-/ng-config';\n\nimport { HttpConfigProvider } from './http-config-provider';\nimport { HTTP_CONFIG_PROVIDER_OPTIONS, HttpConfigProviderOptions } from './http-config-provider-options';\n\n/**\n * The `NGMODULE` for providing `HttpConfigProvider`.\n */\n@NgModule({\n providers: [\n {\n provide: CONFIG_PROVIDER,\n useClass: HttpConfigProvider,\n multi: true\n }\n ]\n})\nexport class HttpConfigProviderModule {\n /**\n * Call this method to provide options for configuring the `HttpConfigProvider`.\n * @param options An option object for `HttpConfigProvider`.\n */\n static configure(options: HttpConfigProviderOptions): ModuleWithProviders<HttpConfigProviderModule> {\n return {\n ngModule: HttpConfigProviderModule,\n providers: [\n {\n provide: HTTP_CONFIG_PROVIDER_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of ng-config\n */\n\nexport * from './lib/http-config-provider-options';\nexport * from './lib/http-config-provider.module';\nexport * from './lib/http-config-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}