# Class ASTInterpreter

- Defined in core/parser/interpreter.js:7

#####
Index

### Constructors

constructor

### Properties

$filter

### Methods

binary!=
binary!==
binary%
binary&&
binary*
binary+
binary-
binary/
binary<
binary<=
binary==
binary===
binary>
binary>=
binary||
compile
computedMember
identifier
nonComputedMember
recurse
ternary?:
unary!
unary+
unary-
value

##
Constructors

### constructor

- new ASTInterpreter($filter): ASTInterpreter

- #### Parameters

  - $filter: ((arg0: any) => any)
    - - (arg0): any

      - #### Parameters

        - arg0: any

        #### Returns any

  #### Returns ASTInterpreter

  - Defined in core/parser/interpreter.js:11

##
Properties

### $filter

$filter: ((arg0: any) => any)

- Defined in core/parser/interpreter.js:12

##
Methods

### binary!=

- binary!=(left, right, context?): Function

- Binary inequality operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary inequality function.

  - Defined in core/parser/interpreter.js:392

### binary!==

- binary!==(left, right, context?): Function

- Binary strict inequality operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary strict inequality function.

  - Defined in core/parser/interpreter.js:364

### binary%

- binary%(left, right, context?): Function

- Binary division operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary division function.

  - Defined in core/parser/interpreter.js:336

### binary&&

- binary&&(left, right, context?): Function

- Binary logical AND operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary logical AND function.

  - Defined in core/parser/interpreter.js:461

### binary*

- binary*(left, right, context?): Function

- Binary multiplication operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary multiplication function.

  - Defined in core/parser/interpreter.js:315

### binary+

- binary+(left, right, context?): Function

- Binary plus operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary plus function.

  - Defined in core/parser/interpreter.js:283

### binary-

- binary-(left, right, context?): Function

- Binary minus operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary minus function.

  - Defined in core/parser/interpreter.js:299

### binary/

- binary/(left, right, context): ((scope: any, locals: any, assign: any) => number | {
  value: number;
  })

- #### Parameters

  - left: any
  - right: any
  - context: any

  #### Returns ((scope: any, locals: any, assign: any) => number | {
  value: number;
  })

  - - (scope, locals, assign): number | {
      value: number;
      }

    - #### Parameters

      - scope: any
      - locals: any
      - assign: any

      #### Returns number | {
      value: number;
      }

  - Defined in core/parser/interpreter.js:322

### binary<

- binary<(left, right, context?): Function

- Binary less-than operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary less-than function.

  - Defined in core/parser/interpreter.js:406

### binary<=

- binary<=(left, right, context?): Function

- Binary less-than-or-equal-to operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary less-than-or-equal-to function.

  - Defined in core/parser/interpreter.js:434

### binary==

- binary==(left, right, context?): Function

- Binary equality operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary equality function.

  - Defined in core/parser/interpreter.js:378

### binary===

- binary===(left, right, context?): Function

- Binary strict equality operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary strict equality function.

  - Defined in core/parser/interpreter.js:350

### binary>

- binary>(left, right, context?): Function

- Binary greater-than operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary greater-than function.

  - Defined in core/parser/interpreter.js:420

### binary>=

- binary>=(left, right, context?): Function

- Binary greater-than-or-equal-to operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary greater-than-or-equal-to function.

  - Defined in core/parser/interpreter.js:448

### binary||

- binary||(left, right, context?): Function

- Binary logical OR operation.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The binary logical OR function.

  - Defined in core/parser/interpreter.js:475

### compile

- compile(ast): CompiledExpression

- Compiles the AST into a function.

  #### Parameters

  - ast: ASTNode

    The AST to compile.

  #### Returns CompiledExpression

  - Defined in core/parser/interpreter.js:20

### computedMember

- computedMember(left, right, context?, create?): Function

- Returns the value of a computed member expression.

  #### Parameters

  - left: Function

    The left operand function.

  - right: Function

    The right operand function.

  - `Optional` context: any

    The context.

  - `Optional` create: boolean | 1

    Whether to create the member if it does not exist.

  #### Returns Function

  The function returning the computed member value.

  - Defined in core/parser/interpreter.js:540

### identifier

- identifier(name, context?, create?): Function

- Returns the value of an identifier.

  #### Parameters

  - name: string

    The identifier name.

  - `Optional` context: any

    The context.

  - `Optional` create: boolean | 1

    Whether to create the identifier if it does not exist.

  #### Returns Function

  The function returning the identifier value.

  - Defined in core/parser/interpreter.js:518

### nonComputedMember

- nonComputedMember(left, right, context?, create?): Function

- Returns the value of a non-computed member expression.

  #### Parameters

  - left: Function

    The left operand function.

  - right: string

    The right operand function.

  - `Optional` context: any

    The context.

  - `Optional` create: boolean | 1

    Whether to create the member if it does not exist.

  #### Returns Function

  The function returning the non-computed member value.

  - Defined in core/parser/interpreter.js:570

### recurse

- recurse(ast, context?, create?): Function

- Recurses the AST nodes.

  #### Parameters

  - ast: ASTNode

    The AST node.

  - `Optional` context: any

    The context.

  - `Optional` create: boolean | 1

    The create flag.

  #### Returns Function

  The recursive function.

  - Defined in core/parser/interpreter.js:79

### ternary?:

- ternary?:(test, alternate, consequent, context?): Function

- Ternary conditional operation.

  #### Parameters

  - test: Function

    The test function.

  - alternate: Function

    The alternate function.

  - consequent: Function

    The consequent function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The ternary conditional function.

  - Defined in core/parser/interpreter.js:490

### unary!

- unary!(argument, context?): Function

- Unary negation operation.

  #### Parameters

  - argument: Function

    The argument function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The unary negation function.

  - Defined in core/parser/interpreter.js:269

### unary+

- unary+(argument, context?): Function

- Unary plus operation.

  #### Parameters

  - argument: Function

    The argument function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The unary plus function.

  - Defined in core/parser/interpreter.js:233

### unary-

- unary-(argument, context?): Function

- Unary minus operation.

  #### Parameters

  - argument: Function

    The argument function.

  - `Optional` context: any

    The context.

  #### Returns Function

  The unary minus function.

  - Defined in core/parser/interpreter.js:251

### value

- value(value, context?): Function

- Returns the value of a literal.

  #### Parameters

  - value: any

    The literal value.

  - `Optional` context: any

    The context.

  #### Returns Function

  The function returning the literal value.

  - Defined in core/parser/interpreter.js:505