0.1.3 • Published 5 months ago

@fightingdreamer/iter-flatten v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

iter-flatten

Description

Missing flatten over Iterable, similar to Array.flat but operates on fixed deepness of 1.

Install

bun add @fightingdreamer/iter-flatten

Usage

import {flatten} from '@fightingdreamer/iter-flatten'

const vector = [
  ['a','b','c'][Symbol.iterator](),
  ['d','e','f'][Symbol.iterator](),
][Symbol.iterator]()
const result = Array.from(flatten(vector))
const expect = ['a','b','c','d','e','f']
for (const [index, value] of expect.entries()) {
  console.assert(result.at(index) == value)
}

Usage (node / commonjs)

const {flatten} = require('@fightingdreamer/iter-flatten')

const vector = [
  ['a','b','c'][Symbol.iterator](),
  ['d','e','f'][Symbol.iterator](),
][Symbol.iterator]()
const result = Array.from(flatten(vector))
const expect = ['a','b','c','d','e','f']
for (const [index, value] of expect.entries()) {
  assert(result.at(index) == value)
}

Functions

function* flatten<T>(iterator: Iterable<Iterable<T>>): Generator<T>

Will chain inner iterables into one long iterable.

0.1.2

5 months ago

0.1.1

5 months ago

0.1.3

5 months ago

0.1.0

5 months ago