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 */
export default class HeadWrapper extends Wrapper {
/** @type {import('./Fragment.js').default} */
fragment;
/** @type {import('../../nodes/Head.js').default} */
node;
/**
* @param {import('../Renderer.js').default} renderer
* @param {import('../Block.js').default} block
* @param {import('./shared/Wrapper.js').default} parent
* @param {import('../../nodes/Head.js').default} node
* @param {boolean} strip_whitespace
* @param {import('./shared/Wrapper.js').default} next_sibling
*/
constructor(renderer, block, parent, node, strip_whitespace, next_sibling) {
super(renderer, block, parent, node);
this.fragment = new FragmentWrapper(renderer, block, node.children, this, strip_whitespace, next_sibling);
}
/**
* @param {import('../Block.js').default} block
* @param {import('estree').Identifier} _parent_node
* @param {import('estree').Identifier} _parent_nodes
*/
render(block, _parent_node, _parent_nodes) {
/** @type {import('estree').Identifier} */
let nodes;
if (this.renderer.options.hydratable && this.fragment.nodes.length) {
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);`);
}
}
/** @type {import('./Fragment.js').default} */
fragment;
/** @type {import('../../nodes/Head.js').default} */
node;
/**
* @param {import('../Renderer.js').default} renderer
* @param {import('../Block.js').default} block
* @param {import('./shared/Wrapper.js').default} parent
* @param {import('../../nodes/Head.js').default} node
* @param {boolean} strip_whitespace
* @param {import('./shared/Wrapper.js').default} next_sibling
*/
constructor(renderer, block, parent, node, strip_whitespace, next_sibling) {
super(renderer, block, parent, node);
this.fragment = new FragmentWrapper(
renderer,
block,
node.children,
this,
strip_whitespace,
next_sibling
);
}
/**
* @param {import('../Block.js').default} block
* @param {import('estree').Identifier} _parent_node
* @param {import('estree').Identifier} _parent_nodes
*/
render(block, _parent_node, _parent_nodes) {
/** @type {import('estree').Identifier} */
let nodes;
if (this.renderer.options.hydratable && this.fragment.nodes.length) {
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