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.

20 lines (19 loc) 1.04 kB
import { CharacterReader } from '../character-reader/character-reader-level-0'; import { CharacterReaderLevel2Stack } from '../character-reader/character-reader-level-2'; import { MyFeatures } from '../parse'; import { NodeExtra } from '../node-extra'; import { Quantifier } from 'regjsparser'; export type QuantifierIterations = ReadonlyMap<Quantifier<MyFeatures>, number>; export type StackQuantifierEntry = Readonly<{ iteration: number; quantifier: Quantifier<MyFeatures>; type: 'quantifier'; }>; export type QuantifiersInInfinitePortion = ReadonlySet<Quantifier<MyFeatures>>; export declare function buildQuantifiersInInfinitePortion(stack: CharacterReaderLevel2Stack, nodeExtra: NodeExtra): QuantifiersInInfinitePortion; export declare function buildQuantifierIterations(stack: CharacterReaderLevel2Stack): QuantifierIterations; export declare function buildQuantifierCharacterReader({ caseInsensitive, dotAll, node, }: { caseInsensitive: boolean; dotAll: boolean; node: Quantifier<MyFeatures>; }): CharacterReader;