mirror of https://github.com/sveltejs/svelte
parent
454ed91e7e
commit
2468ba1030
@ -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;
|
||||
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 {
|
||||
}
|
||||
else {
|
||||
for (const key in o) {
|
||||
accounted_for[key] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const key in to_null_out) {
|
||||
if (!(key in update)) update[key] = undefined;
|
||||
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 : {};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in new issue