aboutsummaryrefslogtreecommitdiffstats
path: root/teal-src/prosody/util/set.d.tl
blob: a23dd258454eb0ed2efae4aa5e7f96fcd6b77e7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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