unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
35 lines • 1.36 kB
JavaScript
export class ClientFeatureToggleService {
constructor({ clientFeatureToggleStore, }, segmentReadModel, clientFeatureToggleCache, _config) {
this.clientFeatureToggleDelta = null;
this.segmentReadModel = segmentReadModel;
this.clientFeatureToggleDelta = clientFeatureToggleCache;
this.clientFeatureToggleStore = clientFeatureToggleStore;
}
async getActiveSegmentsForClient() {
return this.segmentReadModel.getActiveForClient();
}
async getClientDelta(revisionId, query) {
if (this.clientFeatureToggleDelta !== null) {
return this.clientFeatureToggleDelta.getDelta(revisionId, query);
}
else {
throw new Error('Calling the partial updates but the cache is not initialized');
}
}
async getClientFeatures(query) {
const result = await this.clientFeatureToggleStore.getClient(query || {});
return result.map(({ name, type, enabled, project, stale, strategies, variants, description, impressionData, dependencies, }) => ({
name,
type,
enabled,
project,
stale,
strategies,
variants,
description,
impressionData,
dependencies,
}));
}
}
//# sourceMappingURL=client-feature-toggle-service.js.map