UNPKG

merge-deep-ts

Version:

Deep fast merge JavaScript objects with circular references handling and TypeScript support

14 lines (13 loc) 814 B
import { type MergedMany, type NonMergeable, type Nullable } from "./types.js"; /** * Deep merges all arguments into a single object. Objects could have circular references. * @param args Array of objects to merge * @returns The deeply merged object. * @example * import merge from "merge-fast"; * merge([{ a: 1 }, { b: 2 }]); // { a: 1, b: 2 } * merge([{ a: 1 }, { a: 2 }]); // { a: 2 } */ declare function merge<T extends [...Rest], // → Tuple Rest extends Params[], RestArrayType extends Rest, MergeableObjectType extends Record<PropertyKey, Params>, MergeableMapType extends Map<Params, Params>, MergeableSet extends Set<Params>, Params extends [...RestArrayType] | MergeableObjectType | MergeableMapType | MergeableSet | NonMergeable<Rest> | Nullable>(args: T): MergedMany<T>; export default merge;