π― Use case
This file lives under βutils/β, which covers cross-cutting helpers (shell, tempfiles, settings, messages, process input, β¦). On the API surface it exposes difference, intersects, every, and union β mainly functions, hooks, or classes. What the file header says: Note: this code is hot, so is optimized for speed.
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
Note: this code is hot, so is optimized for speed.
π€ Exports (heuristic)
differenceintersectseveryunion
π₯οΈ Source preview
/**
* Note: this code is hot, so is optimized for speed.
*/
export function difference<A>(a: Set<A>, b: Set<A>): Set<A> {
const result = new Set<A>()
for (const item of a) {
if (!b.has(item)) {
result.add(item)
}
}
return result
}
/**
* Note: this code is hot, so is optimized for speed.
*/
export function intersects<A>(a: Set<A>, b: Set<A>): boolean {
if (a.size === 0 || b.size === 0) {
return false
}
for (const item of a) {
if (b.has(item)) {
return true
}
}
return false
}
/**
* Note: this code is hot, so is optimized for speed.
*/
export function every<A>(a: ReadonlySet<A>, b: ReadonlySet<A>): boolean {
for (const item of a) {
if (!b.has(item)) {
return false
}
}
return true
}
/**
* Note: this code is hot, so is optimized for speed.
*/
export function union<A>(a: Set<A>, b: Set<A>): Set<A> {
const result = new Set<A>()
for (const item of a) {
result.add(item)
}
for (const item of b) {
result.add(item)
}
return result
}