diff --git a/src/runtime/internal/spread.ts b/src/runtime/internal/spread.ts index 2acb98fd3f..854e653487 100644 --- a/src/runtime/internal/spread.ts +++ b/src/runtime/internal/spread.ts @@ -1,41 +1,42 @@ +/** @returns {{}} */ export function get_spread_update(levels, updates) { - const update = {}; - - const to_null_out = {}; - const accounted_for = { $$scope: 1 }; - - let i = levels.length; - while (i--) { - const o = levels[i]; - const n = updates[i]; - - if (n) { - for (const key in o) { - if (!(key in n)) to_null_out[key] = 1; - } - - for (const key in n) { - if (!accounted_for[key]) { - update[key] = n[key]; - accounted_for[key] = 1; - } - } + const update = {}; + const to_null_out = {}; + const accounted_for = { $$scope: 1 }; + let i = levels.length; + while (i--) { + const o = levels[i]; + const n = updates[i]; + if (n) { + for (const key in o) { + if (!(key in n)) + to_null_out[key] = 1; + } + for (const key in n) { + if (!accounted_for[key]) { + update[key] = n[key]; + accounted_for[key] = 1; + } + } + levels[i] = n; + } + else { + for (const key in o) { + accounted_for[key] = 1; + } + } + } + for (const key in to_null_out) { + if (!(key in update)) + update[key] = undefined; + } + return update; +} +/** @returns {any} */ +export function get_spread_object(spread_props) { + return typeof spread_props === 'object' && spread_props !== null ? spread_props : {}; +} - levels[i] = n; - } else { - for (const key in o) { - accounted_for[key] = 1; - } - } - } - for (const key in to_null_out) { - if (!(key in update)) update[key] = undefined; - } - return update; -} -export function get_spread_object(spread_props) { - return typeof spread_props === 'object' && spread_props !== null ? spread_props : {}; -}