|
|
|
@ -79,11 +79,6 @@ export function Fragment(node, context) {
|
|
|
|
|
context.visit(node, state);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_text_first) {
|
|
|
|
|
// skip over inserted comment
|
|
|
|
|
state.init.unshift(b.stmt(b.call('$.next')));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_single_element) {
|
|
|
|
|
const element = /** @type {AST.RegularElement} */ (trimmed[0]);
|
|
|
|
|
|
|
|
|
@ -99,13 +94,13 @@ export function Fragment(node, context) {
|
|
|
|
|
const template = transform_template(state, namespace, flags);
|
|
|
|
|
state.hoisted.push(b.var(template_name, template));
|
|
|
|
|
|
|
|
|
|
state.init.push(b.var(id, b.call(template_name)));
|
|
|
|
|
state.init.unshift(b.var(id, b.call(template_name)));
|
|
|
|
|
close = b.stmt(b.call('$.append', b.id('$$anchor'), id));
|
|
|
|
|
} else if (is_single_child_not_needing_template) {
|
|
|
|
|
context.visit(trimmed[0], state);
|
|
|
|
|
} else if (trimmed.length === 1 && trimmed[0].type === 'Text') {
|
|
|
|
|
const id = b.id(context.state.scope.generate('text'));
|
|
|
|
|
state.init.push(b.var(id, b.call('$.text', b.literal(trimmed[0].data))));
|
|
|
|
|
state.init.unshift(b.var(id, b.call('$.text', b.literal(trimmed[0].data))));
|
|
|
|
|
close = b.stmt(b.call('$.append', b.id('$$anchor'), id));
|
|
|
|
|
} else if (trimmed.length > 0) {
|
|
|
|
|
const id = b.id(context.state.scope.generate('fragment'));
|
|
|
|
@ -123,7 +118,7 @@ export function Fragment(node, context) {
|
|
|
|
|
state
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
state.init.push(b.var(id, b.call('$.text')));
|
|
|
|
|
state.init.unshift(b.var(id, b.call('$.text')));
|
|
|
|
|
close = b.stmt(b.call('$.append', b.id('$$anchor'), id));
|
|
|
|
|
} else {
|
|
|
|
|
if (is_standalone) {
|
|
|
|
@ -166,6 +161,11 @@ export function Fragment(node, context) {
|
|
|
|
|
body.push(b.if(b.call('$.aborted'), b.return()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (is_text_first) {
|
|
|
|
|
// skip over inserted comment
|
|
|
|
|
body.push(b.stmt(b.call('$.next')));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.push(...state.init);
|
|
|
|
|
|
|
|
|
|
if (state.update.length > 0) {
|
|
|
|
|