UNPKG

fruitsconfits

Version:

FruitsConfits - A well typed and sugared parser combinator framework for TypeScript/JavaScript.

37 lines (36 loc) 3.03 kB
import { ParserFnWithCtx } from './types'; import { ApplyProductionRulesArg, makeProgram } from './parser'; export declare function objSequence<T extends ArrayLike<T[number]>, C, R>(helper: (token: T[number]) => R, comparator: (a: T[number], b: T[number]) => boolean): (needle: T) => ParserFnWithCtx<T, C, R>; export declare function objClass<T extends ArrayLike<T[number]>, C, R>(helper: (token: T[number]) => R, comparator: (a: T[number], b: T[number]) => boolean): (...needles: Array<T[number]>) => ParserFnWithCtx<T, C, R>; export declare function objClassNot<T extends ArrayLike<T[number]>, C, R>(helper: (token: T[number]) => R, comparator: (a: T[number], b: T[number]) => boolean): (...needles: Array<T[number]>) => ParserFnWithCtx<T, C, R>; export declare function objClassByNeedleFn<T extends ArrayLike<T[number]>, C, R>(helper: (token: T[number]) => R, comparator: (a: T[number], b: T[number]) => boolean): (needle: (src: T[number]) => boolean) => ParserFnWithCtx<T, C, R>; export declare function getObjectParsers<T extends ArrayLike<T[number]>, C, R>(params: { rawToToken: (rawToken: T[number]) => R; concatTokens: (tokens: R[]) => R[]; comparator: (a: T[number], b: T[number]) => boolean; }): { seq: (needle: T) => ParserFnWithCtx<T, C, R>; cls: (...needles: T[number][]) => ParserFnWithCtx<T, C, R>; notCls: (...needles: T[number][]) => ParserFnWithCtx<T, C, R>; clsFn: (needle: (src: T[number]) => boolean) => ParserFnWithCtx<T, C, R>; classes: { any: ParserFnWithCtx<T, C, R>; }; cat: (...parsers: ParserFnWithCtx<T, C, R>[]) => ParserFnWithCtx<T, C, R>; once: (parser: ParserFnWithCtx<T, C, R>) => ParserFnWithCtx<T, C, R>; repeat: (parser: ParserFnWithCtx<T, C, R>) => ParserFnWithCtx<T, C, R>; qty: (min?: number | undefined, max?: number | undefined) => (parser: ParserFnWithCtx<T, C, R>) => ParserFnWithCtx<T, C, R>; zeroWidth: (helper?: (() => R) | undefined) => ParserFnWithCtx<T, C, R>; err: (message: string) => ParserFnWithCtx<T, C, R>; beginning: (helper?: (() => R) | undefined) => ParserFnWithCtx<T, C, R>; end: (helper?: (() => R) | undefined) => ParserFnWithCtx<T, C, R>; first: (...parsers: Array<ParserFnWithCtx<T, C, R>>) => ParserFnWithCtx<T, C, R>; or: (...parsers: Array<ParserFnWithCtx<T, C, R>>) => ParserFnWithCtx<T, C, R>; combine: (...parsers: ParserFnWithCtx<T, C, R>[]) => ParserFnWithCtx<T, C, R>; erase: (...parsers: ParserFnWithCtx<T, C, R>[]) => ParserFnWithCtx<T, C, R>; trans: (fn: (tokens: R[]) => R[]) => (...parsers: ParserFnWithCtx<T, C, R>[]) => ParserFnWithCtx<T, C, R>; ahead: (...parsers: Array<ParserFnWithCtx<T, C, R>>) => ParserFnWithCtx<T, C, R>; behind: (n: number, helper?: (() => R) | undefined) => (...parsers: ParserFnWithCtx<T, C, R>[]) => ParserFnWithCtx<T, C, R>; rules: (args: ApplyProductionRulesArg<T, C, R>) => (lexer: ParserFnWithCtx<T, C, R>) => ParserFnWithCtx<T, C, R>; makeProgram: typeof makeProgram; };