Lint and format src/compiler/compile/render_dom/wrappers/Head.js

pull/8569/head
Simon Holthausen 3 years ago
parent 732d3b778c
commit 05e5b38a84

@ -4,46 +4,53 @@ import { x, b } from 'code-red';
/** @extends Wrapper */ /** @extends Wrapper */
export default class HeadWrapper extends Wrapper { export default class HeadWrapper extends Wrapper {
/** @type {import('./Fragment.js').default} */
/** @type {import('./Fragment.js').default} */ fragment;
fragment;
/** @type {import('../../nodes/Head.js').default} */
/** @type {import('../../nodes/Head.js').default} */ node;
node;
/**
/** * @param {import('../Renderer.js').default} renderer
* @param {import('../Renderer.js').default} renderer * @param {import('../Block.js').default} block
* @param {import('../Block.js').default} block * @param {import('./shared/Wrapper.js').default} parent
* @param {import('./shared/Wrapper.js').default} parent * @param {import('../../nodes/Head.js').default} node
* @param {import('../../nodes/Head.js').default} node * @param {boolean} strip_whitespace
* @param {boolean} strip_whitespace * @param {import('./shared/Wrapper.js').default} next_sibling
* @param {import('./shared/Wrapper.js').default} next_sibling */
*/ constructor(renderer, block, parent, node, strip_whitespace, next_sibling) {
constructor(renderer, block, parent, node, strip_whitespace, next_sibling) { super(renderer, block, parent, node);
super(renderer, block, parent, node); this.fragment = new FragmentWrapper(
this.fragment = new FragmentWrapper(renderer, block, node.children, this, strip_whitespace, next_sibling); renderer,
} block,
node.children,
/** this,
* @param {import('../Block.js').default} block strip_whitespace,
* @param {import('estree').Identifier} _parent_node next_sibling
* @param {import('estree').Identifier} _parent_nodes );
*/ }
render(block, _parent_node, _parent_nodes) {
/**
/** @type {import('estree').Identifier} */ * @param {import('../Block.js').default} block
let nodes; * @param {import('estree').Identifier} _parent_node
if (this.renderer.options.hydratable && this.fragment.nodes.length) { * @param {import('estree').Identifier} _parent_nodes
nodes = block.get_unique_name('head_nodes'); */
block.chunks.claim.push(b `const ${nodes} = @head_selector('${this.node.id}', @_document.head);`); render(block, _parent_node, _parent_nodes) {
} /** @type {import('estree').Identifier} */
this.fragment.render(block, /** @type {unknown} */ /** @type {import('estree').Identifier} */ ((x `@_document.head`)), nodes); let nodes;
if (nodes && this.renderer.options.hydratable) { if (this.renderer.options.hydratable && this.fragment.nodes.length) {
block.chunks.claim.push(b `${nodes}.forEach(@detach);`); nodes = block.get_unique_name('head_nodes');
} block.chunks.claim.push(
} b`const ${nodes} = @head_selector('${this.node.id}', @_document.head);`
);
}
this.fragment.render(
block,
/** @type {unknown} */ /** @type {import('estree').Identifier} */ (x`@_document.head`),
nodes
);
if (nodes && this.renderer.options.hydratable) {
block.chunks.claim.push(b`${nodes}.forEach(@detach);`);
}
}
} }

Loading…
Cancel
Save