Skip to content

assign

Merges two objects together recursively

373 bytes

Usage

Merges two objects together recursively into a new object applying values from right to left. Recursion only applies to child object properties.

import * as
import _
_
from 'radashi'
const
const ra: {
name: string;
power: number;
}
ra
= {
name: string
name
: 'Ra',
power: number
power
: 100,
}
const
const merged: {
power: number;
name: string;
}
merged
=
import _
_
.
assign<{
name: string;
power: number;
}, {
name: string;
}>(initial: {
name: string;
power: number;
}, override: {
name: string;
}): {
power: number;
name: string;
}
export assign

Create a copy of the first object, and then merge the second object into it recursively. Only plain objects are recursively merged.

@seehttps://radashi.js.org/reference/object/assign

@example

const a = { a: 0, b: 2, p: { a: 4 } }
const b = { a: 1, c: 3, p: { b: 5 } }
assign(a, b)
// => { a: 1, b: 2, c: 3, p: { a: 4, b: 5 } }

@version12.1.0

assign
(
const ra: {
name: string;
power: number;
}
ra
, {
name: string
name
: 'Loki' })
// => { name: Loki, power: 100 }