From 661a4ee8fb2b7c1269c17c5ffd8da149d3314b8f Mon Sep 17 00:00:00 2001 From: Angelelz Date: Sat, 16 Dec 2023 21:16:32 -0500 Subject: [PATCH] When passed an empty array inArray now returns false and notInArray now return true instead of throwing --- drizzle-orm/src/sql/expressions/conditions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drizzle-orm/src/sql/expressions/conditions.ts b/drizzle-orm/src/sql/expressions/conditions.ts index d1fa377ce..be735fa19 100644 --- a/drizzle-orm/src/sql/expressions/conditions.ts +++ b/drizzle-orm/src/sql/expressions/conditions.ts @@ -289,7 +289,7 @@ export function inArray( ): SQL { if (Array.isArray(values)) { if (values.length === 0) { - throw new Error('inArray requires at least one value'); + return sql`false`; } return sql`${column} in ${values.map((v) => bindIfParam(v, column))}`; } @@ -335,7 +335,7 @@ export function notInArray( ): SQL { if (Array.isArray(values)) { if (values.length === 0) { - throw new Error('notInArray requires at least one value'); + return sql`true`; } return sql`${column} not in ${values.map((v) => bindIfParam(v, column))}`; }