Hyperlinkv0.8.0-beta.28

Record

Record.getconsteffect/Record.ts:435
<K extends string | symbol>(key: NoInfer<K>): <A>(
  self: ReadonlyRecord<K, A>
) => Option.Option<A>
<K extends string | symbol, A>(
  self: ReadonlyRecord<K, A>,
  key: NoInfer<K>
): Option.Option<A>

Retrieves a value at a particular key from a record safely, returning it wrapped in an Option.

Example (Getting a value as an Option)

import { Option, Record as R } from "effect"
import * as assert from "node:assert"

const person: Record<string, unknown> = { name: "John Doe", age: 35 }

assert.deepStrictEqual(R.get(person, "name"), Option.some("John Doe"))
assert.deepStrictEqual(R.get(person, "email"), Option.none())
getters
Source effect/Record.ts:4358 lines
export const get: {
  <K extends string | symbol>(key: NoInfer<K>): <A>(self: ReadonlyRecord<K, A>) => Option.Option<A>
  <K extends string | symbol, A>(self: ReadonlyRecord<K, A>, key: NoInfer<K>): Option.Option<A>
} = dual(
  2,
  <K extends string | symbol, A>(self: ReadonlyRecord<K, A>, key: NoInfer<K>): Option.Option<A> =>
    has(self, key) ? Option.some(self[key]) : Option.none()
)