Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 148x 62x 62x 121x 119x 62x | function isRecord(value: unknown): value is Record<string, unknown> {
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
}
/** Deeply merge plain records without mutating inputs; arrays replace wholesale. */
export function deepMergeRecord(
base: Record<string, unknown>,
patch: Record<string, unknown>,
): Record<string, unknown> {
const merged = { ...base };
for (const [key, value] of Object.entries(patch)) {
if (value === undefined) continue;
merged[key] =
isRecord(base[key]) && isRecord(value) ? deepMergeRecord(base[key], value) : value;
}
return merged;
}
|