pull/12215/head
Rich Harris 2 years ago
parent 6dabf23f63
commit 59f1ecfa9d

@ -53,19 +53,19 @@ export function template(content, flags) {
if (!is_fragment) node = /** @type {Node} */ (node.firstChild); if (!is_fragment) node = /** @type {Node} */ (node.firstChild);
} }
var clone = use_import_node ? document.importNode(node, true) : node.cloneNode(true); var clone = /** @type {import('#client').TemplateNode} */ (
use_import_node ? document.importNode(node, true) : node.cloneNode(true)
);
var start = is_fragment if (is_fragment) {
? has_start var first = /** @type {import('#client').TemplateNode} */ (clone.firstChild);
? /** @type {import('#client').TemplateNode} */ (clone.firstChild) var start = has_start ? first : unset ? undefined : null;
: unset var end = /** @type {import('#client').TemplateNode} */ (clone.lastChild);
? undefined
: null
: /** @type {import('#client').TemplateNode} */ (clone);
var end = /** @type {import('#client').TemplateNode} */ (is_fragment ? clone.lastChild : clone);
assign_nodes(start, end, /** @type {import('#client').TemplateNode} */ (clone.firstChild)); assign_nodes(start, end, first);
} else {
assign_nodes(clone, clone);
}
return clone; return clone;
}; };
@ -110,6 +110,7 @@ export function ns_template(content, flags, ns = 'svg') {
var node; var node;
var has_start = !content.startsWith('<!>'); var has_start = !content.startsWith('<!>');
var unset = (flags & TEMPLATE_UNSET_START) !== 0;
return () => { return () => {
if (hydrating) { if (hydrating) {
@ -132,17 +133,17 @@ export function ns_template(content, flags, ns = 'svg') {
} }
} }
var clone = node.cloneNode(true); var clone = /** @type {import('#client').TemplateNode} */ (node.cloneNode(true));
var start = is_fragment if (is_fragment) {
? has_start var first = /** @type {import('#client').TemplateNode} */ (clone.firstChild);
? /** @type {import('#client').TemplateNode} */ (clone.firstChild) var start = has_start ? first : unset ? undefined : null;
: null var end = /** @type {import('#client').TemplateNode} */ (clone.lastChild);
: /** @type {import('#client').TemplateNode} */ (clone);
var end = /** @type {import('#client').TemplateNode} */ (is_fragment ? clone.lastChild : clone);
assign_nodes(start, end); assign_nodes(start, end, first);
} else {
assign_nodes(clone, clone);
}
return clone; return clone;
}; };

Loading…
Cancel
Save