adaptive-expressions package

Abs

返回指定数字的绝对值。

Accessor

用于访问对应于路径的变量值。

Add

返回将两个或更多个数字相加(纯数字情况)或将两个或更多个字符串连接(其他情况)后获得的结果。

AddDays

将天数加到时间戳。

AddHours

将小时数加到时间戳。

AddMinutes

将分钟数加到时间戳。

AddOrdinal

返回输入数字的序数。

AddProperty

将属性及其值或名称/值对添加到 JSON 对象,并返回更新的对象。 如果在运行时已存在该对象,此函数将引发错误。

AddSeconds

将秒数加到时间戳。

AddToTime

将一定数目的时间单位加到时间戳。

All

确定序列中的所有元素是否都满足条件。

And

如果所有表达式均为 true,则返回 true;如果至少有一个表达式为 false,则返回 false。

Any

确定序列中是否存在任意一个元素满足条件。

Average

返回数值数组的平均值。

Base64

返回字符串或字节数组的 base64 编码版本。

Base64ToBinary

返回 base64 编码的字符串的二进制数组。

Base64ToString

返回 base64 编码字符串的字符串版本,有效地对 base64 字符串进行解码。

Binary

返回字符串的二进制版本。

Bool

返回值的布尔版本。

Ceiling

返回大于或等于指定数字的最小整型值。

Coalesce

返回一个或多个参数中的第一个非 null 值。 空字符串、空数组和空对象不为 null。

ComparisonEvaluator

比较运算符 如果比较为 false 或存在错误,则比较运算符返回 false。 这可以防止布尔表达式短路的错误。

Concat

组合两个或更多字符串,并返回组合后的字符串。

Contains

检查集合是否包含某个特定项。 如果找到项,则返回 true;如果未找到,则返回 false。 此函数区分大小写。

ConvertFromUTC

将时间戳从协调世界时 (UTC) 转换为目标时区。

ConvertToUTC

将时间戳从源时区转换为协调世界时 (UTC)。

Count

返回集合中的项数。

CountWord

返回字符串中的单词数。

CreateArray

从多个输入返回数组。

DataUri

返回字符串的数据统一资源标识符 (URI)。

DataUriToBinary

返回数据统一资源标识符 (URI) 的二进制版本。

DataUriToString

返回数据统一资源标识符 (URI) 的字符串版本。

DateFunc

以 m/dd/yyyy 格式返回指定时间戳的日期。

DateReadBack

使用日期时间库提供日期回读。

DateTimeDiff

返回两个时间戳不同的时钟周期数。

DayOfMonth

基于时间戳返回月中的某天。

DayOfWeek

基于时间戳返回周几。

DayOfYear

基于时间戳返回年中的某天。

Divide

返回将两个数字相除后的整数结果。

Element

索引运算符 ([ ]) 从序列中选择单个元素。 支持对象的列表或字符串索引的数字索引。

Empty

检查实例是否为空。 如果输入为空,则返回 true。 空表示:1.Input 为 null 或未定义。 2.输入为 null 或空字符串。 3.输入为零大小集合。 4.Input 是一个没有属性的对象。

EndsWith

检查字符串是否以特定的子字符串结尾。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数区分大小写。

EOL

根据环境返回换行符字符串。

Equal

检查两个值、表达式或对象是否相等。 如果两者等效,则返回 true;如果两者不等效,则返回 false。

Exists

计算表达式的真假性。

First

返回字符串或数组中的第一项。

Flatten

将数组平展为非数组值。 可以选择设置要平展到的最大深度。

Float

将浮点数的字符串版本转换为浮点数。

Floor

返回小于或等于指定数字的最大整数。

Foreach

对每个元素执行操作并返回新集合。

FormatDateTime

以指定的格式返回时间戳。 格式引用: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

FormatEpoch

从 UNIX 时间(也称为 Epoch 时间、POSIX 时间、UNIX Epoch 时间)返回指定格式的时间戳。

FormatNumber

将数字格式设置为所需的十进制数。

FormatTicks

从时钟周期返回指定格式的时间戳。

GetFutureTime

返回当前时间戳加上指定的时间单位。

GetNextViableDate

根据当前日期和用户的时区返回 timex 表达式的下一个可行日期。

GetNextViableTime

根据当前时间和用户的时区返回 timex 表达式的下一个可行时间。

GetPastTime

返回当前时间戳减去指定的时间单位。

GetPreviousViableDate

根据当前日期和用户的时区返回 timex 表达式的上一个可行日期。

GetPreviousViableTime

根据当前时间和用户的时区返回 timex 表达式的上一个可行时间。

GetProperty

从 JSON 对象检索指定属性的值。

GetTimeOfDay

返回给定时间戳的一天中的某个时间。

GreaterThan

检查第一个值是否大于第二个值。 如果第一个值更多,则返回 true;如果较小,则返回 false。

GreaterThanOrEqual

检查第一个值是否大于或等于第二个值。 当第一个值大于或等于时返回 true;如果第一个值较小,则返回 false。

If

检查表达式为 true 还是 false。 根据结果返回指定的值。

Ignore

标记子句,以便 MostSpecificSelector 将忽略它。 MostSpecificSelector 认为 A & B 比 A 更具体,但某些子句是唯一且不可比拟的。

IndexOf

返回某个值在数组中的第一个匹配项的索引。 如果找到该值,则为从零开始的索引位置;如果找不到该值,则为 -1。

IndicesAndValues

将数组或对象转换为具有索引和值属性的对象数组。 对于数组,索引是数组中的位置。 对于对象,它是值的键。

Int

返回字符串的整数版本。

Intersection

返回仅包含指定集合中的公有项的集合。 某个项必须出现在传递给此函数的所有集合中才会出现在结果中。 如果一个或多个项具有相同的名称,则具有该名称的最后一项将出现在结果中。

IsArray

如果给定的输入是数组,则返回 true。

IsBoolean

如果给定的输入为布尔值,则返回 true。

IsDate

如果给定 TimexProperty 或 timex 字符串引用有效日期,则返回 true。 有效日期包含月份和 dayOfMonth,或者包含 dayOfWeek。

IsDateRange

如果给定的 TimexProperty 或 Timex 表达式引用有效的日期范围,则返回 true。

IsDateTime

如果给定输入为 UTC ISO 格式, (YYYY-MM-DDTHH:mm:ss.fffZ) 时间戳字符串,则返回 true。

IsDefinite

如果给定的 TimexProperty 或 Timex 表达式引用有效日期,则返回 true。 有效日期包含年、月和 dayOfMonth。

IsDuration

如果给定的 TimexProperty 或 Timex 表达式引用有效的持续时间,则返回 true。

IsFloat

如果给定的输入是浮点数,则返回 true。 由于 C# 和 JavaScript 之间的对齐,其模数 1 的残差不为零的数字将被视为浮点数。

IsInteger

如果给定的输入为整数,则返回 true。 由于 C# 和 JavaScript 之间的对齐,其模 1 的零残差的数字将被视为整数。

IsMatch

如果给定的字符串与指定的正则表达式模式匹配,则返回 true。

IsObject

如果给定的输入是复杂对象,则返回 true;如果是基元对象,则返回 false。 基元对象包括字符串、数字和布尔值;复杂类型包含属性。

IsPresent

如果给定的 TimexProperty 或 Timex 表达式引用了当前 ,则返回 true。

IsString

如果给定的输入是字符串,则返回 true。

IsTime

如果给定的 TimexProperty 或 Timex 表达式引用有效时间,则返回 true。 有效时间包含小时数、分钟数和秒数。

IsTimeRange

如果给定 TimexProperty 或 Timex 字符串引用有效的时间范围有效时间范围包含 partOfDay,则返回 true。

JPath

检查 JSON 或 JSON 字符串中与路径表达式匹配的节点或值,然后返回匹配的节点。

Join

返回一个字符串,它包含某个数组中的所有项,其中每个字符都用分隔符分隔。

Json

返回字符串或 XML 的 JavaScript 对象表示法 (JSON) 类型的值或对象。

JsonStringify

返回值的字符串版本。

Last

返回集合中的最后一个项。

LastIndexOf

返回指定值在数组中的最后一个匹配项的索引。 如果找到该值,则为从零开始的索引位置;如果找不到该值,则为 -1。

Length

返回字符串的长度。

LessThan

检查第一个值是否小于第二个值。 如果第一个值较小,则返回 true;如果第一个值更大,则返回 false。

LessThanOrEqual

检查第一个值是否小于或等于第二个值。 如果第一个值小于或等于,则返回 true;如果第一个值大于,则返回 false。

Max

返回数组中的最大值。 数组在两端都是非独占的。

Merge

将多个对象 (json) 合并到一个对象中, (json) 。 如果项为数组,则数组的元素也会合并。

Min

从数组中的一组数字中返回最小值。

Mod

返回将两个数字相除后的余数。

Month

返回指定时间戳的月份。

Multiply

通过乘以任意数量的数字返回乘积。

MultivariateNumericEvaluator

可以具有 2 个或更多参数的数值运算符。

NewGuid

返回新的 Guid 字符串。

Not

检查表达式是否为 false。 如果表达式为 false,则返回 true;如果为 true,则返回 false。

NotEqual

如果两个项不相等,则返回 true。

NumberTransformEvaluator

将一个数字转换为另一个数字的计算器。

NumericEvaluator

可以具有 1 个或多个参数的数值运算符。

Optional

对于 MostSpecificSelector,这是一个短手,因此不必执行 A & B ||A 可以执行 A & 可选 (B) 来表示相同的意思。

Or

检查是否至少一个表达式为 true。 如果至少有一个表达式为 true,则返回 true;如果所有表达式均为 false,则返回 false。

Power

返回 n 的 m 次幂。

Rand

返回指定范围(仅包括起端在内)中的一个随机整数。

Range

返回一个整数数组,该数组从具有给定长度的指定整数开始。

RemoveProperty

从对象中删除属性,并返回更新后的对象。

Replace

将子字符串替换为指定字符串,并返回结果字符串。 此函数区分大小写。

ReplaceIgnoreCase

将子字符串替换为指定字符串,并返回结果字符串。 此函数区分大小写。

Reverse

反转字符串或数组中元素的顺序。

Round

将数字值舍入为最接近的整数。

Select

对每个元素执行操作并返回转换后的元素的新集合。

SentenceCase

仅将第一个单词大写,并保留其他小写。

SetPathToValue

将 JSON 对象中的路径设置为值。

SetProperty

设置对象的属性值并返回更新后的对象。

Skip

删除集合开头的项,并返回所有其他项。

SortBy

按升序对集合中的元素进行排序,然后返回排序后的集合。

SortByDescending

按降序对集合中的元素进行排序,然后返回排序后的集合。

Split

根据原始字符串中指定的分隔符字符,返回一个包含子字符串(以逗号分隔)的数组。

Sqrt

返回指定数字的平方根。

StartOfDay

返回时间戳中的天的开始时间。

StartOfHour

返回时间戳中的小时的开始时间。

StartOfMonth

返回时间戳中的月份的开始时间。

StartsWith

检查字符串是否以特定的子字符串开头。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数区分大小写。

String

返回值的字符串版本。

StringOrValue

包装字符串内插以获取实际值。 例如:stringOrValue ('${1}') ,将得到数字 1 stringOrValue ('${1} item') ,将得到字符串“1 item”。

StringTransformEvaluator

将字符串转换为另一个字符串的计算器。

SubArray

从指定起始位置和结束位置返回子数组。 索引值从数字 0 开始。

Substring

返回字符串中的字符,从指定的位置或索引开始。 索引值从数字 0 开始。

Subtract

返回从上一个数字中减去下一个数字的结果。

SubtractFromTime

从时间戳中减去一定数目的时间单位。

Sum

返回在数组中添加数字的结果。

Take

从数组的前面返回项,或从字符串中获取特定前缀。

Ticks

返回指定时间戳的时钟周期属性值。 一个时钟周期是 100 纳秒时间间隔。

TicksToDays

将时钟周期转换为天数。

TicksToHours

将刻度转换为小时数。

TicksToMinutes

将刻度转换为分钟数。

TimeTransformEvaluator

将日期时间转换为另一个日期时间的计算器。

TimexResolve

如果给定的 TimexProperty 或 Timex 表达式引用有效时间,则返回 true。

TitleCase

将指定的字符串转换为标题大小写。

ToLower

返回小写格式的字符串。 如果字符串中的某个字符没有对应的小写版本,则该字符在返回的字符串中保持原样。

ToUpper

返回大写格式的字符串。 如果字符串中的某个字符没有对应的大写版本,则该字符在返回的字符串中保持原样。

Trim

从字符串中删除前导和尾随空格,并返回更新后的字符串。

Union

返回一个集合,其中包含指定集合中的所有项。 某个项只要出现在传递给此函数的任一集合中便会出现在结果中。 如果一个或多个项具有相同的名称,则具有该名称的最后一项将出现在结果中。

Unique

从数组中删除所有重复项。

UriComponent

返回统一资源标识符 (URI) 组件的二进制版本。

UriComponentToString

返回统一资源标识符 (URI) 编码字符串的字符串版本,有效地对 URI 编码字符串进行解码。

UriHost

返回统一资源标识符 (URI) 的主机值。

UriPath

返回统一资源标识符 (URI) 的路径值。

UriPathAndQuery

返回统一资源标识符 (URI) 的路径和查询值。

UriPort

返回统一资源标识符 (URI) 的端口值。

UriQuery

返回统一资源标识符 (URI) 的查询值。

UriScheme

返回统一资源标识符 (URI) 的方案值。

UtcNow

返回当前时间戳。

Where

对每个元素进行筛选,然后返回与特定条件匹配的筛选后的新元素集合。

XML

根据环境返回换行符字符串。

XPath

根据环境返回换行符字符串。

Year

返回指定时间戳的年份。

CommonRegex

将 PCRE 正则表达式字符串转换为 RegExp PCRE ref: http://www.pcre.org/。 PCRE antlr g4 文件:CommonRegex.g4。

Constant

构造表达式常量。

ArrayExpressionConverter

array 到 json ArrayExpression 转换器。

BoolExpressionConverter

any json BoolExpression 转换器的值。

EnumExpressionConverter

string 到 json EnumExpression 转换器。

ExpressionConverter

string 到 json 表达式 转换器。

IntExpressionConverter

stringnumber 到 json IntExpression 转换器。

NumberExpressionConverter

stringnumber 到 json NumberExpression 转换器。

ObjectExpressionConverter

any json ObjectExpressionConverter 转换器的值。

StringExpressionConverter

string 到 json StringExpression 转换器。

ValueExpressionConverter

any value 到 json ValueExpression 转换器。

Expression

可以分析或计算以生成值的表达式。 这提供了一个开放式包装器,该包装器支持许多内置函数,也可以在运行时进行扩展。 它还支持验证应为无异常的表达式和计算的正确性。

ExpressionEvaluator

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

ExpressionFunctions 表达式的默认内置函数的定义。
ArrayExpression

表示属性,该属性是 T 数组的值或要绑定到 T 数组的字符串表达式。

BoolExpression

表示一个属性,该属性是一个布尔值或一个解析为布尔值的字符串表达式。

EnumExpression

EnumExpression - 表示一个属性,该属性是 T 的枚举或解析为枚举的字符串表达式。

ExpressionProperty

定义属性的表达式或值的基类。

IntExpression

表示一个属性,该属性是一个 int 或一个解析为 int 的字符串表达式。

NumberExpression

表示一个属性,该属性是一个 float 或一个解析为 float 的字符串表达式。

ObjectExpression

表示一个属性,该属性是类型为 T 的对象或解析为 T 类型的对象的字符串表达式。

StringExpression

表示字符串值或字符串表达式的属性。

ValueExpression

表示属性,该属性是任何类型的对象或字符串表达式。

ExpressionType

内置表达式类型。

Extensions

一些 util 和扩展函数

FunctionTable

FunctionTable 是将 BuiltinFunctions.Functions 与 CustomDictionary 合并的字典。

FunctionUtils

AdaptiveExpression 中的实用工具函数。

InternalFunctionUtils

实用工具函数仅在内部使用

CommonRegexLexer
Alpha_numsContext
AlternationContext
AtomContext
CaptureContext
Cc_atomContext
Cc_literalContext
Character_classContext
CommonRegexParser
DigitContext
DigitsContext
ElementContext
ExprContext
LetterContext
LiteralContext
NameContext
Non_captureContext
Non_close_parenContext
Non_close_parensContext
NumberContext
Octal_charContext
Octal_digitContext
OptionContext
Option_flagContext
ParseContext
QuantifierContext
Quantifier_typeContext
Shared_atomContext
Shared_literalContext
SimpleObjectMemory

MemoryInterface 的简单实现

StackedMemory

MemoryInterface 的堆栈实现。 内存变量具有分层关系。

Options

用于定义评估行为的选项。

ExpressionParser

将字符串转换为表达式的分析器

ExpressionAntlrLexer
ArgsListContext
ArrayCreationExpContext
BinaryOpExpContext
ExpressionAntlrParser
ExpressionContext
FileContext
FuncInvokeExpContext
IdAtomContext
IndexAccessExpContext
JsonCreationExpContext
KeyContext
KeyValuePairContext
KeyValuePairListContext
LambdaContext
MemberAccessExpContext
NumericAtomContext
ParenthesisExpContext
PrimaryExpContext
PrimaryExpressionContext
StringAtomContext
StringInterpolationAtomContext
StringInterpolationContext
TextContentContext
TripleOpExpContext
UnaryOpExpContext
ParseErrorListener

表达式分析器错误侦听器。

Util

util 类

RegexErrorListener

正则表达式的错误侦听器。

TimeZoneConverter

时区转换器。 (1 个从 Windows (.NET) 时区到 iana 时区的 1 个) 。 (2) 从 iana 时区到 windows (.NET) 时区。 windows ref: https://support.microsoft.com/en-us/help/22803/daylight-saving-time。 iana ref: https://www.iana.org/time-zones

Clause

规范法线形式表达式。

Node

触发器树中的节点。

Quantifier

用于允许表达式的运行时扩展的限定符。

Trigger

触发器是触发器表达式和相应操作的组合。

TriggerTree

触发器树根据通用化/专用化来组织计算器,以便更轻松地使用规则。

接口

ExpressionParserInterface

用于将字符串解析为表达式的接口

CommonRegexListener

此接口为 生成的 CommonRegexParser分析树定义完整的侦听器。

CommonRegexVisitor

此接口为 生成的 CommonRegexParser分析树定义完整的泛型访问者。

MemoryInterface

用于将字符串解析为表达式的接口

ExpressionAntlrParserListener

此接口为 生成的 ExpressionAntlrParser分析树定义完整的侦听器。

ExpressionAntlrParserVisitor

此接口为 生成的 ExpressionAntlrParser分析树定义完整的泛型访问者。

Optimizer

通过重写子句来优化子句。

PredicateComparer

比较两个谓词以标识它们之间的关系。

类型别名

EvaluateExpressionDelegate

委托来计算表达式。 计算器应在适当时验证运行时参数,并返回错误,而不是在可能的情况下引发异常。

EvaluatorLookup

委托以从 类型查找函数信息。

ValidateExpressionDelegate

委托对表达式执行静态验证。 如果表达式无效,验证程序可以且应该引发异常。

ValueWithError

具有错误的值结果。

VerifyExpression

验证表达式的结果是否为适当的类型,如果不是,则返回字符串。

PredicateComparers

枚举

ReturnType

应从扩展表达式时键入。

QuantifierType

用于扩展触发器表达式的限定符的类型。

RelationshipType

触发器表达式之间的关系。

函数

convertCSharpDateTimeToDayjs(string)

将 CSharp 样式日期/时间格式字符串转换为 Day.js 样式日期/时间格式字符串。 裁判: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

函数详细信息

convertCSharpDateTimeToDayjs(string)

将 CSharp 样式日期/时间格式字符串转换为 Day.js 样式日期/时间格式字符串。 裁判: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

function convertCSharpDateTimeToDayjs(fmtString: string): string

参数

fmtString

string

CSharp 样式日期/时间格式字符串。 裁判: https://day.js.org/docs/en/display/format

返回

string

Momengt.js 样式日期/时间格式字符串。