From 9f0ef7e76e186c9a5aa5ccc0e6802dcf72bace5e Mon Sep 17 00:00:00 2001 From: Edo Rivai Date: Tue, 17 Apr 2018 00:17:54 +0200 Subject: [PATCH] [knex] Enable named bindings in *Raw methods (#25028) --- types/knex/index.d.ts | 5 +++-- types/knex/knex-tests.ts | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 9c07f69f9b..34715ec6cc 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -18,6 +18,7 @@ import Bluebird = require("bluebird"); type Callback = Function; type Client = Function; type Value = string | number | boolean | Date | Array | Array | Array | Array | Buffer | Knex.Raw; +type ValueMap = { [key: string]: Value }; type ColumnName = string | Knex.Raw | Knex.QueryBuilder | {[key: string]: string }; type TableName = string | Knex.Raw | Knex.QueryBuilder; @@ -338,7 +339,7 @@ declare namespace Knex { interface RawQueryBuilder { (sql: string, ...bindings: Value[]): QueryBuilder; - (sql: string, bindings: Value[]): QueryBuilder; + (sql: string, bindings: Value[] | ValueMap): QueryBuilder; (raw: Raw): QueryBuilder; } @@ -352,7 +353,7 @@ declare namespace Knex { (value: Value): Raw; (sql: string, ...bindings: Value[]): Raw; (sql: string, bindings: Value[]): Raw; - (sql: string, bindings: Object): Raw; + (sql: string, bindings: ValueMap): Raw; } // diff --git a/types/knex/knex-tests.ts b/types/knex/knex-tests.ts index 1afd65ef6d..112732a2e5 100644 --- a/types/knex/knex-tests.ts +++ b/types/knex/knex-tests.ts @@ -246,6 +246,7 @@ knex('users').whereBetween('votes', [1, 100]); knex('users').whereNotBetween('votes', [1, 100]); knex('users').whereRaw('id = ?', [1]); +knex('users').whereRaw('id = :id', { id: 1 }); // Join methods knex('users')