@devcycle/js-cloud-server-sdk
Version:
The DevCycle JS Cloud Bucketing Server SDK used for feature management.
29 lines (28 loc) • 1.76 kB
TypeScript
import { DVCVariableValue, DVCVariableSet, DVCFeatureSet, DevCycleEvent } from './types';
import { DVCVariable } from './models/variable';
import { DevCyclePlatformDetails } from './models/populatedUser';
import { DVCLogger, InferredVariableType, VariableDefinitions } from '@devcycle/types';
import { DevCycleUser } from './models/user';
import { EvalHook } from './hooks/EvalHook';
import { DevCycleCloudOptions } from '.';
export declare class DevCycleCloudClient<Variables extends VariableDefinitions = VariableDefinitions> {
private sdkKey;
protected logger: DVCLogger;
private options;
protected platformDetails: DevCyclePlatformDetails;
private hooksRunner;
constructor(sdkKey: string, options: DevCycleCloudOptions, platformDetails: DevCyclePlatformDetails);
/**
* Always returns true for Cloud Client because once the client is created,
* it is initialized as all request are async to the API.
*/
get isInitialized(): boolean;
variable<K extends string & keyof Variables, T extends DVCVariableValue & Variables[K]>(user: DevCycleUser, key: K, defaultValue: T): Promise<DVCVariable<T>>;
_variable<K extends string & keyof Variables, T extends DVCVariableValue & Variables[K]>(user: DevCycleUser, key: K, defaultValue: T): Promise<DVCVariable<T>>;
variableValue<K extends string & keyof Variables, T extends DVCVariableValue & Variables[K]>(user: DevCycleUser, key: K, defaultValue: T): Promise<InferredVariableType<K, T>>;
allVariables(user: DevCycleUser): Promise<DVCVariableSet>;
allFeatures(user: DevCycleUser): Promise<DVCFeatureSet>;
track(user: DevCycleUser, event: DevCycleEvent): Promise<void>;
addHook(hook: EvalHook): Promise<void>;
clearHooks(): Promise<void>;
}