diff --git a/packages/svelte/src/internal/client/reactivity/resources/define-resource.js b/packages/svelte/src/internal/client/reactivity/resources/define-resource.js index 25fe537d58..f68b106fff 100644 --- a/packages/svelte/src/internal/client/reactivity/resources/define-resource.js +++ b/packages/svelte/src/internal/client/reactivity/resources/define-resource.js @@ -14,13 +14,13 @@ const cache = new Map(); * @template {typeof Resource} [TResource=typeof Resource] * @param {string} name * @param {(...args: TArgs) => TReturn} fn - * @param {{ Resource?: TResource, transport?: Transport }} [options] + * @param {{ Resource?: TResource, transport?: Transport, hash?: (args: TArgs) => string }} [options] * @returns {(...args: TArgs) => Resource} */ export function define_resource(name, fn, options = {}) { const ResolvedResource = options?.Resource ?? Resource; return (...args) => { - const stringified_args = (options.transport?.stringify ?? JSON.stringify)(args); + const stringified_args = (options.hash ?? JSON.stringify)(args); const cache_key = `${name}:${stringified_args}`; let entry = cache.get(cache_key); const maybe_remove = create_remover(cache_key); diff --git a/packages/svelte/src/reactivity/index-server.js b/packages/svelte/src/reactivity/index-server.js index b088874e8a..12550d3743 100644 --- a/packages/svelte/src/reactivity/index-server.js +++ b/packages/svelte/src/reactivity/index-server.js @@ -120,14 +120,14 @@ export class Resource { * @template {typeof Resource} [TResource=typeof Resource] * @param {string} name * @param {(...args: TArgs) => TReturn} fn - * @param {{ Resource?: TResource, transport?: Transport }} [options] + * @param {{ Resource?: TResource, transport?: Transport, hash?: (args: TArgs) => string }} [options] * @returns {(...args: TArgs) => Resource} */ export function defineResource(name, fn, options = {}) { const ResolvedResource = options?.Resource ?? Resource; return (...args) => { const cache = get_render_store().resources; - const stringified_args = (options.transport?.stringify ?? JSON.stringify)(args); + const stringified_args = (options.hash ?? JSON.stringify)(args); const cache_key = `${name}:${stringified_args}`; const entry = cache.get(cache_key); if (entry) {