@wener/miniquery
Version:
SQL Where like **safe** filter expression for ORM.
90 lines (81 loc) • 4.63 kB
TypeScript
// AUTOGENERATED FILE
import type { BaseActionDict, Grammar, IterationNode, Node, NonterminalNode, Semantics, TerminalNode } from 'ohm-js';
export interface MiniQueryActionDict<T> extends BaseActionDict<T> {
Main?: (this: NonterminalNode, arg0: NonterminalNode, arg1: NonterminalNode) => T;
Expr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
LogicExpr_match?: (this: NonterminalNode, arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode) => T;
LogicExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
RelExpr_match?: (this: NonterminalNode, arg0: NonterminalNode, arg1: TerminalNode, arg2: NonterminalNode) => T;
RelExpr_match_eq?: (this: NonterminalNode, arg0: NonterminalNode, arg1: TerminalNode, arg2: NonterminalNode) => T;
RelExpr_has?: (this: NonterminalNode, arg0: NonterminalNode, arg1: TerminalNode, arg2: NonterminalNode) => T;
RelExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
InExpr_match?: (this: NonterminalNode, arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode) => T;
InExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
PredicateExpr_is?: (this: NonterminalNode, arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode) => T;
PredicateExpr_like?: (
this: NonterminalNode,
arg0: NonterminalNode,
arg1: NonterminalNode,
arg2: NonterminalNode,
) => T;
PredicateExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
BetweenExpr_match?: (
this: NonterminalNode,
arg0: NonterminalNode,
arg1: NonterminalNode,
arg2: NonterminalNode,
arg3: TerminalNode,
arg4: NonterminalNode,
) => T;
BetweenExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
CallExpr_match?: (
this: NonterminalNode,
arg0: NonterminalNode,
arg1: TerminalNode,
arg2: NonterminalNode,
arg3: TerminalNode,
) => T;
CallExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
PriExpr_paren?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode, arg2: TerminalNode) => T;
PriExpr_not?: (this: NonterminalNode, arg0: NonterminalNode, arg1: NonterminalNode) => T;
PriExpr_pos?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
PriExpr_neg?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode) => T;
PriExpr?: (this: NonterminalNode, arg0: NonterminalNode) => T;
Array?: (this: NonterminalNode, arg0: TerminalNode, arg1: NonterminalNode, arg2: TerminalNode) => T;
Value?: (this: NonterminalNode, arg0: NonterminalNode) => T;
ListOf?: (this: NonterminalNode, arg0: NonterminalNode) => T;
TrailNonEmptyListOf?: (
this: NonterminalNode,
arg0: Node,
arg1: IterationNode,
arg2: IterationNode,
arg3: IterationNode,
) => T;
in?: (this: NonterminalNode, arg0: IterationNode, arg1: IterationNode, arg2: NonterminalNode) => T;
is?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode, arg2: IterationNode) => T;
logic?: (this: NonterminalNode, arg0: NonterminalNode | TerminalNode) => T;
like?: (this: NonterminalNode, arg0: IterationNode, arg1: IterationNode, arg2: NonterminalNode) => T;
between?: (this: NonterminalNode, arg0: IterationNode, arg1: IterationNode, arg2: NonterminalNode) => T;
ref?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode, arg2: IterationNode) => T;
ident?: (this: NonterminalNode, arg0: NonterminalNode, arg1: IterationNode) => T;
literal?: (this: NonterminalNode, arg0: NonterminalNode) => T;
null?: (this: NonterminalNode, arg0: TerminalNode) => T;
bool?: (this: NonterminalNode, arg0: TerminalNode) => T;
string?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode, arg2: TerminalNode) => T;
int?: (this: NonterminalNode, arg0: IterationNode, arg1: IterationNode, arg2: NonterminalNode) => T;
uint?: (this: NonterminalNode, arg0: NonterminalNode | TerminalNode) => T;
int_non_zero?: (this: NonterminalNode, arg0: TerminalNode, arg1: IterationNode) => T;
float?: (this: NonterminalNode, arg0: IterationNode, arg1: TerminalNode, arg2: IterationNode) => T;
}
export interface MiniQuerySemantics extends Semantics {
addOperation<T>(name: string, actionDict: MiniQueryActionDict<T>): this;
extendOperation<T>(name: string, actionDict: MiniQueryActionDict<T>): this;
addAttribute<T>(name: string, actionDict: MiniQueryActionDict<T>): this;
extendAttribute<T>(name: string, actionDict: MiniQueryActionDict<T>): this;
}
export interface MiniQueryGrammar extends Grammar {
createSemantics(): MiniQuerySemantics;
extendSemantics(superSemantics: MiniQuerySemantics): MiniQuerySemantics;
}
declare const grammar: MiniQueryGrammar;
export default grammar;