UNPKG

unleash-server

Version:

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

45 lines 2.12 kB
import type { Response } from 'express'; import Controller from '../../routes/controller.js'; import type { IUnleashConfig } from '../../types/index.js'; import type { IFeatureToggleQuery } from '../../types/model.js'; import type { IAuthRequest } from '../../routes/unleash-types.js'; import type { ClientFeaturesQuerySchema } from '../../openapi/spec/client-features-query-schema.js'; import { type ClientFeatureSchema } from '../../openapi/spec/client-feature-schema.js'; import { type ClientFeaturesSchema } from '../../openapi/spec/client-features-schema.js'; import type { IUnleashServices } from '../../services/index.js'; export interface QueryOverride { project?: string[]; environment?: string; } interface IMeta { revisionId: number; etag: string; queryHash: string; } export default class FeatureController extends Controller { private readonly logger; private clientFeatureToggleService; private clientSpecService; private openApiService; private configurationRevisionService; private featureToggleService; private flagResolver; private eventBus; private clientFeaturesCacheMap; private featuresAndSegments; constructor({ clientFeatureToggleService, clientSpecService, openApiService, configurationRevisionService, featureToggleService, }: Pick<IUnleashServices, 'clientFeatureToggleService' | 'clientSpecService' | 'openApiService' | 'configurationRevisionService' | 'featureToggleService'>, config: IUnleashConfig); private resolveFeaturesAndSegments; private resolveQuery; private paramToArray; private prepQuery; getAll(req: IAuthRequest, res: Response<ClientFeaturesSchema>): Promise<void>; calculateMeta(query: IFeatureToggleQuery): Promise<IMeta>; getFeatureToggle(req: IAuthRequest<{ featureName: string; }, ClientFeaturesQuerySchema>, res: Response<ClientFeatureSchema>): Promise<void>; storeFootprint(): void; getCacheSizeInBytes(value: any): number; deepEqualIgnoreOrder: (obj1: any, obj2: any) => boolean; } export {}; //# sourceMappingURL=client-feature-toggle.controller.d.ts.map