tags: use scope.opts insteadof scope.get('liquid')

This commit is contained in:
harttle
2017-11-04 10:46:15 +08:00
parent 329aea6bd6
commit 4e132ca1c5
8 changed files with 79 additions and 73 deletions
+7 -9
View File
@@ -11,6 +11,9 @@ var Scope = {
return ctx
},
get: function (str) {
if (str === 'liquid') {
throw new Error('NO LONGER SUPPORTED: use scope.opts instread of scope.get("liquid")')
}
try {
return this.getPropertyByPath(this.scopes, str)
} catch (e) {
@@ -168,19 +171,14 @@ function matchRightBracket (str, begin) {
}
exports.factory = function (ctx, opts) {
opts = _.assign({
var defaultOptions = {
strict_variables: false,
strict_filters: false,
blocks: {},
root: []
}, opts)
ctx = _.assign(ctx, {
liquid: opts
})
}
var scope = Object.create(Scope)
scope.opts = opts
scope.scopes = [ctx]
scope.opts = _.assign(defaultOptions, opts)
scope.scopes = [ctx || {}]
return scope
}
+8 -6
View File
@@ -7,7 +7,7 @@ function initError () {
}
}
function initLiquidError (message, token) {
function initLiquidError (err, token) {
initError.call(this)
this.input = token.input
@@ -15,12 +15,14 @@ function initLiquidError (message, token) {
this.file = token.file
var context = mkContext(token.input, token.line)
this.message = mkMessage(message, token)
this.stack = context + '\n' + (this.stack || this.message)
this.message = mkMessage(err.message, token)
this.stack = context +
'\n' + (this.stack || this.message) +
(err.stack ? '\nFrom ' + err.stack : '')
}
function TokenizationError (message, token) {
initLiquidError.call(this, message, token)
initLiquidError.call(this, {message: message}, token)
}
TokenizationError.prototype = Object.create(Error.prototype)
TokenizationError.prototype.constructor = TokenizationError
@@ -29,7 +31,7 @@ function ParseError (e, token) {
_.assign(this, e)
this.originalError = e
initLiquidError.call(this, e.message, token)
initLiquidError.call(this, e, token)
}
ParseError.prototype = Object.create(Error.prototype)
ParseError.prototype.constructor = ParseError
@@ -42,7 +44,7 @@ function RenderError (e, tpl) {
_.assign(this, e)
this.originalError = e
initLiquidError.call(this, e.message, tpl.token)
initLiquidError.call(this, e, tpl.token)
}
RenderError.prototype = Object.create(Error.prototype)
RenderError.prototype.constructor = RenderError