@dagonmetric/ng-config
Version:
Configuration and options service for Angular applications.
108 lines (103 loc) • 3.6 kB
JavaScript
import { InjectionToken, ɵɵdefineInjectable, ɵɵinject, INJECTOR, Injectable, Injector, Inject, NgModule } from '@angular/core';
import { CONFIG_PROVIDER } from '@dagonmetric/ng-config';
import { HttpClient } from '@angular/common/http';
/**
* @fileoverview added by tsickle
* Generated from: http-config/src/http-config-provider-options.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const HTTP_CONFIG_PROVIDER_OPTIONS = new InjectionToken('HttpConfigProviderOptions');
/**
* @fileoverview added by tsickle
* Generated from: http-config/src/http-config-provider.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Implements an HTTP client API for HttpConfigProvider that relies on the Angular HttpClient.
*/
class HttpConfigProvider {
/**
* @param {?} httpClient
* @param {?} injector
* @param {?} options
*/
constructor(httpClient, injector, options) {
this.httpClient = httpClient;
if (typeof options.endpoint === 'string') {
this.configEndpoint = options.endpoint;
}
else {
this.configEndpoint = injector.get(options.endpoint);
}
}
/**
* @return {?}
*/
get name() {
return 'HttpConfigProvider';
}
/**
* @return {?}
*/
get endpoint() {
return this.configEndpoint;
}
/**
* @return {?}
*/
load() {
return this.httpClient.get(this.configEndpoint);
}
}
/** @nocollapse */ HttpConfigProvider.ɵprov = ɵɵdefineInjectable({ factory: function HttpConfigProvider_Factory() { return new HttpConfigProvider(ɵɵinject(HttpClient), ɵɵinject(INJECTOR), ɵɵinject(HTTP_CONFIG_PROVIDER_OPTIONS)); }, token: HttpConfigProvider, providedIn: "any" });
HttpConfigProvider.decorators = [
{ type: Injectable, args: [{
providedIn: 'any'
},] }
];
/** @nocollapse */
HttpConfigProvider.ctorParameters = () => [
{ type: HttpClient },
{ type: Injector },
{ type: undefined, decorators: [{ type: Inject, args: [HTTP_CONFIG_PROVIDER_OPTIONS,] }] }
];
/**
* @fileoverview added by tsickle
* Generated from: http-config/src/http-config-provider.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* The `NGMODULE` for providing `HttpConfigProvider`.
*/
class HttpConfigProviderModule {
/**
* Call this method to provide options for configuring the `HttpConfigProvider`.
* @param {?} options An option object for `HttpConfigProvider`.
* @return {?}
*/
static configure(options) {
return {
ngModule: HttpConfigProviderModule,
providers: [
{
provide: HTTP_CONFIG_PROVIDER_OPTIONS,
useValue: options
}
]
};
}
}
HttpConfigProviderModule.decorators = [
{ type: NgModule, args: [{
providers: [
{
provide: CONFIG_PROVIDER,
useClass: HttpConfigProvider,
multi: true
}
]
},] }
];
export { HTTP_CONFIG_PROVIDER_OPTIONS, HttpConfigProvider, HttpConfigProviderModule };
//# sourceMappingURL=ng-config-http-config.js.map