UNPKG

flagsmith-nodejs

Version:

Flagsmith lets you manage features flags and remote config across web, mobile and server side applications. Deliver true Continuous Integration. Get builds out faster. Control who has access to new features.

56 lines (55 loc) 1.96 kB
import { FeatureStateModel } from '../flagsmith-engine/features/models.js'; import { AnalyticsProcessor } from './analytics.js'; export declare class BaseFlag { enabled: boolean; value: string | number | boolean | undefined; isDefault: boolean; constructor(value: string | number | boolean | undefined, enabled: boolean, isDefault: boolean); } export declare class DefaultFlag extends BaseFlag { constructor(value: string | number | boolean | undefined, enabled: boolean); } export declare class Flag extends BaseFlag { featureId: number; featureName: string; constructor(params: { value: string | number | boolean | undefined; enabled: boolean; isDefault?: boolean; featureId: number; featureName: string; }); static fromFeatureStateModel(fsm: FeatureStateModel, identityId: number | string | undefined): Flag; static fromAPIFlag(flagData: any): Flag; } export declare class Flags { flags: { [key: string]: Flag; }; defaultFlagHandler?: (featureName: string) => DefaultFlag; analyticsProcessor?: AnalyticsProcessor; constructor(data: { flags: { [key: string]: Flag; }; defaultFlagHandler?: (v: string) => DefaultFlag; analyticsProcessor?: AnalyticsProcessor; }); static fromFeatureStateModels(data: { featureStates: FeatureStateModel[]; analyticsProcessor?: AnalyticsProcessor; defaultFlagHandler?: (f: string) => DefaultFlag; identityID?: string | number; }): Flags; static fromAPIFlags(data: { apiFlags: { [key: string]: any; }[]; analyticsProcessor?: AnalyticsProcessor; defaultFlagHandler?: (v: string) => DefaultFlag; }): Flags; allFlags(): Flag[]; getFlag(featureName: string): BaseFlag; getFeatureValue(featureName: string): any; isFeatureEnabled(featureName: string): boolean; }