|
|
@ -299,32 +299,11 @@ export function suspend() {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
export async function save(promise) {
|
|
|
|
export async function save(promise) {
|
|
|
|
var restore = capture();
|
|
|
|
var restore = capture();
|
|
|
|
|
|
|
|
var value = await promise;
|
|
|
|
let boundary = active_effect;
|
|
|
|
|
|
|
|
while (boundary !== null) {
|
|
|
|
|
|
|
|
if ((boundary.f & BOUNDARY_EFFECT) !== 0) {
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boundary = boundary.parent;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (boundary === null) {
|
|
|
|
|
|
|
|
e.await_outside_boundary();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
|
|
|
boundary?.fn(ASYNC_INCREMENT);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const value = await promise;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
restore() {
|
|
|
|
restore() {
|
|
|
|
restore();
|
|
|
|
restore();
|
|
|
|
|
|
|
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
|
|
|
boundary?.fn(ASYNC_DECREMENT);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return value;
|
|
|
|
return value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|