UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

41 lines (31 loc) 823 B
import { assert } from "../../assert.js"; /** * @template T * @returns Set<T> * @param {Set<T>} a * @param {Set<T>} b */ export function compute_set_difference(a, b) { assert.defined(a, 'a'); assert.defined(b, 'b'); assert.isInstanceOf(a, Set, 'a'); assert.isInstanceOf(b, Set, 'b'); const result = new Set(); const a_array = Array.from(a); const a_count = a_array.length; for (let i = 0; i < a_count; i++) { const t = a_array[i]; if (!b.has(t)) { result.add(t); } } const b_array = Array.from(b); const b_count = b_array.length; for (let i = 0; i < b_count; i++) { const t = b_array[i]; if (!a.has(t)) { result.add(t); } } return result; }