diff --git a/packages/svelte/src/compiler/print/index.js b/packages/svelte/src/compiler/print/index.js index 8cbffd4680..6faa247ce6 100644 --- a/packages/svelte/src/compiler/print/index.js +++ b/packages/svelte/src/compiler/print/index.js @@ -205,6 +205,15 @@ const visitors = { context.write('}'); }, + ClassDirective(node, context) { + context.write(`class:${node.name}`); + if (node.expression !== null) { + context.write('={'); + context.visit(node.expression); + context.write('}'); + } + }, + ClassSelector(node, context) { context.write(`.${node.name}`); }, @@ -288,6 +297,15 @@ const visitors = { context.write('{/if}'); }, + LetDirective(node, context) { + context.write(`let:${node.name}`); + if (node.expression !== null) { + context.write('={'); + context.visit(node.expression); + context.write('}'); + } + }, + Nth(node, context) { context.write(node.value); // TODO is this right? }, @@ -425,6 +443,18 @@ const visitors = { context.write('{/snippet}'); }, + StyleDirective(node, context) { + context.write(`style:${node.name}`); + for (const modifier of node.modifiers) { + context.write(`|${modifier}`); + } + if (node.expression !== null) { + context.write('={'); + context.visit(node.expression); + context.write('}'); + } + }, + StyleSheet(node, context) { context.write('