🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@kuindji/typed-sql

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kuindji/typed-sql - npm Package Compare versions

Comparing version
0.9.2
to
0.9.3
+1
-1
dist/builder/assemble.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAkFnE"}
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAqFnE"}
// src/builder/assemble.ts
import { assertAllNamedParamsProvided, expandNamedParams } from "./params.js";
import { assertAllProvided, expandScanned } from "./scanner.js";
/**

@@ -81,4 +81,7 @@ * Assemble a SQL string from runtime builder state.

if (state.namedParamsBound || Object.keys(namedParams).length > 0) {
assertAllNamedParamsProvided(sql, namedParams);
return expandNamedParams(sql, namedParams);
assertAllProvided(sql, namedParams);
// IN-list-gated expansion (spec §6.5), shared with the write builders:
// an array value only fans out to multiple `$n` slots inside `IN (...)`;
// anywhere else (e.g. `= ANY(:ids)`) it binds as a single array param.
return expandScanned(sql, namedParams);
}

@@ -85,0 +88,0 @@ return sql;

@@ -1,1 +0,1 @@

{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"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"}

@@ -50,3 +50,4 @@ import type { DatabaseSchema } from "../schema.js";

type MultiRowValuesParams<N extends string, Table extends string, S extends DatabaseSchema> = AfterValues<N> extends infer A extends string ? CollectTuples<A> extends infer R extends TupleScan ? ZipAllTuples<R["tuples"], ExtractInsertColumns<N>, Table, S> & (R["rest"] extends "" ? {} : LooseParamsSkipLit<R["rest"]>) : {} : {};
type InsertParams<N extends string, S extends DatabaseSchema> = InsertTargetTable<N, S> extends infer Table extends string ? (IsMultiRowInsert<N> extends true ? MultiRowValuesParams<N, Table, S> : ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S>) & SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S> & WhereParamsFor<N, Table, S> : {};
type HasValuesClause<N extends string> = N extends `${string} values (${string}` ? true : N extends `${string} values(${string}` ? true : false;
type InsertParams<N extends string, S extends DatabaseSchema> = InsertTargetTable<N, S> extends infer Table extends string ? (IsMultiRowInsert<N> extends true ? MultiRowValuesParams<N, Table, S> : HasValuesClause<N> extends true ? ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S> : LooseParamsSkipLit<N>) & SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S> & WhereParamsFor<N, Table, S> : {};
type ExtractSetBlock<N extends string> = N extends `${string} set ${infer Rest}` ? ExtractBefore<ExtractBefore<Rest, " where ">, " returning "> : "";

@@ -53,0 +54,0 @@ type SetParams<Pairs extends readonly string[], Table extends string, S extends DatabaseSchema, Acc = {}> = Pairs extends readonly [infer P extends string, ...infer R extends string[]] ? P extends `${infer Left}=${infer Right}` ? ParamName<Right> extends infer Name ? [Name] extends [never] ? SetParams<R, Table, S, Acc & LooseParams<Right>> : Name extends string ? SetParams<R, Table, S, Acc & {

@@ -1,1 +0,1 @@

{"version":3,"file":"extract-params.d.ts","sourceRoot":"","sources":["../../src/builder/extract-params.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"extract-params.d.ts","sourceRoot":"","sources":["../../src/builder/extract-params.ts"],"names":[],"mappings":"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"}
import type { DatabaseSchema } from "../schema.js";
import { ConditionTreeBuilder } from "./condition-tree.js";
import { type QueryParamInput, type QueryParamValue } from "./params.js";
import { ConditionTreeBuilder } from "./condition-tree.js";
import type { EmptySqlTag, ResolveId, SelFrag, SqlTag, WithFrom, WithGroupBy, WithHaving, WithJoin, WithLimit, WithOffset, WithOrderBy, WithSelect, WithWhere, WithoutGroupBy, WithoutHaving, WithoutJoin, WithoutOrderBy, WithoutSelect, WithoutWhere } from "./sql-tag.js";
import type { BuilderResultBrand } from "./return-type.js";
import type { EmptySqlTag, ResolveId, SelFrag, SqlTag, WithFrom, WithGroupBy, WithHaving, WithJoin, WithLimit, WithOffset, WithOrderBy, WithoutGroupBy, WithoutHaving, WithoutJoin, WithoutOrderBy, WithoutSelect, WithoutWhere, WithSelect, WithWhere } from "./sql-tag.js";
type CondText<C> = C extends ConditionTreeBuilder<any, infer E extends string> ? E : C extends string ? C : string;

@@ -25,3 +25,6 @@ type ColsText<Cols> = Cols extends readonly string[] ? JoinArr<Cols> : Cols extends string ? Cols : string;

};
type FindFragById<List extends readonly SelFrag[], Id extends string> = List extends readonly [infer H extends SelFrag, ...infer R extends readonly SelFrag[]] ? H["id"] extends Id ? H : FindFragById<R, Id> : never;
type FindFragById<List extends readonly SelFrag[], Id extends string> = List extends readonly [
infer H extends SelFrag,
...infer R extends readonly SelFrag[]
] ? H["id"] extends Id ? H : FindFragById<R, Id> : never;
type FragEqual<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;

@@ -34,15 +37,15 @@ type MarkCond<F extends SelFrag> = {

export interface SelectQueryBuilder<Schema extends DatabaseSchema, Sql extends SqlTag> {
select<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, "select", Sql["selects"]>, false>>;
selectIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, "select", Sql["selects"]>, true>>;
select<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>, false>>;
selectIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>, true>>;
from<Src extends string | SelectQueryBuilder<Schema, any>>(source: Src): SelectQueryBuilder<Schema, WithFrom<Sql, Src extends string ? Src : string>>;
where<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: Cond, id?: Id): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, "where", Sql["wheres"]>>>;
whereIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: boolean, clause: Cond, id?: Id): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, "where", Sql["wheres"]>>>;
join<J extends string, Id extends string | undefined = undefined>(joinSql: J, id?: Id): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, "join", Sql["joins"]>>>;
joinIf<J extends string, Id extends string | undefined = undefined>(condition: boolean, joinSql: J, id?: Id): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, "join", Sql["joins"]>>>;
groupBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, "group", Sql["groupBys"]>>>;
groupByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, "group", Sql["groupBys"]>>>;
having<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: Cond, id?: Id): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, "having", Sql["havings"]>>>;
havingIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: boolean, clause: Cond, id?: Id): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, "having", Sql["havings"]>>>;
orderBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, "order", Sql["orderBys"]>>>;
orderByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, "order", Sql["orderBys"]>>>;
where<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: Cond, id?: Id): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>>;
whereIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: boolean, clause: Cond, id?: Id): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>>;
join<J extends string, Id extends string | undefined = undefined>(joinSql: J, id?: Id): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, J>>>;
joinIf<J extends string, Id extends string | undefined = undefined>(condition: boolean, joinSql: J, id?: Id): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, J>>>;
groupBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>>;
groupByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>>;
having<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: Cond, id?: Id): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>>;
havingIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(condition: boolean, clause: Cond, id?: Id): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>>;
orderBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>>;
orderByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(condition: boolean, columns: Cols, id?: Id): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>>;
/** Emit `SELECT DISTINCT`. Does not change the result column set. */

@@ -49,0 +52,0 @@ distinct(): SelectQueryBuilder<Schema, Sql>;

@@ -1,1 +0,1 @@

{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}
import { assembleSelectSQL } from "./assemble.js";
import { assertAllNamedParamsProvided, collectParamValues } from "./params.js";
import { ConditionTreeBuilder } from "./condition-tree.js";
import { assertAllProvided, collectScanned } from "./scanner.js";
import { EMPTY_RUNTIME_STATE } from "./state.js";
import { ConditionTreeBuilder } from "./condition-tree.js";
function nextAutoId(prefix, count, hasId) {
let idx = count;
while (hasId(`${prefix}_${idx}`)) {
idx++;
}
return `${prefix}_${idx}`;
}
// (No `DefaultId`: idless calls resolve a type-level auto id via `ResolveId`
// in each method's return type — see below.)
class SelectQueryBuilderImpl {

@@ -26,5 +17,7 @@ _state;

select(columns, id) {
const rawCols = Array.isArray(columns) ? [...columns] : [columns];
const rawCols = Array.isArray(columns)
? [...columns]
: [columns];
const cols = rawCols.length > 0 ? [...rawCols] : [];
const key = id ?? nextAutoId("select", Object.keys(this._state.selectSql).length, candidate => candidate in this._state.selectSql);
const key = id ?? cols.join(", ");
return this.next(this.clone({

@@ -44,5 +37,5 @@ selectSql: { ...this._state.selectSql, [key]: cols },

if (source.getParams().length > 0) {
throw new Error("from() does not support a parameterized subquery builder: the inner " +
"builder carries params that cannot be merged into the outer query. " +
"Inline the subquery as a string or remove its params.");
throw new Error("from() does not support a parameterized subquery builder: the inner "
+ "builder carries params that cannot be merged into the outer query. "
+ "Inline the subquery as a string or remove its params.");
}

@@ -60,4 +53,6 @@ fromSql = `(${source.toString()})`;

}
const key = id ?? nextAutoId("where", Object.keys(this._state.whereSql).length, candidate => candidate in this._state.whereSql);
const sql = typeof condition === "string" ? condition : condition.toString();
const sql = typeof condition === "string"
? condition
: condition.toString();
const key = id ?? sql;
return this.next(this.clone({ whereSql: { ...this._state.whereSql, [key]: sql } }));

@@ -69,3 +64,3 @@ }

join(joinSql, id) {
const key = id ?? nextAutoId("join", this._state.joins.length, candidate => this._state.joins.some(j => j.id === candidate));
const key = id ?? joinSql;
// Idempotent by id: re-joining an existing id only replaces its SQL in

@@ -75,3 +70,5 @@ // joinSql below, keeping the ordering array (and thus its FROM-chain

const existing = this._state.joins.some(j => j.id === key);
const nextJoins = existing ? this._state.joins : [...this._state.joins, { id: key }];
const nextJoins = existing
? this._state.joins
: [...this._state.joins, { id: key }];
return this.next(this.clone({

@@ -86,6 +83,11 @@ joinSql: { ...this._state.joinSql, [key]: joinSql },

groupBy(columns, id) {
const rawCols = Array.isArray(columns) ? [...columns] : [columns];
const key = id ?? nextAutoId("group", Object.keys(this._state.groupBySql).length, candidate => candidate in this._state.groupBySql);
const rawCols = Array.isArray(columns)
? [...columns]
: [columns];
const key = id ?? rawCols.join(", ");
return this.next(this.clone({
groupBySql: { ...this._state.groupBySql, [key]: rawCols.join(", ") },
groupBySql: {
...this._state.groupBySql,
[key]: rawCols.join(", "),
},
}));

@@ -102,4 +104,6 @@ }

}
const key = id ?? nextAutoId("having", Object.keys(this._state.havingSql).length, candidate => candidate in this._state.havingSql);
const sql = typeof condition === "string" ? condition : condition.toString();
const sql = typeof condition === "string"
? condition
: condition.toString();
const key = id ?? sql;
return this.next(this.clone({ havingSql: { ...this._state.havingSql, [key]: sql } }));

@@ -111,6 +115,11 @@ }

orderBy(columns, id) {
const rawCols = Array.isArray(columns) ? [...columns] : [columns];
const key = id ?? nextAutoId("order", Object.keys(this._state.orderBySql).length, candidate => candidate in this._state.orderBySql);
const rawCols = Array.isArray(columns)
? [...columns]
: [columns];
const key = id ?? rawCols.join(", ");
return this.next(this.clone({
orderBySql: { ...this._state.orderBySql, [key]: rawCols.join(", ") },
orderBySql: {
...this._state.orderBySql,
[key]: rawCols.join(", "),
},
}));

@@ -125,3 +134,5 @@ }

distinctOn(columns) {
const cols = Array.isArray(columns) ? columns.join(", ") : columns;
const cols = Array.isArray(columns)
? columns.join(", ")
: columns;
return this.next(this.clone({ distinctOn: cols }));

@@ -235,4 +246,13 @@ }

const sql = assembleSelectSQLPreSub(this._state);
assertAllNamedParamsProvided(sql, namedParams);
return collectParamValues(sql, namedParams);
assertAllProvided(sql, namedParams);
// IN-list-gated value collection (spec §6.5), shared with writes: an
// array bound outside `IN (...)` (e.g. `= ANY(:ids)`) passes through
// as ONE array value rather than being spread into N scalars. Such a
// value is the array itself (a `readonly SqlValue[]`-shaped driver
// param, serialized by the adapter), which the scalar-typed
// `QueryParamValue` return doesn't name — so cast at this boundary.
// The public return type is kept narrow (not widened to `unknown`) so
// consumers whose `select()` requires `getParams(): SqlValue[]` still
// accept the builder; the driver handles the array at runtime.
return collectScanned(sql, namedParams);
}

@@ -239,0 +259,0 @@ return this._state.params;

@@ -1,1 +0,1 @@

{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAA8C,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,mBAAmB,EAA2B,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAiF3D,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,KAA8B;IAC7E,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/B,GAAG,EAAE,CAAC;IACV,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;AAC9B,CAAC;AA8HD,6EAA6E;AAC7E,8CAA8C;AAE9C,MAAM,sBAAsB;IACf,MAAM,CAAqB;IAEpC,YAAY,KAA0B;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,KAAkC;QAC5C,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACxC,CAAC;IAEO,IAAI,CAAC,KAAyB;QAClC,OAAO,IAAI,sBAAsB,CAAc,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,OAAmC,EAAE,EAAW;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EACzC,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAClD,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;SACvD,CAAC,CAAC,CAAC;IACR,CAAC;IAED,QAAQ,CAAC,SAAkB,EAAE,OAAmC,EAAE,EAAW;QACzE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,MAAoF;QACrF,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,MAAM,CAAC;QACrB,CAAC;aACI,CAAC;YACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACX,sEAAsE;oBACtE,qEAAqE;oBACrE,uDAAuD,CAC1D,CAAC;YACN,CAAC;YACD,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,SAAkD,EAAE,EAAW;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,iDAAiD;QACjD,IAAI,SAAS,YAAY,oBAAoB,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EACxC,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CACjD,CAAC;QACF,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,CAAC,SAAkB,EAAE,MAA+C,EAAE,EAAW;QACpF,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,EAAW;QAC7B,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EACxB,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAC/D,CAAC;QACF,uEAAuE;QACvE,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE;YACnD,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,MAAM,CAAC,SAAkB,EAAE,OAAe,EAAE,EAAW;QACnD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,OAAmC,EAAE,EAAW;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAC1C,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CACnD,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACvE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,SAAS,CAAC,SAAkB,EAAE,OAAmC,EAAE,EAAW;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,SAAkD,EAAE,EAAW;QAClE,+DAA+D;QAC/D,uDAAuD;QACvD,IAAI,SAAS,YAAY,oBAAoB,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EACzC,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAClD,CAAC;QACF,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,QAAQ,CAAC,SAAkB,EAAE,MAA+C,EAAE,EAAW;QACrF,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,OAAmC,EAAE,EAAW;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,EAAE,IAAI,UAAU,CACxB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAC1C,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CACnD,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACvE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,SAAS,CAAC,SAAkB,EAAE,OAAmC,EAAE,EAAW;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,OAAmC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,OAAkB,CAAC;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,KAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,SAAkB,EAAE,KAAa;QACrC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,QAAQ,CAAC,SAAkB,EAAE,MAAc;QACvC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,EAAE,IAAI,aAAa,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,aAAqB,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU,CAAC,EAAU;QACjB,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,IAAI,WAAW,CAAC;QACjC,OAAQ,WAAmB,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,WAAW,CAAC,EAAU;QAClB,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,YAAoB,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,EAAU;QACpB,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,cAAsB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,EAAE,IAAI,aAAa,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,aAAqB,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,EAAU;QACpB,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,OAAQ,cAAsB,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,0DAA0D;IAC1D,SAAS,CAAC,EAAU;QAChB,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,EAAU;QACd,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,QAAQ,CAAC,EAAU;QACf,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IACtC,CAAC;IACD,UAAU,CAAC,EAAU;QACjB,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,SAAS,CAAC,EAAU;QAChB,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,UAAU,CAAC,EAAU;QACjB,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;IAC7C,CAAC;IACD,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;IAC3C,CAAC;IACD,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,MAAuC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE;YACtD,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,EAAmB;QACrB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,SAAkB,EAAE,EAAmB;QAC3C,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,SAAS;QACL,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,4BAA4B,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,OAAO,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,QAAQ;QACJ,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe;QACX,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CACJ;AAED,gFAAgF;AAChF,mEAAmE;AACnE,SAAS,uBAAuB,CAAC,KAAyB;IACtD,OAAO;QACH,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;QACxC,KAAK,CAAC,OAAO,IAAI,EAAE;QACnB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QAClC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;KACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,IAAI,sBAAsB,CAAsB,mBAAmB,CAAuD,CAAC;AACtI,CAAC"}
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}

@@ -73,12 +73,3 @@ /** A non-select clause fragment (where/join/group/having/order/cte). */

}[]] ? H["id"] extends Id ? FilterOutId<R, Id> : readonly [H, ...FilterOutId<R, Id>] : readonly [];
type MkTuple<N extends number, Acc extends any[] = []> = Acc["length"] extends N ? Acc : MkTuple<N, [any, ...Acc]>;
type AutoIdFrom<Prefix extends string, List extends readonly {
id: string;
}[], N extends any[]> = HasId<List, `${Prefix}_${N["length"] & number}`> extends true ? AutoIdFrom<Prefix, List, [any, ...N]> : `${Prefix}_${N["length"] & number}`;
export type AutoId<Prefix extends string, List extends readonly {
id: string;
}[]> = number extends List["length"] ? `${Prefix}_${number}` : AutoIdFrom<Prefix, List, MkTuple<List["length"] & number>>;
export type ResolveId<Provided extends string | undefined, Prefix extends string, List extends readonly {
id: string;
}[]> = Provided extends string ? Provided : AutoId<Prefix, List>;
export type ResolveId<Provided extends string | undefined, Text extends string> = [Provided] extends [undefined] ? Text : Provided & string;
export type WithSelect<Sql extends SqlTag, Text extends string, Id extends string, Cond extends boolean> = {

@@ -85,0 +76,0 @@ readonly ctes: Sql["ctes"];

@@ -1,1 +0,1 @@

{"version":3,"file":"sql-tag.d.ts","sourceRoot":"","sources":["../../src/builder/sql-tag.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"sql-tag.d.ts","sourceRoot":"","sources":["../../src/builder/sql-tag.ts"],"names":[],"mappings":"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"}

@@ -1,6 +0,6 @@

import type { DatabaseSchema, ColumnTypeFromTableKey, RowTypeForTable, RowTypeForTables, SchemaFunctionReturn, SchemaFunctionReturnIsNullable } from "./schema.js";
import type { DatabaseSchema, ColumnTypeFromTableKey, RowTypeForTable, RowTypeForTables, SchemaFunctionReturn, SchemaFunctionReturnIsNullable, SchemaCastType, FunctionCastType } from "./schema.js";
import type { ColumnRef, ColumnRefValidLooseWith, ParseColumnRef, QualifiedRefScan, ResolveTableKey, UnqualifiedRefScan, UnqualifiedColumnValid } from "./columns.js";
import type { AliasesInQuery, TablesInQuery } from "./tables.js";
import type { CleanExpr, CleanIdent, ExtractAlias, ExtractAliasResult, ExtractBefore, ExtractBeforeFromTopLevel, IsIdentifier, IsParamPlaceholder, IsRuntimeStringFragment, IsSqlConstant, SqlConstantType, SplitBalancedParen, SplitTopLevel, Trim } from "./parsing.js";
import type { AllTrue } from "./utils.js";
import type { AllTrue, IsUnknown } from "./utils.js";
export type IsIgnorableRuntimeExpr<E extends string> = IsRuntimeStringFragment<E> extends true ? true : [E] extends [" "] ? true : false;

@@ -119,4 +119,4 @@ export type ExprToObject<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string = never> = IsIgnorableRuntimeExpr<E> extends true ? {} : ExtractAliasResult<E> extends {

type ArraySubscriptType<Base extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = ExprType<Trim<Base>, Tables, Aliases, S, [any, ...Steps]> extends infer BT ? [BT] extends [never] ? unknown : NonNullable<BT> extends readonly (infer El)[] ? El | null : unknown : unknown;
export type ExprType<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : IsIgnorableRuntimeExpr<E> extends true ? unknown : UnwrapRedundantParens<CleanExpr<E>> extends infer CE extends string ? IsRuntimeStringFragment<CE> extends true ? unknown : ExprTypeCascade<CE, Tables, Aliases, S, Steps> extends infer Raw ? [unknown] extends [Raw] ? BoolPredicateType<CE, Tables, Aliases, S, Steps> : Raw : never : unknown;
type ExprTypeCascade<CE extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = CE extends "*" ? RowTypeForTables<Tables, S> : CE extends `${infer T}.*` ? RowTypeForTable<ResolveTableKey<CleanIdent<T>, Tables, Aliases, S>, S> : CE extends `(select ${infer SubBody})` ? ScalarSubqueryType<SubBody, S, [any, ...Steps]> : IsBoolExpr<CE> extends true ? boolean : IsCaseExpr<CE> extends true ? CaseType<CE, Tables, Aliases, S, [any, ...Steps]> : [OuterCastName<CE>] extends [never] ? CE extends `cast(${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `cast (${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `${infer Base}[${string}]` ? ArraySubscriptType<Base, Tables, Aliases, S, Steps> : CE extends `${infer Func}(${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${infer Func} (${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${string}||${string}` ? ConcatType<CE, Tables, Aliases, S> : CE extends `${infer JBase}->>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends `${infer JBase}#>>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends "null" ? null : CE extends `'${infer L}'` ? string : CE extends `${number}` ? number : CE extends "true" ? boolean : CE extends "false" ? boolean : IsSqlConstant<CE> extends true ? SqlConstantType<CE> : IsParamPlaceholder<CE> extends true ? unknown : [ParseColumnRef<CE, Tables, Aliases, S>] extends [infer Ref] ? [Ref] extends [never] ? IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : Ref extends ColumnRef<infer TableKey extends string, infer Column extends string> ? ColumnTypeFromTableKey<TableKey, Column, S> : IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : unknown : OuterCastName<CE> extends `${string}->>${string}` ? string : OuterCastName<CE> extends `${string}#>>${string}` ? string : CastInnerIsSimpleRef<OuterCastInner<CE>> extends true ? ExprType<OuterCastInner<CE>, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<OuterCastName<CE>> : CastInnerFnIsNullable<OuterCastInner<CE>, S> extends true ? SqlTypeToTs<OuterCastName<CE>> | null : SqlTypeToTs<OuterCastName<CE>>;
export type ExprType<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : IsIgnorableRuntimeExpr<E> extends true ? unknown : UnwrapRedundantParens<CleanExpr<E>> extends infer CE extends string ? IsRuntimeStringFragment<CE> extends true ? unknown : ExprTypeCascade<CE, Tables, Aliases, S, Steps> extends infer Raw ? [unknown] extends [Raw] ? [Raw] extends [object] ? Raw : BoolPredicateType<CE, Tables, Aliases, S, Steps> : Raw : never : unknown;
type ExprTypeCascade<CE extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = CE extends "*" ? RowTypeForTables<Tables, S> : CE extends `${infer T}.*` ? RowTypeForTable<ResolveTableKey<CleanIdent<T>, Tables, Aliases, S>, S> : CE extends `(select ${infer SubBody})` ? ScalarSubqueryType<SubBody, S, [any, ...Steps]> : IsBoolExpr<CE> extends true ? boolean : IsCaseExpr<CE> extends true ? CaseType<CE, Tables, Aliases, S, [any, ...Steps]> : [OuterCastName<CE>] extends [never] ? CE extends `cast(${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : CastTypeToTs<Inner, CastTypeName, S> : CE extends `cast (${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : CastTypeToTs<Inner, CastTypeName, S> : CE extends `${infer Base}[${string}]` ? ArraySubscriptType<Base, Tables, Aliases, S, Steps> : CE extends `${infer Func}(${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${infer Func} (${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${string}||${string}` ? ConcatType<CE, Tables, Aliases, S> : CE extends `${infer JBase}->>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends `${infer JBase}#>>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends "null" ? null : CE extends `'${infer L}'` ? string : CE extends `${number}` ? number : CE extends "true" ? boolean : CE extends "false" ? boolean : IsSqlConstant<CE> extends true ? SqlConstantType<CE> : IsParamPlaceholder<CE> extends true ? unknown : [ParseColumnRef<CE, Tables, Aliases, S>] extends [infer Ref] ? [Ref] extends [never] ? IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : Ref extends ColumnRef<infer TableKey extends string, infer Column extends string> ? ColumnTypeFromTableKey<TableKey, Column, S> : IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : unknown : OuterCastName<CE> extends `${string}->>${string}` ? string : OuterCastName<CE> extends `${string}#>>${string}` ? string : CastInnerIsSimpleRef<OuterCastInner<CE>> extends true ? ExprType<OuterCastInner<CE>, Tables, Aliases, S, [any, ...Steps]> extends never ? never : CastTypeToTs<OuterCastInner<CE>, OuterCastName<CE>, S> : CastTypeToTs<OuterCastInner<CE>, OuterCastName<CE>, S>;
export type ScalarSubqueryType<SubBody extends string, S extends DatabaseSchema, Steps extends any[]> = ExtractBeforeFromTopLevel<SubBody> extends infer SL extends string ? SplitTopLevel<SL> extends [infer First extends string, ...infer _Rest] ? First extends string ? `select ${SubBody}` extends infer SubQuery extends string ? TablesInQuery<SubQuery, S> extends infer SubTables extends string ? AliasesInQuery<SubQuery, S> extends infer SubAliases extends string ? ExtractAliasResult<First> extends {

@@ -169,2 +169,10 @@ expr: infer RawExpr extends string;

type CastInnerFnIsNullable<Inner extends string, S extends DatabaseSchema> = CleanExpr<Inner> extends `${infer Func}(${string})` ? SchemaFunctionReturnIsNullable<CleanIdent<Func>, S> : false;
export type CastTypeToTs<Inner extends string, CastName extends string, S extends DatabaseSchema> = NormalizeCastKey<CastName> extends infer Key extends string ? FunctionCastType<CastFuncName<Inner>, Key, S> extends infer PF ? [PF] extends [never] ? CastGlobalOrBuiltin<Inner, CastName, Key, CastNameIsArray<CastName>, S> : CastNameIsArray<CastName> extends true ? PF[] : PF : never : never;
type CastGlobalOrBuiltin<Inner extends string, CastName extends string, Key extends string, IsArr extends boolean, S extends DatabaseSchema> = IsUnknown<SqlScalarToTs<Key>> extends true ? SchemaCastType<Key, S> extends infer G ? [G] extends [never] ? CastBuiltin<Inner, CastName, S> : CastInnerFnIsNullable<Inner, S> extends true ? (IsArr extends true ? G[] : G) | null : IsArr extends true ? G[] : G : never : CastBuiltin<Inner, CastName, S>;
type CastBuiltin<Inner extends string, CastName extends string, S extends DatabaseSchema> = CastInnerFnIsNullable<Inner, S> extends true ? SqlTypeToTs<CastName> | null : SqlTypeToTs<CastName>;
type CastFuncName<Inner extends string> = CleanExpr<Inner> extends `${infer Func}(${string})` ? CleanIdent<Func> : never;
type NormalizeCastKey<CastName extends string> = LastCastSegment<CastName> extends infer Last extends string ? Trim<Last> extends `${infer Base}[]` ? DropTypeQualifier<NormalizeTypeName<Base>> : DropTypeQualifier<NormalizeTypeName<Last>> : never;
type CastNameIsArray<CastName extends string> = Trim<LastCastSegment<CastName>> extends `${string}[]` ? true : false;
type LastCastSegment<T extends string> = Trim<T> extends `${string}::${infer Rest}` ? LastCastSegment<Rest> : Trim<T>;
type DropTypeQualifier<N extends string> = N extends `${string}.${infer Rest}` ? DropTypeQualifier<Rest> : N;
export type IsCaseExpr<E extends string> = Trim<E> extends `case ${string}` ? true : Trim<E> extends `(${infer Inner})` ? IsCaseExpr<Inner> : false;

@@ -171,0 +179,0 @@ export type CaseType<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = Steps["length"] extends 25 ? unknown : CaseParts<E> extends infer P ? P extends {

@@ -1,1 +0,1 @@

{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}

@@ -6,2 +6,3 @@ import type { AnyTrue, Simplify } from "./utils.js";

functions?: Record<string, FunctionSignature>;
casts?: Record<string, any>;
};

@@ -11,2 +12,3 @@ export type FunctionSignature = {

params?: readonly any[];
casts?: Record<string, any>;
};

@@ -44,2 +46,8 @@ export type StringKeys<T> = Extract<keyof T, string>;

} ? null extends R ? true : false : false : false;
export type SchemaCastType<Name extends string, S extends DatabaseSchema> = S extends {
casts: infer C extends Record<string, any>;
} ? MatchKeyCaseInsensitive<C, Name> extends infer K extends string ? [K] extends [never] ? never : C[K] : never : never;
export type FunctionCastType<Func extends string, Name extends string, S extends DatabaseSchema> = SchemaFunctionSig<Func, S> extends infer Sig ? [Sig] extends [never] ? never : Sig extends {
casts: infer C extends Record<string, any>;
} ? MatchKeyCaseInsensitive<C, Name> extends infer K extends string ? [K] extends [never] ? never : C[K] : never : never : never;
//# sourceMappingURL=schema.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}

@@ -5,2 +5,3 @@ export type And<A extends boolean, B extends boolean, C extends boolean, D extends boolean, E extends boolean = true> = A extends true ? (B extends true ? (C extends true ? (D extends true ? (E extends true ? true : false) : false) : false) : false) : false;

export type IsNever<T> = [T] extends [never] ? true : false;
export type IsUnknown<T> = 0 extends (1 & T) ? true : [T] extends [never] ? false : [unknown] extends [T] ? [T] extends [object] ? false : true : false;
export type IsUnion<T, U = T> = [

@@ -7,0 +8,0 @@ T

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,CACX,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,GAAG,IAAI,IACxB,CAAC,SAAS,IAAI,GACZ,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GAC/B,KAAK,CAAC,GACV,KAAK,CAAC,GACV,KAAK,CAAC,GACV,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAK5D,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IACxB;IAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,CAAC,SAAS,GAAG,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACX,KAAK,GACL,IAAI,GACR,KAAK,CAAC;AAEpB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,IAC1D,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC;AAE7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAYxD,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,IAC1B;IAAC,IAAI;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAC1B,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAC5B,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC"}
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,CACX,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,GAAG,IAAI,IACxB,CAAC,SAAS,IAAI,GACZ,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GACX,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GAC/B,KAAK,CAAC,GACV,KAAK,CAAC,GACV,KAAK,CAAC,GACV,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAEvE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAW5D,MAAM,MAAM,SAAS,CAAC,CAAC,IACnB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GACX,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACf,KAAK,GACL,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,GACnC,KAAK,CAAC;AAKxB,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IACxB;IAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,CAAC,SAAS,GAAG,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACX,KAAK,GACL,IAAI,GACR,KAAK,CAAC;AAEpB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,IAC1D,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC;AAE7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAYxD,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,IAC1B;IAAC,IAAI;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAC1B,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAC5B,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC"}
import type { AliasesInQuery, NullableRelations, TablesInQuery } from "../tables.js";
import type { AllTrue, MergeRow, Simplify } from "../utils.js";
import type { AllTrue, IsUnknown, MergeRow, Simplify } from "../utils.js";
import type { CleanIdent, ExtractAlias, ExtractAliasResult, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries, Trim } from "../parsing.js";

@@ -23,3 +23,2 @@ import type { ColumnExists, DatabaseSchema } from "../schema.js";

type MergeAll<T extends any[]> = T extends [] ? {} : T extends [infer Only] ? MergeRowProj<{}, Only> : MergeAll<PairMerge<T>>;
type IsUnknown<T> = [T] extends [never] ? false : [unknown] extends [T] ? true : false;
type PreferInformative<A, B> = IsUnknown<A> extends true ? B : IsUnknown<B> extends true ? A : [NonNullable<A>] extends [NonNullable<B>] ? ([NonNullable<B>] extends [NonNullable<A>] ? B : A) : B;

@@ -26,0 +25,0 @@ export type MergeRowProj<Acc, Next> = [

@@ -1,1 +0,1 @@

{"version":3,"file":"return-types.d.ts","sourceRoot":"","sources":["../../src/validation/return-types.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"return-types.d.ts","sourceRoot":"","sources":["../../src/validation/return-types.ts"],"names":[],"mappings":"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"}
{
"name": "@kuindji/typed-sql",
"version": "0.9.2",
"version": "0.9.3",
"description": "Type-level SQL parser for TypeScript",

@@ -50,2 +50,3 @@ "author": "Ivan Kuindzhi",

"typecheck": "node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc --noEmit",
"typecheck:snc": "node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc -p tsconfig.strict-null-false.json --noEmit",
"perf": "node scripts/perf-budget.mjs",

@@ -55,3 +56,3 @@ "build": "tsc -p tsconfig.build.json",

"prepublishOnly": "npm test && npm run test:dist",
"test": "node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc --noEmit && bun test"
"test": "node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc --noEmit && npm run typecheck:snc && bun test"
},

@@ -58,0 +59,0 @@ "devDependencies": {

@@ -118,2 +118,8 @@ # @kuindji/typed-sql

Clause methods (`select`, `join`, `where`, `groupBy`, `having`, and `orderBy`)
accept an optional second `id` argument for later replacement, removal, or
introspection. When omitted, the rendered SQL text is used as the id, so
identical implicit fragments are idempotent. Pass an explicit id only when the
same logical slot needs to be replaced with different SQL.
### Write builders (INSERT / UPDATE / DELETE) with typed params

@@ -160,2 +166,69 @@

## Custom cast types
The built-in scalar map resolves the common Postgres targets (`::int`, `::text`,
`::numeric`, `::timestamptz`, …). For a cast whose target it *can't* resolve — a
`CREATE TYPE`/`CREATE DOMAIN` name, or the deliberately-uninformative
`json`/`jsonb` — teach it the TS type with one of two optional schema maps:
```ts
type Geometry = { type: "Point"; coordinates: number[] };
type Schema = {
defaultSchema: "public";
schemas: { public: { places: { id: number; geom: unknown } } };
// Schema-wide: keyed by the cast TARGET name alone (case-insensitive,
// unqualified). The per-schema counterpart to `PgTypeOverrides`.
casts: {
citext: string;
geometry: Geometry; // a custom CREATE TYPE
// mood: "happy" | "sad", // a DOMAIN / enum, etc.
};
// Per-function: a cast target determinate only in combination with a
// specific call. Bare `ST_AsGeoJSON` returns GeoJSON *text*; the `::json`
// cast parses it into an object.
functions: {
ST_AsGeoJSON: {
returns: string,
casts: { json: Geometry | null, jsonb: Geometry | null },
},
};
};
type A = GetReturnType<"select geom::geometry as g from places", Schema>;
// { g: Geometry }
type B = GetReturnType<"select geom::geometry[] as g from places", Schema>;
// { g: Geometry[] } ← a `geometry` entry covers `geometry[]` automatically
type C = GetReturnType<"select ST_AsGeoJSON(geom)::json as g from places", Schema>;
// { g: Geometry | null }
```
Resolution precedence for `expr::T`:
1. **Per-function cast** (`functions[fn].casts[T]`) — when `expr` is a call to
that function. Most specific; **wins even over a built-in `T`** (so you can
model `fn(x)::text` as a branded string). Carries its own nullability.
2. **Schema-global cast** (`casts[T]`) — only when the built-in map is
*uninformative* for `T` (an unknown/custom name, or `json`/`jsonb`). This
uninformative gate keeps built-ins authoritative: `casts` can name a custom
type but **cannot silently redefine `::text`**.
3. **Built-in** — the usual scalar map (`PgTypeOverrides` ⊕ defaults).
`PgTypeOverrides` remains the lever for remapping a *built-in* pg type to suit a
differently-configured driver; `casts` is additive and names *custom* types —
the two are complementary.
**Nullability of a schema-global cast** is re-applied only as far as the existing
cast machinery already sees it: a join-nullable bare ref (`x.col::geometry` under
a `left join … x` → `Geometry | null`) and a schema-declared nullable function
inner propagate `| null`; **base-column** nullability is dropped by *any* cast
(custom or built-in), and a built-in-function / parenthesized / arithmetic inner
stays non-null. Recover precision with `coalesce`, a per-function entry, or a
nullable cast target — authoring the global entry as `Geometry | null` would
wrongly make *every* cast to that type nullable.
---
## Behavior notes

@@ -162,0 +235,0 @@

// src/builder/assemble.ts
import { assertAllNamedParamsProvided, expandNamedParams } from "./params.js";
import { assertAllProvided, expandScanned } from "./scanner.js";
import type { RuntimeSelectState } from "./state.js";

@@ -23,4 +23,4 @@

: state.distinct
? "SELECT DISTINCT"
: "SELECT";
? "SELECT DISTINCT"
: "SELECT";

@@ -94,6 +94,9 @@ const selectIds = Object.keys(state.selectSql);

if (state.namedParamsBound || Object.keys(namedParams).length > 0) {
assertAllNamedParamsProvided(sql, namedParams);
return expandNamedParams(sql, namedParams);
assertAllProvided(sql, namedParams);
// IN-list-gated expansion (spec §6.5), shared with the write builders:
// an array value only fans out to multiple `$n` slots inside `IN (...)`;
// anywhere else (e.g. `= ANY(:ids)`) it binds as a single array param.
return expandScanned(sql, namedParams);
}
return sql;
}

@@ -174,2 +174,11 @@ // src/builder/extract-params.ts

// True iff the INSERT has a VALUES clause (single- or no-space form). When false
// the source is an embedded SELECT (`insert into t (...) select ...`) or
// `default values` — there is no positional column↔value list to zip, so the
// projection's placeholders are swept loose instead (see InsertParams).
type HasValuesClause<N extends string> =
N extends `${string} values (${string}` ? true
: N extends `${string} values(${string}` ? true
: false;
type InsertParams<N extends string, S extends DatabaseSchema> =

@@ -179,3 +188,11 @@ InsertTargetTable<N, S> extends infer Table extends string

? MultiRowValuesParams<N, Table, S>
: ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S>)
: HasValuesClause<N> extends true
? ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S>
// INSERT … SELECT (no VALUES): the embedded SELECT projection has
// no value-list to position-zip, so sweep EVERY placeholder loose
// (DriverParamValue). SetParams (ON CONFLICT) and WhereParamsFor
// below still type target-scoped refs precisely; the loose sweep
// intersects as a no-op on those shared keys (`unknown & T = T`)
// and only adds the otherwise-dropped projection params.
: LooseParamsSkipLit<N>)
& SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S>

@@ -182,0 +199,0 @@ & WhereParamsFor<N, Table, S>

// src/builder/select.ts
import type { DatabaseSchema } from "../schema.js";
import { assembleSelectSQL } from "./assemble.js";
import { assertAllNamedParamsProvided, collectParamValues, type QueryParamInput, type QueryParamValue } from "./params.js";
import { EMPTY_RUNTIME_STATE, type RuntimeSelectState } from "./state.js";
import { ConditionTreeBuilder } from "./condition-tree.js";
import { type QueryParamInput, type QueryParamValue } from "./params.js";
import type { BuilderResultBrand } from "./return-type.js";
import { assertAllProvided, collectScanned } from "./scanner.js";
import type {

@@ -19,4 +20,2 @@ EmptySqlTag,

WithOrderBy,
WithSelect,
WithWhere,
WithoutGroupBy,

@@ -28,7 +27,10 @@ WithoutHaving,

WithoutWhere,
WithSelect,
WithWhere,
} from "./sql-tag.js";
import type { BuilderResultBrand } from "./return-type.js";
import { EMPTY_RUNTIME_STATE, type RuntimeSelectState } from "./state.js";
// Text a condition contributes to the tag: a tree's Expr literal, or the string.
type CondText<C> = C extends ConditionTreeBuilder<any, infer E extends string> ? E
type CondText<C> = C extends ConditionTreeBuilder<any, infer E extends string>
? E
: C extends string ? C

@@ -41,6 +43,6 @@ : string;

: string;
type JoinArr<A extends readonly string[], Acc extends string = ""> =
A extends readonly [infer H extends string, ...infer R extends readonly string[]]
? JoinArr<R, Acc extends "" ? H : `${Acc}, ${H}`>
: Acc;
type JoinArr<A extends readonly string[], Acc extends string = ""> = A extends
readonly [ infer H extends string, ...infer R extends readonly string[] ]
? JoinArr<R, Acc extends "" ? H : `${Acc}, ${H}`>
: Acc;

@@ -75,51 +77,79 @@ // Re-flag every select fragment the applyIf transform INTRODUCED as conditional.

? FindFragById<Before, After[I]["id"]> extends infer B
? [B] extends [never]
? MarkCond<After[I]> // brand-new id → conditional
: FragEqual<B, After[I]> extends true
? After[I] // untouched → keep its flag
: MarkCond<After[I]> // overwritten by transform → conditional
: MarkCond<After[I]>
? [ B ] extends [ never ] ? MarkCond<After[I]> // brand-new id → conditional
: FragEqual<B, After[I]> extends true ? After[I] // untouched → keep its flag
: MarkCond<After[I]> // overwritten by transform → conditional
: MarkCond<After[I]>
: After[I];
};
type FindFragById<List extends readonly SelFrag[], Id extends string> =
List extends readonly [infer H extends SelFrag, ...infer R extends readonly SelFrag[]]
? H["id"] extends Id ? H : FindFragById<R, Id>
List extends readonly [
infer H extends SelFrag,
...infer R extends readonly SelFrag[],
] ? H["id"] extends Id ? H : FindFragById<R, Id>
: never;
type FragEqual<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;
type MarkCond<F extends SelFrag> = { id: F["id"]; text: F["text"]; cond: true };
type FragEqual<A, B> = [ A ] extends [ B ]
? ([ B ] extends [ A ] ? true : false)
: false;
type MarkCond<F extends SelFrag> = {
id: F["id"];
text: F["text"];
cond: true;
};
function nextAutoId(prefix: string, count: number, hasId: (id: string) => boolean): string {
let idx = count;
while (hasId(`${prefix}_${idx}`)) {
idx++;
}
return `${prefix}_${idx}`;
}
export interface SelectQueryBuilder<Schema extends DatabaseSchema, Sql extends SqlTag> {
select<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
export interface SelectQueryBuilder<
Schema extends DatabaseSchema,
Sql extends SqlTag,
> {
select<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, "select", Sql["selects"]>, false>>;
): SelectQueryBuilder<
Schema,
WithSelect<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>, false>
>;
selectIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
selectIf<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
condition: boolean,
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithSelect<Sql, ColsText<Cols>, ResolveId<Id, "select", Sql["selects"]>, true>>;
): SelectQueryBuilder<
Schema,
WithSelect<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>, true>
>;
from<Src extends string | SelectQueryBuilder<Schema, any>>(
source: Src,
): SelectQueryBuilder<Schema, WithFrom<Sql, Src extends string ? Src : string>>;
): SelectQueryBuilder<
Schema,
WithFrom<Sql, Src extends string ? Src : string>
>;
where<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(
where<
Cond extends string | ConditionTreeBuilder<any, any>,
Id extends string | undefined = undefined,
>(
condition: Cond,
id?: Id,
): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, "where", Sql["wheres"]>>>;
): SelectQueryBuilder<
Schema,
WithWhere<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>
>;
whereIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(
whereIf<
Cond extends string | ConditionTreeBuilder<any, any>,
Id extends string | undefined = undefined,
>(
condition: boolean,
clause: Cond,
id?: Id,
): SelectQueryBuilder<Schema, WithWhere<Sql, CondText<Cond>, ResolveId<Id, "where", Sql["wheres"]>>>;
): SelectQueryBuilder<
Schema,
WithWhere<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>
>;

@@ -129,3 +159,3 @@ join<J extends string, Id extends string | undefined = undefined>(

id?: Id,
): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, "join", Sql["joins"]>>>;
): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, J>>>;

@@ -136,36 +166,72 @@ joinIf<J extends string, Id extends string | undefined = undefined>(

id?: Id,
): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, "join", Sql["joins"]>>>;
): SelectQueryBuilder<Schema, WithJoin<Sql, J, ResolveId<Id, J>>>;
groupBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
groupBy<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, "group", Sql["groupBys"]>>>;
): SelectQueryBuilder<
Schema,
WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>
>;
groupByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
groupByIf<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
condition: boolean,
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, "group", Sql["groupBys"]>>>;
): SelectQueryBuilder<
Schema,
WithGroupBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>
>;
having<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(
having<
Cond extends string | ConditionTreeBuilder<any, any>,
Id extends string | undefined = undefined,
>(
condition: Cond,
id?: Id,
): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, "having", Sql["havings"]>>>;
): SelectQueryBuilder<
Schema,
WithHaving<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>
>;
havingIf<Cond extends string | ConditionTreeBuilder<any, any>, Id extends string | undefined = undefined>(
havingIf<
Cond extends string | ConditionTreeBuilder<any, any>,
Id extends string | undefined = undefined,
>(
condition: boolean,
clause: Cond,
id?: Id,
): SelectQueryBuilder<Schema, WithHaving<Sql, CondText<Cond>, ResolveId<Id, "having", Sql["havings"]>>>;
): SelectQueryBuilder<
Schema,
WithHaving<Sql, CondText<Cond>, ResolveId<Id, CondText<Cond>>>
>;
orderBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
orderBy<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, "order", Sql["orderBys"]>>>;
): SelectQueryBuilder<
Schema,
WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>
>;
orderByIf<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(
orderByIf<
const Cols extends string | readonly string[],
Id extends string | undefined = undefined,
>(
condition: boolean,
columns: Cols,
id?: Id,
): SelectQueryBuilder<Schema, WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, "order", Sql["orderBys"]>>>;
): SelectQueryBuilder<
Schema,
WithOrderBy<Sql, ColsText<Cols>, ResolveId<Id, ColsText<Cols>>>
>;

@@ -182,13 +248,35 @@ /** Emit `SELECT DISTINCT`. Does not change the result column set. */

limit<const L extends number>(limit: L): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
limitIf<const L extends number>(condition: boolean, limit: L): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
offset<const O extends number>(offset: O): SelectQueryBuilder<Schema, WithOffset<Sql, O>>;
offsetIf<const O extends number>(condition: boolean, offset: O): SelectQueryBuilder<Schema, WithOffset<Sql, O>>;
limit<const L extends number>(
limit: L,
): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
limitIf<const L extends number>(
condition: boolean,
limit: L,
): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
offset<const O extends number>(
offset: O,
): SelectQueryBuilder<Schema, WithOffset<Sql, O>>;
offsetIf<const O extends number>(
condition: boolean,
offset: O,
): SelectQueryBuilder<Schema, WithOffset<Sql, O>>;
removeSelect<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutSelect<Sql, Id>>;
removeJoin<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutJoin<Sql, Id>>;
removeWhere<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutWhere<Sql, Id>>;
removeGroupBy<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutGroupBy<Sql, Id>>;
removeHaving<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutHaving<Sql, Id>>;
removeOrderBy<Id extends string>(id: Id): SelectQueryBuilder<Schema, WithoutOrderBy<Sql, Id>>;
removeSelect<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutSelect<Sql, Id>>;
removeJoin<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutJoin<Sql, Id>>;
removeWhere<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutWhere<Sql, Id>>;
removeGroupBy<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutGroupBy<Sql, Id>>;
removeHaving<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutHaving<Sql, Id>>;
removeOrderBy<Id extends string>(
id: Id,
): SelectQueryBuilder<Schema, WithoutOrderBy<Sql, Id>>;

@@ -213,3 +301,5 @@ // Runtime introspection over keyed clause state. Plain booleans — no

apply<Sql2 extends SqlTag>(
fn: (b: SelectQueryBuilder<Schema, Sql>) => SelectQueryBuilder<Schema, Sql2>,
fn: (
b: SelectQueryBuilder<Schema, Sql>,
) => SelectQueryBuilder<Schema, Sql2>,
): SelectQueryBuilder<Schema, Sql2>;

@@ -219,3 +309,5 @@

condition: boolean,
fn: (b: SelectQueryBuilder<Schema, Sql>) => SelectQueryBuilder<Schema, Sql2>,
fn: (
b: SelectQueryBuilder<Schema, Sql>,
) => SelectQueryBuilder<Schema, Sql2>,
): SelectQueryBuilder<Schema, FlagNewConditional<Sql, Sql2>>;

@@ -225,9 +317,9 @@

toString(): string;
toBrandedString(): string & { __type: BuilderResultBrand<Schema, Sql> };
toBrandedString(): string & { __type: BuilderResultBrand<Schema, Sql>; };
}
// (No `DefaultId`: idless calls resolve a type-level auto id via `ResolveId`
// in each method's return type — see below.)
class SelectQueryBuilderImpl<Schema extends DatabaseSchema, Sql extends SqlTag> {
class SelectQueryBuilderImpl<
Schema extends DatabaseSchema,
Sql extends SqlTag,
> {
readonly _state: RuntimeSelectState;

@@ -248,9 +340,7 @@

select(columns: string | readonly string[], id?: string): any {
const rawCols = Array.isArray(columns) ? [...columns] : [columns as string];
const cols = rawCols.length > 0 ? [...rawCols] : [];
const key = id ?? nextAutoId(
"select",
Object.keys(this._state.selectSql).length,
candidate => candidate in this._state.selectSql,
);
const rawCols = Array.isArray(columns)
? [ ...columns ]
: [ columns as string ];
const cols = rawCols.length > 0 ? [ ...rawCols ] : [];
const key = id ?? cols.join(", ");
return this.next(this.clone({

@@ -261,7 +351,16 @@ selectSql: { ...this._state.selectSql, [key]: cols },

selectIf(condition: boolean, columns: string | readonly string[], id?: string): any {
selectIf(
condition: boolean,
columns: string | readonly string[],
id?: string,
): any {
return condition ? this.select(columns, id) : this.next(this._state);
}
from(source: string | { toString(): string; getParams(): ReadonlyArray<QueryParamValue> }): any {
from(
source: string | {
toString(): string;
getParams(): ReadonlyArray<QueryParamValue>;
},
): any {
let fromSql: string;

@@ -274,5 +373,5 @@ if (typeof source === "string") {

throw new Error(
"from() does not support a parameterized subquery builder: the inner " +
"builder carries params that cannot be merged into the outer query. " +
"Inline the subquery as a string or remove its params.",
"from() does not support a parameterized subquery builder: the inner "
+ "builder carries params that cannot be merged into the outer query. "
+ "Inline the subquery as a string or remove its params.",
);

@@ -285,3 +384,6 @@ }

where(condition: string | ConditionTreeBuilder<any, any>, id?: string): any {
where(
condition: string | ConditionTreeBuilder<any, any>,
id?: string,
): any {
// An empty condition tree contributes nothing — treat it as a no-op

@@ -293,12 +395,16 @@ // (same as a false whereIf) so we never emit an invalid `WHERE ()`.

}
const key = id ?? nextAutoId(
"where",
Object.keys(this._state.whereSql).length,
candidate => candidate in this._state.whereSql,
const sql = typeof condition === "string"
? condition
: condition.toString();
const key = id ?? sql;
return this.next(
this.clone({ whereSql: { ...this._state.whereSql, [key]: sql } }),
);
const sql = typeof condition === "string" ? condition : condition.toString();
return this.next(this.clone({ whereSql: { ...this._state.whereSql, [key]: sql } }));
}
whereIf(condition: boolean, clause: string | ConditionTreeBuilder<any, any>, id?: string): any {
whereIf(
condition: boolean,
clause: string | ConditionTreeBuilder<any, any>,
id?: string,
): any {
return condition ? this.where(clause, id) : this.next(this._state);

@@ -308,7 +414,3 @@ }

join(joinSql: string, id?: string): any {
const key = id ?? nextAutoId(
"join",
this._state.joins.length,
candidate => this._state.joins.some(j => j.id === candidate),
);
const key = id ?? joinSql;
// Idempotent by id: re-joining an existing id only replaces its SQL in

@@ -318,3 +420,5 @@ // joinSql below, keeping the ordering array (and thus its FROM-chain

const existing = this._state.joins.some(j => j.id === key);
const nextJoins = existing ? this._state.joins : [...this._state.joins, { id: key }];
const nextJoins = existing
? this._state.joins
: [ ...this._state.joins, { id: key } ];
return this.next(this.clone({

@@ -331,18 +435,26 @@ joinSql: { ...this._state.joinSql, [key]: joinSql },

groupBy(columns: string | readonly string[], id?: string): any {
const rawCols = Array.isArray(columns) ? [...columns] : [columns as string];
const key = id ?? nextAutoId(
"group",
Object.keys(this._state.groupBySql).length,
candidate => candidate in this._state.groupBySql,
);
const rawCols = Array.isArray(columns)
? [ ...columns ]
: [ columns as string ];
const key = id ?? rawCols.join(", ");
return this.next(this.clone({
groupBySql: { ...this._state.groupBySql, [key]: rawCols.join(", ") },
groupBySql: {
...this._state.groupBySql,
[key]: rawCols.join(", "),
},
}));
}
groupByIf(condition: boolean, columns: string | readonly string[], id?: string): any {
groupByIf(
condition: boolean,
columns: string | readonly string[],
id?: string,
): any {
return condition ? this.groupBy(columns, id) : this.next(this._state);
}
having(condition: string | ConditionTreeBuilder<any, any>, id?: string): any {
having(
condition: string | ConditionTreeBuilder<any, any>,
id?: string,
): any {
// An empty condition tree is a no-op (see where()): never emit

@@ -353,12 +465,16 @@ // `HAVING ()`. String conditions are applied verbatim.

}
const key = id ?? nextAutoId(
"having",
Object.keys(this._state.havingSql).length,
candidate => candidate in this._state.havingSql,
const sql = typeof condition === "string"
? condition
: condition.toString();
const key = id ?? sql;
return this.next(
this.clone({ havingSql: { ...this._state.havingSql, [key]: sql } }),
);
const sql = typeof condition === "string" ? condition : condition.toString();
return this.next(this.clone({ havingSql: { ...this._state.havingSql, [key]: sql } }));
}
havingIf(condition: boolean, clause: string | ConditionTreeBuilder<any, any>, id?: string): any {
havingIf(
condition: boolean,
clause: string | ConditionTreeBuilder<any, any>,
id?: string,
): any {
return condition ? this.having(clause, id) : this.next(this._state);

@@ -368,14 +484,19 @@ }

orderBy(columns: string | readonly string[], id?: string): any {
const rawCols = Array.isArray(columns) ? [...columns] : [columns as string];
const key = id ?? nextAutoId(
"order",
Object.keys(this._state.orderBySql).length,
candidate => candidate in this._state.orderBySql,
);
const rawCols = Array.isArray(columns)
? [ ...columns ]
: [ columns as string ];
const key = id ?? rawCols.join(", ");
return this.next(this.clone({
orderBySql: { ...this._state.orderBySql, [key]: rawCols.join(", ") },
orderBySql: {
...this._state.orderBySql,
[key]: rawCols.join(", "),
},
}));
}
orderByIf(condition: boolean, columns: string | readonly string[], id?: string): any {
orderByIf(
condition: boolean,
columns: string | readonly string[],
id?: string,
): any {
return condition ? this.orderBy(columns, id) : this.next(this._state);

@@ -389,3 +510,5 @@ }

distinctOn(columns: string | readonly string[]): any {
const cols = Array.isArray(columns) ? columns.join(", ") : (columns as string);
const cols = Array.isArray(columns)
? columns.join(", ")
: (columns as string);
return this.next(this.clone({ distinctOn: cols }));

@@ -424,3 +547,5 @@ }

}
return this.next(this.clone({ joinSql: nextJoinSql, joins: nextJoins }));
return this.next(
this.clone({ joinSql: nextJoinSql, joins: nextJoins }),
);
}

@@ -510,6 +635,19 @@

const namedParams = this._state.namedParams;
if (this._state.namedParamsBound || Object.keys(namedParams).length > 0) {
if (
this._state.namedParamsBound || Object.keys(namedParams).length > 0
) {
const sql = assembleSelectSQLPreSub(this._state);
assertAllNamedParamsProvided(sql, namedParams);
return collectParamValues(sql, namedParams);
assertAllProvided(sql, namedParams);
// IN-list-gated value collection (spec §6.5), shared with writes: an
// array bound outside `IN (...)` (e.g. `= ANY(:ids)`) passes through
// as ONE array value rather than being spread into N scalars. Such a
// value is the array itself (a `readonly SqlValue[]`-shaped driver
// param, serialized by the adapter), which the scalar-typed
// `QueryParamValue` return doesn't name — so cast at this boundary.
// The public return type is kept narrow (not widened to `unknown`) so
// consumers whose `select()` requires `getParams(): SqlValue[]` still
// accept the builder; the driver handles the array at runtime.
return collectScanned(sql, namedParams) as ReadonlyArray<
QueryParamValue
>;
}

@@ -542,4 +680,8 @@ return this._state.params;

export function createSelectQuery<Schema extends DatabaseSchema>(): SelectQueryBuilder<Schema, EmptySqlTag> {
return new SelectQueryBuilderImpl<Schema, EmptySqlTag>(EMPTY_RUNTIME_STATE) as unknown as SelectQueryBuilder<Schema, EmptySqlTag>;
export function createSelectQuery<
Schema extends DatabaseSchema,
>(): SelectQueryBuilder<Schema, EmptySqlTag> {
return new SelectQueryBuilderImpl<Schema, EmptySqlTag>(
EMPTY_RUNTIME_STATE,
) as unknown as SelectQueryBuilder<Schema, EmptySqlTag>;
}

@@ -53,12 +53,8 @@ // src/builder/sql-tag.ts

// (`fn<Schema, Sql extends SqlTag>(b)`), `Sql["wheres"]` is the symbolic
// `readonly Frag[]` and the auto id becomes a `where_${number}` pattern; the
// tuple recursion then matches a variadic `[...Frag[], X]` and TS widens the
// inferred head `H` to the declared bound. With the looser `{ id: string }` bound
// that widened element drops `text`, so the accumulated list is no longer
// assignable to `readonly Frag[]` and any downstream `Sql2 extends SqlTag` check
// (e.g. `setPeriod(b)`) fails. Both `Frag` AND `SelFrag` carry `id` + `text`, so
// the tighter bound keeps the widened element `Frag`-assignable while leaving
// concrete-tuple inference (every literal `EmptySqlTag` chain) unchanged — the
// bound is only an upper limit; exact element types are still inferred for real
// tuples.
// `readonly Frag[]`; tuple recursion can then widen the inferred head `H` to the
// declared bound. With the looser `{ id: string }` bound that widened element
// drops `text`, so the accumulated list is no longer assignable to
// `readonly Frag[]` and downstream `Sql2 extends SqlTag` checks fail. Both
// `Frag` and `SelFrag` carry `id` + `text`, so the tighter bound keeps the
// widened element `Frag`-assignable while concrete tuples remain exact.
type HasId<List extends readonly { id: string }[], Id extends string> =

@@ -96,28 +92,9 @@ List extends readonly [infer H extends { id: string; text: string }, ...infer R extends readonly { id: string; text: string }[]]

type MkTuple<N extends number, Acc extends any[] = []> =
Acc["length"] extends N ? Acc : MkTuple<N, [any, ...Acc]>;
type AutoIdFrom<
Prefix extends string,
List extends readonly { id: string }[],
N extends any[],
> = HasId<List, `${Prefix}_${N["length"] & number}`> extends true
? AutoIdFrom<Prefix, List, [any, ...N]>
: `${Prefix}_${N["length"] & number}`;
// --- type-level auto-id (mirrors runtime first-unused `<prefix>_${n}`) ---
// Normal append-only chains keep the old ids (`where_0`, `where_1`, ...). After
// removal, start at the current count and skip any surviving id to avoid
// replacing an unrelated fragment.
export type AutoId<Prefix extends string, List extends readonly { id: string }[]> =
number extends List["length"]
? `${Prefix}_${number}`
: AutoIdFrom<Prefix, List, MkTuple<List["length"] & number>>;
// An explicit caller id wins; `undefined` → the clause's auto id.
// An explicit caller id wins; otherwise the rendered SQL text is the fragment
// id. This makes implicit identical fragments idempotent and avoids maintaining
// a second type-level/runtime auto-id algorithm.
export type ResolveId<
Provided extends string | undefined,
Prefix extends string,
List extends readonly { id: string }[],
> = Provided extends string ? Provided : AutoId<Prefix, List>;
Text extends string,
> = [Provided] extends [undefined] ? Text : Provided & string;

@@ -124,0 +101,0 @@ // --- per-clause `With*` helpers used by select.ts ---

@@ -10,2 +10,10 @@ import type { AnyTrue, Simplify, UnionToIntersection } from "./utils.js";

functions?: Record<string, FunctionSignature>;
// Optional schema-wide cast-target map, keyed by the cast's target type name
// alone (case-insensitive, unqualified): `citext → string`, `geometry →
// Geometry`, a domain, an enum union. The per-schema counterpart to the
// augmentable `PgTypeOverrides`. Only consulted for cast targets the built-in
// scalar map can't resolve (the uninformative gate — see `CastTypeToTs`), so
// it names CUSTOM types and never silently redefines a built-in like `::text`.
// Absent ⇒ identical behavior to before this field existed.
casts?: Record<string, any>;
};

@@ -15,6 +23,9 @@

// (e.g. `number | null` for a nullable numeric function). `params` is RESERVED
// for future argument-type validation and is NOT consumed anywhere yet.
// for future argument-type validation and is NOT consumed anywhere yet. `casts`
// maps a cast target name → the TS type FOR THIS function (`ST_AsGeoJSON(...)::json
// → Point | null`), for targets determinate only in combination with this call.
export type FunctionSignature = {
returns: any;
params?: readonly any[];
casts?: Record<string, any>;
};

@@ -188,1 +199,35 @@

: false;
// Schema-wide cast-target resolver. `Name` is the already-normalized target type
// key (lowercased, qualifier-/array-stripped — see `NormalizeCastKey`). Yields
// the declared TS type, or `never` when the schema declares no `casts` map or the
// key is absent (caller falls through to the built-in). The `S extends { casts }`
// guard makes a schema WITHOUT the field zero-cost — the lookup never
// instantiates. `[K] extends [never]` short-circuits the missing-key case without
// distributing.
export type SchemaCastType<Name extends string, S extends DatabaseSchema> =
S extends { casts: infer C extends Record<string, any> }
? MatchKeyCaseInsensitive<C, Name> extends infer K extends string
? [K] extends [never]
? never
: C[K]
: never
: never;
// Per-function cast-target resolver. Mirrors `SchemaCastType` but keyed under a
// specific function's `casts` map (`functions[Func].casts[Name]`). Yields `never`
// when the function is undeclared, declares no `casts` map, or the key is absent.
// The most specific of the cast maps — an explicit entry is deliberate intent, so
// the caller lets it win even over a built-in target.
export type FunctionCastType<Func extends string, Name extends string, S extends DatabaseSchema> =
SchemaFunctionSig<Func, S> extends infer Sig
? [Sig] extends [never]
? never
: Sig extends { casts: infer C extends Record<string, any> }
? MatchKeyCaseInsensitive<C, Name> extends infer K extends string
? [K] extends [never]
? never
: C[K]
: never
: never
: never;

@@ -25,2 +25,20 @@ // Shared boolean and type utilities.

// True when `T` is exactly `unknown` (or `any`). Used to detect a cast whose
// target type carries no useful information (e.g. `::json` -> `unknown`), so a
// modeled function's declared return can take precedence over it.
//
// Robust under `strictNullChecks: false`: a naked `unknown extends T` ALSO matches
// any object type whose properties are ALL optional (under SNC-false such a type
// behaves like `{}`), which would misclassify a real object column as the
// uninformative top type. Excluding `object` keeps the test to genuine top types;
// `any` is detected up front (via `0 extends 1 & T`) so it still qualifies.
export type IsUnknown<T> =
0 extends (1 & T)
? true
: [T] extends [never]
? false
: [unknown] extends [T]
? [T] extends [object] ? false : true
: false;
// True when `T` is a union of two or more members. A single member (or `never`)

@@ -27,0 +45,0 @@ // is not a union. Used to test that a JOIN ... USING column exists on more than

// SELECT/RETURNING result inference + select-return assembly.
import type { AliasesInQuery, NullableRelations, TablesInQuery } from "../tables.js";
import type { AllTrue, MergeRow, Simplify } from "../utils.js";
import type { AllTrue, IsUnknown, MergeRow, Simplify } from "../utils.js";
import type { CleanIdent, ExtractAlias, ExtractAliasResult, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries, Trim } from "../parsing.js";

@@ -181,6 +181,6 @@ import type { ColumnExists, DatabaseSchema } from "../schema.js";

// `true` for the `unknown` top type only (a column whose type we couldn't infer).
// `[unknown] extends [T]` holds only when T is `unknown` (or `any`, which never
// reaches here from inference). Guard `never` first so `[never]` doesn't qualify.
type IsUnknown<T> = [T] extends [never] ? false : [unknown] extends [T] ? true : false;
// `IsUnknown` (from utils) is `true` only for the `unknown`/`any` top type — a
// column whose type we couldn't infer. It is robust under `strictNullChecks:
// false`, where a naive `[unknown] extends [T]` would ALSO match an all-optional
// object column (e.g. a jsonb-overlay shape) and wrongly drop it here.

@@ -187,0 +187,0 @@ // Of two types for the SAME duplicate output alias, pick the more informative:

Sorry, the diff of this file is too big to display