本文整理汇总了TypeScript中parse5.treeAdapters.default.getTemplateContent方法的典型用法代码示例。如果您正苦于以下问题:TypeScript treeAdapters.default.getTemplateContent方法的具体用法?TypeScript treeAdapters.default.getTemplateContent怎么用?TypeScript treeAdapters.default.getTemplateContent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类parse5.treeAdapters.default
的用法示例。
在下文中一共展示了treeAdapters.default.getTemplateContent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: ScannedElementReference
const visitor = (node: ASTNode) => {
if (node.tagName && this.matches(node)) {
const element = new ScannedElementReference(
node.tagName, document.sourceRangeForNode(node)!, node);
if (node.attrs) {
for (const attr of node.attrs) {
element.attributes.set(attr.name, {
name: attr.name,
value: attr.value,
sourceRange: document.sourceRangeForAttribute(node, attr.name)!,
nameSourceRange:
document.sourceRangeForAttributeName(node, attr.name)!,
valueSourceRange:
document.sourceRangeForAttributeValue(node, attr.name)
});
}
}
elements.push(element);
}
// Descend into templates.
if (node.tagName === 'template') {
const content = treeAdapters.default.getTemplateContent(node);
if (content) {
dom5.nodeWalk(content, (n) => {
visitor(n);
return false;
});
}
}
};
示例2: _moveDomModuleStyleIntoTemplate
/**
* Old Polymer supported `<style>` tag in `<dom-module>` but outside of
* `<template>`. This is also where the deprecated Polymer CSS import tag
* `<link rel="import" type="css">` would generate inline `<style>`.
* Migrates these `<style>` tags into available `<template>` of the
* `<dom-module>`. Will create a `<template>` container if not present.
*
* TODO(usergenic): Why is this in bundler... shouldn't this be some kind of
* polyup or pre-bundle operation?
*/
private _moveDomModuleStyleIntoTemplate(style: ASTNode, refStyle?: ASTNode) {
const domModule =
dom5.nodeWalkAncestors(style, dom5.predicates.hasTagName('dom-module'));
if (!domModule) {
return;
}
let template = dom5.query(domModule, matchers.template);
if (!template) {
template = dom5.constructors.element('template')!;
treeAdapters.default.setTemplateContent(
template, dom5.constructors.fragment());
prepend(domModule, template);
}
removeElementAndNewline(style);
// Ignore the refStyle object if it is contained within a different
// dom-module.
if (refStyle &&
!dom5.query(
domModule, (n) => n === refStyle, dom5.childNodesIncludeTemplate)) {
refStyle = undefined;
}
// keep ordering if previding with a reference style
if (!refStyle) {
prepend(treeAdapters.default.getTemplateContent(template), style);
} else {
insertAfter(refStyle, style);
}
}
示例3: ScannedElementReference
const visitor = (node: ASTNode) => {
if (node.tagName && this.matches(node)) {
const element = new ScannedElementReference(
node.tagName,
document.sourceRangeForNode(node)!,
{language: 'html', containingDocument: document, node});
if (node.attrs) {
for (const attr of node.attrs) {
element.attributes.set(attr.name, {
name: attr.name,
value: attr.value,
sourceRange: document.sourceRangeForAttribute(node, attr.name)!,
nameSourceRange:
document.sourceRangeForAttributeName(node, attr.name)!,
valueSourceRange:
document.sourceRangeForAttributeValue(node, attr.name)
});
}
}
elements.push(element);
}
// Descend into templates.
if (node.tagName === 'template') {
const content = treeAdapters.default.getTemplateContent(node);
if (content) {
for (const n of dom5.depthFirst(content)) {
visitor(n);
}
}
}
};
示例4: childNodesIncludeTemplate
export const childNodesIncludeTemplate = function childNodesIncludeTemplate(
node: Node) {
if (node.nodeName === 'template') {
return treeAdapters.default.getTemplateContent(node).childNodes;
}
return node.childNodes;
};
示例5: async
const visitor = async (node: ASTNode) => {
if (isStyleNode(node)) {
const tagName = node.nodeName;
if (tagName === 'link') {
const href = dom5.getAttribute(node, 'href')! as FileRelativeUrl;
features.push(new ScannedImport(
'html-style',
href,
document.sourceRangeForNode(node)!,
document.sourceRangeForAttributeValue(node, 'href')!,
{language: 'html', node, containingDocument: document},
true));
} else {
const contents = dom5.getTextContent(node);
const locationOffset =
getLocationOffsetOfStartOfTextContent(node, document);
const commentText = getAttachedCommentText(node) || '';
features.push(new ScannedInlineDocument(
'css',
contents,
locationOffset,
commentText,
document.sourceRangeForNode(node)!,
{language: 'html', node, containingDocument: document}));
}
}
// Descend into templates.
if (node.tagName === 'template') {
const content = treeAdapters.default.getTemplateContent(node);
if (content) {
for (const n of dom5.depthFirst(content)) {
visitor(n);
}
}
}
};