diff options
author | Kim Alvefur <zash@zash.se> | 2018-07-08 16:48:59 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-07-08 16:48:59 +0200 |
commit | 13463cb1004eac4f18270d52002b88e04eee42d5 (patch) | |
tree | 7491ff1eae6c276d099760199e6a2103184fdb49 | |
parent | b6dc9e444af1612c7ac757d3711f8d514483048b (diff) | |
download | prosody-13463cb1004eac4f18270d52002b88e04eee42d5.tar.gz prosody-13463cb1004eac4f18270d52002b88e04eee42d5.zip |
util.stanza: Add method for removing all children with a specific name, xmlns
-rw-r--r-- | util/stanza.lua | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/util/stanza.lua b/util/stanza.lua index 2191fa8e..07365144 100644 --- a/util/stanza.lua +++ b/util/stanza.lua @@ -97,6 +97,16 @@ function stanza_mt:add_child(child) return self; end +function stanza_mt:remove_children(name, xmlns) + xmlns = xmlns or self.attr.xmlns; + return self:maptags(function (tag) + if (not name or tag.name == name) and tag.attr.xmlns == xmlns then + return nil; + end + return tag; + end); +end + function stanza_mt:get_child(name, xmlns) for _, child in ipairs(self.tags) do if (not name or child.name == name) |