UNPKG

featurehub-javascript-client-sdk

Version:
36 lines (35 loc) 1.4 kB
import { FeatureValueType } from './models'; import { ClientContext } from './client_context'; export interface FeatureListener<T = any> { (featureChanged: FeatureStateHolder<T>): void; } export type FeatureListenerHandle = number; export interface FeatureStateHolder<T = any> { getKey(): string | undefined; get key(): string | undefined; getString(): string | undefined; get str(): string | undefined; getBoolean(): boolean | undefined; getFlag(): boolean | undefined; get flag(): boolean | undefined; getNumber(): number | undefined; get num(): number | undefined; getRawJson(): string | undefined; get rawJson(): string | undefined; isSet(): boolean; get exists(): boolean; isLocked(): boolean | undefined; get locked(): boolean | undefined; isEnabled(): boolean; get enabled(): boolean; addListener(listener: FeatureListener<T>): FeatureListenerHandle; removeListener(handle: FeatureListener<T> | FeatureListenerHandle): any; triggerListeners(feature?: FeatureStateHolder<T>): void; get value(): T | undefined; getVersion(): number | undefined; get version(): number | undefined; getType(): FeatureValueType | undefined; get type(): FeatureValueType | undefined; withContext(param: ClientContext): FeatureStateHolder; get featureProperties(): Record<string, string> | undefined; }