UNPKG

@devcycle/js-cloud-server-sdk

Version:

The DevCycle JS Cloud Bucketing Server SDK used for feature management.

36 lines (35 loc) 1.25 kB
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); }