UNPKG

@vulcan-sql/core

Version:
62 lines (61 loc) 3.36 kB
import { ComparisonPredicate, ComparisonOperator, LogicalOperator, BetweenPredicateInput, InPredicateInput, NullPredicateInput } from './commonTypes'; export interface JoinOnOperatorInput { leftColumn: string; operator: ComparisonOperator; rightColumn: string; } export interface JoinOnClauseOperation { command: ComparisonPredicate | LogicalOperator | null; data?: JoinOnOperatorInput | BetweenPredicateInput | InPredicateInput | NullPredicateInput; } export interface IJoinOnClause { operations: Array<JoinOnClauseOperation>; on(leftColumn: string, operator: string, rightColumn: string): JoinOnClause; onBetween(column: string, min: number, max: number): JoinOnClause; onNotBetween(column: string, min: number, max: number): JoinOnClause; onIn(column: string, values: string[] | number[]): JoinOnClause; onNotIn(column: string, values: string[] | number[]): JoinOnClause; onNull(column: string): JoinOnClause; onNotNull(column: string): JoinOnClause; andOn(leftColumn: string, operator: string, rightColumn: string): JoinOnClause; andOnBetween(column: string, min: number, max: number): JoinOnClause; andOnNotBetween(column: string, min: number, max: number): JoinOnClause; andOnIn(column: string, values: string[] | number[]): JoinOnClause; andOnNotIn(column: string, values: string[] | number[]): JoinOnClause; andOnNull(column: string): JoinOnClause; andOnNotNull(column: string): JoinOnClause; orOn(leftColumn: string, operator: string, rightColumn: string): JoinOnClause; orOnBetween(column: string, min: number, max: number): JoinOnClause; orOnNotBetween(column: string, min: number, max: number): JoinOnClause; orOnIn(column: string, values: string[] | number[]): JoinOnClause; orOnNotIn(column: string, values: string[] | number[]): JoinOnClause; orOnNull(column: string): JoinOnClause; orOnNotNull(column: string): JoinOnClause; } export declare class JoinOnClause implements IJoinOnClause { private _operations; constructor(); get operations(): JoinOnClauseOperation[]; on(leftColumn: string, operator: string, rightColumn: string): this; onBetween(column: string, min: number, max: number): this; onNotBetween(column: string, min: number, max: number): this; onIn(column: string, values: number[] | string[]): this; onNotIn(column: string, values: number[] | string[]): this; onNull(column: string): this; onNotNull(column: string): this; andOn(leftColumn: string, operator: string, rightColumn: string): this; andOnBetween(column: string, min: number, max: number): this; andOnNotBetween(column: string, min: number, max: number): this; andOnIn(column: string, values: number[] | string[]): this; andOnNotIn(column: string, values: number[] | string[]): this; andOnNull(column: string): this; andOnNotNull(column: string): this; orOn(leftColumn: string, operator: string, rightColumn: string): this; orOnBetween(column: string, min: number, max: number): this; orOnNotBetween(column: string, min: number, max: number): this; orOnIn(column: string, values: number[] | string[]): this; orOnNotIn(column: string, values: number[] | string[]): this; orOnNull(column: string): this; orOnNotNull(column: string): this; private recordOn; }