25 lines
712 B
TypeScript
25 lines
712 B
TypeScript
import type { BaseNode } from "./base";
|
|
export interface Position {
|
|
/** >= 1 */
|
|
line: number;
|
|
/** >= 0 */
|
|
column: number;
|
|
}
|
|
export type Range = [number, number];
|
|
export interface SourceLocation {
|
|
start: Position;
|
|
end: Position;
|
|
}
|
|
export interface Locations {
|
|
loc: SourceLocation;
|
|
range: Range;
|
|
}
|
|
export interface Token extends BaseNode {
|
|
type: "Boolean" | "Null" | "Identifier" | "Keyword" | "Punctuator" | "JSXIdentifier" | "JSXText" | "Numeric" | "String" | "RegularExpression" | "Template" | "HTMLText" | "HTMLIdentifier" | "MustacheKeyword" | "HTMLComment";
|
|
value: string;
|
|
}
|
|
export interface Comment extends BaseNode {
|
|
type: "Line" | "Block";
|
|
value: string;
|
|
}
|