@devcycle/js-cloud-server-sdk
Version:
The DevCycle JS Cloud Bucketing Server SDK used for feature management.
36 lines (35 loc) • 1.25 kB
TypeScript
import { EvalReason, InferredVariableType, VariableKey, VariableType, VariableTypeAlias } from '@devcycle/types';
import { DVCVariableInterface, DVCVariableValue } from '../types';
export type VariableParam<T extends DVCVariableValue> = {
key: string;
defaultValue: T;
value?: VariableTypeAlias<T>;
type: VariableType;
/**
* @deprecated use eval instead
*/
evalReason?: unknown;
eval?: EvalReason;
};
export declare class DVCVariable<T extends DVCVariableValue, K extends VariableKey = VariableKey> implements DVCVariableInterface {
key: K;
value: InferredVariableType<K, T>;
readonly defaultValue: T;
readonly isDefaulted: boolean;
readonly type: 'String' | 'Number' | 'Boolean' | 'JSON';
/**
* @deprecated use eval instead
*/
readonly evalReason?: unknown;
readonly eval?: EvalReason;
constructor(variable: VariableParam<T>);
}
export declare class VariableMetadata {
featureId?: string | undefined;
constructor(featureId?: string | undefined);
}
export declare class VariableAndMetadata<T extends DVCVariableValue> {
variable: DVCVariable<T>;
metadata: VariableMetadata;
constructor(variableParams: VariableParam<T>, featureId?: string);
}