String
This module is Belt.MutableSet specialized with key type to be a primitive type.
It is more efficient in general, the API is the same with Belt.MutableSet except its key type is fixed,
and identity is not needed(using the built-in one)
See Belt.MutableSet
value
type value = stringThe type of the set elements.
t
type tThe type of sets.
make
let make: unit => tfromArray
let fromArray: array<value> => tfromSortedArrayUnsafe
let fromSortedArrayUnsafe: array<value> => tcopy
let copy: t => tisEmpty
let isEmpty: t => boolhas
let has: (t, value) => booladd
let add: (t, value) => unitaddCheck
let addCheck: (t, value) => boolmergeMany
let mergeMany: (t, array<value>) => unitremove
let remove: (t, value) => unitremoveCheck
let removeCheck: (t, value) => boolremoveMany
let removeMany: (t, array<value>) => unitunion
let union: (t, t) => tintersect
let intersect: (t, t) => tdiff
let diff: (t, t) => tsubset
let subset: (t, t) => boolcmp
let cmp: (t, t) => inteq
let eq: (t, t) => boolforEachU
let forEachU: (t, value => unit) => unitforEach
let forEach: (t, value => unit) => unitIn increasing order
reduceU
let reduceU: (t, 'a, ('a, value) => 'a) => 'areduce
let reduce: (t, 'a, ('a, value) => 'a) => 'aIterate in increasing order.
everyU
let everyU: (t, value => bool) => boolevery
let every: (t, value => bool) => boolevery(p, s) checks if all elements of the set satisfy the predicate p.
Order unspecified.
someU
let someU: (t, value => bool) => boolsome
let some: (t, value => bool) => boolsome(p, s) checks if at least one element of the set satisfies the predicate
p. Oder unspecified.
keepU
let keepU: (t, value => bool) => tkeep
let keep: (t, value => bool) => tkeep(s, p) returns a fresh copy of the set of all elements in s that satisfy
predicate p.
partitionU
let partitionU: (t, value => bool) => (t, t)partition
let partition: (t, value => bool) => (t, t)partition(s, p) returns a fresh copy pair of sets (s1, s2), where s1 is
the set of all the elements of s that satisfy the predicate p, and s2 is
the set of all the elements of s that do not satisfy p.
size
let size: t => inttoList
let toList: t => list<value>In increasing order with respect
toArray
let toArray: t => array<value>In increasing order with respect
minimum
let minimum: t => option<value>minUndefined
let minUndefined: t => Js.undefined<value>maximum
let maximum: t => option<value>maxUndefined
let maxUndefined: t => Js.undefined<value>get
let get: (t, value) => option<value>getUndefined
let getUndefined: (t, value) => Js.undefined<value>getExn
let getExn: (t, value) => valuesplit
let split: (t, value) => ((t, t), bool)split(s, key) return a fresh copy of each
checkInvariantInternal
let checkInvariantInternal: t => unitraise when invariant is not held