Hyperlinkv0.8.0-beta.28

Iterable

Iterable.fromRecordconsteffect/Iterable.ts:190
<K extends string, A>(self: Readonly<Record<K, A>>): Iterable<[K, A]>

Takes a record and returns an Iterable of tuples containing its keys and values.

Example (Converting a record to entries)

import { Iterable } from "effect"
import * as assert from "node:assert"

const x = { a: 1, b: 2, c: 3 }
assert.deepStrictEqual(Array.from(Iterable.fromRecord(x)), [["a", 1], ["b", 2], [
  "c",
  3
]])
converting
export const fromRecord = <K extends string, A>(self: Readonly<Record<K, A>>): Iterable<[K, A]> => ({
  *[Symbol.iterator]() {
    for (const key in self) {
      if (Object.hasOwn(self, key)) {
        yield [key, self[key]]
      }
    }
  }
})