UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

25 lines (23 loc) 737 B
import { Merge } from "type-fest"; //#region src/object/assign.d.ts /** * `assign(target, source)` * * Merges properties from `source` object into `target` object, creating a new object. * * Looser version of `merge` - `assign` allows you to redefine keys and add new properties. * * ```ts * assign({ a: 1, b: 2 }, { b: 3, c: 4 }); // { a: 1, b: 3, c: 4 } * ``` * * ```ts * pipe({ a: 1, b: 2 }, assign({ b: 3, c: 4 })); // { a: 1, b: 3, c: 4 } * ``` */ declare const assign: { <T extends object, U extends object>(source: U): (target: T) => T extends unknown ? Merge<T, U> : never; <T extends object, U extends object>(target: T, source: U): T extends unknown ? Merge<T, U> : never; }; //#endregion export { assign };