UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

37 lines (36 loc) 857 B
export class SetUtils { static union<T extends string | number>(set0: Set<T>, set1: Set<T>): Set<T> { const newSet: Set<T> = new Set(); set0.forEach((val) => newSet.add(val)); set1.forEach((val) => newSet.add(val)); return newSet; } static intersection<T extends string | number>(set0: Set<T>, set1: Set<T>): Set<T> { const newSet: Set<T> = new Set(); set0.forEach((val) => { if (set1.has(val)) { newSet.add(val); } }); set1.forEach((val) => { if (set0.has(val)) { newSet.add(val); } }); return newSet; } static difference<T extends string | number>(set0: Set<T>, set1: Set<T>): Set<T> { const newSet: Set<T> = new Set(); set0.forEach((val) => { if (!set1.has(val)) { newSet.add(val); } }); set1.forEach((val) => { if (!set0.has(val)) { newSet.add(val); } }); return newSet; } }