UNPKG

@ayanaware/bento

Version:

Modular runtime framework designed to solve complex tasks

57 lines (56 loc) 1.6 kB
export declare class VariableManager { private readonly variables; private readonly validators; /** * Check if a given variable exists * @param name name of variable * * @returns boolean */ hasVariable(name: string): boolean; /** * Fetch a value for a given variable name * @param name name of variable * @param def default value * * @returns variable value */ getVariable<T = string>(name: string, def?: T): T; /** * Get Key/Value Object of all variables * * @returns Object of Key/Value pairs */ getVariables(): Record<string, unknown>; /** * Update a given variables value * @param name name of variable * @param value new value */ setVariable<T = string>(name: string, value: T): T; /** * Fully removes all traces of a variable from bento * @param name name of variable */ deleteVariable(name: string): void; /** * Add a new validator into Bento * @param name validator name * @param validator validator function */ addValidator(name: string, validator: (value: any, ...args: Array<any>) => boolean): void; /** * Remove validator from Bento * @param name validator name */ removeValidator(name: string): void; /** * Run a validator * @param name validator name * @param value validator value * @param args array of args to be passed * * @returns validator result */ runValidator(name: string, value: unknown, ...args: Array<any>): boolean; }