redos-detector
Version:
A CLI and library which tests helps score how vulnerable a regex pattern is to ReDoS attacks. Supported in the browser, Node and Deno.
18 lines (17 loc) • 845 B
TypeScript
import { CharacterReader } from '../character-reader/character-reader-level-0';
import { Group, NonCapturingGroup } from 'regjsparser';
import { CharacterReaderLevel2Stack } from '../character-reader/character-reader-level-2';
import { MyFeatures } from '../parse';
export type StackGroupEntry = Readonly<{
group: Group<MyFeatures>;
type: 'group';
}>;
export type Groups = ReadonlySet<Group<MyFeatures>>;
export type LookaheadStack = readonly NonCapturingGroup<MyFeatures>[];
export declare function getGroups(stack: CharacterReaderLevel2Stack): Groups;
export declare function getLookaheadStack(stack: CharacterReaderLevel2Stack): LookaheadStack;
export declare function buildGroupCharacterReader({ caseInsensitive, dotAll, node, }: {
caseInsensitive: boolean;
dotAll: boolean;
node: Group<MyFeatures>;
}): CharacterReader;