featurehub-repository
Version:
Core package of API that exposes FeatureHub feature flags, values and configuration to client applications written in Typescript or Javascript.
37 lines (36 loc) • 1.58 kB
TypeScript
import { FeatureListener, FeatureStateHolder } from './feature_state';
import { FeatureState, FeatureValueType } from './models';
import { ClientContext } from './client_context';
import { InternalFeatureRepository } from './internal_feature_repository';
export declare class FeatureStateBaseHolder implements FeatureStateHolder {
protected internalFeatureState: FeatureState;
protected _key: string;
protected listeners: Array<FeatureListener>;
protected _repo: InternalFeatureRepository;
protected _ctx: ClientContext;
protected parentHolder: FeatureStateBaseHolder;
constructor(repository: InternalFeatureRepository, key: string, existingHolder?: FeatureStateBaseHolder);
withContext(param: ClientContext): FeatureStateHolder;
isEnabled(): boolean;
addListener(listener: FeatureListener): void;
getBoolean(): boolean | undefined;
getFlag(): boolean | undefined;
getKey(): string | undefined;
getNumber(): number | undefined;
getRawJson(): string | undefined;
getString(): string | undefined;
isSet(): boolean;
getFeatureState(): FeatureState;
setFeatureState(fs: FeatureState): boolean;
copy(): FeatureStateHolder;
analyticsCopy(): FeatureStateBaseHolder;
getType(): FeatureValueType | undefined;
getVersion(): number | undefined;
isLocked(): boolean;
triggerListeners(feature: FeatureStateHolder): void;
protected notifyListeners(feature?: FeatureStateHolder): Promise<void>;
private _copy;
private featureState;
private _getValue;
private _castType;
}