Skip to main content Link Search Menu Expand Document (external link)

Record.ts overview

Since v0.24.0


Exports Grouped by Category


instances

Covariant

Signature

declare const Covariant: covariant.Covariant<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

Filterable

Signature

declare const Filterable: filterable.Filterable<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

Invariant

Signature

declare const Invariant: invariant.Invariant<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

Traversable

Signature

declare const Traversable: traversable.Traversable<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

TraversableFilterable

Signature

declare const TraversableFilterable: traversableFilterable.TraversableFilterable<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

getCovariant

Signature

declare const getCovariant: <K extends string>() => covariant.Covariant<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

getFilterable

Signature

declare const getFilterable: <K extends string>() => filterable.Filterable<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

getInvariant

Signature

declare const getInvariant: <K extends string>() => invariant.Invariant<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

getMonoidUnion

A Monoid that creates a union of two records.

It allows combining two records where values for matching keys are combined using the provided Monoid instance. If a key exists in only one of the records, that key-value pair is included as is in the resulting record.

The empty value for this Monoid is an empty record {}.

Example

import * as NumberInstances from "@effect/typeclass/data/Number"
import { getMonoidUnion } from "@effect/typeclass/data/Record"

const monoid = getMonoidUnion(NumberInstances.MonoidSum)

console.log(monoid.combine({ a: 1 }, { a: 1, b: 3 }))
// { a: 2, b: 3 }

console.log(monoid.combine({ a: 1 }, monoid.empty))
// { a: 1 }

Signature

declare const getMonoidUnion: <A>(value: monoid.Monoid<A>) => monoid.Monoid<Record.ReadonlyRecord<string, A>>

Source

Since v0.29.4

getSemigroupIntersection

A Semigroup that creates an intersection of two records.

This Semigroup takes two records and combines them into a new record containing only the keys that are present in both records. The values for matching keys are combined using the provided Semigroup instance.

Example

import * as NumberInstances from "@effect/typeclass/data/Number"
import { getSemigroupIntersection } from "@effect/typeclass/data/Record"

console.log(getSemigroupIntersection(NumberInstances.MonoidSum).combine({ a: 1 }, { a: 1, b: 3 }))
// { a: 2 }

Signature

declare const getSemigroupIntersection: <A>(
  value: semigroup.Semigroup<A>
) => semigroup.Semigroup<Record.ReadonlyRecord<string, A>>

Source

Since v0.29.4

getSemigroupUnion

A Semigroup that creates a union of two records.

This Semigroup takes two records and combines them into a single record. If a key exists in both records, the provided Semigroup instance is used to combine the values for that key. If a key exists in only one of the records, that key-value pair is included as is in the resulting record.

For example, when using the MonoidSum, values for matching keys will be summed.

Example

import * as NumberInstances from "@effect/typeclass/data/Number"
import { getSemigroupUnion } from "@effect/typeclass/data/Record"

console.log(getSemigroupUnion(NumberInstances.MonoidSum).combine({ a: 1 }, { a: 1, b: 3 }))
// { a: 2, b: 3 }

Signature

declare const getSemigroupUnion: <A>(
  value: semigroup.Semigroup<A>
) => semigroup.Semigroup<Record.ReadonlyRecord<string, A>>

Source

Since v0.29.4

getTraversable

Signature

declare const getTraversable: <K extends string>() => traversable.Traversable<Record.ReadonlyRecordTypeLambda<K>>

Source

Since v0.24.0

getTraversableFilterable

Signature

declare const getTraversableFilterable: <K extends string>() => traversableFilterable.TraversableFilterable<
  Record.ReadonlyRecordTypeLambda<K>
>

Source

Since v0.24.0