Bagikan melalui


Expression class

Ekspresi yang dapat dianalisis atau dievaluasi untuk menghasilkan nilai. Ini menyediakan pembungkus terbuka yang mendukung sejumlah fungsi bawaan dan juga dapat diperpanjang saat runtime. Ini juga mendukung validasi kebenaran ekspresi dan evaluasi yang harus bebas pengecualian.

Konstruktor

Expression(string, ExpressionEvaluator, Expression[])

konstruktor ekspresi.

Properti

children

Ekspresi anak-anak.

evaluator

Evaluator ekspresi.

functions

Kamus fungsi => ExpressionEvaluator. Ini semua fungsi yang tersedia, Anda dapat menambahkan fungsi kustom ke dalamnya, tetapi Anda tidak dapat mengganti fungsi bawaan. Jika Anda menghapus kamus, kamus tersebut akan diatur ulang ke fungsi bawaan.

returnType

Hasil yang diharapkan dari mengevaluasi ekspresi.

type

Jenis ekspresi.

Metode

andExpression(Expression[])

Membuat dan memvalidasi ekspresi Dan.

deepEquals(Expression)

Lakukan kesetaraan mendalam antar ekspresi.

equalsExpression(Expression[])

Membuat dan memvalidasi ekspresi Sama dengan.

lambaExpression(EvaluateExpressionDelegate)

Membuat ekspresi dari EvaluateExpressionDelegate

lambda((arg0: any) => any)

Buat ekspresi dari ekspresi lamba di atas status. Pengecualian akan ditangkap dan muncul sebagai string kesalahan.

lookup(string)

Cari fungsi ExpressionEvaluator berdasarkan nama.

makeExpression(string, ExpressionEvaluator, Expression[])

Buat ekspresi dan validasi.

notExpression(Expression)

Membuat dan memvalidasi ekspresi Bukan.

orExpression(Expression[])

Membuat dan memvalidasi ekspresi Or.

parse(string, EvaluatorLookup)

Uraikan string ekspresi ke dalam objek Ekspresi .

references()

Mengembalikan jalur referensi statis ke memori. Mengembalikan semua jalur statis ke memori. Jika ada indeks elemen komputasi, maka jalur dihentikan di sana, tetapi Anda mungkin mendapatkan jalur lain dari bagian komputasi juga.

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

Fungsi berjalan untuk mengidentifikasi referensi memori statis dalam ekspresi.

setPathToValue(Expression, any)

Buat dan validasi Atur ekspresi properti ke ekspresi nilai.

toString()

Mengembalikan string yang mewakili objek Ekspresi saat ini.

tryEvaluate(MemoryInterface | any, Options)

Mengevaluasi ekspresi.

validate()

Memvalidasi ekspresi langsung.

validateTree()

Validasi pohon ekspresi secara rekursif.

Detail Konstruktor

Expression(string, ExpressionEvaluator, Expression[])

konstruktor ekspresi.

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

Parameter

type

string

Jenis ekspresi dari ExpressionType

evaluator
ExpressionEvaluator

Informasi tentang cara memvalidasi dan mengevaluasi ekspresi.

children

Expression[]

Ekspresi anak.

Detail Properti

children

Ekspresi anak-anak.

children: Expression[]

Nilai Properti

evaluator

Evaluator ekspresi.

evaluator: ExpressionEvaluator

Nilai Properti

functions

Kamus fungsi => ExpressionEvaluator. Ini semua fungsi yang tersedia, Anda dapat menambahkan fungsi kustom ke dalamnya, tetapi Anda tidak dapat mengganti fungsi bawaan. Jika Anda menghapus kamus, kamus tersebut akan diatur ulang ke fungsi bawaan.

static functions: FunctionTable = new FunctionTable()

Nilai Properti

returnType

Hasil yang diharapkan dari mengevaluasi ekspresi.

ReturnType returnType

Nilai Properti

Hasil yang diharapkan dari mengevaluasi ekspresi.

type

Jenis ekspresi.

string type

Nilai Properti

string

Jenis ekspresi.

Detail Metode

andExpression(Expression[])

Membuat dan memvalidasi ekspresi Dan.

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

Parameter

children

Expression[]

Klausa anak.

Mengembalikan

Ekspresi baru.

deepEquals(Expression)

Lakukan kesetaraan mendalam antar ekspresi.

function deepEquals(other: Expression): boolean

Parameter

other
Expression

Ekspresi lainnya.

Mengembalikan

boolean

True jika ekspresi sama.

equalsExpression(Expression[])

Membuat dan memvalidasi ekspresi Sama dengan.

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

Parameter

children

Expression[]

Klausa anak.

Mengembalikan

Ekspresi baru.

lambaExpression(EvaluateExpressionDelegate)

Membuat ekspresi dari EvaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Parameter

func
EvaluateExpressionDelegate

Fungsi untuk membuat ekspresi dari.

Mengembalikan

Ekspresi baru.

lambda((arg0: any) => any)

Buat ekspresi dari ekspresi lamba di atas status. Pengecualian akan ditangkap dan muncul sebagai string kesalahan.

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

Parameter

func

(arg0: any) => any

ekspresi ambda untuk dievaluasi.

Mengembalikan

Ekspresi baru.

lookup(string)

Cari fungsi ExpressionEvaluator berdasarkan nama.

static function lookup(functionName: string): ExpressionEvaluator

Parameter

functionName

string

Nama fungsi yang akan dicari.

Mengembalikan

ExpressionEvaluator yang sesuai dengan nama fungsi.

makeExpression(string, ExpressionEvaluator, Expression[])

Buat ekspresi dan validasi.

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

Parameter

type

string

Jenis ekspresi dari ExpressionType.

evaluator
ExpressionEvaluator

Informasi tentang cara memvalidasi dan mengevaluasi ekspresi.

children

Expression[]

Ekspresi anak.

Mengembalikan

Ekspresi baru.

notExpression(Expression)

Membuat dan memvalidasi ekspresi Bukan.

static function notExpression(child: Expression): Expression

Parameter

child
Expression

Klausa anak.

Mengembalikan

Ekspresi baru.

orExpression(Expression[])

Membuat dan memvalidasi ekspresi Or.

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

Parameter

children

Expression[]

Klausa anak.

Mengembalikan

Ekspresi baru.

parse(string, EvaluatorLookup)

Uraikan string ekspresi ke dalam objek Ekspresi .

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

Parameter

expression

string

String ekspresi.

lookup
EvaluatorLookup

Fakultatif. EvaluatorLookup pencarian fungsi saat mengurai ekspresi. Defaultnya adalah Expression.lookup yang menggunakan Expression.functions tabel.

Mengembalikan

Objek ekspresi.

references()

Mengembalikan jalur referensi statis ke memori. Mengembalikan semua jalur statis ke memori. Jika ada indeks elemen komputasi, maka jalur dihentikan di sana, tetapi Anda mungkin mendapatkan jalur lain dari bagian komputasi juga.

function references(): string[]

Mengembalikan

string[]

Daftar jalur referensi statis.

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

Fungsi berjalan untuk mengidentifikasi referensi memori statis dalam ekspresi.

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

Parameter

expression
Expression

Ekspresi untuk dianalisis.

extension

(arg0: Expression) => boolean

Jika ada, dipanggil untuk mengambil alih pencarian untuk hal-hal seperti ekspansi templat.

Mengembalikan

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

Jalur ekspresi aksesor.

setPathToValue(Expression, any)

Buat dan validasi Atur ekspresi properti ke ekspresi nilai.

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

Parameter

property
Expression

ekspresi properti.

value

any

ekspresi nilai.

Mengembalikan

Ekspresi baru.

toString()

Mengembalikan string yang mewakili objek Ekspresi saat ini.

function toString(): string

Mengembalikan

string

String yang mewakili objek Ekspresi saat ini.

tryEvaluate(MemoryInterface | any, Options)

Mengevaluasi ekspresi.

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

Parameter

state

MemoryInterface | any

Status global untuk mengevaluasi ekspresi aksesor terhadap. Dapat berupa Kamus, jika tidak, refleksi digunakan untuk mengakses properti lalu pengindeks.

options
Options

Opsi yang digunakan dalam evaluasi.

Mengembalikan

Nilai komputasi dan string kesalahan. Jika string non-null, maka ada kesalahan evaluasi.

validate()

Memvalidasi ekspresi langsung.

function validate()

validateTree()

Validasi pohon ekspresi secara rekursif.

function validateTree()