Conditional helper functions such as isNull, isNotNull, exists, notExists cannot be used within a query select, without returning an unknown type.
const results = await db
.select({
id: table.id,
has_title_orm: isNotNull(table.name),
has_title_sql: sql<boolean>`${table.name} IS NOT NULL`,
})
.from(table);
results[0].has_title_orm; // unknown type
results[0].has_title_sql; // boolean type
Expected behavior
The sql wrapper used should be able to be typed for these boolean returns. I can imagine that there's a circumstance where you might not want to, given the fact these query helpers can be used in other places?
What version of
drizzle-orm
are you using?0.29.3
What version of
drizzle-kit
are you using?n/a
Describe the Bug
Conditional helper functions such as
isNull
,isNotNull
,exists
,notExists
cannot be used within a query select, without returning anunknown
type.Expected behavior
The
sql
wrapper used should be able to be typed for these boolean returns. I can imagine that there's a circumstance where you might not want to, given the fact these query helpers can be used in other places?Environment & setup
Example Stackblitz: https://stackblitz.com/edit/typescript-5bbctn?file=index.ts