angular-estree-parser
Version:
A parser that converts Angular source code into an ESTree-compatible form
33 lines (32 loc) • 1.07 kB
TypeScript
import * as babel from "@babel/types";
//#region src/ast-transform/node-types.d.ts
type Range = [number, number];
type StartEnd = {
start: number;
end: number;
};
type LocationInformation = StartEnd & {
range: Range;
extra?: any;
};
type NGBaseNode = LocationInformation & {
type: string;
};
type CommentLine = babel.CommentLine & LocationInformation;
type NGOwnNode = NGEmptyExpression | NGPipeExpression | NGChainedExpression;
type NGNode = babel.Expression | babel.ObjectProperty | babel.SpreadElement | babel.TemplateElement | NGOwnNode;
interface NGEmptyExpression extends NGBaseNode {
type: 'NGEmptyExpression';
}
interface NGPipeExpression extends NGBaseNode {
type: 'NGPipeExpression';
left: babel.Expression;
right: babel.Identifier;
arguments: babel.Expression[];
}
interface NGChainedExpression extends NGBaseNode {
type: 'NGChainedExpression';
expressions: NGNode[];
}
//#endregion
export { CommentLine, LocationInformation, NGBaseNode, NGChainedExpression, NGEmptyExpression, NGNode, NGOwnNode, NGPipeExpression, Range, StartEnd };