mirror of
https://github.com/harttle/liquidjs.git
synced 2026-10-03 00:55:13 -07:00
1.4.1
This commit is contained in:
Vendored
+22
-21
@@ -217,7 +217,7 @@ var Render = require('./src/render.js');
|
|||||||
var lexical = require('./src/lexical.js');
|
var lexical = require('./src/lexical.js');
|
||||||
var Tag = require('./src/tag.js');
|
var Tag = require('./src/tag.js');
|
||||||
var Filter = require('./src/filter.js');
|
var Filter = require('./src/filter.js');
|
||||||
var Template = require('./src/parser');
|
var Parser = require('./src/parser');
|
||||||
var Syntax = require('./src/syntax.js');
|
var Syntax = require('./src/syntax.js');
|
||||||
var tags = require('./tags');
|
var tags = require('./tags');
|
||||||
var filters = require('./filters');
|
var filters = require('./filters');
|
||||||
@@ -233,7 +233,7 @@ var _engine = {
|
|||||||
this.options = options;
|
this.options = options;
|
||||||
this.tag = tag;
|
this.tag = tag;
|
||||||
this.filter = filter;
|
this.filter = filter;
|
||||||
this.parser = Template(tag, filter);
|
this.parser = Parser(tag, filter);
|
||||||
this.renderer = Render();
|
this.renderer = Render();
|
||||||
|
|
||||||
tags(this);
|
tags(this);
|
||||||
@@ -350,7 +350,7 @@ function factory(options) {
|
|||||||
|
|
||||||
var engine = Object.create(_engine);
|
var engine = Object.create(_engine);
|
||||||
|
|
||||||
engine.init(Tag(), Filter(), options);
|
engine.init(Tag(), Filter(options), options);
|
||||||
return engine;
|
return engine;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -486,10 +486,12 @@ function loadImplementation() {
|
|||||||
var lexical = require('./lexical.js');
|
var lexical = require('./lexical.js');
|
||||||
var Syntax = require('./syntax.js');
|
var Syntax = require('./syntax.js');
|
||||||
var assert = require('./util/assert.js');
|
var assert = require('./util/assert.js');
|
||||||
|
var _ = require('./util/underscore.js');
|
||||||
|
|
||||||
var valueRE = new RegExp('' + lexical.value.source, 'g');
|
var valueRE = new RegExp('' + lexical.value.source, 'g');
|
||||||
|
|
||||||
module.exports = function () {
|
module.exports = function (options) {
|
||||||
|
options = _.assign({}, options);
|
||||||
var filters = {};
|
var filters = {};
|
||||||
|
|
||||||
var _filterInstance = {
|
var _filterInstance = {
|
||||||
@@ -508,10 +510,19 @@ module.exports = function () {
|
|||||||
argList = match[2] || '',
|
argList = match[2] || '',
|
||||||
filter = filters[name];
|
filter = filters[name];
|
||||||
if (typeof filter !== 'function') {
|
if (typeof filter !== 'function') {
|
||||||
return {
|
if (options.strict_filters) {
|
||||||
name: name,
|
throw new TypeError('undefined filter: ' + name);
|
||||||
error: new TypeError('undefined filter: ' + name)
|
}
|
||||||
|
this.name = name;
|
||||||
|
this.filter = function (x) {
|
||||||
|
return x;
|
||||||
};
|
};
|
||||||
|
this.args = [];
|
||||||
|
return this;
|
||||||
|
//return {
|
||||||
|
//name: name,
|
||||||
|
//error: new TypeError(`undefined filter: ${name}`)
|
||||||
|
//};
|
||||||
}
|
}
|
||||||
|
|
||||||
var args = [];
|
var args = [];
|
||||||
@@ -545,7 +556,7 @@ module.exports = function () {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
},{"./lexical.js":8,"./syntax.js":13,"./util/assert.js":16}],8:[function(require,module,exports){
|
},{"./lexical.js":8,"./syntax.js":13,"./util/assert.js":16,"./util/underscore.js":21}],8:[function(require,module,exports){
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// quote related
|
// quote related
|
||||||
@@ -847,19 +858,9 @@ var render = {
|
|||||||
|
|
||||||
evalOutput: function evalOutput(template, scope) {
|
evalOutput: function evalOutput(template, scope) {
|
||||||
assert(scope, 'unable to evalOutput: scope undefined');
|
assert(scope, 'unable to evalOutput: scope undefined');
|
||||||
var val = Syntax.evalExp(template.initial, scope);
|
return template.filters.reduce(function (prev, filter) {
|
||||||
template.filters.some(function (filter) {
|
return filter.render(prev, scope);
|
||||||
if (filter.error) {
|
}, Syntax.evalExp(template.initial, scope));
|
||||||
if (scope.get('liquid.strict_filters')) {
|
|
||||||
throw filter.error;
|
|
||||||
} else {
|
|
||||||
val = '';
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
val = filter.render(val, scope);
|
|
||||||
});
|
|
||||||
return val;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Vendored
+2
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "shopify-liquid",
|
"name": "shopify-liquid",
|
||||||
"version": "1.4.0",
|
"version": "1.4.1",
|
||||||
"description": "Liquid template engine for JavaScript, Node.js and Browser",
|
"description": "Liquid template engine for JavaScript, Node.js and Browser",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user