@digitak/grubber
Version:
Parse code files and patch it without having to use an AST
26 lines (25 loc) • 790 B
TypeScript
import Rule from "./Rule.js";
import Fragment from "./Fragment.js";
import { LanguageName } from "./languages/index.js";
export declare type FromTo = {
from: string | RegExp;
to: string | RegExp;
};
export default class Parser {
content: string;
private stopExpressionCache;
private _rules;
private language?;
get rules(): Rule[];
constructor(content: string, rules: LanguageName | Rule[]);
find(...expressions: Array<string | RegExp>): Fragment[];
replace(...fromTos: FromTo[]): string;
findDependencies(): Fragment[];
replaceDependencies(to: string): string;
private parse;
private getRuleExpression;
private getRuleStopExpression;
private getNextMatchExpression;
private getMatchingRule;
private resolveFragment;
}