Поделиться через


Expression class

Выражение, которое можно проанализировать или оценить для создания значения. Это обеспечивает открытый оболочку, которая поддерживает ряд встроенных функций, а также может быть расширена во время выполнения. Он также поддерживает проверку правильности выражения и оценки, которые должны быть свободными от исключения.

Конструкторы

Expression(string, ExpressionEvaluator, Expression[])

конструктор выражений.

Свойства

children

Дочерние выражения.

evaluator

Вычислитель выражения.

functions

Словарь функции => ExpressionEvaluator. Это все доступные функции, к ним можно добавить пользовательские функции, но вы не можете заменить встроенные функции. Если вы очищаете словарь, он будет сброшен на встроенные функции.

returnType

Ожидаемый результат оценки выражения.

type

Тип выражения.

Методы

andExpression(Expression[])

Создание и проверка выражения And.

deepEquals(Expression)

Сделайте глубокое равенство между выражениями.

equalsExpression(Expression[])

Создайте и проверьте выражение Equals.

lambaExpression(EvaluateExpressionDelegate)

Создание выражения из Объекта EvaluateExpressionDelegate

lambda((arg0: any) => any)

Создайте выражение из лямбда-выражения по состоянию. Исключения будут перехватываться и отображаться в виде строки ошибки.

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)

Создайте и проверьте выражение свойства в выражение значения.

toString()

Возвращает строку, представляющую текущий объект Expression.

tryEvaluate(MemoryInterface | any, Options)

Оцените выражение.

validate()

Проверка немедленного выражения.

validateTree()

Рекурсивно проверьте дерево выражений.

Сведения о конструкторе

Expression(string, ExpressionEvaluator, Expression[])

конструктор выражений.

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

Параметры

type

string

Тип выражения из ExpressionType

evaluator
ExpressionEvaluator

Сведения о том, как проверить и оценить выражение.

children

Expression[]

Дочерние выражения.

Сведения о свойстве

children

Дочерние выражения.

children: Expression[]

Значение свойства

evaluator

Вычислитель выражения.

evaluator: ExpressionEvaluator

Значение свойства

functions

Словарь функции => ExpressionEvaluator. Это все доступные функции, к ним можно добавить пользовательские функции, но вы не можете заменить встроенные функции. Если вы очищаете словарь, он будет сброшен на встроенные функции.

static functions: FunctionTable = new FunctionTable()

Значение свойства

returnType

Ожидаемый результат оценки выражения.

ReturnType returnType

Значение свойства

Ожидаемый результат оценки выражения.

type

Тип выражения.

string type

Значение свойства

string

Тип выражения.

Сведения о методе

andExpression(Expression[])

Создание и проверка выражения And.

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

Параметры

children

Expression[]

Дочерние предложения.

Возвращаемое значение

Новое выражение.

deepEquals(Expression)

Сделайте глубокое равенство между выражениями.

function deepEquals(other: Expression): boolean

Параметры

other
Expression

Другое выражение.

Возвращаемое значение

boolean

Значение True, если выражения одинаковы.

equalsExpression(Expression[])

Создайте и проверьте выражение Equals.

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

Параметры

children

Expression[]

Дочерние предложения.

Возвращаемое значение

Новое выражение.

lambaExpression(EvaluateExpressionDelegate)

Создание выражения из Объекта EvaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Параметры

func
EvaluateExpressionDelegate

Функция для создания выражения из.

Возвращаемое значение

Новое выражение.

lambda((arg0: any) => any)

Создайте выражение из лямбда-выражения по состоянию. Исключения будут перехватываться и отображаться в виде строки ошибки.

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

Параметры

func

(arg0: any) => any

Выражение ambda для вычисления.

Возвращаемое значение

Новое выражение.

lookup(string)

Подстановка функции ExpressionEvaluator по имени.

static function lookup(functionName: string): ExpressionEvaluator

Параметры

functionName

string

Имя функции для поиска.

Возвращаемое значение

ExpressionEvaluator, соответствующие имени функции.

makeExpression(string, ExpressionEvaluator, Expression[])

Сделайте выражение и проверьте его.

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

Параметры

type

string

Тип выражения из ExpressionType.

evaluator
ExpressionEvaluator

Сведения о том, как проверить и оценить выражение.

children

Expression[]

Дочерние выражения.

Возвращаемое значение

Новое выражение.

notExpression(Expression)

Создание и проверка выражения Not.

static function notExpression(child: Expression): Expression

Параметры

child
Expression

Дочерние предложения.

Возвращаемое значение

Новое выражение.

orExpression(Expression[])

Создание и проверка выражения Or.

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

Параметры

children

Expression[]

Дочерние предложения.

Возвращаемое значение

Новое выражение.

parse(string, EvaluatorLookup)

Синтаксический анализ строки выражения в объект выражения .

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

Параметры

expression

string

Строка выражения.

lookup
EvaluatorLookup

Необязательный. LookorLookup функции при анализе выражения. По умолчанию используется Expression.lookup, которая использует таблицу Expression.functions.

Возвращаемое значение

Объект выражения.

references()

Возвращает статические ссылочные пути в память. Возвращает все статические пути в память. Если есть вычисляемый индекс элемента, то путь завершается там, но вы можете получить другие пути из вычисляемой части, а также.

function references(): string[]

Возвращаемое значение

string[]

Список статических ссылочных путей.

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> }

Путь метода доступа к выражению.

setPathToValue(Expression, any)

Создайте и проверьте выражение свойства в выражение значения.

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

Параметры

property
Expression

выражение свойства.

value

any

выражение value.

Возвращаемое значение

Новое выражение.

toString()

Возвращает строку, представляющую текущий объект Expression.

function toString(): string

Возвращаемое значение

string

Строка, представляющая текущий объект Expression.

tryEvaluate(MemoryInterface | any, Options)

Оцените выражение.

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

Параметры

state

MemoryInterface | any

Глобальное состояние для оценки выражений метода доступа. Может быть словарем, в противном случае отражение используется для доступа к свойству, а затем индексатору.

options
Options

Параметры, используемые в оценке.

Возвращаемое значение

Вычисляемое значение и строка ошибки. Если строка не имеет значения NULL, произошла ошибка оценки.

validate()

Проверка немедленного выражения.

function validate()

validateTree()

Рекурсивно проверьте дерево выражений.

function validateTree()