UNPKG

unleash-server

Version:

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

45 lines 2.2 kB
import { type IAuditUser, type IEnvironmentStore, type IEventStore, type IFeatureEnvironmentStore, type IUnleashConfig } from '../../types/index.js'; import type { FeatureLifecycleView, IFeatureLifecycleStore } from './feature-lifecycle-store-type.js'; import type EventService from '../events/event-service.js'; import type { FeatureLifecycleCompletedSchema } from '../../openapi/index.js'; export declare class FeatureLifecycleService { private eventStore; private featureLifecycleStore; private environmentStore; private featureEnvironmentStore; private flagResolver; private eventBus; private eventService; private logger; constructor({ eventStore, featureLifecycleStore, environmentStore, featureEnvironmentStore, }: { eventStore: IEventStore; environmentStore: IEnvironmentStore; featureLifecycleStore: IFeatureLifecycleStore; featureEnvironmentStore: IFeatureEnvironmentStore; }, { eventService, }: { eventService: EventService; }, { flagResolver, eventBus, getLogger, }: Pick<IUnleashConfig, 'flagResolver' | 'eventBus' | 'getLogger'>); listen(): void; getFeatureLifecycle(feature: string): Promise<FeatureLifecycleView>; private featureInitialized; private stageReceivedMetrics; private recordStagesEntered; private featuresReceivedMetrics; /** * Optimized bulk processing: reduces DB calls from O(4 * environments) to O(3) by batching all data fetches and processing in-memory */ private handleBulkMetrics; private extractUniqueEnvironmentsAndFeatures; private buildEnvironmentMap; private buildFeatureEnvironmentMap; private determineLifecycleStages; private getFeaturesForEnvironment; private createPreLiveStages; private createLiveStages; private getEnabledFeaturesForEnvironment; featureCompleted(feature: string, projectId: string, status: FeatureLifecycleCompletedSchema, auditUser: IAuditUser): Promise<void>; featureUncompleted(feature: string, projectId: string, auditUser: IAuditUser): Promise<void>; private featureArchived; private featureRevived; } //# sourceMappingURL=feature-lifecycle-service.d.ts.map