effect-io-ai

Package: effect
Module: Types

Types.MergeRight

Right-biased merge of two object types where keys from Source take precedence over Target on conflict.

When to use

Use when you want right-biased merging where the second argument wins.

Details

The result is automatically simplified via Simplify.

Example (Right-biased merge)

import type { Types } from "effect"

type Result = Types.MergeRight<
  { a: number; b: number },
  { a: string; c: boolean }
>
// { a: string; b: number; c: boolean }

See

Signature

type MergeRight<Target, Source> = Simplify<
  & Source
  & {
    [Key in keyof Target as Key extends keyof Source ? never : Key]: Target[Key]
  }
>

Source

Since v2.0.0