pug-filters
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -10,3 +10,3 @@ 'use strict'; | ||
module.exports = handleFilters; | ||
function handleFilters(ast, filters, options) { | ||
function handleFilters(ast, filters, options, filterAliases) { | ||
options = options || {}; | ||
@@ -16,3 +16,3 @@ walk(ast, function (node) { | ||
if (node.type === 'Filter') { | ||
handleNestedFilters(node, filters, options); | ||
handleNestedFilters(node, filters, options, filterAliases); | ||
var text = getBodyAsText(node); | ||
@@ -41,6 +41,7 @@ var attrs = getAttributes(node, options); | ||
try { | ||
if (filters && filters[filter.name]) { | ||
return filters[filter.name](text, attrs); | ||
var filterName = getFilterName(filter); | ||
if (filters && filters[filterName]) { | ||
return filters[filterName](text, attrs); | ||
} else { | ||
return runFilter(filter.name, text, attrs, dir, funcName); | ||
return runFilter(filterName, text, attrs, dir, funcName); | ||
} | ||
@@ -56,4 +57,5 @@ } catch (ex) { | ||
function filterFileWithFallback(filter, filename, text, attrs) { | ||
if (filters && filters[filter.name]) { | ||
return filters[filter.name](text, attrs); | ||
var filterName = getFilterName(filter); | ||
if (filters && filters[filterName]) { | ||
return filters[filterName](text, attrs); | ||
} else { | ||
@@ -64,8 +66,24 @@ return filterWithFallback(filter, filename, attrs, 'renderFile'); | ||
}, {includeDependencies: true}); | ||
function getFilterName(filter) { | ||
var filterName = filter.name; | ||
if (filterAliases && filterAliases[filterName]) { | ||
filterName = filterAliases[filterName]; | ||
if (filterAliases[filterName]) { | ||
throw error( | ||
'FILTER_ALISE_CHAIN', | ||
'The filter "' + filter.name + '" is an alias for "' + filterName + | ||
'", which is an alias for "' + filterAliases[filterName] + | ||
'". Pug does not support chains of filter aliases.', | ||
filter | ||
); | ||
} | ||
} | ||
return filterName; | ||
} | ||
return ast; | ||
}; | ||
function handleNestedFilters(node, filters, options) { | ||
function handleNestedFilters(node, filters, options, filterAliases) { | ||
if (node.block.nodes[0] && node.block.nodes[0].type === 'Filter') { | ||
node.block.nodes[0] = handleFilters(node.block, filters, options).nodes[0]; | ||
node.block.nodes[0] = handleFilters(node.block, filters, options, filterAliases).nodes[0]; | ||
} | ||
@@ -72,0 +90,0 @@ } |
{ | ||
"name": "pug-filters", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Code for processing filters in pug templates", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
96150
31
1553