UNPKG

@softchef/cdk-iot-device-management

Version:

IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.

53 lines (41 loc) 1.16 kB
/** * Formula parser */ export class Parser<T extends (string | number)> { /** * Create a new formula parser. * * @param formula - the formula string to parse. * @param options - optional settings. */ constructor(formula: string, options?: Options); /** * Evaluate the formula. * * @param context - optional object with runtime formula context used to resolve variables. * * @returns the string or number outcome of the resolved formula. */ evaluate(context?: any): T; } export interface Options { /** * A hash of key - value pairs used to convert constants to values. */ readonly constants?: Record<string, any>; /** * A regular expression used to validate token variables. */ readonly tokenRx?: RegExp; /** * A variable resolver factory function. */ readonly reference?: Options.Reference; /** * A hash of key-value pairs used to resolve formula functions. */ readonly functions?: Record<string, Function>; } export namespace Options { type Reference = (name: string) => (context: any) => any; }