UNPKG

cordbuilder

Version:

Simple dsl to create discord builders simple.

36 lines (35 loc) 1.14 kB
import { Identifier } from "../structs/Expressions"; import Token from "../structs/Token"; import { ExpressionKind } from "./ast"; export declare abstract class Expression { kind: ExpressionKind; } export interface StringExpressionProps extends Expression { kind: ExpressionKind.StringExpression; value: string; } export interface BooleanExpressionProps extends Expression { kind: ExpressionKind.BooleanExpression; value: boolean; } export interface ParenthesizedExpressionProps extends Expression { kind: ExpressionKind.ParenthesizedExpression; parens: [open: Token, close: Token]; expression: Expression; } export interface IdentifierProps extends Expression { kind: ExpressionKind.Identifier; token: Token; name: string; } export interface ArgumentsExpressionProps extends Expression { kind: ExpressionKind.ArgumentsExpression; brackets: [open: Token, close: Token]; args: Expression[]; } export interface SubPropertyDeclarationProps extends Expression { kind: ExpressionKind.SubPropertyDeclaration; identifier: Identifier; expression: Expression; colon: Token; }