mirror of https://github.com/sveltejs/svelte
parent
454ed91e7e
commit
2468ba1030
@ -1,41 +1,42 @@
|
|||||||
|
/** @returns {{}} */
|
||||||
export function get_spread_update(levels, updates) {
|
export function get_spread_update(levels, updates) {
|
||||||
const update = {};
|
const update = {};
|
||||||
|
|
||||||
const to_null_out = {};
|
const to_null_out = {};
|
||||||
const accounted_for = { $$scope: 1 };
|
const accounted_for = { $$scope: 1 };
|
||||||
|
|
||||||
let i = levels.length;
|
let i = levels.length;
|
||||||
while (i--) {
|
while (i--) {
|
||||||
const o = levels[i];
|
const o = levels[i];
|
||||||
const n = updates[i];
|
const n = updates[i];
|
||||||
|
|
||||||
if (n) {
|
if (n) {
|
||||||
for (const key in o) {
|
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) {
|
for (const key in n) {
|
||||||
if (!accounted_for[key]) {
|
if (!accounted_for[key]) {
|
||||||
update[key] = n[key];
|
update[key] = n[key];
|
||||||
accounted_for[key] = 1;
|
accounted_for[key] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
levels[i] = n;
|
levels[i] = n;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
for (const key in o) {
|
for (const key in o) {
|
||||||
accounted_for[key] = 1;
|
accounted_for[key] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const key in to_null_out) {
|
for (const key in to_null_out) {
|
||||||
if (!(key in update)) update[key] = undefined;
|
if (!(key in update))
|
||||||
|
update[key] = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
return update;
|
return update;
|
||||||
}
|
}
|
||||||
|
/** @returns {any} */
|
||||||
export function get_spread_object(spread_props) {
|
export function get_spread_object(spread_props) {
|
||||||
return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};
|
return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in new issue