Socket
Socket
Sign inDemoInstall

pug-filters

Package Overview
Dependencies
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pug-filters - npm Package Compare versions

Comparing version 2.0.0 to 2.1.0

test/__snapshots__/filter-aliases.test.js.snap

36

lib/handle-filters.js

@@ -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": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc