UNPKG

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
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;