Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
// A license comment is appropriate at the top of a file. Anything else
// should be checked.
if (comments.filter((c) => !/@license/.test(c)).length > 0) {
const message =
`\n FIXME(polymer-modulizer): the above comments were extracted\n` +
` from HTML and may be out of place here. Review them and\n` +
` then delete this comment!\n`;
comments.push(message);
}
const recastComments = getCommentsFromTexts(comments);
let firstStatement: RecastNode&(estree.Statement | estree.ModuleDeclaration) =
statements[0];
if (firstStatement === undefined) {
firstStatement = jsc.expressionStatement(jsc.identifier(''));
statements.unshift(firstStatement);
}
firstStatement.comments =
recastComments.concat(firstStatement.comments || []);
}
attrs: [],
childNodes: nodes,
__location: {} as parse5.ElementLocationInfo,
};
const templateValue = serializeNodeToTemplateLiteral(fragment, false);
const createElementTemplate = jsc.variableDeclaration(
'const',
[jsc.variableDeclarator(
jsc.identifier(varName),
jsc.callExpression(
jsc.memberExpression(
jsc.identifier('document'), jsc.identifier('createElement')),
[jsc.literal('template')]))]);
const setDocumentContainerStatement =
jsc.expressionStatement(jsc.assignmentExpression(
'=',
jsc.memberExpression(
jsc.identifier(varName), jsc.identifier('innerHTML')),
templateValue));
const targetNode = activeInBody ? 'body' : 'head';
return [
createElementTemplate,
setDocumentContainerStatement,
jsc.expressionStatement(jsc.callExpression(
jsc.memberExpression(
jsc.memberExpression(
jsc.identifier('document'), jsc.identifier(targetNode)),
jsc.identifier('appendChild')),
[jsc.memberExpression(
jsc.identifier(varName), jsc.identifier('content'))]))
];
nodeName: '#document-fragment',
attrs: [],
childNodes: nodes,
};
const templateValue = serializeNodeToTemplateLiteral(fragment as any, false);
const createElementDiv = jsc.variableDeclaration(
'const',
[jsc.variableDeclarator(
jsc.identifier(varName),
jsc.callExpression(
jsc.memberExpression(
jsc.identifier('document'), jsc.identifier('createElement')),
[jsc.literal('template')]))]);
const setDocumentContainerStatement =
jsc.expressionStatement(jsc.assignmentExpression(
'=',
jsc.memberExpression(
jsc.identifier(varName), jsc.identifier('innerHTML')),
templateValue));
if (activeInBody) {
return [
createElementDiv,
setDocumentContainerStatement,
jsc.expressionStatement(jsc.callExpression(
jsc.memberExpression(
jsc.memberExpression(
jsc.identifier('document'), jsc.identifier('body')),
jsc.identifier('appendChild')),
[jsc.memberExpression(
jsc.identifier(varName), jsc.identifier('content'))]))
];