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 | 759fe72f49e08114f36d880e60e64e77781e4c59 (patch) | |
tree | 7491ff1eae6c276d099760199e6a2103184fdb49 | |
parent | 81da3564dcab51e1677b15eaf02baf0f0abd8d0e (diff) | |
download | prosody-759fe72f49e08114f36d880e60e64e77781e4c59.tar.gz prosody-759fe72f49e08114f36d880e60e64e77781e4c59.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) |