@recursive/assign
TypeScript icon, indicating that this package has built-in type declarations

3.0.1Β β€’Β PublicΒ β€’Β Published

@recursive/assign

πŸ’  Recursive assign for objects, arrays and more

import { assign } from "@recursive/assign";

assign({ hash: { a: 1 } }, { hash: { b: 2, c: 0 } }, { hash: { c: 3 } }); // {hash: {a: 1, b:2, c: 3}}

I will merge:

  • βœ” objects
  • βœ” arrays
  • βœ” functions
  • βœ” sets
  • βœ” maps

Array

assign({ array: [1, 2, 3] }, { array: [3, 4] });
// {array: [3, 4, 3]}

Array of assignable members

assign(
	[{ firstName: "Omri" }, { firstName: "Tom" }],
	[{ lastName: "Lotan" }, { lastName: "Ben Amitai" }],
);
// [{firstName: 'Omri', lastName: 'Lotan'}, {firstName: 'Tom', lastName: 'Ben Amitai'}]

Set

assign({ set: new Set([1, 2]) }, { set: new Set([2, 3]) });
// {set: [1, 2, 3]}

Map

assign(
	{map: new Map([[1, 2], [3, 4]])}
	{map: new Map([[1, 3], [4, 5]])}
);
// {map: [[1, 3], [3, 4], [4, 5]]}

Package Sidebar

Install

npm i @recursive/assign

Weekly Downloads

2,928

Version

3.0.1

License

UNLICENSE

Unpacked Size

27 kB

Total Files

9

Last publish

Collaborators

  • omrilotan