@glimmer/interfaces
Version:
Common interfaces shared among all @glimmer/\* projects
22 lines (16 loc) • 620 B
TypeScript
import type { Namespace, SimpleDocumentFragment, SimpleElement, SimpleNode } from './simple.js';
export type NodeToken = number;
export interface NodeTokens {
reify(token: NodeToken): SimpleNode;
}
export interface Reifiable {
reify(tokens: NodeTokens): void;
}
export interface SpecTreeConstruction {
openElement(name: string, ns?: Namespace): NodeToken;
closeElement(): void;
appendText(text: string): NodeToken;
appendComment(text: string): NodeToken;
setAttribute(name: string, value: string, namespace?: Namespace): void;
appendTo(parent: SimpleElement | SimpleDocumentFragment): NodeTokens;
}