UNPKG

angular-estree-parser

Version:

A parser that converts Angular source code into an ESTree-compatible form

58 lines (57 loc) 1.71 kB
import { NGBaseNode, NGNode } from "../ast-transform/node-types.js"; //#region src/microsyntax/microsyntax-node-types.d.ts /** * Microsyntax :: * ( ( Exp | Let ) ( Sep? ( Let | As | KeyExp ) )* Sep? Key? )? * * Sep :: * ';' * ',' * * Key :: * StringLiteral * Identifier ( '-' Identifier )* * * Exp :: * NGNode ( 'as' Key )? * * KeyExp :: * Key ':'? Exp * * As :: * Key 'as' Key * * Let :: * 'let' Key ( '=' Key )? */ interface NGMicrosyntax extends NGBaseNode { type: 'NGMicrosyntax'; body: (NGMicrosyntaxAs | NGMicrosyntaxExpression | NGMicrosyntaxKey | NGMicrosyntaxKeyedExpression | NGMicrosyntaxLet)[]; } type NGMicrosyntaxNode = NGMicrosyntax | NGMicrosyntaxAs | NGMicrosyntaxExpression | NGMicrosyntaxKey | NGMicrosyntaxKeyedExpression | NGMicrosyntaxLet; interface NGMicrosyntaxKey extends NGBaseNode { type: 'NGMicrosyntaxKey'; name: string; } interface NGMicrosyntaxKeyedExpression extends NGBaseNode { type: 'NGMicrosyntaxKeyedExpression'; key: NGMicrosyntaxKey; expression: NGMicrosyntaxExpression; } interface NGMicrosyntaxExpression extends NGBaseNode { type: 'NGMicrosyntaxExpression'; expression: NGNode; alias: NGMicrosyntaxKey | null; } interface NGMicrosyntaxAs extends NGBaseNode { type: 'NGMicrosyntaxAs'; key: NGMicrosyntaxKey; alias: NGMicrosyntaxKey; } interface NGMicrosyntaxLet extends NGBaseNode { type: 'NGMicrosyntaxLet'; key: NGMicrosyntaxKey; value: NGMicrosyntaxKey | null; } //#endregion export { NGMicrosyntax, NGMicrosyntaxAs, NGMicrosyntaxExpression, NGMicrosyntaxKey, NGMicrosyntaxKeyedExpression, NGMicrosyntaxLet, NGMicrosyntaxNode };