@@ -16,6 +16,7 @@ export type SvelteHTMLNode =
1616| SvelteMustacheTag
1717| SvelteDebugTag
1818| SvelteConstTag
19+ | SvelteRenderTag
1920| SvelteIfBlock
2021| SvelteElseBlock
2122| SvelteEachBlock
@@ -24,6 +25,7 @@ export type SvelteHTMLNode =
2425| SvelteAwaitThenBlock
2526| SvelteAwaitCatchBlock
2627| SvelteKeyBlock
28+ | SvelteSnippetBlock
2729| SvelteAttribute
2830| SvelteShorthandAttribute
2931| SvelteSpreadAttribute
@@ -87,7 +89,8 @@ export interface SvelteHTMLElement extends BaseSvelteElement {
8789| SvelteAwaitPendingBlock
8890| SvelteAwaitThenBlock
8991| SvelteAwaitCatchBlock
90- | SvelteKeyBlock ;
92+ | SvelteKeyBlock
93+ | SvelteSnippetBlock ;
9194}
9295/** Node of Svelte component element. */
9396export interface SvelteComponentElement extends BaseSvelteElement {
@@ -106,7 +109,8 @@ export interface SvelteComponentElement extends BaseSvelteElement {
106109| SvelteAwaitPendingBlock
107110| SvelteAwaitThenBlock
108111| SvelteAwaitCatchBlock
109- | SvelteKeyBlock ;
112+ | SvelteKeyBlock
113+ | SvelteSnippetBlock ;
110114}
111115/** Node of Svelte special component element. e.g. `<svelte:window>` */
112116export interface SvelteSpecialElement extends BaseSvelteElement {
@@ -125,7 +129,8 @@ export interface SvelteSpecialElement extends BaseSvelteElement {
125129| SvelteAwaitPendingBlock
126130| SvelteAwaitThenBlock
127131| SvelteAwaitCatchBlock
128- | SvelteKeyBlock ;
132+ | SvelteKeyBlock
133+ | SvelteSnippetBlock ;
129134}
130135/** Node of start tag. */
131136export interface SvelteStartTag extends BaseNode {
@@ -174,10 +179,12 @@ type Child =
174179| SvelteMustacheTag
175180| SvelteDebugTag
176181| SvelteConstTag
182+ | SvelteRenderTag
177183| SvelteIfBlockAlone
178184| SvelteEachBlock
179185| SvelteAwaitBlock
180186| SvelteKeyBlock
187+ | SvelteSnippetBlock
181188| SvelteHTMLComment ;
182189
183190/** Node of text. like HTML text. */
@@ -194,7 +201,8 @@ export interface SvelteText extends BaseNode {
194201| SvelteAwaitPendingBlock
195202| SvelteAwaitThenBlock
196203| SvelteAwaitCatchBlock
197- | SvelteKeyBlock ;
204+ | SvelteKeyBlock
205+ | SvelteSnippetBlock ;
198206}
199207/** Node of literal. */
200208export interface SvelteLiteral extends BaseNode {
@@ -219,6 +227,7 @@ interface BaseSvelteMustacheTag extends BaseNode {
219227| SvelteAwaitThenBlock
220228| SvelteAwaitCatchBlock
221229| SvelteKeyBlock
230+ | SvelteSnippetBlock
222231| SvelteAttribute
223232| SvelteStyleDirective ;
224233}
@@ -244,6 +253,7 @@ export interface SvelteDebugTag extends BaseNode {
244253| SvelteAwaitThenBlock
245254| SvelteAwaitCatchBlock
246255| SvelteKeyBlock
256+ | SvelteSnippetBlock
247257| SvelteAttribute ;
248258}
249259/** Node of const tag. e.g. `{@const }` */
@@ -260,8 +270,26 @@ export interface SvelteConstTag extends BaseNode {
260270| SvelteAwaitThenBlock
261271| SvelteAwaitCatchBlock
262272| SvelteKeyBlock
273+ | SvelteSnippetBlock
263274| SvelteAttribute ;
264275}
276+ /** Node of render tag. e.g. `{@render }` */
277+ export interface SvelteRenderTag extends BaseNode {
278+ type :"SvelteRenderTag" ;
279+ callee :ESTree . Identifier ;
280+ argument :ESTree . Expression | null ;
281+ parent :
282+ | SvelteProgram
283+ | SvelteElement
284+ | SvelteIfBlock
285+ | SvelteElseBlockAlone
286+ | SvelteEachBlock
287+ | SvelteAwaitPendingBlock
288+ | SvelteAwaitThenBlock
289+ | SvelteAwaitCatchBlock
290+ | SvelteKeyBlock
291+ | SvelteSnippetBlock ;
292+ }
265293/** Node of if block. e.g. `{#if}` */
266294export type SvelteIfBlock = SvelteIfBlockAlone | SvelteIfBlockElseIf ;
267295interface BaseSvelteIfBlock extends BaseNode {
@@ -279,7 +307,8 @@ interface BaseSvelteIfBlock extends BaseNode {
279307| SvelteAwaitPendingBlock
280308| SvelteAwaitThenBlock
281309| SvelteAwaitCatchBlock
282- | SvelteKeyBlock ;
310+ | SvelteKeyBlock
311+ | SvelteSnippetBlock ;
283312}
284313/** Node of if block. e.g. `{#if}` */
285314export interface SvelteIfBlockAlone extends BaseSvelteIfBlock {
@@ -328,7 +357,8 @@ export interface SvelteEachBlock extends BaseNode {
328357| SvelteAwaitPendingBlock
329358| SvelteAwaitThenBlock
330359| SvelteAwaitCatchBlock
331- | SvelteKeyBlock ;
360+ | SvelteKeyBlock
361+ | SvelteSnippetBlock ;
332362}
333363/** Node of await block. e.g. `{#await}`, `{#await ... then ... }`, `{#await ... catch ... }` */
334364export type SvelteAwaitBlock =
@@ -351,7 +381,8 @@ interface BaseSvelteAwaitBlock extends BaseNode {
351381| SvelteAwaitPendingBlock
352382| SvelteAwaitThenBlock
353383| SvelteAwaitCatchBlock
354- | SvelteKeyBlock ;
384+ | SvelteKeyBlock
385+ | SvelteSnippetBlock ;
355386}
356387/** Node of await block. e.g. `{#await}` */
357388export interface SvelteAwaitBlockAwaitPending extends BaseSvelteAwaitBlock {
@@ -442,7 +473,26 @@ export interface SvelteKeyBlock extends BaseNode {
442473| SvelteAwaitPendingBlock
443474| SvelteAwaitThenBlock
444475| SvelteAwaitCatchBlock
445- | SvelteKeyBlock ;
476+ | SvelteKeyBlock
477+ | SvelteSnippetBlock ;
478+ }
479+ /** Node of snippet block. e.g. `{#snippet}` */
480+ export interface SvelteSnippetBlock extends BaseNode {
481+ type :"SvelteSnippetBlock" ;
482+ id :ESTree . Identifier ;
483+ context :null | ESTree . Pattern ;
484+ children :Child [ ] ;
485+ parent :
486+ | SvelteProgram
487+ | SvelteElement
488+ | SvelteIfBlock
489+ | SvelteElseBlockAlone
490+ | SvelteEachBlock
491+ | SvelteAwaitPendingBlock
492+ | SvelteAwaitThenBlock
493+ | SvelteAwaitCatchBlock
494+ | SvelteKeyBlock
495+ | SvelteSnippetBlock ;
446496}
447497/** Node of HTML comment. */
448498export interface SvelteHTMLComment extends BaseNode {
@@ -457,7 +507,8 @@ export interface SvelteHTMLComment extends BaseNode {
457507| SvelteAwaitPendingBlock
458508| SvelteAwaitThenBlock
459509| SvelteAwaitCatchBlock
460- | SvelteKeyBlock ;
510+ | SvelteKeyBlock
511+ | SvelteSnippetBlock ;
461512}
462513/** Node of HTML attribute. */
463514export interface SvelteAttribute extends BaseNode {