Skip to content

Commit

Permalink
Convert SelectQueryBuilder and RawBuilder to interfaces (#589)
Browse files Browse the repository at this point in the history
* Convert RawBuilder to interface

* Convert SelectQueryBuilder to interface
  • Loading branch information
koskimas authored Jul 15, 2023
1 parent 4af0efd commit bf8963c
Show file tree
Hide file tree
Showing 10 changed files with 782 additions and 553 deletions.
16 changes: 8 additions & 8 deletions scripts/generate-site-examples.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,27 @@ const CODE_LINE_REGEX = /\*(.*)/
const moreExamplesByCategory = {
select: {
'select method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#select',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#select',
'selectAll method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#selectAll',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#selectAll',
'selectFrom method':
'https://kysely-org.github.io/kysely/classes/Kysely.html#selectFrom',
},
where: {
'where method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#where',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#where',
'whereRef method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#whereRef',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#whereRef',
},
join: {
'innerJoin method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#innerJoin',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#innerJoin',
'leftJoin method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#leftJoin',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#leftJoin',
'rightJoin method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#rightJoin',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#rightJoin',
'fullJoin method':
'https://kysely-org.github.io/kysely/classes/SelectQueryBuilder.html#fullJoin',
'https://kysely-org.github.io/kysely/interfaces/SelectQueryBuilder.html#fullJoin',
},
insert: {
'values method':
Expand Down
7 changes: 5 additions & 2 deletions src/expression/expression-builder.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'
import {
SelectQueryBuilder,
createSelectQueryBuilder,
} from '../query-builder/select-query-builder.js'
import { SelectQueryNode } from '../operation-node/select-query-node.js'
import {
parseTableExpressionOrList,
Expand Down Expand Up @@ -771,7 +774,7 @@ export function createExpressionBuilder<DB, TB extends keyof DB>(
eb: undefined! as ExpressionBuilder<DB, TB>,

selectFrom(table: TableExpressionOrList<DB, TB>): any {
return new SelectQueryBuilder({
return createSelectQueryBuilder({
queryId: createQueryId(),
executor: executor,
queryNode: SelectQueryNode.create(parseTableExpressionOrList(table)),
Expand Down
7 changes: 5 additions & 2 deletions src/parser/parse-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ import { OverNode } from '../operation-node/over-node.js'
import { SelectQueryNode } from '../operation-node/select-query-node.js'
import { JoinBuilder } from '../query-builder/join-builder.js'
import { OverBuilder } from '../query-builder/over-builder.js'
import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'
import {
SelectQueryBuilder,
createSelectQueryBuilder as newSelectQueryBuilder,
} from '../query-builder/select-query-builder.js'
import { QueryCreator } from '../query-creator.js'
import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js'
import { createQueryId } from '../util/query-id.js'
Expand All @@ -14,7 +17,7 @@ import {
} from './table-parser.js'

export function createSelectQueryBuilder(): SelectQueryBuilder<any, any, any> {
return new SelectQueryBuilder({
return newSelectQueryBuilder({
queryId: createQueryId(),
executor: NOOP_QUERY_EXECUTOR,
queryNode: SelectQueryNode.create(parseTableExpressionOrList([])),
Expand Down
1 change: 1 addition & 0 deletions src/query-builder/delete-query-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ export class DeleteQueryBuilder<DB, TB extends keyof DB, O>
): DeleteQueryBuilder<DB, TB, O>

where(factory: WhereExpressionFactory<DB, TB>): DeleteQueryBuilder<DB, TB, O>

where(expression: Expression<any>): DeleteQueryBuilder<DB, TB, O>

where(...args: any[]): any {
Expand Down
1 change: 1 addition & 0 deletions src/query-builder/having-interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export interface HavingInterface<DB, TB extends keyof DB> {
): HavingInterface<DB, TB>

having(factory: HavingExpressionFactory<DB, TB>): HavingInterface<DB, TB>

having(expression: Expression<any>): HavingInterface<DB, TB>

/**
Expand Down
Loading

1 comment on commit bf8963c

@vercel
Copy link

@vercel vercel bot commented on bf8963c Jul 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

kysely – ./

kysely-git-master-kysely-team.vercel.app
kysely-kysely-team.vercel.app
kysely.dev
www.kysely.dev

Please sign in to comment.