UNPKG

ivi

Version:

Lightweight Embeddable Web UI Library.

43 lines 1.31 kB
import { TemplateFlags } from "../lib/template.js"; import { type ITemplate } from "./ir.js"; export interface TemplateCompilationArtifact { /** Root Nodes */ readonly roots: TemplateNode[]; } export declare enum TemplateNodeType { Block = 0, Text = 1, Expr = 2 } export interface TemplateNodeBlock { /** Node type */ readonly type: TemplateNodeType.Block; /** Template Flags */ readonly flags: TemplateFlags; /** Static Template */ readonly template: (string | number)[] | string; /** Prop OpCodes */ readonly props: number[]; /** Child OpCodes */ readonly child: number[]; /** State OpCodes */ readonly state: number[]; /** Data */ readonly data: string[]; /** Dynamic Expressions */ readonly exprs: number[]; } export interface TemplateNodeText { readonly type: TemplateNodeType.Text; readonly value: string; } export interface TemplateNodeExpr { readonly type: TemplateNodeType.Expr; readonly value: number; } export type TemplateNode = TemplateNodeBlock | TemplateNodeText | TemplateNodeExpr; export declare const compileTemplate: (tpl: ITemplate) => TemplateCompilationArtifact; export declare class TemplateCompilerError extends Error { constructor(msg: string); } //# sourceMappingURL=compiler.d.ts.map