aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2024-10-16 16:15:05 +0200
committerKim Alvefur <zash@zash.se>2024-10-16 16:15:05 +0200
commit2ef0e122fd9508dce52471ac2b6585f998d6e7d5 (patch)
treec9e96e731e255be17d8222ed3ad8dd58e4e604e5
parenteb612ac519a0f298a9697749b633596495084170 (diff)
downloadprosody-2ef0e122fd9508dce52471ac2b6585f998d6e7d5.tar.gz
prosody-2ef0e122fd9508dce52471ac2b6585f998d6e7d5.zip
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.
-rw-r--r--teal-src/prosody/util/xtemplate.tl8
-rw-r--r--util/xtemplate.lua6
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