UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

34 lines 2.28 kB
import { FrontendApiService } from './frontend-api-service.js'; import { SegmentReadModel } from '../segment/segment-read-model.js'; import { createFakeSettingService, createSettingService, } from '../settings/createSettingService.js'; import { GlobalFrontendApiCache } from './global-frontend-api-cache.js'; import ClientFeatureToggleReadModel from './client-feature-toggle-read-model.js'; import { FakeSegmentReadModel } from '../segment/fake-segment-read-model.js'; import FakeClientFeatureToggleReadModel from './fake-client-feature-toggle-read-model.js'; export const createFrontendApiService = (db, config, // client metrics service needs to be shared because it uses in-memory cache clientMetricsServiceV2, configurationRevisionService, clientInstanceService) => { const segmentReadModel = new SegmentReadModel(db); const settingService = createSettingService(config)(db); const clientFeatureToggleReadModel = new ClientFeatureToggleReadModel(db, config.eventBus); const globalFrontendApiCache = new GlobalFrontendApiCache(config, segmentReadModel, clientFeatureToggleReadModel, configurationRevisionService); return new FrontendApiService(config, { clientMetricsServiceV2, settingService, clientInstanceService, }, globalFrontendApiCache); }; export const createFakeFrontendApiService = (config, clientMetricsServiceV2, configurationRevisionService, clientInstanceService) => { // MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 200 UPDATE_REVISION listeners added to [ConfigurationRevisionService]. MaxListeners is 199. Use emitter.setMaxListeners() to increase limit configurationRevisionService.setMaxListeners(200); const segmentReadModel = new FakeSegmentReadModel(); const settingService = createFakeSettingService(config); const clientFeatureToggleReadModel = new FakeClientFeatureToggleReadModel(); const globalFrontendApiCache = new GlobalFrontendApiCache(config, segmentReadModel, clientFeatureToggleReadModel, configurationRevisionService); return new FrontendApiService(config, { clientMetricsServiceV2, settingService, clientInstanceService, }, globalFrontendApiCache); }; //# sourceMappingURL=createFrontendApiService.js.map