UNPKG

unleash-server

Version:

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

36 lines 3.04 kB
import { type Variant } from 'unleash-client'; import type { MetricFlagContext } from 'unleash-client/lib/impact-metrics/metric-types.js'; import type { Context } from '../features/playground/feature-evaluator/index.js'; export type IFlagKey = 'accessLogs' | 'anonymiseEventLog' | 'encryptEmails' | 'enableLicense' | 'responseTimeWithAppNameKillSwitch' | 'maintenanceMode' | 'messageBanner' | 'strictSchemaValidation' | 'personalAccessTokensKillSwitch' | 'migrationLock' | 'demo' | 'advancedPlayground' | 'filterInvalidClientMetrics' | 'disableMetrics' | 'signals' | 'automatedActions' | 'celebrateUnleash' | 'feedbackPosting' | 'extendedUsageMetrics' | 'feedbackComments' | 'killScheduledChangeRequestCache' | 'estimateTrafficDataCost' | 'useMemoizedActiveTokens' | 'queryMissingTokens' | 'disableUpdateMaxRevisionId' | 'disablePublishUnannouncedEvents' | 'outdatedSdksBanner' | 'responseTimeMetricsFix' | 'disableShowContextFieldSelectionValues' | 'manyStrategiesPagination' | 'enableLegacyVariants' | 'extendedMetrics' | 'removeUnsafeInlineStyleSrc' | 'projectRoleAssignment' | 'webhookDomainLogging' | 'productivityReportEmail' | 'productivityReportUnsubscribers' | 'showUserDeviceCount' | 'memorizeStats' | 'streaming' | 'denyStreamingForNonEdge' | 'deltaApi' | 'deltaDiff' | 'uniqueSdkTracking' | 'consumptionModel' | 'consumptionModelUI' | 'customMetrics' | 'impactMetrics' | 'etagByEnv' | 'fetchMode' | 'optimizeLifecycle' | 'milestoneProgression' | 'featureReleasePlans' | 'plausibleMetrics' | 'safeguards' | 'newInUnleash' | 'oidcPkceSupport' | 'gtmReleaseManagement' | 'projectContextFields'; export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant; }>; export declare const defaultExperimentalOptions: IExperimentalOptions; export interface IExperimentalOptions { flags: IFlags; externalResolver: IExternalFlagResolver; } export interface IFlagContext extends Context { } export interface IFlagResolver { getAll: (context?: IFlagContext) => IFlags; isEnabled: (expName: IFlagKey, context?: IFlagContext) => boolean; getVariant: (expName: IFlagKey, context?: IFlagContext) => Variant; getStaticContext: () => IFlagContext; impactMetrics?: IImpactMetricsResolver; } export interface IExternalFlagResolver { isEnabled: (flagName: IFlagKey, context?: IFlagContext) => boolean; getVariant: (flagName: IFlagKey, context?: IFlagContext) => Variant; getStaticContext: () => IFlagContext; impactMetrics?: IImpactMetricsResolver; } export interface IImpactMetricsResolver { defineCounter(name: string, help: string): any; defineGauge(name: string, help: string): any; defineHistogram(name: string, help: string, buckets?: number[]): any; incrementCounter(name: string, value?: number, metricsFlagContext?: MetricFlagContext): void; updateGauge(name: string, value: number, metricsFlagContext?: MetricFlagContext): void; observeHistogram(name: string, value: number, metricsFlagContext?: MetricFlagContext): void; } //# sourceMappingURL=experimental.d.ts.map