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.