UNPKG

@hyperlane-xyz/utils

Version:

General utilities and types for the Hyperlane network

33 lines 901 B
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations export function difference(a, b) { const _difference = new Set(a); for (const elem of b) { _difference.delete(elem); } return _difference; } export function symmetricDifference(a, b) { const _difference = new Set(a); for (const elem of b) { if (_difference.has(elem)) { _difference.delete(elem); } else { _difference.add(elem); } } return _difference; } export function setEquality(a, b) { return symmetricDifference(a, b).size === 0; } export function intersection(a, b) { const _intersection = new Set(); a.forEach((elem) => { if (b.has(elem)) { _intersection.add(elem); } }); return _intersection; } //# sourceMappingURL=sets.js.map