From 49b7e17e6e67c7798b79cb5e9c7d25f13d83053f Mon Sep 17 00:00:00 2001 From: Ralph Gutkowski Date: Tue, 13 Feb 2018 19:20:26 +0000 Subject: [PATCH 1/3] knex: Add alias definition to QueryBuilder#select QueryBuilder#select also accepts arguments in form of alias object: knex.select({ owner: "user.name" }); --- types/knex/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 99b6a10476..536a0e0b1d 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -171,6 +171,7 @@ declare namespace Knex { } interface Select extends ColumnNameQueryBuilder { + (aliases: { [alias: string]: string }): QueryBuilder; } interface Table { From 0ae71bb5aebe405ff71998b4da689af3ef35faa4 Mon Sep 17 00:00:00 2001 From: Ralph Gutkowski Date: Tue, 13 Feb 2018 20:06:27 +0000 Subject: [PATCH 2/3] knex: Allow Raw expression for FROM clause --- types/knex/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 536a0e0b1d..51f7ce024d 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -177,6 +177,7 @@ declare namespace Knex { interface Table { (tableName: string): QueryBuilder; (callback: Function): QueryBuilder; + (raw: Raw): QueryBuilder; } interface Distinct extends ColumnNameQueryBuilder { From 2ea886bcc4cd3d46d37e96e7026a353a7ed22688 Mon Sep 17 00:00:00 2001 From: Ralph Gutkowski Date: Thu, 15 Feb 2018 01:33:50 +0000 Subject: [PATCH 3/3] Add tests --- types/knex/knex-tests.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/knex/knex-tests.ts b/types/knex/knex-tests.ts index 3aaefb6909..4e44f8e6b8 100644 --- a/types/knex/knex-tests.ts +++ b/types/knex/knex-tests.ts @@ -160,6 +160,7 @@ var knex = Knex({ // Knex Query Builder knex.select('title', 'author', 'year').from('books'); +knex.select({ name: 'title', writer: 'author' }).from(knex.raw('books')); knex.select().table('books'); knex.avg('sum_column1').from(function() {