From 0dcd965d2666000900e38d5f8013d39631fbbd07 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Thu, 6 Feb 2025 12:20:15 +0000 Subject: [PATCH] wip --- .../internal/client/reactivity/resources.js | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/resources.js b/packages/svelte/src/internal/client/reactivity/resources.js index 34204979bf..32a8e889b4 100644 --- a/packages/svelte/src/internal/client/reactivity/resources.js +++ b/packages/svelte/src/internal/client/reactivity/resources.js @@ -1,5 +1,6 @@ /** @import { Derived, Effect, Source } from '#client' */ +import { DEV } from 'esm-env'; import { UNINITIALIZED } from '../../../constants.js'; import { is_array } from '../../shared/utils.js'; import { EFFECT_PRESERVED } from '../constants.js'; @@ -91,11 +92,25 @@ export class Resource { then(onfulfilled, onrejected) { return this.#fn.v.then(() => { var self = this; - onfulfilled({ - get current() { - return self.current; - } - }); + + if (DEV) { + onfulfilled({ + // @ts-ignore + get latest() { + throw new Error('Use `await resource.latest` instead of `(await resource).latest`'); + }, + get current() { + return self.current; + } + }); + } else { + onfulfilled({ + get current() { + return self.current; + } + }); + } + }, onrejected); }