diff --git a/.changeset/nasty-penguins-pump.md b/.changeset/nasty-penguins-pump.md new file mode 100644 index 0000000000..c7bdf1ddc6 --- /dev/null +++ b/.changeset/nasty-penguins-pump.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: add cleanup function signature to `createRawSnippet` diff --git a/packages/svelte/src/internal/client/dom/blocks/snippet.js b/packages/svelte/src/internal/client/dom/blocks/snippet.js index 32a9fb6918..460a5f3567 100644 --- a/packages/svelte/src/internal/client/dom/blocks/snippet.js +++ b/packages/svelte/src/internal/client/dom/blocks/snippet.js @@ -72,7 +72,7 @@ export function wrap_snippet(component, fn) { * @template {unknown[]} Params * @param {(...params: Getters) => { * render: () => string - * setup?: (element: Element) => void + * setup?: (element: Element) => void | (() => void) * }} fn * @returns {Snippet} */ diff --git a/packages/svelte/src/internal/server/blocks/snippet.js b/packages/svelte/src/internal/server/blocks/snippet.js index d9469be511..3c5e860790 100644 --- a/packages/svelte/src/internal/server/blocks/snippet.js +++ b/packages/svelte/src/internal/server/blocks/snippet.js @@ -7,7 +7,7 @@ * @template {unknown[]} Params * @param {(...params: Getters) => { * render: () => string - * setup?: (element: Element) => void + * setup?: (element: Element) => void | (() => void) * }} fn * @returns {Snippet} */ diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index b7412c46e5..36f7a97229 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -378,7 +378,7 @@ declare module 'svelte' { * */ export function createRawSnippet(fn: (...params: Getters) => { render: () => string; - setup?: (element: Element) => void; + setup?: (element: Element) => void | (() => void); }): Snippet; /** Anything except a function */ type NotFunction = T extends Function ? never : T;