feat: export toValueSync & defaultOptions to evaluate expression, see #527

This commit is contained in:
Harttle
2022-08-15 01:53:48 +08:00
committed by Harttle
parent 753e8f94c0
commit e874b4060b
6 changed files with 13 additions and 6 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ export class Tokenizer {
constructor (
public input: string,
private trie: Trie,
private trie: Trie = defaultOptions.operatorsTrie,
public file: string = ''
) {
this.N = input.length
+1 -1
View File
@@ -20,7 +20,7 @@ export class Expression {
public constructor (tokens: IterableIterator<Token>) {
this.postfix = [...toPostfix(tokens)]
}
public * evaluate (ctx: Context, lenient: boolean): Generator<unknown, unknown, unknown> {
public * evaluate (ctx: Context, lenient?: boolean): Generator<unknown, unknown, unknown> {
assert(ctx, 'unable to evaluate: context not defined')
const operands: any[] = []
for (const token of this.postfix) {
+2 -1
View File
@@ -21,10 +21,11 @@ export { Tokenizer } from './parser/tokenizer'
export { Hash } from './template/tag/hash'
export { Value } from './template/value'
export { evalToken, evalQuotedToken } from './render/expression'
export { toPromise, toThenable } from './util/async'
export { toPromise, toThenable, toValueSync } from './util/async'
export { defaultOperators, Operators } from './render/operator'
export { createTrie, Trie } from './util/operator-trie'
export { toValue } from './util/underscore'
export { TimezoneDate } from './util/timezone-date'
export * as filters from './builtin/filters'
export * as tags from './builtin/tags'
export { defaultOptions } from './liquid-options'