@tanstack/svelte-table
Version:
Headless UI for building powerful tables & datagrids for Svelte.
25 lines (24 loc) • 1.41 kB
TypeScript
/**
* Merges objects together while keeping their getters alive.
* Taken from SolidJS: {https://github.com/solidjs/solid/blob/24abc825c0996fd2bc8c1de1491efe9a7e743aff/packages/solid/src/server/rendering.ts#L82-L115}
* */
export declare function mergeObjects<T>(source: T): T;
export declare function mergeObjects<T, U>(source: T, source1: U): T & U;
export declare function mergeObjects<T, U, V>(source: T, source1: U, source2: V): T & U & V;
export declare function mergeObjects<T, U, V, W>(source: T, source1: U, source2: V, source3: W): T & U & V & W;
/**
* Merges objects together by eagerly resolving all values into a flat object.
*
* Unlike `mergeObjects`, this does NOT preserve getters — values are read once
* and stored as plain data properties. This prevents the getter-chain
* accumulation that causes O(N) lookups when the result is repeatedly passed
* back as a source in subsequent merges (e.g., inside `$effect.pre` loops).
*
* Later sources take precedence; `undefined` values do not override.
*
* @see https://github.com/TanStack/table/issues/6235
*/
export declare function flatMerge<T>(source: T): T;
export declare function flatMerge<T, U>(source: T, source1: U): T & U;
export declare function flatMerge<T, U, V>(source: T, source1: U, source2: V): T & U & V;
export declare function flatMerge<T, U, V, W>(source: T, source1: U, source2: V, source3: W): T & U & V & W;