sedk-postgres
Version:
Simple SQL builder and validator
55 lines (54 loc) • 2.6 kB
TypeScript
import { FromItem } from './SelectFromStep';
import { Artifacts, BaseStep } from '../BaseStep';
import { All } from '../../singletoneConstants';
import { LimitStep } from './LimitStep';
import { OffsetStep } from './OffsetStep';
import { Column } from '../../database';
import { ItemInfo } from '../../ItemInfo';
import { Condition, PrimitiveType } from '../../models';
import { LogicalOperator } from '../../operators';
import { OrderByArgsElement } from '../../orderBy';
import { ReturningItem } from '../../ReturningItemInfo';
import { SelectWhereStep } from './SelectConditionStep';
import { ReturningStep } from '../ReturningStep';
import { FullOuterJoinStep, InnerJoinStep, JoinStep, LeftJoinStep, RightJoinStep } from './BaseJoinStep';
import { OrderByStep } from './OrderByStep';
import { GroupByStep } from './GroupByStep';
export declare abstract class AfterFromStep extends BaseStep {
crossJoin(fromItem: FromItem): CrossJoinStep;
leftJoin(fromItem: FromItem): LeftJoinStep;
rightJoin(fromItem: FromItem): RightJoinStep;
fullOuterJoin(fromItem: FromItem): FullOuterJoinStep;
innerJoin(fromItem: FromItem): InnerJoinStep;
join(fromItem: FromItem): JoinStep;
where(condition: Condition): SelectWhereStep;
where(left: Condition, operator: LogicalOperator, right: Condition): SelectWhereStep;
where(left: Condition, operator1: LogicalOperator, middle: Condition, operator2: LogicalOperator, right: Condition): SelectWhereStep;
groupBy(...groupByItems: Column[]): GroupByStep;
limit(n: number | All | null): LimitStep;
limit$(n: number | null): LimitStep;
offset(n: number): OffsetStep;
offset$(n: number): OffsetStep;
orderBy(...orderByItems: OrderByArgsElement[]): OrderByStep;
returning(...items: (ItemInfo | ReturningItem | PrimitiveType)[]): ReturningStep;
}
export declare class CrossJoinStep extends AfterFromStep {
private readonly fromItem;
constructor(prevStep: BaseStep, fromItem: FromItem);
getStepStatement(artifacts?: Artifacts): string;
getStepArtifacts(): Artifacts;
}
export declare class OnStep extends AfterFromStep {
protected readonly condition: Condition;
constructor(prevStep: BaseStep, condition: Condition);
getStepStatement(artifacts?: Artifacts): string;
getStepArtifacts(): Artifacts;
or(condition: Condition): OnOrStep;
and(condition: Condition): OnAndStep;
}
export declare class OnAndStep extends OnStep {
getStepStatement(artifacts?: Artifacts): string;
}
export declare class OnOrStep extends OnStep {
getStepStatement(artifacts?: Artifacts): string;
}