0.1.3 • Published 2 years ago

@fightingdreamer/iter-flatten v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years 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

2 years ago

0.1.1

2 years ago

0.1.3

2 years ago

0.1.0

2 years ago