fix: stricter types for sveltekit link options (#17366)

TypeScript now rejects invalid values (false, numbers) for data-sveltekit-* attributes.
pull/17598/head
Aiman 1 week ago
parent 92e6721c03
commit 87ec9a2c83

@ -0,0 +1,5 @@
---
'svelte': patch
---
fix: type check for link options

@ -868,9 +868,6 @@ export interface HTMLAttributes<T extends EventTarget> extends AriaAttributes, D
'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
// allow any data- attribute
[key: `data-${string}`]: any;
// allow any attachment and falsy values (by using false we prevent the usage of booleans values by themselves)
[key: symbol]: Attachment<T> | false | undefined | null;
}

@ -0,0 +1,22 @@
<div
{/* @ts-expect-error */}
data-sveltekit-keepfocus={3}
{/* @ts-expect-error */}
data-sveltekit-noscroll={false}
{/* @ts-expect-error */}
data-sveltekit-preload-code={3}
{/* @ts-expect-error */}
data-sveltekit-preload-data={3}
{/* @ts-expect-error */}
data-sveltekit-reload={'invalid'}
{/* @ts-expect-error */}
data-sveltekit-replacestate={'hover'}
{/* @ts-expect-error */}
class={3}
></div>
Loading…
Cancel
Save