phaser3-rex-plugins
Version:
71 lines (63 loc) • 1.73 kB
TypeScript
export default ExpressionParser;
declare namespace ExpressionParser {
/**
* Callback produced by compiled expressions.
*
* @param context - Evaluation context.
* @returns The evaluated number.
*/
type ExpressionCallbackType = (
context: object
) => number
}
/**
* Parser and evaluator for simple expressions.
*/
declare class ExpressionParser {
/**
* Compile an expression into a callback.
*
* @param expression - Expression string.
* @returns The compiled callback.
*/
compile(
expression: string
): ExpressionParser.ExpressionCallbackType;
/**
* Execute an expression string.
*
* @param expression - Expression string.
* @param context - Evaluation context.
* @returns The evaluated number.
*/
exec(
expression: string,
context: object
): number;
/**
* Execute a compiled expression callback.
*
* @param expressionCallback - Compiled callback.
* @param context - Evaluation context.
* @returns The evaluated number.
*/
exec(
expressionCallback: ExpressionParser.ExpressionCallbackType,
context: object
): number;
/**
* Get a property from a context object.
*
* @param context - Source object.
* @param key - Property path.
* @param defaultValue - Default value if missing.
* @param dotMode - Enable dot path parsing.
* @returns The property value.
*/
static GetProperty(
context: Object,
key: string | string[],
defaultValue: any,
dotMode?: boolean
): any;
}