From 6630051d673f0a7fb508744055bfbe70ea8cc6d0 Mon Sep 17 00:00:00 2001 From: Elijah Duffy Date: Wed, 17 Dec 2025 22:17:15 -0800 Subject: [PATCH] generic merge object function --- src/lib/Banner.svelte | 35 ++--------------------------- src/lib/util.ts | 52 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 33 deletions(-) diff --git a/src/lib/Banner.svelte b/src/lib/Banner.svelte index fefd676..8ce2344 100644 --- a/src/lib/Banner.svelte +++ b/src/lib/Banner.svelte @@ -58,38 +58,6 @@ }, swap: false }; - - const mergeBannerControls = ( - defaults: BannerControls, - overrides?: BannerControls | null - ): BannerControls => { - if (overrides == null) return { ...defaults }; - - const result: BannerControls = { ...defaults }; - - const keys: (keyof BannerControls)[] = ['accept', 'decline', 'moreInfo', 'dismiss', 'swap']; - - for (const key of keys) { - const ov = overrides[key]; - if (ov === null) { - // explicit disable - result[key] = null; - continue; - } - if (ov === undefined) continue; // keep default - if (key === 'swap') { - result.swap = ov as boolean; - continue; - } - // shallow merge individual control fields - result[key] = { - ...(defaults[key] ?? {}), - ...(ov as any) - } as any; - } - - return result; - };