Clause class

规范的正态形式表达式。

扩展

构造函数

Clause(Clause | Expression | Expression[])

初始化 Clause 类的新实例。

属性

anyBindings

获取或设置 anyBinding 字典。

returnType

计算表达式的预期结果。

subsumed

获取或设置子句是否为子句。

type

表达式的类型。

继承属性

children

子表达式。

evaluator

表达式的计算器。

functions

函数字典 => ExpressionEvaluator。 这是所有可用的函数,你可以向其添加自定义函数,但不能替换内置函数。 如果清除字典,它将重置为内置函数。

方法

matches(Clause, MemoryInterface | any)

确定当前 Clause 是否与另一个 Clause匹配。

relationship(Clause, PredicateComparers)

将当前 Clause 与其他 Clause进行比较。

splitIgnores()

拆分忽略的子表达式。

toString(string[], number)

获取表示当前子句的字符串。

继承的方法

andExpression(Expression[])

构造并验证 And 表达式。

deepEquals(Expression)

在表达式之间执行深度相等。

equalsExpression(Expression[])

构造并验证 Equals 表达式。

lambaExpression(EvaluateExpressionDelegate)

从 EvaluateExpressionDelegate 构造表达式

lambda((arg0: any) => any)

通过状态从 lamba 表达式构造表达式。 异常将捕获并显示为错误字符串。

lookup(string)

按名称查找 ExpressionEvaluator 函数。

makeExpression(string, ExpressionEvaluator, Expression[])

创建表达式并对其进行验证。

notExpression(Expression)

构造并验证 Not 表达式。

orExpression(Expression[])

构造并验证 Or 表达式。

parse(string, EvaluatorLookup)

将表达式字符串分析为 表达式 对象。

references()

返回内存的静态引用路径。 将所有静态路径返回到内存。 如果有计算元素索引,则路径将终止在那里,但也可以从计算部件获取其他路径。

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

用于识别表达式中的静态内存引用的步行函数。

setPathToValue(Expression, any)

构造并验证将属性表达式设置为值表达式。

tryEvaluate(MemoryInterface | any, Options)

计算表达式。

validate()

验证即时表达式。

validateTree()

以递归方式验证表达式树。

构造函数详细信息

Clause(Clause | Expression | Expression[])

初始化 Clause 类的新实例。

new Clause(clauseOrExpression?: Clause | Expression | Expression[])

参数

clauseOrExpression

Clause | Expression | Expression[]

用于初始化 Clause的子句、表达式或表达式数组。

属性详细信息

anyBindings

获取或设置 anyBinding 字典。

anyBindings: Map<string, string> = new Map<string, string>()

属性值

Map<string, string>

returnType

计算表达式的预期结果。

ReturnType returnType

属性值

计算表达式的预期结果。

subsumed

获取或设置子句是否为子句。

subsumed: boolean = false

属性值

boolean

type

表达式的类型。

string type

属性值

string

表达式的类型。

继承属性详细信息

children

子表达式。

children: Expression[]

属性值

继承自Expression.children

evaluator

表达式的计算器。

evaluator: ExpressionEvaluator

属性值

继承自Expression.计算器

functions

函数字典 => ExpressionEvaluator。 这是所有可用的函数,你可以向其添加自定义函数,但不能替换内置函数。 如果清除字典,它将重置为内置函数。

static functions: FunctionTable = new FunctionTable()

属性值

继承自Expression.functions

方法详细信息

matches(Clause, MemoryInterface | any)

确定当前 Clause 是否与另一个 Clause匹配。

function matches(clause: Clause, memory: MemoryInterface | any): boolean

参数

clause
Clause

要与之进行比较的另一个 Clause 实例。

memory

MemoryInterface | any

查找变量的范围。

返回

boolean

一个布尔值,该值指示两个子句是否匹配。

relationship(Clause, PredicateComparers)

将当前 Clause 与其他 Clause进行比较。

function relationship(other: Clause, comparers: PredicateComparers): RelationshipType

参数

other
Clause

要比较的另一个 Clause

comparers
PredicateComparers

比较器,它是包含字符串键的 PredicateComparer 字典。

返回

两个 Clause 实例之间的 RelationshipType 值。

splitIgnores()

拆分忽略的子表达式。

function splitIgnores()

toString(string[], number)

获取表示当前子句的字符串。

function toString(builder: string[], indent: number): string

参数

builder

string[]

用于生成子句字符串的字符串数组。

indent

number

整数表示行开头的空格数。

返回

string

一个表示当前子句的字符串。

继承的方法详细信息

andExpression(Expression[])

构造并验证 And 表达式。

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

参数

children

Expression[]

子句。

返回

新表达式。

继承自Expression.andExpression

deepEquals(Expression)

在表达式之间执行深度相等。

function deepEquals(other: Expression): boolean

参数

other
Expression

其他表达式。

返回

boolean

如此 如果表达式相同。

继承自Expression.deepEquals

equalsExpression(Expression[])

构造并验证 Equals 表达式。

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

参数

children

Expression[]

子句。

返回

新表达式。

继承自Expression.equalsExpression

lambaExpression(EvaluateExpressionDelegate)

从 EvaluateExpressionDelegate 构造表达式

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

参数

func
EvaluateExpressionDelegate

用于从中创建表达式的函数。

返回

新表达式。

继承自Expression.lambaExpression

lambda((arg0: any) => any)

通过状态从 lamba 表达式构造表达式。 异常将捕获并显示为错误字符串。

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

参数

func

(arg0: any) => any

要计算的 ambda 表达式。

返回

新表达式。

继承自Expression.lambda

lookup(string)

按名称查找 ExpressionEvaluator 函数。

static function lookup(functionName: string): ExpressionEvaluator

参数

functionName

string

要查找的函数的名称。

返回

与函数名称对应的 ExpressionEvaluator

继承自Expression.lookup

makeExpression(string, ExpressionEvaluator, Expression[])

创建表达式并对其进行验证。

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

参数

type

string

ExpressionType 中的表达式类型。

evaluator
ExpressionEvaluator

有关如何验证和计算表达式的信息。

children

Expression[]

子表达式。

返回

新表达式。

继承自Expression.makeExpression

notExpression(Expression)

构造并验证 Not 表达式。

static function notExpression(child: Expression): Expression

参数

child
Expression

子句。

返回

新表达式。

继承自Expression.notExpression

orExpression(Expression[])

构造并验证 Or 表达式。

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

参数

children

Expression[]

子句。

返回

新表达式。

继承自Expression.orExpression

parse(string, EvaluatorLookup)

将表达式字符串分析为 表达式 对象。

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

参数

expression

string

表达式字符串。

lookup
EvaluatorLookup

自选。 分析表达式时,EvaluatorLookup 函数查找。 默认值为 Expression.lookup,它使用 Expression.functions 表。

返回

表达式对象。

继承自Expression.parse

references()

返回内存的静态引用路径。 将所有静态路径返回到内存。 如果有计算元素索引,则路径将终止在那里,但也可以从计算部件获取其他路径。

function references(): string[]

返回

string[]

静态引用路径的列表。

继承自Expression.references

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

用于识别表达式中的静态内存引用的步行函数。

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

参数

expression
Expression

要分析的表达式。

extension

(arg0: Expression) => boolean

如果存在,则调用以替代模板扩展等项的查找。

返回

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

表达式的访问器路径。

继承自Expression.referenceWalk

setPathToValue(Expression, any)

构造并验证将属性表达式设置为值表达式。

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

参数

property
Expression

属性表达式。

value

any

value 表达式。

返回

新表达式。

继承自Expression.setPathToValue

tryEvaluate(MemoryInterface | any, Options)

计算表达式。

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

参数

state

MemoryInterface | any

要对其计算访问器表达式的全局状态。 可以是 Dictionary,否则反射用于访问属性,然后是索引器。

options
Options

评估中使用的选项。

返回

计算值和错误字符串。 如果字符串为非 null,则会出现计算错误。

继承自Expression.tryEvaluate

validate()

验证即时表达式。

function validate()

继承自Expression.validate

validateTree()

以递归方式验证表达式树。

function validateTree()

继承自Expression.validateTree