Software /
code /
prosody
Changeset
11542:c358537c0878 0.11
util.set: Add is_set() to test if an object is a set
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 10 May 2021 16:41:56 +0100 |
parents | 11541:13b84682518e |
children | 11543:63fd4c8465fb |
files | util/set.lua |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/util/set.lua Mon May 10 16:24:54 2021 +0100 +++ b/util/set.lua Mon May 10 16:41:56 2021 +0100 @@ -6,8 +6,8 @@ -- COPYING file in the source package for more information. -- -local ipairs, pairs, setmetatable, next, tostring = - ipairs, pairs, setmetatable, next, tostring; +local ipairs, pairs, getmetatable, setmetatable, next, tostring = + ipairs, pairs, getmetatable, setmetatable, next, tostring; local t_concat = table.concat; local _ENV = nil; @@ -31,6 +31,11 @@ return a; end +local function is_set(o) + local mt = getmetatable(o); + return mt == set_mt; +end + local function new(list) local items = setmetatable({}, items_mt); local set = { _items = items }; @@ -171,6 +176,7 @@ return { new = new; + is_set = is_set; union = union; difference = difference; intersection = intersection;