mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 04:10:40 -07:00
refactor: remove use of internal Context class in evalValue argument
BREAKING CHANGE: `evalValue` won't support `Context` as second argument anymore.
This commit is contained in:
+6
-6
@@ -90,16 +90,16 @@ export class Liquid {
|
||||
return this.renderToNodeStream(templates, scope, renderOptions)
|
||||
}
|
||||
|
||||
public _evalValue (str: string, scopeOrContext?: object | Context): IterableIterator<any> {
|
||||
public _evalValue (str: string, scope?: object): IterableIterator<any> {
|
||||
const value = new Value(str, this)
|
||||
const ctx = scopeOrContext instanceof Context ? scopeOrContext : new Context(scopeOrContext, this.options)
|
||||
const ctx = new Context(scope, this.options)
|
||||
return value.value(ctx, false)
|
||||
}
|
||||
public async evalValue (str: string, scopeOrContext?: object | Context): Promise<any> {
|
||||
return toPromise(this._evalValue(str, scopeOrContext))
|
||||
public async evalValue (str: string, scope?: object): Promise<any> {
|
||||
return toPromise(this._evalValue(str, scope))
|
||||
}
|
||||
public evalValueSync (str: string, scopeOrContext?: object | Context): any {
|
||||
return toValueSync(this._evalValue(str, scopeOrContext))
|
||||
public evalValueSync (str: string, scope?: object): any {
|
||||
return toValueSync(this._evalValue(str, scope))
|
||||
}
|
||||
|
||||
public registerFilter (name: string, filter: FilterImplOptions) {
|
||||
|
||||
+1
-11
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import { Context, Liquid } from '../..'
|
||||
import { Liquid } from '../..'
|
||||
|
||||
describe('#evalValue()', function () {
|
||||
var engine: Liquid
|
||||
@@ -19,14 +19,4 @@ describe('#evalValue()', function () {
|
||||
const val = await engine.evalValue('foo')
|
||||
expect(val).to.equal('FOO')
|
||||
})
|
||||
|
||||
it('should support passing Context', async function () {
|
||||
const val = await engine.evalValue('a > b', new Context({ a: 1, b: 2 }))
|
||||
expect(val).to.equal(false)
|
||||
})
|
||||
|
||||
it('should respect options in passed in Context', async function () {
|
||||
const val = await engine.evalValue('foo', new Context({}, { globals: { foo: 'BAR' } } as any))
|
||||
expect(val).to.equal('BAR')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user