gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
24 lines (23 loc) • 753 B
TypeScript
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */
import type { WindowStr } from '../../primitive/WindowStr.js';
import { IMatcher } from '../interfaces/IMatcher.js';
import { INode } from '../interfaces/INode.js';
declare const consoleDebugSymbol: unique symbol;
export declare class Nfa {
debug: boolean;
private _start;
private _end;
constructor();
get start(): INode;
get end(): INode;
concat(...by: (IMatcher | Nfa)[]): Nfa;
union(...across: (IMatcher | Nfa)[]): Nfa;
repeat(what: IMatcher, min: number, max?: number): Nfa;
zeroOrMore(): Nfa;
zeroOrOne(): Nfa;
oneOrMore(): Nfa;
private addNextState;
search(str: WindowStr): number;
[consoleDebugSymbol](): string;
}
export {};