ng-config-cat
Version:
An Angular service for ConfigCat
41 lines • 2.12 kB
JavaScript
import { Inject, Injectable } from '@angular/core';
import { AutoPollingModeConfiguration, LazyPollingModeConfiguration, ManualPollingModeConfiguration, ConfigCatAutoModeClient, ConfigCatLazyModeClient, ConfigCatManualModeClient, } from '../classes';
import { NG_CONFIG_CAT_OPTIONS_TOKEN } from '../constants/ng-config-cat-options.token';
import * as i0 from "@angular/core";
import * as i1 from "../constants/ng-config-cat-options.token";
export class NgConfigCatService {
constructor(ngConfigCatConfiguration) {
const { sdkKey, configuration = new AutoPollingModeConfiguration() } = ngConfigCatConfiguration;
if (configuration instanceof AutoPollingModeConfiguration) {
this.configCatClient = new ConfigCatAutoModeClient(sdkKey, configuration);
}
else if (configuration instanceof LazyPollingModeConfiguration) {
this.configCatClient = new ConfigCatLazyModeClient(sdkKey, configuration);
}
else if (configuration instanceof ManualPollingModeConfiguration) {
this.configCatClient = new ConfigCatManualModeClient(sdkKey, configuration);
}
else {
throw new TypeError('NgConfigCat configuration should be represent by an instance of PollingModeConfiguration class');
}
}
getValue(key, defaultValue, user) {
return this.configCatClient.getValue(key, defaultValue, user);
}
getAllKeys() {
return this.configCatClient.getAllKeys();
}
forceRefresh() {
return this.configCatClient.forceRefresh();
}
}
NgConfigCatService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NgConfigCatService_Factory() { return new NgConfigCatService(i0.ɵɵinject(i1.NG_CONFIG_CAT_OPTIONS_TOKEN)); }, token: NgConfigCatService, providedIn: "root" });
NgConfigCatService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
NgConfigCatService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [NG_CONFIG_CAT_OPTIONS_TOKEN,] }] }
];
//# sourceMappingURL=ng-config-cat.service.js.map