add type predicates to .filter() in sqlUtils for strict TypeScript (#8709)

The discriminated union type from values.map() wasn't being narrowed by
.filter((info) => !info.raw), causing info.argNum to be typed as
number | undefined instead of number.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ruben Fiszel
2026-04-03 18:27:38 -04:00
committed by GitHub
parent 1a0f580f3d
commit ef74a1bb4d
+2 -2
View File
@@ -171,7 +171,7 @@ function buildSqlTemplateFunction(provider: SqlProvider): SqlTemplateFunction {
// Arg declarations (SQL comments consumed by the executor)
let argDecls = valueInfos
.filter((info) => !info.raw)
.filter((info): info is Extract<(typeof valueInfos)[number], { raw: false }> => !info.raw)
.map((info) => {
let argType =
parseTypeAnnotation(
@@ -211,7 +211,7 @@ function buildSqlTemplateFunction(provider: SqlProvider): SqlTemplateFunction {
const args = {
...Object.fromEntries(
valueInfos
.filter((info) => !info.raw)
.filter((info): info is Extract<(typeof valueInfos)[number], { raw: false }> => !info.raw)
.map((info) => [`arg${info.argNum}`, info.value])
),
...provider.extraArgs,