UNPKG

@digitak/grubber

Version:

Parse code files and patch it without having to use an AST

26 lines (25 loc) 790 B
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; }