@opra/common
Version:
Opra common package
32 lines (31 loc) • 2.31 kB
TypeScript
import { ArithmeticExpression, ArrayExpression, ComparisonExpression, DateLiteral, Expression, LogicalExpression, NumberLiteral, ParenthesizedExpression, QualifiedIdentifier, TimeLiteral } from './ast/index.js';
type _EntryValue = Expression | string | number | bigint | boolean | null | Date;
export type EntryValue = _EntryValue | _EntryValue[];
export declare function $or(...items: Expression[]): LogicalExpression;
export declare function $and(...items: Expression[]): LogicalExpression;
export declare function $date(v: string): DateLiteral;
export declare function $time(v: string): TimeLiteral;
export declare function $number(v: string | number | bigint): NumberLiteral;
export declare function $array(...items: EntryValue[]): ArrayExpression;
export declare function $field(v: string): QualifiedIdentifier;
export declare function $eq(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $ne(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $gt(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $gte(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $lt(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $lte(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $in(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $notIn(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $like(left: EntryValue, right: EntryValue): ComparisonExpression;
export declare function $notLike(left: _EntryValue, right: _EntryValue): ComparisonExpression;
export declare function $ilike(left: _EntryValue, right: _EntryValue): ComparisonExpression;
export declare function $notILike(left: _EntryValue, right: _EntryValue): ComparisonExpression;
export declare function $paren(expression: Expression): ParenthesizedExpression;
type MathExpression = ArithmeticExpression & {
add(expression: EntryValue): MathExpression;
sub(expression: EntryValue): MathExpression;
mul(expression: EntryValue): MathExpression;
div(expression: EntryValue): MathExpression;
};
export declare function $arithmetic(n: EntryValue): MathExpression;
export {};