@kuindji/typed-sql 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/builder/assemble.d.ts.map +1 -1
- package/dist/builder/assemble.js +9 -10
- package/dist/builder/assemble.js.map +1 -1
- package/dist/builder/conditional-sql.d.ts +7 -2
- package/dist/builder/conditional-sql.d.ts.map +1 -1
- package/dist/builder/conditional-sql.js +9 -22
- package/dist/builder/conditional-sql.js.map +1 -1
- package/dist/builder/params.d.ts +2 -1
- package/dist/builder/params.d.ts.map +1 -1
- package/dist/builder/params.js +34 -27
- package/dist/builder/params.js.map +1 -1
- package/dist/builder/select.d.ts +7 -0
- package/dist/builder/select.d.ts.map +1 -1
- package/dist/builder/select.js +7 -2
- package/dist/builder/select.js.map +1 -1
- package/dist/builder/state.d.ts +3 -6
- package/dist/builder/state.d.ts.map +1 -1
- package/dist/builder/state.js +1 -2
- package/dist/builder/state.js.map +1 -1
- package/dist/expressions.d.ts +12 -6
- package/dist/expressions.d.ts.map +1 -1
- package/dist/parsing/extract.d.ts +2 -1
- package/dist/parsing/extract.d.ts.map +1 -1
- package/dist/parsing/normalize.d.ts +10 -5
- package/dist/parsing/normalize.d.ts.map +1 -1
- package/dist/parsing/pg-literals.d.ts +2 -2
- package/dist/parsing/pg-literals.d.ts.map +1 -1
- package/dist/parsing/tokenize.d.ts +8 -6
- package/dist/parsing/tokenize.d.ts.map +1 -1
- package/dist/tables.d.ts +2 -2
- package/dist/tables.d.ts.map +1 -1
- package/dist/validation/dispatch.d.ts +3 -1
- package/dist/validation/dispatch.d.ts.map +1 -1
- package/dist/validation/return-derived.d.ts +8 -4
- package/dist/validation/return-derived.d.ts.map +1 -1
- package/dist/validation/return-derived.js.map +1 -1
- package/dist/validation/return-types.d.ts +1 -1
- package/dist/validation/return-types.d.ts.map +1 -1
- package/dist/validation/validate-columns.d.ts +17 -6
- package/dist/validation/validate-columns.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/builder/assemble.ts +9 -13
- package/src/builder/conditional-sql.ts +9 -27
- package/src/builder/params.ts +33 -27
- package/src/builder/select.ts +19 -2
- package/src/builder/state.ts +4 -6
- package/src/expressions.ts +47 -7
- package/src/parsing/extract.ts +18 -4
- package/src/parsing/normalize.ts +143 -48
- package/src/parsing/pg-literals.ts +23 -12
- package/src/parsing/tokenize.ts +56 -23
- package/src/tables.ts +35 -4
- package/src/validation/dispatch.ts +21 -3
- package/src/validation/return-derived.ts +60 -4
- package/src/validation/return-types.ts +9 -3
- package/src/validation/validate-columns.ts +123 -13
package/README.md
CHANGED
|
@@ -103,6 +103,13 @@ const q = createSelectQuery<Schema>()
|
|
|
103
103
|
q.toString(); // "SELECT u.id FROM users u WHERE u.id = $1"
|
|
104
104
|
[...q.getParams()]; // [42] ← named params expanded to $1, $2… in order
|
|
105
105
|
|
|
106
|
+
// DISTINCT / DISTINCT ON (PostgreSQL). Neither changes the inferred row shape.
|
|
107
|
+
createSelectQuery<Schema>().from("users u").select("u.id").distinct().toString();
|
|
108
|
+
// "SELECT DISTINCT u.id FROM users u"
|
|
109
|
+
createSelectQuery<Schema>()
|
|
110
|
+
.from("users u").select("u.id").distinctOn("u.email").orderBy("u.email").toString();
|
|
111
|
+
// "SELECT DISTINCT ON (u.email) u.id FROM users u ORDER BY u.email"
|
|
112
|
+
|
|
106
113
|
// Wire YOUR driver. The library never touches the DB itself.
|
|
107
114
|
const select = createSelectFn<Schema>((sql, params) => pg.query(sql, params));
|
|
108
115
|
const rows = await select(q); // rows typed from the builder's inferred result
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAiFnE"}
|
package/dist/builder/assemble.js
CHANGED
|
@@ -12,14 +12,16 @@ import { expandNamedParams } from "./params.js";
|
|
|
12
12
|
*/
|
|
13
13
|
export function assembleSelectSQL(state) {
|
|
14
14
|
const parts = [];
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
// `SELECT` / `SELECT DISTINCT` / `SELECT DISTINCT ON (...)` prefix, shared
|
|
16
|
+
// by the projected and `*` paths.
|
|
17
|
+
const distinctPrefix = state.distinctOn
|
|
18
|
+
? `SELECT DISTINCT ON (${state.distinctOn})`
|
|
19
|
+
: state.distinct
|
|
20
|
+
? "SELECT DISTINCT"
|
|
21
|
+
: "SELECT";
|
|
20
22
|
const selectIds = Object.keys(state.selectSql);
|
|
21
23
|
if (selectIds.length === 0) {
|
|
22
|
-
parts.push(
|
|
24
|
+
parts.push(`${distinctPrefix} *`);
|
|
23
25
|
}
|
|
24
26
|
else {
|
|
25
27
|
const selectFragments = [];
|
|
@@ -32,7 +34,7 @@ export function assembleSelectSQL(state) {
|
|
|
32
34
|
const selectSql = selectFragments.length > 0
|
|
33
35
|
? selectFragments.join(", ")
|
|
34
36
|
: "*";
|
|
35
|
-
parts.push(
|
|
37
|
+
parts.push(`${distinctPrefix} ${selectSql}`);
|
|
36
38
|
}
|
|
37
39
|
if (state.fromSql) {
|
|
38
40
|
parts.push(`FROM ${state.fromSql}`);
|
|
@@ -73,9 +75,6 @@ export function assembleSelectSQL(state) {
|
|
|
73
75
|
if (typeof state.offset === "number") {
|
|
74
76
|
parts.push(`OFFSET ${state.offset}`);
|
|
75
77
|
}
|
|
76
|
-
if (state.unionSql) {
|
|
77
|
-
parts.push(state.unionSql);
|
|
78
|
-
}
|
|
79
78
|
const sql = parts.join(" ");
|
|
80
79
|
const namedParams = state.namedParams;
|
|
81
80
|
if (namedParams && Object.keys(namedParams).length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,
|
|
1
|
+
{"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/builder/assemble.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DatabaseSchema } from "../schema.js";
|
|
2
2
|
import type { GetReturnType, ValidateSQL } from "../index.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type QueryParamValue } from "./params.js";
|
|
4
4
|
export interface ConditionalSQLOptions {
|
|
5
5
|
/** If true, preserves conditional comment markers in output (debugging). */
|
|
6
6
|
preserveMarkers?: boolean;
|
|
@@ -13,7 +13,12 @@ export interface ConditionalSQLOutput {
|
|
|
13
13
|
}
|
|
14
14
|
/** Process conditional blocks in a SQL template (innermost-first, iterative). */
|
|
15
15
|
export declare function processConditionalSQL(template: string, conditions: Record<string, unknown>): string;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Convert :name placeholders to positional $n; return processed SQL + values.
|
|
18
|
+
* Delegates to the shared scanner-backed expander (params.ts) so a `:name`
|
|
19
|
+
* inside a string literal, comment, or `::cast` is left alone, and a used param
|
|
20
|
+
* whose value is `undefined` throws instead of silently passing through.
|
|
21
|
+
*/
|
|
17
22
|
export declare function processParams(sql: string, params: Record<string, QueryParamValue>): ConditionalSQLOutput;
|
|
18
23
|
/** Process a template with both conditions and parameters. */
|
|
19
24
|
export declare function conditionalSQL(template: string, conditions: Record<string, unknown>, params?: Record<string, QueryParamValue>): ConditionalSQLOutput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-sql.d.ts","sourceRoot":"","sources":["../../src/builder/conditional-sql.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"conditional-sql.d.ts","sourceRoot":"","sources":["../../src/builder/conditional-sql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { collectParamValues, expandNamedParams } from "./params.js";
|
|
1
2
|
/** Get a nested value from an object using dot notation. */
|
|
2
3
|
function getNestedValue(obj, path) {
|
|
3
4
|
const keys = path.split(".");
|
|
@@ -33,30 +34,16 @@ export function processConditionalSQL(template, conditions) {
|
|
|
33
34
|
}
|
|
34
35
|
return result;
|
|
35
36
|
}
|
|
36
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Convert :name placeholders to positional $n; return processed SQL + values.
|
|
39
|
+
* Delegates to the shared scanner-backed expander (params.ts) so a `:name`
|
|
40
|
+
* inside a string literal, comment, or `::cast` is left alone, and a used param
|
|
41
|
+
* whose value is `undefined` throws instead of silently passing through.
|
|
42
|
+
*/
|
|
37
43
|
export function processParams(sql, params) {
|
|
38
|
-
// Find all param references in order of first appearance.
|
|
39
|
-
const paramRegex = /:([a-zA-Z_][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])/g;
|
|
40
|
-
const usedParams = [];
|
|
41
|
-
let match;
|
|
42
|
-
while ((match = paramRegex.exec(sql)) !== null) {
|
|
43
|
-
const name = match[1];
|
|
44
|
-
if (name in params && !usedParams.includes(name)) {
|
|
45
|
-
usedParams.push(name);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Replace each param with positional placeholder.
|
|
49
|
-
let processedSql = sql;
|
|
50
|
-
for (let i = 0; i < usedParams.length; i++) {
|
|
51
|
-
const name = usedParams[i];
|
|
52
|
-
const regex = new RegExp(`:${name}(?![a-zA-Z0-9_])`, "g");
|
|
53
|
-
processedSql = processedSql.replace(regex, `$${i + 1}`);
|
|
54
|
-
}
|
|
55
|
-
// Extract param values in order.
|
|
56
|
-
const paramValues = usedParams.map(name => params[name]);
|
|
57
44
|
return {
|
|
58
|
-
sql:
|
|
59
|
-
params:
|
|
45
|
+
sql: expandNamedParams(sql, params),
|
|
46
|
+
params: collectParamValues(sql, params),
|
|
60
47
|
};
|
|
61
48
|
}
|
|
62
49
|
/** Process a template with both conditions and parameters. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-sql.js","sourceRoot":"","sources":["../../src/builder/conditional-sql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conditional-sql.js","sourceRoot":"","sources":["../../src/builder/conditional-sql.ts"],"names":[],"mappings":"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"}
|
package/dist/builder/params.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ export type QueryParamValue = string | number | boolean | null;
|
|
|
11
11
|
export type QueryParamInput = QueryParamValue | readonly QueryParamValue[] | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Replace :name placeholders with $n positional placeholders, ordered by
|
|
14
|
-
* first appearance. Array values expand to consecutive placeholders.
|
|
14
|
+
* first appearance. Array values expand to consecutive placeholders. A `:name`
|
|
15
|
+
* inside a string literal / comment / `::cast` is not a placeholder.
|
|
15
16
|
*/
|
|
16
17
|
export declare function expandNamedParams(sql: string, params: Record<string, QueryParamInput>): string;
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/builder/params.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/builder/params.ts"],"names":[],"mappings":"AAGA,gEAAgE;AAChE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GACrB,eAAe,GACf,SAAS,eAAe,EAAE,GAC1B,SAAS,CAAC;AAuBhB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACxC,MAAM,CAyBR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACxC,eAAe,EAAE,CAkBnB"}
|
package/dist/builder/params.js
CHANGED
|
@@ -1,43 +1,50 @@
|
|
|
1
1
|
// src/builder/params.ts
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
2
|
+
import { scanPlaceholders } from "./scanner.js";
|
|
3
|
+
// Placeholder detection is delegated to the shared scanner (scanner.ts), so the
|
|
4
|
+
// SELECT / conditional-SQL path skips string literals, comments, dollar-quotes,
|
|
5
|
+
// and `::cast` types exactly like the write builders — a single source of truth
|
|
6
|
+
// for what counts as a real `:name`. Array values still expand UNCONDITIONALLY
|
|
7
|
+
// here (any position), which is the builder's long-standing semantics and
|
|
8
|
+
// differs from the scanner's IN-list-gated expansion used by createSql/mutate.
|
|
6
9
|
/** Param names in order of first appearance that are present in `params`. */
|
|
7
|
-
function usedParamNames(
|
|
10
|
+
function usedParamNames(occ, params) {
|
|
8
11
|
const used = [];
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const name = match[1];
|
|
13
|
-
if (name in params && !used.includes(name)) {
|
|
14
|
-
used.push(name);
|
|
12
|
+
for (const o of occ) {
|
|
13
|
+
if (o.name in params && !used.includes(o.name)) {
|
|
14
|
+
used.push(o.name);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
return used;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Replace :name placeholders with $n positional placeholders, ordered by
|
|
21
|
-
* first appearance. Array values expand to consecutive placeholders.
|
|
21
|
+
* first appearance. Array values expand to consecutive placeholders. A `:name`
|
|
22
|
+
* inside a string literal / comment / `::cast` is not a placeholder.
|
|
22
23
|
*/
|
|
23
24
|
export function expandNamedParams(sql, params) {
|
|
24
|
-
const
|
|
25
|
-
|
|
25
|
+
const occ = scanPlaceholders(sql);
|
|
26
|
+
const used = usedParamNames(occ, params);
|
|
27
|
+
// First-appearance starting position for each used name; arrays reserve a
|
|
28
|
+
// contiguous block, repeats reuse the same block.
|
|
29
|
+
const startPos = new Map();
|
|
26
30
|
let position = 1;
|
|
27
31
|
for (const name of used) {
|
|
32
|
+
startPos.set(name, position);
|
|
28
33
|
const value = params[name];
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
position += Array.isArray(value) ? value.length : 1;
|
|
35
|
+
}
|
|
36
|
+
// Rewrite right-to-left so earlier indices stay valid as we splice.
|
|
37
|
+
let out = sql;
|
|
38
|
+
for (let k = occ.length - 1; k >= 0; k--) {
|
|
39
|
+
const o = occ[k];
|
|
40
|
+
const p = startPos.get(o.name);
|
|
41
|
+
if (p === undefined)
|
|
42
|
+
continue; // not provided → left as literal :name
|
|
43
|
+
const value = params[o.name];
|
|
44
|
+
const replacement = Array.isArray(value)
|
|
45
|
+
? value.map((_, i) => `$${p + i}`).join(", ")
|
|
46
|
+
: `$${p}`;
|
|
47
|
+
out = out.slice(0, o.start) + replacement + out.slice(o.end);
|
|
41
48
|
}
|
|
42
49
|
return out;
|
|
43
50
|
}
|
|
@@ -46,7 +53,7 @@ export function expandNamedParams(sql, params) {
|
|
|
46
53
|
* value is undefined.
|
|
47
54
|
*/
|
|
48
55
|
export function collectParamValues(sql, params) {
|
|
49
|
-
const used = usedParamNames(sql, params);
|
|
56
|
+
const used = usedParamNames(scanPlaceholders(sql), params);
|
|
50
57
|
const result = [];
|
|
51
58
|
for (const name of used) {
|
|
52
59
|
const value = params[name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/builder/params.ts"],"names":[],"mappings":"AAAA,wBAAwB;
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/builder/params.ts"],"names":[],"mappings":"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"}
|
package/dist/builder/select.d.ts
CHANGED
|
@@ -43,6 +43,13 @@ export interface SelectQueryBuilder<Schema extends DatabaseSchema, Sql extends S
|
|
|
43
43
|
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"]>>>;
|
|
44
44
|
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"]>>>;
|
|
45
45
|
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"]>>>;
|
|
46
|
+
/** Emit `SELECT DISTINCT`. Does not change the result column set. */
|
|
47
|
+
distinct(): SelectQueryBuilder<Schema, Sql>;
|
|
48
|
+
/**
|
|
49
|
+
* Emit `SELECT DISTINCT ON (columns)` (PostgreSQL). Does not change the
|
|
50
|
+
* result column set; pair with a matching ORDER BY for deterministic rows.
|
|
51
|
+
*/
|
|
52
|
+
distinctOn<const Cols extends string | readonly string[]>(columns: Cols): SelectQueryBuilder<Schema, Sql>;
|
|
46
53
|
limit<const L extends number>(limit: L): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
|
|
47
54
|
limitIf<const L extends number>(condition: boolean, limit: L): SelectQueryBuilder<Schema, WithLimit<Sql, L>>;
|
|
48
55
|
offset<const O extends number>(offset: O): SelectQueryBuilder<Schema, WithOffset<Sql, O>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}
|
package/dist/builder/select.js
CHANGED
|
@@ -103,6 +103,13 @@ class SelectQueryBuilderImpl {
|
|
|
103
103
|
orderByIf(condition, columns, id) {
|
|
104
104
|
return condition ? this.orderBy(columns, id) : this.next(this._state);
|
|
105
105
|
}
|
|
106
|
+
distinct() {
|
|
107
|
+
return this.next(this.clone({ distinct: true }));
|
|
108
|
+
}
|
|
109
|
+
distinctOn(columns) {
|
|
110
|
+
const cols = Array.isArray(columns) ? columns.join(", ") : columns;
|
|
111
|
+
return this.next(this.clone({ distinctOn: cols }));
|
|
112
|
+
}
|
|
106
113
|
limit(limit) {
|
|
107
114
|
return this.next(this.clone({ limit }));
|
|
108
115
|
}
|
|
@@ -223,7 +230,6 @@ class SelectQueryBuilderImpl {
|
|
|
223
230
|
// getParams scans fragments joined by " " BEFORE $n substitution).
|
|
224
231
|
function assembleSelectSQLPreSub(state) {
|
|
225
232
|
return [
|
|
226
|
-
...Object.values(state.cteSql),
|
|
227
233
|
...Object.values(state.selectSql).flat(),
|
|
228
234
|
state.fromSql ?? "",
|
|
229
235
|
...Object.values(state.joinSql),
|
|
@@ -231,7 +237,6 @@ function assembleSelectSQLPreSub(state) {
|
|
|
231
237
|
...Object.values(state.groupBySql),
|
|
232
238
|
...Object.values(state.havingSql),
|
|
233
239
|
...Object.values(state.orderBySql),
|
|
234
|
-
state.unionSql ?? "",
|
|
235
240
|
].join(" ");
|
|
236
241
|
}
|
|
237
242
|
export function createSelectQuery() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/builder/select.ts"],"names":[],"mappings":"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"}
|
package/dist/builder/state.d.ts
CHANGED
|
@@ -35,13 +35,10 @@ export interface RuntimeSelectState {
|
|
|
35
35
|
readonly orderBySql: {
|
|
36
36
|
readonly [id: string]: string;
|
|
37
37
|
};
|
|
38
|
-
/**
|
|
39
|
-
readonly cteSql: {
|
|
40
|
-
readonly [id: string]: string;
|
|
41
|
-
};
|
|
42
|
-
/** Raw UNION fragment (if any). */
|
|
43
|
-
readonly unionSql?: string;
|
|
38
|
+
/** SELECT DISTINCT when true (ignored if `distinctOn` is set). */
|
|
44
39
|
readonly distinct: boolean;
|
|
40
|
+
/** SELECT DISTINCT ON (...) expression list, if set (already joined). */
|
|
41
|
+
readonly distinctOn?: string;
|
|
45
42
|
readonly limit?: number;
|
|
46
43
|
readonly offset?: number;
|
|
47
44
|
/** Legacy positional params (kept for getParams() fallback). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/builder/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IACxD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACtD,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/builder/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IACxD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACtD,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,mBAAmB,EAAE,kBAejC,CAAC"}
|
package/dist/builder/state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/builder/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/builder/state.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;CAClB,CAAC"}
|
package/dist/expressions.d.ts
CHANGED
|
@@ -10,10 +10,13 @@ export type ExprToObject<E extends string, Tables extends string, Aliases extend
|
|
|
10
10
|
} ? IsIgnorableRuntimeExpr<RawExpr> extends true ? [Alias] extends [never] ? {} : Alias extends string ? {
|
|
11
11
|
[K in Alias]: unknown;
|
|
12
12
|
} : {} : [Alias] extends [never] ? CleanIdent<RawExpr> extends "*" ? RowTypeForTables<Tables, S> : CleanIdent<RawExpr> extends `${infer T}.*` ? MaybeNullableRow<RowTypeForTable<ResolveTableKey<CleanIdent<T>, Tables, Aliases, S>, S>, T, Nullable> : ExprKey<E, Tables, Aliases, S> extends infer Key extends string | never ? Key extends string ? {
|
|
13
|
-
[K in Key]: ApplyProjectionNull<ExprType<RawExpr, Tables, Aliases, S>, RawExpr, Tables, Aliases, S, Nullable>;
|
|
13
|
+
[K in Key]: NeverToUnknown<ApplyProjectionNull<ExprType<RawExpr, Tables, Aliases, S>, RawExpr, Tables, Aliases, S, Nullable>, RawExpr>;
|
|
14
14
|
} : Record<string, unknown> : Record<string, unknown> : Alias extends string ? {
|
|
15
|
-
[K in Alias]: ApplyProjectionNull<ExprType<RawExpr, Tables, Aliases, S>, RawExpr, Tables, Aliases, S, Nullable>;
|
|
15
|
+
[K in Alias]: NeverToUnknown<ApplyProjectionNull<ExprType<RawExpr, Tables, Aliases, S>, RawExpr, Tables, Aliases, S, Nullable>, RawExpr>;
|
|
16
16
|
} : Record<string, unknown> : Record<string, unknown>;
|
|
17
|
+
type NeverToUnknown<T, E extends string> = [
|
|
18
|
+
T
|
|
19
|
+
] extends [never] ? E extends `${string}.${string}` ? unknown : T : T;
|
|
17
20
|
export type ApplyJoinNull<T, E extends string, Nullable extends string> = [
|
|
18
21
|
Nullable
|
|
19
22
|
] extends [never] ? T : RefQualifier<E> extends infer Q extends string ? [Q] extends [never] ? T : Q extends Nullable ? T | null : T : T;
|
|
@@ -30,7 +33,7 @@ export type MaybeNullableRow<Row, Qualifier extends string, Nullable extends str
|
|
|
30
33
|
export type ExprKey<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = CleanIdent<E> extends "*" ? never : CleanIdent<E> extends `${infer T}.*` ? never : CleanExpr<E> extends `${infer Inner}::${string}` ? ColumnKeyFromExpr<Inner, Tables, Aliases, S> : CleanExpr<E> extends `cast(${infer Inner} as ${string})` ? ColumnKeyFromExpr<Inner, Tables, Aliases, S> : CleanExpr<E> extends `cast (${infer Inner} as ${string})` ? ColumnKeyFromExpr<Inner, Tables, Aliases, S> : [ColumnKeyFromExpr<E, Tables, Aliases, S>] extends [never] ? FunctionKeyFromExpr<E> : ColumnKeyFromExpr<E, Tables, Aliases, S>;
|
|
31
34
|
export type ColumnKeyFromExpr<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = ParseColumnRef<CleanExpr<E>, Tables, Aliases, S> extends infer Ref ? Ref extends ColumnRef<any, any> ? Ref["column"] : never : never;
|
|
32
35
|
export type FunctionKeyFromExpr<E extends string> = CleanExpr<E> extends `case ${string}` ? "case" : CleanExpr<E> extends `${infer Func}(${string}` ? CleanIdent<Func> : CleanExpr<E> extends `${infer Func} (${string}` ? CleanIdent<Func> : never;
|
|
33
|
-
export type IsBoolExpr<CE extends string> = CE extends `case ${string}` ? false : HasTopLevelCompare<CE
|
|
36
|
+
export type IsBoolExpr<CE extends string> = CE extends `case ${string}` ? false : CE extends `${string}${"<" | ">" | "=" | "!"}${string}` ? HasTopLevelCompare<CE> : false;
|
|
34
37
|
export type HasTopLevelCompare<S extends string, Depth extends any[] = [], Steps extends any[] = [], InQ extends boolean = false, InDQ extends boolean = false> = Steps["length"] extends 400 ? false : S extends `${infer C}${infer Rest}` ? InQ extends true ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], C extends "'" ? false : true, InDQ> : InDQ extends true ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, C extends `"` ? false : true> : C extends "'" ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], true, InDQ> : C extends `"` ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, true> : C extends "(" ? HasTopLevelCompare<Rest, [any, ...Depth], [any, ...Steps], InQ, InDQ> : C extends ")" ? HasTopLevelCompare<Rest, Depth extends [any, ...infer D] ? D : [], [any, ...Steps], InQ, InDQ> : Depth["length"] extends 0 ? S extends `->>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `->${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `#>>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `#>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `@>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `<@${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `::${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `<<${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `>>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : C extends "<" | ">" | "=" | "!" ? true : HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, InDQ> : HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, InDQ> : false;
|
|
35
38
|
type UnwrapRedundantParens<E extends string, Steps extends any[] = []> = Steps["length"] extends 12 ? E : E extends `(select ${string})` ? E : E extends `(${string}` ? SplitBalancedParen<E> extends {
|
|
36
39
|
inner: infer Inner extends string;
|
|
@@ -42,9 +45,12 @@ export type ScalarSubqueryType<SubBody extends string, S extends DatabaseSchema,
|
|
|
42
45
|
} ? ExprType<RawExpr, SubTables, SubAliases, S, Steps> : unknown : unknown : unknown : unknown : unknown : unknown : unknown;
|
|
43
46
|
export type FunctionReturn<Func extends string, Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : ArgsValid<Args, Tables, Aliases, S, Steps> extends false ? never : Func extends "count" ? number : Func extends "sum" | "avg" ? number : Func extends "min" | "max" ? FirstArgType<Args, Tables, Aliases, S, Steps> : Func extends "upper" | "lower" | "concat" ? string : Func extends "coalesce" ? UnionArgTypes<Args, Tables, Aliases, S, Steps> : unknown;
|
|
44
47
|
export type ExprsValid<Exprs extends string[], N extends string, S extends DatabaseSchema> = TablesInQuery<N, S> extends infer Tables extends string ? AliasesInQuery<N, S> extends infer Aliases extends string ? ExprsValidList<Exprs, Tables, Aliases, S> : true : true;
|
|
45
|
-
export type ExprValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = IsIgnorableRuntimeExpr<E> extends true ? true : ExtractAlias<E> extends {
|
|
48
|
+
export type ExprValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, LocalRels extends string = never> = IsIgnorableRuntimeExpr<E> extends true ? true : ExtractAlias<E> extends {
|
|
46
49
|
expr: infer RawExpr extends string;
|
|
47
|
-
} ? IsIgnorableRuntimeExpr<RawExpr> extends true ? true : ExprType<RawExpr, Tables, Aliases, S> extends never ? false : NeedsTokenRefValidation<RawExpr> extends true ? ExprColumnRefsValid<RawExpr, Tables, Aliases, S> : FuncCompoundArgsValid<RawExpr, Tables, Aliases, S> : true;
|
|
50
|
+
} ? IsIgnorableRuntimeExpr<RawExpr> extends true ? true : HasLocalQualifier<RawExpr, LocalRels> extends true ? true : ExprType<RawExpr, Tables, Aliases, S> extends never ? false : NeedsTokenRefValidation<RawExpr> extends true ? ExprColumnRefsValid<RawExpr, Tables, Aliases, S> : FuncCompoundArgsValid<RawExpr, Tables, Aliases, S> : true;
|
|
51
|
+
type HasLocalQualifier<E extends string, LocalRels extends string> = [
|
|
52
|
+
LocalRels
|
|
53
|
+
] extends [never] ? false : E extends `${infer Q}.${string}` ? CleanIdent<Q> extends LocalRels ? true : false : false;
|
|
48
54
|
export type FuncCompoundArgsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = ExtractFuncArgList<CleanExpr<E>> extends infer Args extends string ? [Args] extends [never] ? true : ArgsArithRefsValid<SplitTopLevel<Args>, Tables, Aliases, S> : true;
|
|
49
55
|
export type ExtractFuncArgList<E extends string> = E extends `${infer _Func}(${infer AfterOpen}` ? SplitBalancedParen<`(${AfterOpen}`> extends {
|
|
50
56
|
inner: infer Inner extends string;
|
|
@@ -54,7 +60,7 @@ export type NeedsTokenRefValidation<E extends string> = CleanExpr<E> extends `${
|
|
|
54
60
|
export type ExprColumnRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = ExprQualifiedRefsValid<E, Tables, Aliases, S> extends true ? ExprUnqualifiedRefsValid<E, Tables, Aliases, S> : false;
|
|
55
61
|
export type ExprQualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = QualifiedColumnRefs<TokenizeLoose<E>, S, Tables, Aliases> extends infer Cols ? AllTrue<Cols extends string ? ColumnRefValidLooseWith<Cols, Tables, Aliases, S> : true> : true;
|
|
56
62
|
export type ExprUnqualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = UnqualifiedColumnRefs<TokenizeLoose<E>, S, Tables, Aliases> extends infer Cols ? AllTrue<Cols extends string ? UnqualifiedColumnValid<Cols, Tables, Aliases, S> : true> : true;
|
|
57
|
-
export type ExprsValidList<Exprs extends string[], Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 100 ? true : Exprs extends [infer H extends string, ...infer Rest extends string[]] ? ExprValid<H, Tables, Aliases, S> extends true ? ExprsValidList<Rest, Tables, Aliases, S, [any, ...Steps]> : false : true;
|
|
63
|
+
export type ExprsValidList<Exprs extends string[], Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = [], LocalRels extends string = never> = Steps["length"] extends 100 ? true : Exprs extends [infer H extends string, ...infer Rest extends string[]] ? ExprValid<H, Tables, Aliases, S, LocalRels> extends true ? ExprsValidList<Rest, Tables, Aliases, S, [any, ...Steps], LocalRels> : false : true;
|
|
58
64
|
export type FirstArgType<Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = SplitTopLevel<Args> extends [infer First extends string, ...infer _] ? ExprType<First, Tables, Aliases, S, Steps> : unknown;
|
|
59
65
|
export type UnionArgTypes<Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = SplitTopLevel<Args> extends infer Parts extends string[] ? Parts[number] extends infer P extends string ? ExprType<P, Tables, Aliases, S, Steps> : unknown : unknown;
|
|
60
66
|
export type ArgsValid<Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = Trim<Args> extends "" ? true : SplitTopLevel<Args> extends infer Parts extends string[] ? AllTrue<Parts[number] extends infer P extends string ? (ExprType<P, Tables, Aliases, S, Steps> extends never ? false : true) : true> : true;
|