Clause class
Expresión de forma normal canónica.
- Extends
Constructores
Clause(Clause | Expression | Expression[]) | Inicializa una nueva instancia de la clase |
Propiedades
any |
Obtiene o establece el diccionario anyBinding. |
return |
Resultado esperado de evaluar la expresión. |
subsumed | Obtiene o establece si la cláusula está subsumada. |
type | Tipo de expresión. |
Propiedades heredadas
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. |
Métodos
matches(Clause, Memory |
Determina si el |
relationship(Clause, Predicate |
Compara el |
split |
Divide las expresiones secundarias omitidas. |
to |
Obtiene una cadena que representa la cláusula actual. |
Métodos heredados
and |
Construya y valide una expresión And. |
deep |
Realice una igualdad profunda entre expresiones. |
equals |
Construya y valide una expresión Equals. |
lamba |
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. |
make |
Realice una expresión y validela. |
not |
Construya y valide una expresión Not. |
or |
Construya y valide una expresión Or. |
parse(string, Evaluator |
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. |
reference |
Función walking para identificar referencias de memoria estáticas en una expresión. |
set |
Construya y valide una expresión set a property expression en una expresión de valor. |
try |
Evalúe la expresión. |
validate() | Valide la expresión inmediata. |
validate |
Valide recursivamente el árbol de expresiones. |
Detalles del constructor
Clause(Clause | Expression | Expression[])
Inicializa una nueva instancia de la clase Clause
.
new Clause(clauseOrExpression?: Clause | Expression | Expression[])
Parámetros
- clauseOrExpression
-
Clause | Expression | Expression[]
Cláusula, expresión o matriz de expresiones para inicializar un Clause
.
Detalles de las propiedades
anyBindings
Obtiene o establece el diccionario anyBinding.
anyBindings: Map<string, string> = new Map<string, string>()
Valor de propiedad
Map<string, string>
returnType
Resultado esperado de evaluar la expresión.
ReturnType returnType
Valor de propiedad
Resultado esperado de evaluar la expresión.
subsumed
Obtiene o establece si la cláusula está subsumada.
subsumed: boolean = false
Valor de propiedad
boolean
type
Tipo de expresión.
string type
Valor de propiedad
string
Tipo de la expresión.
Detalles de las propiedades heredadas
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
heredado deexpression.functions
Detalles del método
matches(Clause, MemoryInterface | any)
Determina si el Clause
actual coincide con otro Clause
.
function matches(clause: Clause, memory: MemoryInterface | any): boolean
Parámetros
- clause
- Clause
La otra instancia de Clause
con la que se va a comparar.
- memory
-
MemoryInterface | any
Ámbito para buscar variables.
Devoluciones
boolean
Valor booleano que indica si las dos cláusulas son coincidencias.
relationship(Clause, PredicateComparers)
Compara el Clause
actual con otro Clause
.
function relationship(other: Clause, comparers: PredicateComparers): RelationshipType
Parámetros
- other
- Clause
El otro Clause
que se va a comparar.
- comparers
- PredicateComparers
Comparador, que es un diccionario de PredicateComparer
con claves de cadena.
Devoluciones
Valor de RelationshipType
entre dos instancias de Clause
.
splitIgnores()
Divide las expresiones secundarias omitidas.
function splitIgnores()
toString(string[], number)
Obtiene una cadena que representa la cláusula actual.
function toString(builder: string[], indent: number): string
Parámetros
- builder
-
string[]
Matriz de cadena para compilar la cadena de la cláusula .
- indent
-
number
Un entero representa el número de espacios al principio de una línea.
Devoluciones
string
Cadena que representa la cláusula actual.
Detalles de los métodos heredados
andExpression(Expression[])
Construya y valide una expresión And.
static function andExpression(children: Expression[]): Expression
Parámetros
- children
Cláusulas secundarias.
Devoluciones
Nueva expresión.
heredado deexpression.andExpression
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.
heredado deexpression.deepEquals
equalsExpression(Expression[])
Construya y valide una expresión Equals.
static function equalsExpression(children: Expression[]): Expression
Parámetros
- children
Cláusulas secundarias.
Devoluciones
Nueva expresión.
heredado deexpression.equalsExpression
lambaExpression(EvaluateExpressionDelegate)
Construir una expresión a partir de evaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Parámetros
Función a partir de la que se va a crear una expresión.
Devoluciones
Nueva expresión.
heredado deexpression.lambaExpression
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.
heredado deexpression.lambda
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.
heredado deexpression.lookup
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
Expresiones secundarias.
Devoluciones
Nueva expresión.
heredado deexpression.makeExpression
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.
heredado deexpression.notExpression
orExpression(Expression[])
Construya y valide una expresión Or.
static function orExpression(children: Expression[]): Expression
Parámetros
- children
Cláusulas secundarias.
Devoluciones
Nueva expresión.
heredado deexpression.orExpression
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.
heredado deexpression.parse
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.
se hereda deexpression.references
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.
Heredado deExpression.referenceWalk
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.
Heredado deExpression.setPathToValue
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.
se hereda deexpression.tryEvaluate
validate()
validateTree()
Valide recursivamente el árbol de expresiones.
function validateTree()
heredado deexpression.validateTree