@devexperts/dxcharts-lite
Version:
28 lines (27 loc) • 1.29 kB
TypeScript
/*
* Copyright (C) 2019 - 2025 Devexperts Solutions IE Limited
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
/**
* Merges 2 js objects recursively with all properties.
* - does not modify base object
* - can override or only add missing ones
*
* @param base - base object to merge data into
* @param override - object with new data which should be merged
* @param options - merge options
* @doc-tags tricky,utility
*/
export declare function merge(base: Record<string, any>, override: Record<string, any>, options?: MergeOptions): any;
export declare function mergeArray<A extends Record<string, any>>(base: Array<A>, override: Array<A>, hashFn: (a: A) => string, mergeObjects?: boolean): void;
export declare const DEFAULT_MERGE_OPTIONS: {
overrideExisting: boolean;
addIfMissing: boolean;
};
export interface MergeOptions {
/** whether we need to override value if it's already presented in config. Note for arrays: if this flag is true, arrays replaced entirely */
overrideExisting: boolean;
/** whether we need to add a property to config, if this property was absent */
addIfMissing: boolean;
}