UNPKG

@amiceli/vitest-cucumber

Version:

vitest tools to use Gherkin feature in unit tests

85 lines (84 loc) 2.67 kB
type ExpressionRegexConstructor = { keyword: string; keywordRegex: RegExp; groupName: string; }; export declare abstract class ExpressionRegex<T = unknown> { readonly keyword: string; readonly keywordRegex: RegExp; readonly groupName: string; constructor(options: ExpressionRegexConstructor); abstract getRegex(index: number, originalRegex: string): string; abstract getValue(str: string, index: number): T; matchGroupName(str: string): boolean; get cloneKeywordRegex(): RegExp; resetExpressionStates(): void; } export declare class BooleanRegex extends ExpressionRegex<boolean> { constructor(); getRegex(index: number): string; getValue(str: string): boolean; } export declare class WordRegex extends ExpressionRegex<string> { constructor(); getRegex(index: number): string; getValue(str: string): string; } export declare class CharRegex extends ExpressionRegex<string> { constructor(); getRegex(index: number): string; getValue(str: string): string; } export declare class StringRegex extends ExpressionRegex<string> { constructor(); getRegex(index: number): string; getValue(str: string): string; } export declare class EmailRegex extends ExpressionRegex<string> { constructor(); getRegex(index: number): string; getValue(str: string): string; } export declare class UrlRegex extends ExpressionRegex<URL> { constructor(); getRegex(index: number): string; getValue(str: string): URL; } export declare class IntRegex extends ExpressionRegex<number> { constructor(); getRegex(index: number): string; getValue(str: string): number; } export declare class NumberRegex extends ExpressionRegex<number> { constructor(); getRegex(index: number): string; getValue(str: string): number; } export declare class DateRegex extends ExpressionRegex<Date> { constructor(); getRegex(index: number): string; getValue(str: string): Date; } export type Currency = { raw: string; value: number; currency: string; }; export declare class CurrencyRegex extends ExpressionRegex<Currency> { constructor(); getRegex(index: number): string; getValue(str: string): Currency; } export declare class ListRegex extends ExpressionRegex<string[]> { constructor(); private regexMatchSeparators; resetExpressionStates(): void; getRegex(index: number, originalRegex: string): string; getValue(str: string, index: number): string[]; } export declare class AnyRegex extends ExpressionRegex<string> { constructor(); getRegex(index: number): string; getValue(str: string): string; } export {};