File

teal-src/prosody/util/set.d.tl @ 13018:9ed4a8502c54

util.set: Add missing remove function in Teal spec
author Kim Alvefur <zash@zash.se>
date Fri, 31 Mar 2023 23:19:07 +0200
parent 12979:fbbf4f0db8f0
line wrap: on
line source

local record lib
	record Set<T>
		add : function<T> (Set<T>, T)
		contains : function<T> (Set<T>, T) : boolean
		contains_set : function<T> (Set<T>, Set<T>) : boolean
		items :  function<T> (Set<T>) : function<T> (Set<T>, T) : T
		remove : function<T> (Set<T>, T)
		add_list : function<T> (Set<T>, { T })
		include : function<T> (Set<T>, Set<T>)
		exclude : function<T> (Set<T>, Set<T>)
		empty : function<T> (Set<T>) : boolean
	end

	new : function<T> ({ T }) : Set<T>
	is_set : function (any) : boolean
	union : function<T> (Set<T>, Set<T>) : Set <T>
	difference : function<T> (Set<T>, Set<T>) : Set <T>
	intersection : function<T> (Set<T>, Set<T>) : Set <T>
	xor : function<T> (Set<T>, Set<T>) : Set <T>
end

return lib