UNPKG

onelang

Version:

OneLang transpiler framework core

54 lines (53 loc) 1.51 kB
import { ExprLangAst as ExprAst } from "../ExprLang/ExprLangAst"; export declare namespace TemplateAst { interface Node { } interface BlockItem extends Node { inline: boolean; } interface LineItem extends Node { } interface ItemContainer extends Node { } class Block implements ItemContainer { kind: string; lines: BlockItem[]; } class Line implements BlockItem, ItemContainer { kind: string; inline: boolean; indentLen: number; items: LineItem[]; } class TextNode implements LineItem { value: string; kind: string; constructor(value: string); } class TemplateNode implements LineItem { expr: ExprAst.Expression; kind: string; constructor(expr: ExprAst.Expression); } class ForNode implements BlockItem { itemName: string; arrayExpr: ExprAst.Expression; inline: boolean; separator: string; kind: string; body: ItemContainer; else: ItemContainer; constructor(itemName: string, arrayExpr: ExprAst.Expression, inline: boolean, separator?: string); } class IfItem { condition: ExprAst.Expression; body?: ItemContainer; constructor(condition: ExprAst.Expression, body?: ItemContainer); } class IfNode implements LineItem, BlockItem { kind: string; items: IfItem[]; else: ItemContainer; inline: boolean; } }