Compartir a través de


Expression class

Expresión que se puede analizar o evaluar para generar un valor. Esto proporciona un contenedor abierto que admite una serie de funciones integradas y también se puede extender en tiempo de ejecución. También admite la validación de la corrección de una expresión y evaluación que debe ser libre de excepciones.

Constructores

Expression(string, ExpressionEvaluator, Expression[])

constructor de expresión.

Propiedades

children

Expresiones secundarias.

evaluator

Evaluador de expresiones.

functions

Diccionario de función => ExpressionEvaluator. Se trata de todas las funciones disponibles, puede agregarle funciones personalizadas, pero no puede reemplazar las funciones integradas. Si borra el diccionario, se restablecerá a las funciones integradas.

returnType

Resultado esperado de evaluar la expresión.

type

Tipo de expresión.

Métodos

andExpression(Expression[])

Construya y valide una expresión And.

deepEquals(Expression)

Realice una igualdad profunda entre expresiones.

equalsExpression(Expression[])

Construya y valide una expresión Equals.

lambaExpression(EvaluateExpressionDelegate)

Construir una expresión a partir de evaluateExpressionDelegate

lambda((arg0: any) => any)

Construya una expresión a partir de una expresión de lamba sobre el estado. Las excepciones se detectarán y se mostrarán como una cadena de error.

lookup(string)

Busque una función ExpressionEvaluator por nombre.

makeExpression(string, ExpressionEvaluator, Expression[])

Realice una expresión y validela.

notExpression(Expression)

Construya y valide una expresión Not.

orExpression(Expression[])

Construya y valide una expresión Or.

parse(string, EvaluatorLookup)

Analice una cadena de expresión en un objeto Expresión.

references()

Devuelve las rutas de acceso de referencia estáticas a la memoria. Devuelve todas las rutas de acceso estáticas a la memoria. Si hay un índice de elemento calculado, la ruta de acceso se termina allí, pero también puede obtener otras rutas de acceso de la parte calculada.

referenceWalk(Expression, (arg0: Expression) => boolean)

Función walking para identificar referencias de memoria estáticas en una expresión.

setPathToValue(Expression, any)

Construya y valide una expresión set a property expression en una expresión de valor.

toString()

Devuelve una cadena que representa el objeto expresión de actual.

tryEvaluate(MemoryInterface | any, Options)

Evalúe la expresión.

validate()

Valide la expresión inmediata.

validateTree()

Valide recursivamente el árbol de expresiones.

Detalles del constructor

Expression(string, ExpressionEvaluator, Expression[])

constructor de expresión.

new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])

Parámetros

type

string

Tipo de expresión de ExpressionType

evaluator
ExpressionEvaluator

Información sobre cómo validar y evaluar la expresión.

children

Expression[]

Expresiones secundarias.

Detalles de las propiedades

children

Expresiones secundarias.

children: Expression[]

Valor de propiedad

evaluator

Evaluador de expresiones.

evaluator: ExpressionEvaluator

Valor de propiedad

functions

Diccionario de función => ExpressionEvaluator. Se trata de todas las funciones disponibles, puede agregarle funciones personalizadas, pero no puede reemplazar las funciones integradas. Si borra el diccionario, se restablecerá a las funciones integradas.

static functions: FunctionTable = new FunctionTable()

Valor de propiedad

returnType

Resultado esperado de evaluar la expresión.

ReturnType returnType

Valor de propiedad

Resultado esperado de evaluar la expresión.

type

Tipo de expresión.

string type

Valor de propiedad

string

Tipo de la expresión.

Detalles del método

andExpression(Expression[])

Construya y valide una expresión And.

static function andExpression(children: Expression[]): Expression

Parámetros

children

Expression[]

Cláusulas secundarias.

Devoluciones

Nueva expresión.

deepEquals(Expression)

Realice una igualdad profunda entre expresiones.

function deepEquals(other: Expression): boolean

Parámetros

other
Expression

Otra expresión.

Devoluciones

boolean

True si las expresiones son iguales.

equalsExpression(Expression[])

Construya y valide una expresión Equals.

static function equalsExpression(children: Expression[]): Expression

Parámetros

children

Expression[]

Cláusulas secundarias.

Devoluciones

Nueva expresión.

lambaExpression(EvaluateExpressionDelegate)

Construir una expresión a partir de evaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Parámetros

func
EvaluateExpressionDelegate

Función a partir de la que se va a crear una expresión.

Devoluciones

Nueva expresión.

lambda((arg0: any) => any)

Construya una expresión a partir de una expresión de lamba sobre el estado. Las excepciones se detectarán y se mostrarán como una cadena de error.

static function lambda(func: (arg0: any) => any): Expression

Parámetros

func

(arg0: any) => any

expresión ambda que se va a evaluar.

Devoluciones

Nueva expresión.

lookup(string)

Busque una función ExpressionEvaluator por nombre.

static function lookup(functionName: string): ExpressionEvaluator

Parámetros

functionName

string

Nombre de la función que se va a buscar.

Devoluciones

Un ExpressionEvaluator correspondiente al nombre de la función.

makeExpression(string, ExpressionEvaluator, Expression[])

Realice una expresión y validela.

static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression

Parámetros

type

string

Tipo de expresión de ExpressionType.

evaluator
ExpressionEvaluator

Información sobre cómo validar y evaluar la expresión.

children

Expression[]

Expresiones secundarias.

Devoluciones

Nueva expresión.

notExpression(Expression)

Construya y valide una expresión Not.

static function notExpression(child: Expression): Expression

Parámetros

child
Expression

Cláusulas secundarias.

Devoluciones

Nueva expresión.

orExpression(Expression[])

Construya y valide una expresión Or.

static function orExpression(children: Expression[]): Expression

Parámetros

children

Expression[]

Cláusulas secundarias.

Devoluciones

Nueva expresión.

parse(string, EvaluatorLookup)

Analice una cadena de expresión en un objeto Expresión.

static function parse(expression: string, lookup?: EvaluatorLookup): Expression

Parámetros

expression

string

Cadena de expresión.

lookup
EvaluatorLookup

Opcional. búsqueda de función evaluadorlookup al analizar la expresión. El valor predeterminado es expression.lookup que usa tabla Expression.functions.

Devoluciones

Objeto de expresión.

references()

Devuelve las rutas de acceso de referencia estáticas a la memoria. Devuelve todas las rutas de acceso estáticas a la memoria. Si hay un índice de elemento calculado, la ruta de acceso se termina allí, pero también puede obtener otras rutas de acceso de la parte calculada.

function references(): string[]

Devoluciones

string[]

Lista de las rutas de acceso de referencia estáticas.

referenceWalk(Expression, (arg0: Expression) => boolean)

Función walking para identificar referencias de memoria estáticas en una expresión.

function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }

Parámetros

expression
Expression

Expresión que se va a analizar.

extension

(arg0: Expression) => boolean

Si está presente, se llama para invalidar la búsqueda de elementos como la expansión de plantillas.

Devoluciones

{ path: string, refs: Set<string> }

Ruta de acceso de descriptor de acceso de la expresión.

setPathToValue(Expression, any)

Construya y valide una expresión set a property expression en una expresión de valor.

static function setPathToValue(property: Expression, value: any): Expression

Parámetros

property
Expression

expresión de propiedad.

value

any

expresión value.

Devoluciones

Nueva expresión.

toString()

Devuelve una cadena que representa el objeto expresión de actual.

function toString(): string

Devoluciones

string

Cadena que representa el objeto Expression actual.

tryEvaluate(MemoryInterface | any, Options)

Evalúe la expresión.

function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError

Parámetros

state

MemoryInterface | any

Estado global en el que se evaluarán las expresiones de descriptor de acceso. Puede ser Dictionary; de lo contrario, la reflexión se usa para tener acceso a la propiedad y, a continuación, al indexador.

options
Options

Opciones usadas en la evaluación.

Devoluciones

Valor calculado y una cadena de error. Si la cadena no es null, se produjo un error de evaluación.

validate()

Valide la expresión inmediata.

function validate()

validateTree()

Valide recursivamente el árbol de expresiones.

function validateTree()