Hyperlinkv0.8.0-beta.28

Record

Record.isSubrecordconsteffect/Record.ts:1134
<K extends string, A>(that: ReadonlyRecord<K, A>): (
  self: ReadonlyRecord<K, A>
) => boolean
<K extends string, A>(
  self: ReadonlyRecord<K, A>,
  that: ReadonlyRecord<K, A>
): boolean

Checks whether the first record is a subrecord of the second record.

Details

Returns true when every key and value in self is also present in that. Values are compared with Effect equality via Equal.asEquivalence().

Example (Checking subrecords)

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

assert.deepStrictEqual(
  Record.isSubrecord({ a: 1 } as Record<string, number>, { a: 1, b: 2 }),
  true
)
assert.deepStrictEqual(
  Record.isSubrecord({ a: 1, b: 2 }, { a: 1 } as Record<string, number>),
  false
)
predicates
Source effect/Record.ts:11344 lines
export const isSubrecord: {
  <K extends string, A>(that: ReadonlyRecord<K, A>): (self: ReadonlyRecord<K, A>) => boolean
  <K extends string, A>(self: ReadonlyRecord<K, A>, that: ReadonlyRecord<K, A>): boolean
} = isSubrecordBy(Equal.asEquivalence())