sedk-mysql
Version:
Simple SQL builder and validator for MySQL
46 lines (45 loc) • 2.15 kB
TypeScript
import { BaseStep } from '../BaseStep';
import { Column } from '../../database';
import { Condition } from '../../models';
import { LogicalOperator } from '../../operators';
import { OrderByArgsElement } from '../../orderBy';
import { SelectWhereStep } from './SelectConditionStep';
import { OrderByStep } from './OrderByStep';
import { GroupByStep } from './GroupByStep';
import { Artifacts } from '../BaseStep';
import { FromItem } from './SelectFromStep';
import { InnerJoinStep, JoinStep, LeftJoinStep, RightJoinStep } from './BaseJoinStep';
import { LimitStep } from './LimitStep';
import { LimitWithOffsetStep } from './LimitWithOffsetStep';
import { OffsetStep } from './OffsetStep';
export declare abstract class AfterFromStep extends BaseStep {
leftJoin(fromItem: FromItem): LeftJoinStep;
rightJoin(fromItem: FromItem): RightJoinStep;
innerJoin(fromItem: FromItem): InnerJoinStep;
join(fromItem: FromItem): JoinStep;
limit(limit: number): LimitStep;
limit(offset: number, limit: number): LimitWithOffsetStep;
limit$(limit: number): LimitStep;
limit$(offset: number, limit: number): LimitWithOffsetStep;
offset(value: number): OffsetStep;
offset$(value: number): OffsetStep;
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;
orderBy(...orderByItems: OrderByArgsElement[]): OrderByStep;
}
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;
}