@augment-vir/common
Version:
A collection of augments, helpers types, functions, and classes for any JavaScript environment.
20 lines (19 loc) • 822 B
TypeScript
import { type AnyObject, type PartialWithNullable } from '@augment-vir/core';
/**
* Merge all objects together but ignore any override values that are `undefined` or `null` or
* missing. This only merges objects at the top level, it is not a deep merge.
*
* @category Object : Merge
* @category Package : @augment-vir/common
* @example
*
* ```ts
* import {mergeDefinedProperties} from '@augment-vir/common';
*
* mergeDefinedProperties({a: 'default', b: 'default'}, {a: 'override', b: undefined});
* // output is `{a: 'override', b: 'default'}`
* ```
*
* @package [`@augment-vir/common`](https://www.npmjs.com/package/@augment-vir/common)
*/
export declare function mergeDefinedProperties<const T extends AnyObject>(original: T, ...overrides: ReadonlyArray<PartialWithNullable<NoInfer<T>> | undefined>): T;