Hyperlinkv0.8.0-beta.28

Record

Record.someconsteffect/Record.ts:1235
<A, K extends string>(predicate: (value: A, key: K) => boolean): (
  self: ReadonlyRecord<K, A>
) => boolean
<K extends string, A>(
  self: ReadonlyRecord<K, A>,
  predicate: (value: A, key: K) => boolean
): boolean

Checks whether any entry in a record meets a specific condition.

Example (Checking for any matching value)

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

assert.deepStrictEqual(Record.some({ a: 1, b: 2 }, (n) => n > 1), true)
assert.deepStrictEqual(Record.some({ a: 1, b: 2 }, (n) => n > 2), false)
predicates
Source effect/Record.ts:123514 lines
export const some: {
  <A, K extends string>(predicate: (value: A, key: K) => boolean): (self: ReadonlyRecord<K, A>) => boolean
  <K extends string, A>(self: ReadonlyRecord<K, A>, predicate: (value: A, key: K) => boolean): boolean
} = dual(
  2,
  <K extends string, A>(self: ReadonlyRecord<K, A>, predicate: (value: A, key: K) => boolean): boolean => {
    for (const key of keys(self)) {
      if (predicate(self[key], key)) {
        return true
      }
    }
    return false
  }
)