From 2ef0e122fd9508dce52471ac2b6585f998d6e7d5 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 16 Oct 2024 16:15:05 +0200 Subject: util.xtemplate: Use same argument order in filters even without 'args' This removes the different argument order used between '{x|foo}' and '{x|foo(y)}' because the differing order was awkward and confusing. This util does not seem to be widely used so should not be problematic to change this part. The only known use is in mod_pubsub, which does not use the filter function feature. --- teal-src/prosody/util/xtemplate.tl | 8 ++------ util/xtemplate.lua | 6 +----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/teal-src/prosody/util/xtemplate.tl b/teal-src/prosody/util/xtemplate.tl index 84003051..4d293359 100644 --- a/teal-src/prosody/util/xtemplate.tl +++ b/teal-src/prosody/util/xtemplate.tl @@ -17,7 +17,7 @@ local t_concat = table.concat; local st = require "prosody.util.stanza"; local type escape_t = function (string) : string -local type filter_t = function (string, string | st.stanza_t, string) : string | st.stanza_t, boolean +local type filter_t = function (string | st.stanza_t, string | st.stanza_t, string) : string | st.stanza_t, boolean local type filter_coll = { string : filter_t } local function render(template : string, root : st.stanza_t, escape : escape_t, filters : filter_coll) : string @@ -85,11 +85,7 @@ local function render(template : string, root : st.stanza_t, escape : escape_t, end elseif filters and filters[func] then local f = filters[func]; - if args == nil then - value, is_escaped = f(value, tmpl); - else - value, is_escaped = f(args, value, tmpl); - end + value, is_escaped = f(value, args, tmpl); else error("No such filter function: " .. func); end diff --git a/util/xtemplate.lua b/util/xtemplate.lua index e23b1a01..446d7d1f 100644 --- a/util/xtemplate.lua +++ b/util/xtemplate.lua @@ -70,11 +70,7 @@ local function render(template, root, escape, filters) end elseif filters and filters[func] then local f = filters[func]; - if args == nil then - value, is_escaped = f(value, tmpl); - else - value, is_escaped = f(args, value, tmpl); - end + value, is_escaped = f(value, args, tmpl); else error("No such filter function: " .. func); end -- cgit v1.2.3