diff --git a/packages/svelte/src/compiler/utils/ast.js b/packages/svelte/src/compiler/utils/ast.js index 304c97719a..241d74a04e 100644 --- a/packages/svelte/src/compiler/utils/ast.js +++ b/packages/svelte/src/compiler/utils/ast.js @@ -306,6 +306,9 @@ export function unwrap_ts_expression(node) { } /** + * Like `path.at(x)`, but skips over `TSNonNullExpression` and `TSAsExpression` nodes and eases assertions a bit + * by removing the `| undefined` from the resulting type. + * * @template {import('#compiler').SvelteNode} T * @param {T[]} path * @param {number} at diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte index d80746fda9..015c2d979d 100644 --- a/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte @@ -1,6 +1,6 @@ -{count} {double} +{count as number} {double as number} diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte index b93d1e5ee8..e851a57828 100644 --- a/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte @@ -1,6 +1,6 @@ -{count} {double} +{count!} {double!}