fightingdreamer / npm-set-union

Missing union operation over Set.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

set-union

Description

Missing union operation for Set or any Iterable.

Second implementation can do union operation between any number of iterables.

Install

bun add @fightingdreamer/set-union

Usage

import {union} from '@fightingdreamer/set-union'

const a = new Set([1,2,3])
const b = [3,4,5][Symbol.iterator]()
const result = union(a, b)
const expect = [1,2,3,4,5]
for (const value of expect) {
  console.assert(result.has(value))
}
import {unionMany} from '@fightingdreamer/set-union'

const sets = [
  [1,2,3][Symbol.iterator](),
  [3,4,5][Symbol.iterator](),
  [5,6,7][Symbol.iterator]()
][Symbol.iterator]()
const result = unionMany(sets)
const expect = [1,2,3,4,5,6,7]
for (const value of expect) {
  console.assert(result.has(value))
}

Usage (node / commonjs)

const {union} = require('@fightingdreamer/set-union')

const a = new Set([1,2,3])
const b = [3,4,5][Symbol.iterator]()
const result = union(a, b)
const expect = [1,2,3,4,5]
for (const value of expect) {
  assert(result.has(value))
}
const {unionMany} = require('@fightingdreamer/set-union')

const sets = [
  [1,2,3][Symbol.iterator](),
  [3,4,5][Symbol.iterator](),
  [5,6,7][Symbol.iterator]()
][Symbol.iterator]()
const result = unionMany(sets)
const expect = [1,2,3,4,5,6,7]
for (const value of expect) {
  assert(result.has(value))
}

Functions

function union<T>(a: Iterable<T>, b: Iterable<T>): Set<T>

Will apply union operation between Set and Iterable.

function unionMany<T>(sets: Iterable<Iterable<T>>): Set<T>

Will apply union operation between any number of Iterables.

About

Missing union operation over Set.


Languages

Language:TypeScript 79.7%Language:JavaScript 20.3%