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, 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. |
return |
Hasil yang diharapkan dari mengevaluasi ekspresi. |
type | Jenis ekspresi. |
Metode
and |
Membuat dan memvalidasi ekspresi Dan. |
deep |
Lakukan kesetaraan mendalam antar ekspresi. |
equals |
Membuat dan memvalidasi ekspresi Sama dengan. |
lamba |
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 |
make |
Buat ekspresi dan validasi. |
not |
Membuat dan memvalidasi ekspresi Bukan. |
or |
Membuat dan memvalidasi ekspresi Or. |
parse(string, Evaluator |
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. |
reference |
Fungsi berjalan untuk mengidentifikasi referensi memori statis dalam ekspresi. |
set |
Buat dan validasi Atur ekspresi properti ke ekspresi nilai. |
to |
Mengembalikan string yang mewakili objek Ekspresi |
try |
Mengevaluasi ekspresi. |
validate() | Memvalidasi ekspresi langsung. |
validate |
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
Ekspresi anak.
Detail Properti
children
evaluator
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
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
Klausa anak.
Mengembalikan
Ekspresi baru.
lambaExpression(EvaluateExpressionDelegate)
Membuat ekspresi dari EvaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Parameter
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
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
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
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
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
function toString(): string
Mengembalikan
string
String yang mewakili objek Ekspresi
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()