12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /**
- * 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;
- }
|