export function first(set) {
console.assert(set instanceof Set, set);
return set.values().next().value;
}
export function last(set) {
console.assert(set instanceof Set, set);
let result = undefined;
for (let value of set.values())
result = value;
return result;
}
export function intersection(a, b) {
console.assert(a instanceof Set, a);
console.assert(b instanceof Set, b);
let result = new Set;
for (let item of a) {
if (b.has(item))
result.add(item);
}
return result;
}
export function difference(a, b) {
console.assert(a instanceof Set, a);
console.assert(b instanceof Set, b);
let result = new Set;
for (let item of a) {
if (!b.has(item))
result.add(item);
}
return result;
}