From 82140752856f7da5497fb43fbaa314bdbcc5e54f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 23 Mar 2024 15:11:14 -0400 Subject: [PATCH] fix: update type of `options.target` (#10892) --- .changeset/metal-lobsters-burn.md | 5 +++++ packages/svelte/src/internal/client/render.js | 6 +++--- packages/svelte/tests/types/component.ts | 4 ++-- packages/svelte/types/index.d.ts | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 .changeset/metal-lobsters-burn.md diff --git a/.changeset/metal-lobsters-burn.md b/.changeset/metal-lobsters-burn.md new file mode 100644 index 0000000000..b1e241554e --- /dev/null +++ b/.changeset/metal-lobsters-burn.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: update type of `options.target` diff --git a/packages/svelte/src/internal/client/render.js b/packages/svelte/src/internal/client/render.js index 5807f7dcc8..2046cdda92 100644 --- a/packages/svelte/src/internal/client/render.js +++ b/packages/svelte/src/internal/client/render.js @@ -105,7 +105,7 @@ export function createRoot() { * @template {Record} Events * @param {import('../../main/public.js').ComponentType>} component * @param {{ - * target: Node; + * target: Document | Element | ShadowRoot; * props?: Props; * events?: { [Property in keyof Events]: (e: Events[Property]) => any }; * context?: Map; @@ -127,7 +127,7 @@ export function mount(component, options) { * @template {Record} Events * @param {import('../../main/public.js').ComponentType>} component * @param {{ - * target: Node; + * target: Document | Element | ShadowRoot; * props?: Props; * events?: { [Property in keyof Events]: (e: Events[Property]) => any }; * context?: Map; @@ -190,7 +190,7 @@ export function hydrate(component, options) { * @template {Record} Events * @param {import('../../main/public.js').ComponentType>} Component * @param {{ - * target: Node; + * target: Document | Element | ShadowRoot; * anchor: null | Text; * props?: Props; * events?: { [Property in keyof Events]: (e: Events[Property]) => any }; diff --git a/packages/svelte/tests/types/component.ts b/packages/svelte/tests/types/component.ts index 8ef5274016..d4ed55121f 100644 --- a/packages/svelte/tests/types/component.ts +++ b/packages/svelte/tests/types/component.ts @@ -105,7 +105,7 @@ const newComponentEvents2: ComponentEvents = { }; mount(NewComponent, { - target: null as any as Document | Element | ShadowRoot | Text | Comment, + target: null as any as Document | Element | ShadowRoot, props: { prop: 'foo', // @ts-expect-error @@ -120,7 +120,7 @@ mount(NewComponent, { }); hydrate(NewComponent, { - target: null as any as Document | Element | ShadowRoot | Text | Comment, + target: null as any as Document | Element | ShadowRoot, props: { prop: 'foo', // @ts-expect-error diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index 44d680c9e9..58ca185d85 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -300,7 +300,7 @@ declare module 'svelte' { * * */ export function mount, Exports extends Record, Events extends Record>(component: ComponentType>, options: { - target: Node; + target: Document | Element | ShadowRoot; props?: Props | undefined; events?: { [Property in keyof Events]: (e: Events[Property]) => any; } | undefined; context?: Map | undefined; @@ -311,7 +311,7 @@ declare module 'svelte' { * * */ export function hydrate, Exports extends Record, Events extends Record>(component: ComponentType>, options: { - target: Node; + target: Document | Element | ShadowRoot; props?: Props | undefined; events?: { [Property in keyof Events]: (e: Events[Property]) => any; } | undefined; context?: Map | undefined;