clarity-pattern-parser
Version:
Parsing Library for Typescript and Javascript.
26 lines (23 loc) • 768 B
text/typescript
import { Cursor } from "./Cursor";
import { Node } from "../ast/Node";
import { ParseResult } from "./ParseResult";
export interface Pattern {
id: string;
type: string;
name: string;
parent: Pattern | null;
children: Pattern[];
startedOnIndex: number;
parse(cursor: Cursor): Node | null;
exec(text: string, record?: boolean): ParseResult;
test(text: string, record?: boolean): boolean;
clone(name?: string): Pattern;
getTokens(): string[];
getTokensAfter(childReference: Pattern): string[];
getNextTokens(): string[];
getPatterns(): Pattern[];
getPatternsAfter(childReference: Pattern): Pattern[];
getNextPatterns(): Pattern[];
find(predicate: (pattern: Pattern) => boolean): Pattern | null;
isEqual(pattern: Pattern): boolean;
}