Skip to content

Commit eabe55c

Browse files
Add support for arrow functions to reduce filter.
1 parent 1f81225 commit eabe55c

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/twig.filters.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -865,6 +865,20 @@ module.exports = function (Twig) {
865865
});
866866
return newValue;
867867
}
868+
},
869+
reduce(value, params) {
870+
if (is('Array', value)) {
871+
const callBackParams = params.params.split(',');
872+
return value.reduce((_carry, _v, _k) => {
873+
const data = {};
874+
data[callBackParams[0]] = _carry;
875+
data[callBackParams[1].trim()] = _v;
876+
data[callBackParams[2].trim()] = _k;
877+
878+
const template = Twig.exports.twig({data: params.body});
879+
return template.render(data);
880+
}, params.args || 0);
881+
}
868882
}
869883
};
870884

0 commit comments

Comments
 (0)