Skip to content

assign

The assign() method merges multiple objects together (similar to Object.assign but type-safe).

Interactive example

Syntax

Classic signature

typescript
function assign<
	GenericInput extends object,
	GenericUpdate extends Partial<Record<keyof GenericInput, unknown>> & AnyObject
>(
	input: GenericInput,
	update: GenericUpdate
): AssignObjects<GenericInput, GenericUpdate>

Curried signature

typescript
function assign<
	GenericInput extends object,
	GenericUpdate extends Partial<Record<keyof GenericInput, unknown>> & AnyObject
>(
	input: GenericUpdate
): (input: GenericInput) => AssignObjects<GenericInput, GenericUpdate>

Parameters

  • input: The base object.
  • update: The object to merge with the base object.

Return value

A new object resulting from the merge, with precise typing.

See also

  • override - Overrides properties while ignoring undefined values

Sources

Released under the MIT license.