@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
37 lines (36 loc) • 1.28 kB
TypeScript
import type { StackTrace } from "../types";
import type TemplateDescriptor from "../types/template-descriptor";
export default class TemplateParser {
static testEnviroment: boolean;
private readonly indexStack;
private readonly name;
private readonly stackTrace;
private readonly templateDescriptor;
private offsetIndex;
constructor(name: string, stackTrace?: StackTrace);
private static internalParse;
static parse(name: string, template: string): [HTMLTemplateElement, TemplateDescriptor];
static parseReference(name: string, template: HTMLTemplateElement): TemplateDescriptor;
private attributeToString;
private decomposeDirectives;
private elementToTemplate;
private getPath;
private nodeToString;
private hasDecomposed;
private hasTemplateDirectives;
private enumerateAttributes;
private enumerateDirectives;
private nest;
private parse;
private parseAttributes;
private parseTemplateDirectives;
private parseTextNode;
private pushToStack;
private saveLookup;
private setDecomposed;
private sliceNodes;
private traverseNode;
private trimContent;
private tryParseExpression;
private validateMemberExpression;
}