@rocicorp/zero 0.18.2025032400 → 0.18.2025032800
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/out/advanced.js +0 -1
- package/out/{chunk-YAABAEJV.js → chunk-3S3SDA44.js} +205 -148
- package/out/chunk-3S3SDA44.js.map +7 -0
- package/out/{chunk-2B2QE5AT.js → chunk-MB3DEFRC.js} +25 -2
- package/out/{chunk-2B2QE5AT.js.map → chunk-MB3DEFRC.js.map} +2 -2
- package/out/{chunk-DSUPSGE4.js → chunk-NBZURO2P.js} +81 -26
- package/out/{chunk-DSUPSGE4.js.map → chunk-NBZURO2P.js.map} +4 -4
- package/out/{inspector-ROITQB3J.js → inspector-SH2ZK7O3.js} +253 -102
- package/out/inspector-SH2ZK7O3.js.map +7 -0
- package/out/react.js +2 -3
- package/out/react.js.map +2 -2
- package/out/shared/src/sentinels.d.ts +3 -0
- package/out/shared/src/sentinels.d.ts.map +1 -0
- package/out/solid.js +3 -4
- package/out/solid.js.map +2 -2
- package/out/z2s/src/compiler.d.ts +5 -3
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js +116 -16
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/z2s/src/sql.d.ts +8 -0
- package/out/z2s/src/sql.d.ts.map +1 -1
- package/out/z2s/src/sql.js +205 -11
- package/out/z2s/src/sql.js.map +1 -1
- package/out/zero/src/zero-cache-dev.d.ts +1 -1
- package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
- package/out/zero/src/zero-cache-dev.js +1 -1
- package/out/zero/src/zero-cache-dev.js.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.js +2 -1
- package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +6 -3
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration-lite.js +9 -9
- package/out/zero-cache/src/db/migration-lite.js.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.d.ts +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
- package/out/zero-cache/src/server/multi/config.d.ts +1 -1
- package/out/zero-cache/src/server/multi/main.d.ts +1 -1
- package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/multi/main.js +1 -1
- package/out/zero-cache/src/server/multi/main.js.map +1 -1
- package/out/zero-cache/src/server/multi/run-worker.d.ts +1 -1
- package/out/zero-cache/src/server/multi/run-worker.d.ts.map +1 -1
- package/out/zero-cache/src/server/multi/run-worker.js +1 -1
- package/out/zero-cache/src/server/multi/run-worker.js.map +1 -1
- package/out/zero-cache/src/server/syncer.js +1 -1
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +96 -42
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/decommission.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/decommission.js +16 -5
- package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -2
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +18 -31
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +7 -35
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +42 -74
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +69 -21
- package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +54 -27
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +53 -16
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +7 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +20 -5
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +61 -9
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +25 -14
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +8 -4
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +47 -23
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.js +8 -2
- package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +35 -0
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +3 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +32 -20
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/bigint-json.d.ts +1 -1
- package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -1
- package/out/zero-cache/src/types/bigint-json.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +4 -3
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/shards.d.ts +4 -0
- package/out/zero-cache/src/types/shards.d.ts.map +1 -1
- package/out/zero-cache/src/types/shards.js +1 -1
- package/out/zero-cache/src/types/shards.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +1 -2
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js +64 -21
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +4 -8
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +16 -7
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +9 -11
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts +2 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/types.d.ts +7 -2
- package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts +23 -8
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +7 -2
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +2 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +7 -1
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/custom.d.ts +2 -13
- package/out/zero-pg/src/custom.d.ts.map +1 -1
- package/out/zero-pg/src/custom.js +11 -14
- package/out/zero-pg/src/custom.js.map +1 -1
- package/out/zero-pg/src/mod.d.ts +1 -2
- package/out/zero-pg/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/mod.js +1 -1
- package/out/zero-pg/src/mod.js.map +1 -1
- package/out/zero-pg/src/query.d.ts +2 -2
- package/out/zero-pg/src/query.d.ts.map +1 -1
- package/out/zero-pg/src/query.js +8 -15
- package/out/zero-pg/src/query.js.map +1 -1
- package/out/zero-pg/src/web.d.ts +3 -7
- package/out/zero-pg/src/web.d.ts.map +1 -1
- package/out/zero-pg/src/web.js +9 -15
- package/out/zero-pg/src/web.js.map +1 -1
- package/out/zero-protocol/src/client-schema.d.ts +1 -1
- package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
- package/out/zero-protocol/src/client-schema.js +1 -1
- package/out/zero-protocol/src/client-schema.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +19 -6
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/down.js +2 -2
- package/out/zero-protocol/src/down.js.map +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +59 -0
- package/out/zero-protocol/src/inspect-down.d.ts.map +1 -0
- package/out/zero-protocol/src/inspect-down.js +23 -0
- package/out/zero-protocol/src/inspect-down.js.map +1 -0
- package/out/zero-protocol/src/inspect-up.d.ts +21 -0
- package/out/zero-protocol/src/inspect-up.d.ts.map +1 -0
- package/out/zero-protocol/src/inspect-up.js +12 -0
- package/out/zero-protocol/src/inspect-up.js.map +1 -0
- package/out/zero-protocol/src/mutation-type-enum.d.ts +1 -0
- package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +3 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/push.d.ts +31 -18
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +7 -6
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-protocol/src/up.d.ts +5 -1
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero-protocol/src/up.js +2 -1
- package/out/zero-protocol/src/up.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +1 -2
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.d.ts +13 -0
- package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.js +17 -0
- package/out/zero-schema/src/builder/table-builder.js.map +1 -1
- package/out/zero-schema/src/permissions.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.d.ts +3 -1
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +1 -2
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/use-query.d.ts +1 -2
- package/out/zero-solid/src/use-query.d.ts.map +1 -1
- package/out/zero.js +7 -4
- package/out/zql/src/mutate/custom.d.ts +0 -1
- package/out/zql/src/mutate/custom.d.ts.map +1 -1
- package/out/zql/src/mutate/custom.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +9 -6
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +16 -18
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internal.d.ts +2 -9
- package/out/zql/src/query/query-internal.d.ts.map +1 -1
- package/out/zql/src/query/query.d.ts +5 -0
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.d.ts +1 -1
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +2 -2
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zql/src/query/ttl.d.ts +1 -1
- package/out/zql/src/query/ttl.d.ts.map +1 -1
- package/out/zql/src/query/ttl.js +1 -1
- package/out/zql/src/query/ttl.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +8 -0
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +4 -5
- package/out/chunk-ULOTOBTC.js +0 -1
- package/out/chunk-ULOTOBTC.js.map +0 -7
- package/out/chunk-YAABAEJV.js.map +0 -7
- package/out/inspector-ROITQB3J.js.map +0 -7
- package/out/zero-protocol/src/warm.d.ts +0 -10
- package/out/zero-protocol/src/warm.d.ts.map +0 -1
- package/out/zero-protocol/src/warm.js +0 -6
- package/out/zero-protocol/src/warm.js.map +0 -1
- package/out/zero-schema/src/mod.d.ts +0 -5
- package/out/zero-schema/src/mod.d.ts.map +0 -1
- package/out/zql/src/query/query-internal.js +0 -2
- package/out/zql/src/query/query-internal.js.map +0 -1
package/out/z2s/src/compiler.js
CHANGED
|
@@ -1,9 +1,62 @@
|
|
|
1
1
|
import { zip } from "../../shared/src/arrays.js";
|
|
2
|
-
import { assert } from "../../shared/src/asserts.js";
|
|
2
|
+
import { assert, unreachable } from "../../shared/src/asserts.js";
|
|
3
|
+
import {} from "../../shared/src/json.js";
|
|
3
4
|
import { must } from "../../shared/src/must.js";
|
|
4
5
|
import {} from "../../zero-protocol/src/ast.js";
|
|
5
6
|
import { clientToServer, NameMapper } from "../../zero-schema/src/name-mapper.js";
|
|
6
|
-
import { sql } from "./sql.js";
|
|
7
|
+
import { sql, sqlConvertArg, sqlConvertArgUnsafe } from "./sql.js";
|
|
8
|
+
import { parse as parseBigIntJson, } from "../../zero-cache/src/types/bigint-json.js";
|
|
9
|
+
import { hasOwn } from "../../shared/src/has-own.js";
|
|
10
|
+
const ZQL_RESULT_KEY = 'zql_result';
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
+
export function extractZqlResult(pgResult) {
|
|
13
|
+
const bigIntJson = parseBigIntJson(pgResult[0][ZQL_RESULT_KEY]);
|
|
14
|
+
assertJSONValue(bigIntJson);
|
|
15
|
+
return bigIntJson;
|
|
16
|
+
}
|
|
17
|
+
function assertJSONValue(v) {
|
|
18
|
+
const path = findPathToBigInt(v);
|
|
19
|
+
if (path) {
|
|
20
|
+
throw new Error(`Value exceeds safe Number range. ${path}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function findPathToBigInt(v) {
|
|
24
|
+
const typeOfV = typeof v;
|
|
25
|
+
switch (typeOfV) {
|
|
26
|
+
case 'bigint':
|
|
27
|
+
return ` = ${v}`;
|
|
28
|
+
case 'object': {
|
|
29
|
+
if (v === null) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(v)) {
|
|
33
|
+
for (let i = 0; i < v.length; i++) {
|
|
34
|
+
const path = findPathToBigInt(v[i]);
|
|
35
|
+
if (path) {
|
|
36
|
+
return `[${i}]${path}`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const o = v;
|
|
42
|
+
for (const k in o) {
|
|
43
|
+
if (hasOwn(o, k)) {
|
|
44
|
+
const path = findPathToBigInt(o[k]);
|
|
45
|
+
if (path) {
|
|
46
|
+
return `['${k}']${path}`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
case 'number':
|
|
53
|
+
return undefined;
|
|
54
|
+
case 'boolean':
|
|
55
|
+
return undefined;
|
|
56
|
+
default:
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
7
60
|
/**
|
|
8
61
|
* Compiles to the Postgres dialect of SQL
|
|
9
62
|
* - IS, IS NOT can only compare against `NULL`, `TRUE`, `FALSE` so use
|
|
@@ -23,7 +76,7 @@ export class Compiler {
|
|
|
23
76
|
this.#nameMapper = clientToServer(tables);
|
|
24
77
|
}
|
|
25
78
|
compile(ast, format) {
|
|
26
|
-
return this.select(ast, format, undefined)
|
|
79
|
+
return sql `SELECT ${this.#toJSON(`root`, format?.singular)}::TEXT as ${sql.ident(ZQL_RESULT_KEY)} FROM (${this.select(ast, format, undefined)})${sql.ident(`root`)}`;
|
|
27
80
|
}
|
|
28
81
|
select(ast,
|
|
29
82
|
// Is this a singular or plural query?
|
|
@@ -31,9 +84,9 @@ export class Compiler {
|
|
|
31
84
|
// If a select is being used as a subquery, this is the correlation to the parent query
|
|
32
85
|
correlation) {
|
|
33
86
|
const selectionSet = this.related(ast.related ?? [], format, ast.table);
|
|
34
|
-
const
|
|
35
|
-
for (const column of Object.
|
|
36
|
-
selectionSet.push(
|
|
87
|
+
const tableSchema = this.#tables[ast.table];
|
|
88
|
+
for (const [column, columnSchema] of Object.entries(tableSchema.columns)) {
|
|
89
|
+
selectionSet.push(this.#selectCol(ast.table, column, columnSchema.type));
|
|
37
90
|
}
|
|
38
91
|
return sql `SELECT ${sql.join(selectionSet, ',')} FROM ${this.#mapTable(ast.table)} ${ast.where ? sql `WHERE ${this.where(ast.where, ast.table)}` : sql ``} ${correlation
|
|
39
92
|
? sql `${ast.where ? sql `AND` : sql `WHERE`} (${correlation})`
|
|
@@ -53,7 +106,7 @@ export class Compiler {
|
|
|
53
106
|
if (!limit) {
|
|
54
107
|
return sql ``;
|
|
55
108
|
}
|
|
56
|
-
return sql `LIMIT ${
|
|
109
|
+
return sql `LIMIT ${sqlConvertArg('number', limit)}`;
|
|
57
110
|
}
|
|
58
111
|
related(relationships, format, parentTable) {
|
|
59
112
|
return relationships.map(relationship => this.relationshipSubquery(relationship, format?.relationships[must(relationship.subquery.alias)], parentTable));
|
|
@@ -66,17 +119,17 @@ export class Compiler {
|
|
|
66
119
|
* This aggregates the relationship subquery into an array of objects.
|
|
67
120
|
* This looks roughly like:
|
|
68
121
|
*
|
|
69
|
-
* SELECT COALESCE(
|
|
70
|
-
*
|
|
122
|
+
* SELECT COALESCE(json_agg(row_to_json("inner_owner")) , '[]'::json) FROM
|
|
123
|
+
* (SELECT mytable.col as client_col, mytable.col2 as client_col2 FROM mytable) inner_mytable
|
|
71
124
|
*/
|
|
72
125
|
return sql `(
|
|
73
|
-
SELECT ${
|
|
126
|
+
SELECT ${this.#toJSON(`inner_${relationship.subquery.alias}`, format?.singular)} FROM (SELECT ${sql.join(lastClientColumns.map(c => sql `${sql.ident(lastAlias)}.${this.#mapColumn(lastTable, c)}`), ',')} FROM ${join} WHERE (${this.correlate(parentTable, parentTable, relationship.correlation.parentField, relationship.subquery.table, relationship.subquery.table, relationship.correlation.childField)}) ${relationship.subquery.where
|
|
74
127
|
? sql `AND ${this.where(relationship.subquery.where, relationship.subquery.table)}`
|
|
75
128
|
: sql ``} ${this.orderBy(relationship.subquery.orderBy, relationship.subquery.table)} ${format?.singular ? this.limit(1) : this.limit(lastLimit)} ) ${sql.ident(`inner_${relationship.subquery.alias}`)}
|
|
76
129
|
) as ${sql.ident(relationship.subquery.alias)}`;
|
|
77
130
|
}
|
|
78
131
|
return sql `(
|
|
79
|
-
SELECT ${format?.singular ? sql `` : sql `COALESCE(
|
|
132
|
+
SELECT ${format?.singular ? sql `` : sql `COALESCE(json_agg`}(row_to_json(${sql.ident(`inner_${relationship.subquery.alias}`)})) ${format?.singular ? sql `` : sql `, '[]'::json)`} FROM (${this.select(relationship.subquery, format, this.correlate(parentTable, parentTable, relationship.correlation.parentField, relationship.subquery.table, relationship.subquery.table, relationship.correlation.childField))}) ${sql.ident(`inner_${relationship.subquery.alias}`)}
|
|
80
133
|
) as ${sql.ident(relationship.subquery.alias)}`;
|
|
81
134
|
}
|
|
82
135
|
pullTablesForJunction(relationship, tables = []) {
|
|
@@ -141,7 +194,7 @@ export class Compiler {
|
|
|
141
194
|
case 'LIKE':
|
|
142
195
|
case 'NOT ILIKE':
|
|
143
196
|
case 'NOT LIKE':
|
|
144
|
-
return sql `${this.valuePosition(condition.left, table)} ${sql.__dangerous__rawValue(condition.op)} ${this.valuePosition(condition.right, table)}`;
|
|
197
|
+
return sql `${this.valuePosition(condition.left, table, this.#extractType(table, condition.left, condition.right), false)} ${sql.__dangerous__rawValue(condition.op)} ${this.valuePosition(condition.right, table, this.#extractType(table, condition.right, condition.left), false)}`;
|
|
145
198
|
case 'NOT IN':
|
|
146
199
|
case 'IN':
|
|
147
200
|
return this.any(condition, table);
|
|
@@ -151,17 +204,17 @@ export class Compiler {
|
|
|
151
204
|
}
|
|
152
205
|
}
|
|
153
206
|
distinctFrom(condition, table) {
|
|
154
|
-
return sql `${this.valuePosition(condition.left, table)} ${condition.op === 'IS' ? sql `IS NOT DISTINCT FROM` : sql `IS DISTINCT FROM`} ${this.valuePosition(condition.right, table)}`;
|
|
207
|
+
return sql `${this.valuePosition(condition.left, table, this.#extractType(table, condition.left, condition.right), false)} ${condition.op === 'IS' ? sql `IS NOT DISTINCT FROM` : sql `IS DISTINCT FROM`} ${this.valuePosition(condition.right, table, this.#extractType(table, condition.right, condition.left), false)}`;
|
|
155
208
|
}
|
|
156
209
|
any(condition, table) {
|
|
157
|
-
return sql `${this.valuePosition(condition.left, table)} ${condition.op === 'IN' ? sql `= ANY` : sql `!= ANY`} (${this.valuePosition(condition.right, table)})`;
|
|
210
|
+
return sql `${this.valuePosition(condition.left, table, this.#extractType(table, condition.left, condition.right), false)} ${condition.op === 'IN' ? sql `= ANY` : sql `!= ANY`} (${this.valuePosition(condition.right, table, this.#extractType(table, condition.right, condition.left), true)})`;
|
|
158
211
|
}
|
|
159
|
-
valuePosition(value, table) {
|
|
212
|
+
valuePosition(value, table, valueType, plural) {
|
|
160
213
|
switch (value.type) {
|
|
161
214
|
case 'column':
|
|
162
215
|
return this.#mapColumnNoAlias(table, value.name);
|
|
163
216
|
case 'literal':
|
|
164
|
-
return
|
|
217
|
+
return sqlConvertArgUnsafe(valueType, value.value, plural);
|
|
165
218
|
case 'static':
|
|
166
219
|
throw new Error('Static parameters must be bound to a value before compiling to SQL');
|
|
167
220
|
}
|
|
@@ -204,5 +257,52 @@ export class Compiler {
|
|
|
204
257
|
const mapped = this.#nameMapper.tableName(table);
|
|
205
258
|
return sql.ident(mapped);
|
|
206
259
|
}
|
|
260
|
+
#selectCol(table, column, type) {
|
|
261
|
+
if (type === 'date' || type === 'timestamp') {
|
|
262
|
+
return sql `EXTRACT(EPOCH FROM ${sql.ident(table)}.${this.#mapColumnNoAlias(table, column)}::timestamp AT TIME ZONE 'UTC') * 1000 as ${sql.ident(column)}`;
|
|
263
|
+
}
|
|
264
|
+
return sql `${sql.ident(table)}.${this.#mapColumn(table, column)}`;
|
|
265
|
+
}
|
|
266
|
+
#toJSON(table, singular = false) {
|
|
267
|
+
return sql `${singular ? sql `` : sql `COALESCE(json_agg`}(row_to_json(${sql.ident(table)})) ${singular ? sql `` : sql `, '[]'::json)`}`;
|
|
268
|
+
}
|
|
269
|
+
#extractType(table,
|
|
270
|
+
// first takes precedence over second in terms of type discovery
|
|
271
|
+
first, second) {
|
|
272
|
+
// Derive the type from the table schema first if able
|
|
273
|
+
const column = first.type === 'column'
|
|
274
|
+
? first.name
|
|
275
|
+
: second.type === 'column'
|
|
276
|
+
? second.name
|
|
277
|
+
: undefined;
|
|
278
|
+
if (column) {
|
|
279
|
+
return this.#tables[table].columns[column].type;
|
|
280
|
+
}
|
|
281
|
+
// We're comparing two literals? Derive the type from the JS type itself.
|
|
282
|
+
const literalValue = first.type === 'literal'
|
|
283
|
+
? first.value
|
|
284
|
+
: second.type === 'literal'
|
|
285
|
+
? second.value
|
|
286
|
+
: undefined;
|
|
287
|
+
assert(literalValue, 'Literal value not found');
|
|
288
|
+
if (literalValue === null) {
|
|
289
|
+
return 'null';
|
|
290
|
+
}
|
|
291
|
+
const jsType = typeof literalValue;
|
|
292
|
+
switch (jsType) {
|
|
293
|
+
case 'boolean':
|
|
294
|
+
case 'number':
|
|
295
|
+
case 'string':
|
|
296
|
+
return jsType;
|
|
297
|
+
case 'object':
|
|
298
|
+
case 'bigint':
|
|
299
|
+
case 'function':
|
|
300
|
+
case 'symbol':
|
|
301
|
+
case 'undefined':
|
|
302
|
+
throw new Error('Unsupported type: ' + jsType);
|
|
303
|
+
default:
|
|
304
|
+
unreachable(jsType);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
207
307
|
}
|
|
208
308
|
//# sourceMappingURL=compiler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../z2s/src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAO9C,OAAO,EAKN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAGhF,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAK7B;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ,EAAE,MAAc,EAAE,MAA2B;IAC3E,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,OAAO,CAAS;IAChB,WAAW,CAAa;IAEjC,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,MAA2B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CACJ,GAAQ;IACR,sCAAsC;IACtC,MAA0B;IAC1B,uFAAuF;IACvF,WAAiC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,YAAY,CAAC,IAAI,CACf,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAA,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CACpE,GAAG,CAAC,KAAK,CACV,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,IACrE,WAAW;YACT,CAAC,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,KAAK,WAAW,GAAG;YAC5D,CAAC,CAAC,GAAG,CAAA,EACT,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IACtC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CACzD,EAAE,CAAC;IACL,CAAC;IAED,OAAO,CAAC,OAA6B,EAAE,KAAa;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAA,YAAY,GAAG,CAAC,IAAI,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACzB,GAAG,KAAK,KAAK;YACX,CAAC,CAAC,2FAA2F;gBAC3F,6GAA6G;gBAC7G,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM;YACpE,CAAC,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CACxE,EACD,IAAI,CACL,EAAE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAyB;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAA,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,CACL,aAA4C,EAC5C,MAA0B,EAC1B,WAAmB;QAEnB,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACtC,IAAI,CAAC,oBAAoB,CACvB,YAAY,EACZ,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACxD,WAAW,CACZ,CACF,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,YAAgC,EAChC,MAA0B,EAC1B,WAAmB;QAEnB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAC3C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACvE;;;;;;eAMG;YACH,OAAO,GAAG,CAAA;iBAEN,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,oBAChC,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAC/D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,oBAChC,iBAAiB,GAAG,CAAC,IAAI,CACvB,iBAAiB,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CACnE,EACD,GAAG,CACJ,SAAS,IAAI,WAAW,IAAI,CAAC,SAAS,CACrC,WAAW,EACX,WAAW,EACX,YAAY,CAAC,WAAW,CAAC,WAAW,EACpC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,WAAW,CAAC,UAAU,CACpC,KACC,YAAY,CAAC,QAAQ,CAAC,KAAK;gBACzB,CAAC,CAAC,GAAG,CAAA,OAAO,IAAI,CAAC,KAAK,CAClB,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC5B,EAAE;gBACL,CAAC,CAAC,GAAG,CAAA,EACT,IAAI,IAAI,CAAC,OAAO,CACd,YAAY,CAAC,QAAQ,CAAC,OAAO,EAC7B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC5B,IACC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CACzD,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAA;eAEN,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,oBAChC,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAC/D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,oBAChC,UAAU,IAAI,CAAC,MAAM,CACnB,YAAY,CAAC,QAAQ,EACrB,MAAM,EACN,IAAI,CAAC,SAAS,CACZ,WAAW,EACX,WAAW,EACX,YAAY,CAAC,WAAW,CAAC,WAAW,EACpC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,WAAW,CAAC,UAAU,CACpC,CACF,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;WAClD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,qBAAqB,CACnB,YAAgC,EAChC,SAAsD,EAAE;QAExD,MAAM,CAAC,IAAI,CAAC;YACV,YAAY,CAAC,QAAQ,CAAC,KAAK;YAC3B,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,QAAQ,CAAC,KAAK;SAC5B,CAAC,CAAC;QACH,MAAM,CACJ,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAC/C,6CAA6C,CAC9C,CAAC;QACF,KAAK,MAAM,eAAe,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CACd,YAAgC;QAOhC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,SAAS,KAAK,CAAC,KAAa;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,SAAS,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CACR,GAAG,CAAA,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CACtD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,OAAO,IAAI,CAAC,SAAS,CACpB,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACvB,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAChD,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACpC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EACnB,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAChD,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACvB,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAgC,EAAE,KAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CACpB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EACnD,OAAO,CACR,GAAG,CAAC;YACP,KAAK,IAAI;gBACP,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CACpB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EACnD,MAAM,CACP,GAAG,CAAC;YACP,KAAK,oBAAoB;gBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAA0B,EAAE,KAAa;QAC9C,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACb,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAC7B,SAAS,CAAC,IAAI,EACd,KAAK,CACN,IAAI,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAChE,SAAS,CAAC,KAAK,EACf,KAAK,CACN,EAAE,CAAC;YACN,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpC,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,YAAY,CAAC,SAA0B,EAAE,KAAa;QACpD,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IACpD,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAA,kBACzD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,SAA0B,EAAE,KAAa;QAC3C,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IACpD,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA,QAC1C,KAAK,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IACrD,CAAC;IAED,aAAa,CAAC,KAAoB,EAAE,KAAa;QAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,QAAQ;gBACX,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,CACJ,SAAsC,EACtC,WAAmB;QAEnB,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAA,WAAW,IAAI,CAAC,MAAM,CAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC1B,SAAS,EACT,IAAI,CAAC,SAAS,CACZ,WAAW,EACX,WAAW,EACX,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EACzC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAChC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAChC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CACzC,CACF,GAAG,CAAC;YACP,KAAK,YAAY;gBACf,OAAO,GAAG,CAAA,eAAe,IAAI,CAAC,MAAM,CAClC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC1B,SAAS,EACT,SAAS,CACV,GAAG,CAAC;QACT,CAAC;IACH,CAAC;IAED,SAAS;IACP,iEAAiE;IACjE,uEAAuE;IACvE,kFAAkF;IAClF,iCAAiC;IACjC,WAAmB,EACnB,gBAAwB,EACxB,aAAgC,EAChC,UAAkB,EAClB,eAAuB,EACvB,YAA+B;QAE/B,OAAO,GAAG,CAAC,IAAI,CACb,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,GAAG,CAClC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,CAC9B,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CACzD,WAAW,EACX,YAAY,CACb,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,iBAAiB,CACzD,UAAU,EACV,WAAW,CACZ,EAAE,CACN,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,MAAc;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../../z2s/src/compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAgB,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAO9C,OAAO,EAKN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAMhF,OAAO,EAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;AACjE,OAAO,EAEL,KAAK,IAAI,eAAe,GACzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AAInD,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,QAAa;IAC5C,MAAM,UAAU,GAAoB,eAAe,CACjD,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAC5B,CAAC;IACF,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,CAAkB;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAkB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC;IACzB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,CAAC,GAAG,CAAoC,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,GAAQ,EACR,MAAc,EACd,MAA2B;IAE3B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,OAAO,CAAS;IAChB,WAAW,CAAa;IAEjC,YAAY,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,MAA2B;QAC3C,OAAO,GAAG,CAAA,UAAU,IAAI,CAAC,OAAO,CAC9B,MAAM,EACN,MAAM,EAAE,QAAQ,CACjB,aAAa,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,MAAM,CAC1D,GAAG,EACH,MAAM,EACN,SAAS,CACV,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CACJ,GAAQ;IACR,sCAAsC;IACtC,MAA0B;IAC1B,uFAAuF;IACvF,WAAiC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,CAAA,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CACpE,GAAG,CAAC,KAAK,CACV,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,IACrE,WAAW;YACT,CAAC,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,KAAK,WAAW,GAAG;YAC5D,CAAC,CAAC,GAAG,CAAA,EACT,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IACtC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CACzD,EAAE,CAAC;IACL,CAAC;IAED,OAAO,CAAC,OAA6B,EAAE,KAAa;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAA,YAAY,GAAG,CAAC,IAAI,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACzB,GAAG,KAAK,KAAK;YACX,CAAC,CAAC,2FAA2F;gBAC3F,6GAA6G;gBAC7G,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM;YACpE,CAAC,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CACxE,EACD,IAAI,CACL,EAAE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAyB;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAA,SAAS,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,OAAO,CACL,aAA4C,EAC5C,MAA0B,EAC1B,WAAmB;QAEnB,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACtC,IAAI,CAAC,oBAAoB,CACvB,YAAY,EACZ,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACxD,WAAW,CACZ,CACF,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,YAAgC,EAChC,MAA0B,EAC1B,WAAmB;QAEnB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAC3C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YACvE;;;;;;eAMG;YACH,OAAO,GAAG,CAAA;iBACC,IAAI,CAAC,OAAO,CACnB,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,EACtC,MAAM,EAAE,QAAQ,CACjB,iBAAiB,GAAG,CAAC,IAAI,CACxB,iBAAiB,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CACnE,EACD,GAAG,CACJ,SAAS,IAAI,WAAW,IAAI,CAAC,SAAS,CACrC,WAAW,EACX,WAAW,EACX,YAAY,CAAC,WAAW,CAAC,WAAW,EACpC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,WAAW,CAAC,UAAU,CACpC,KACC,YAAY,CAAC,QAAQ,CAAC,KAAK;gBACzB,CAAC,CAAC,GAAG,CAAA,OAAO,IAAI,CAAC,KAAK,CAClB,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC5B,EAAE;gBACL,CAAC,CAAC,GAAG,CAAA,EACT,IAAI,IAAI,CAAC,OAAO,CACd,YAAY,CAAC,QAAQ,CAAC,OAAO,EAC7B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC5B,IACC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CACzD,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAA;eAEN,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,mBAChC,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAC/D,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,eAChC,UAAU,IAAI,CAAC,MAAM,CACnB,YAAY,CAAC,QAAQ,EACrB,MAAM,EACN,IAAI,CAAC,SAAS,CACZ,WAAW,EACX,WAAW,EACX,YAAY,CAAC,WAAW,CAAC,WAAW,EACpC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,EAC3B,YAAY,CAAC,WAAW,CAAC,UAAU,CACpC,CACF,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;WAClD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,qBAAqB,CACnB,YAAgC,EAChC,SAAsD,EAAE;QAExD,MAAM,CAAC,IAAI,CAAC;YACV,YAAY,CAAC,QAAQ,CAAC,KAAK;YAC3B,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,QAAQ,CAAC,KAAK;SAC5B,CAAC,CAAC;QACH,MAAM,CACJ,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAC/C,6CAA6C,CAC9C,CAAC;QACF,KAAK,MAAM,eAAe,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CACd,YAAgC;QAOhC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,SAAS,KAAK,CAAC,KAAa;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,SAAS,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CACR,GAAG,CAAA,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CACtD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,OAAO,IAAI,CAAC,SAAS,CACpB,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACvB,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAChD,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACpC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EACnB,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAChD,EAAE,CACJ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACvB,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAgC,EAAE,KAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,GAAG,CAAA,EAAE,CAAC;QACf,CAAC;QAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,KAAK;gBACR,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CACpB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EACnD,OAAO,CACR,GAAG,CAAC;YACP,KAAK,IAAI;gBACP,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CACpB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EACnD,MAAM,CACP,GAAG,CAAC;YACP,KAAK,oBAAoB;gBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAA0B,EAAE,KAAa;QAC9C,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACb,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAC7B,SAAS,CAAC,IAAI,EACd,KAAK,EACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EACzD,KAAK,CACN,IAAI,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAChE,SAAS,CAAC,KAAK,EACf,KAAK,EACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EACzD,KAAK,CACN,EAAE,CAAC;YACN,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpC,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,YAAY,CAAC,SAA0B,EAAE,KAAa;QACpD,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IACtH,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAA,kBACzD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACrH,CAAC;IAED,GAAG,CAAC,SAA0B,EAAE,KAAa;QAC3C,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IACtH,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA,QAC1C,KAAK,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;IACtH,CAAC;IAED,aAAa,CACX,KAAoB,EACpB,KAAa,EACb,SAAoB,EACpB,MAAe;QAEf,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,KAAK,SAAS;gBACZ,OAAO,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,QAAQ;gBACX,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,CACJ,SAAsC,EACtC,WAAmB;QAEnB,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAA,WAAW,IAAI,CAAC,MAAM,CAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC1B,SAAS,EACT,IAAI,CAAC,SAAS,CACZ,WAAW,EACX,WAAW,EACX,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EACzC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAChC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAChC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CACzC,CACF,GAAG,CAAC;YACP,KAAK,YAAY;gBACf,OAAO,GAAG,CAAA,eAAe,IAAI,CAAC,MAAM,CAClC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC1B,SAAS,EACT,SAAS,CACV,GAAG,CAAC;QACT,CAAC;IACH,CAAC;IAED,SAAS;IACP,iEAAiE;IACjE,uEAAuE;IACvE,kFAAkF;IAClF,iCAAiC;IACjC,WAAmB,EACnB,gBAAwB,EACxB,aAAgC,EAChC,UAAkB,EAClB,eAAuB,EACvB,YAA+B;QAE/B,OAAO,GAAG,CAAC,IAAI,CACb,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,GAAG,CAClC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,CAC9B,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CACzD,WAAW,EACX,YAAY,CACb,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,iBAAiB,CACzD,UAAU,EACV,WAAW,CACZ,EAAE,CACN,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,MAAc;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,MAAc,EAAE,IAAe;QACvD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAA,sBAAsB,GAAG,CAAC,KAAK,CACvC,KAAK,CACN,IAAI,IAAI,CAAC,iBAAiB,CACzB,KAAK,EACL,MAAM,CACP,6CAA6C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,GAAG,CAAA,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK;QACrC,OAAO,GAAG,CAAA,GACR,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,mBACxB,gBAAgB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,eACxB,EAAE,CAAC;IACL,CAAC;IAED,YAAY,CACV,KAAa;IACb,gEAAgE;IAChE,KAAoB,EACpB,MAAqB;QAErB,sDAAsD;QACtD,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,KAAK,QAAQ;YACrB,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QAClD,CAAC;QAED,yEAAyE;QACzE,MAAM,YAAY,GAChB,KAAK,CAAC,IAAI,KAAK,SAAS;YACtB,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,SAAS,CAAC;QAElB,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAEhD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,YAAY,CAAC;QACnC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC;YACjD;gBACE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;CACF"}
|
package/out/z2s/src/sql.d.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import type { SQLQuery } from '@databases/sql';
|
|
2
2
|
import baseSql from '@databases/sql';
|
|
3
|
+
import type { ValueType } from '../../zero-protocol/src/client-schema.ts';
|
|
4
|
+
import type { TypeNameToTypeMap } from '../../zero-schema/src/table-schema.ts';
|
|
3
5
|
export declare function formatPg(sql: SQLQuery): {
|
|
4
6
|
text: string;
|
|
5
7
|
values: unknown[];
|
|
6
8
|
};
|
|
9
|
+
export declare function formatPgInternalConvert(sql: SQLQuery): {
|
|
10
|
+
text: string;
|
|
11
|
+
values: unknown[];
|
|
12
|
+
};
|
|
7
13
|
export declare function formatSqlite(sql: SQLQuery): {
|
|
8
14
|
text: string;
|
|
9
15
|
values: unknown[];
|
|
10
16
|
};
|
|
17
|
+
export declare function sqlConvertArg<T extends ValueType, P extends boolean = false>(type: T, value: true extends P ? TypeNameToTypeMap[T][] : TypeNameToTypeMap[T], plural?: P): SQLQuery;
|
|
18
|
+
export declare function sqlConvertArgUnsafe(type: ValueType, value: unknown, plural?: boolean): SQLQuery;
|
|
11
19
|
export declare const sql: baseSql.SQL;
|
|
12
20
|
//# sourceMappingURL=sql.d.ts.map
|
package/out/z2s/src/sql.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../../z2s/src/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../../z2s/src/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,OAAsB,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,0CAA0C,CAAC;AAExE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAE7E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ;UAmM9B,MAAM;YACJ,OAAO,EAAE;EAjMlB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ;UA8L7C,MAAM;YACJ,OAAO,EAAE;EA5LlB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ;UAyLlC,MAAM;YACJ,OAAO,EAAE;EAvLlB;AAaD,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAC1E,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,SAAS,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAGrE,MAAM,CAAC,EAAE,CAAC,GACT,QAAQ,CAEV;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,OAAO,GACf,QAAQ,CAEV;AAkJD,eAAO,MAAM,GAAG,aAAkB,CAAC"}
|
package/out/z2s/src/sql.js
CHANGED
|
@@ -1,18 +1,212 @@
|
|
|
1
|
-
import baseSql from '@databases/sql';
|
|
1
|
+
import baseSql, { SQLItemType } from '@databases/sql';
|
|
2
2
|
import { escapePostgresIdentifier, escapeSQLiteIdentifier, } from '@databases/escape-identifier';
|
|
3
|
-
|
|
4
|
-
escapeIdentifier: str => escapePostgresIdentifier(str),
|
|
5
|
-
formatValue: (value, index) => ({ placeholder: `$${index + 1}`, value }),
|
|
6
|
-
};
|
|
7
|
-
const sqliteFormat = {
|
|
8
|
-
escapeIdentifier: str => escapeSQLiteIdentifier(str),
|
|
9
|
-
formatValue: value => ({ placeholder: '?', value }),
|
|
10
|
-
};
|
|
3
|
+
import { assert, unreachable } from "../../shared/src/asserts.js";
|
|
11
4
|
export function formatPg(sql) {
|
|
12
|
-
|
|
5
|
+
const format = new ReusingFormat(escapePostgresIdentifier);
|
|
6
|
+
return sql.format((items) => formatFn(items, format));
|
|
7
|
+
}
|
|
8
|
+
export function formatPgInternalConvert(sql) {
|
|
9
|
+
const format = new SQLConvertFormat(escapePostgresIdentifier);
|
|
10
|
+
return sql.format((items) => formatFn(items, format));
|
|
13
11
|
}
|
|
14
12
|
export function formatSqlite(sql) {
|
|
15
|
-
|
|
13
|
+
const format = new ReusingFormat(escapeSQLiteIdentifier);
|
|
14
|
+
return sql.format((items) => formatFn(items, format));
|
|
15
|
+
}
|
|
16
|
+
const sqlConvert = Symbol('fromJson');
|
|
17
|
+
function isSqlConvert(value) {
|
|
18
|
+
return value !== null && typeof value === 'object' && sqlConvert in value;
|
|
19
|
+
}
|
|
20
|
+
export function sqlConvertArg(type, value,
|
|
21
|
+
// plural is an explicit argument so we do not get confused by a singular JSON array vs
|
|
22
|
+
// an array of JSON.
|
|
23
|
+
plural) {
|
|
24
|
+
return sql.value({ [sqlConvert]: true, type, value, plural });
|
|
25
|
+
}
|
|
26
|
+
export function sqlConvertArgUnsafe(type, value, plural) {
|
|
27
|
+
return sqlConvertArg(type, value, plural);
|
|
28
|
+
}
|
|
29
|
+
class ReusingFormat {
|
|
30
|
+
#seen = new Map();
|
|
31
|
+
escapeIdentifier;
|
|
32
|
+
constructor(escapeIdentifier) {
|
|
33
|
+
this.escapeIdentifier = escapeIdentifier;
|
|
34
|
+
}
|
|
35
|
+
formatValue = (value) => {
|
|
36
|
+
if (this.#seen.has(value)) {
|
|
37
|
+
return {
|
|
38
|
+
placeholder: `$${this.#seen.get(value)}`,
|
|
39
|
+
value: PREVIOUSLY_SEEN_VALUE,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
this.#seen.set(value, this.#seen.size + 1);
|
|
43
|
+
return { placeholder: `$${this.#seen.size}`, value };
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function stringify(arg) {
|
|
47
|
+
if (arg.plural) {
|
|
48
|
+
return JSON.stringify(arg.value);
|
|
49
|
+
}
|
|
50
|
+
switch (arg.type) {
|
|
51
|
+
case 'json':
|
|
52
|
+
return JSON.stringify(arg.value);
|
|
53
|
+
case 'boolean':
|
|
54
|
+
return arg.value ? 'true' : 'false';
|
|
55
|
+
case 'number':
|
|
56
|
+
case 'date':
|
|
57
|
+
case 'timestamp':
|
|
58
|
+
return arg.value.toString();
|
|
59
|
+
case 'string':
|
|
60
|
+
return arg.value;
|
|
61
|
+
case 'null':
|
|
62
|
+
return 'null';
|
|
63
|
+
default:
|
|
64
|
+
unreachable(arg.type);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
class SQLConvertFormat {
|
|
68
|
+
#seen = new Map();
|
|
69
|
+
escapeIdentifier;
|
|
70
|
+
constructor(escapeIdentifier) {
|
|
71
|
+
this.escapeIdentifier = escapeIdentifier;
|
|
72
|
+
}
|
|
73
|
+
formatValue = (value) => {
|
|
74
|
+
assert(isSqlConvert(value), 'JsonPackedFormat can only take JsonPackArgs.');
|
|
75
|
+
const key = value.value;
|
|
76
|
+
if (this.#seen.has(key)) {
|
|
77
|
+
return {
|
|
78
|
+
placeholder: this.#createPlaceholder(this.#seen.get(key), value),
|
|
79
|
+
value: PREVIOUSLY_SEEN_VALUE,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
this.#seen.set(key, this.#seen.size + 1);
|
|
83
|
+
return {
|
|
84
|
+
placeholder: this.#createPlaceholder(this.#seen.size, value),
|
|
85
|
+
value: stringify(value),
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
#createPlaceholder(index, value) {
|
|
89
|
+
// Ok, so what is with all the `::text` casts
|
|
90
|
+
// before the final cast?
|
|
91
|
+
// This is to force the statement to describe its arguments
|
|
92
|
+
// as being text. Without the text cast the args are described as
|
|
93
|
+
// being bool/json/numeric/whatever and the bindings try to coerce
|
|
94
|
+
// the inputs to those types.
|
|
95
|
+
const sqlType = pgType(value.type);
|
|
96
|
+
if (!value.plural) {
|
|
97
|
+
switch (value.type) {
|
|
98
|
+
case 'json':
|
|
99
|
+
// We use JSONB since that can be used as a primary key type
|
|
100
|
+
// whereas JSON cannot. So JSONB covers more cases.
|
|
101
|
+
return `$${index}::text::${sqlType}`;
|
|
102
|
+
case 'boolean':
|
|
103
|
+
return `$${index}::text::${sqlType}`;
|
|
104
|
+
case 'number':
|
|
105
|
+
return `$${index}::text::${sqlType}`;
|
|
106
|
+
case 'string':
|
|
107
|
+
return `$${index}::text`;
|
|
108
|
+
case 'date':
|
|
109
|
+
case 'timestamp':
|
|
110
|
+
return `to_timestamp($${index}::text::${sqlType} / 1000.0) AT TIME ZONE 'UTC'`;
|
|
111
|
+
case 'null':
|
|
112
|
+
return 'NULL';
|
|
113
|
+
default:
|
|
114
|
+
unreachable(value.type);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
switch (value.type) {
|
|
118
|
+
case 'json':
|
|
119
|
+
case 'boolean':
|
|
120
|
+
case 'number':
|
|
121
|
+
return `ARRAY(
|
|
122
|
+
SELECT value::${sqlType} FROM jsonb_array_elements_text($${index}::text::jsonb)
|
|
123
|
+
)`;
|
|
124
|
+
case 'string':
|
|
125
|
+
return `ARRAY(
|
|
126
|
+
SELECT value FROM jsonb_array_elements_text($${index}::text::jsonb)
|
|
127
|
+
)`;
|
|
128
|
+
case 'date':
|
|
129
|
+
case 'timestamp':
|
|
130
|
+
return `ARRAY(
|
|
131
|
+
SELECT to_timestamp(value::bigint / 1000.0)
|
|
132
|
+
FROM jsonb_array_elements_text($${index}::text::jsonb)
|
|
133
|
+
)::timestamp[]`;
|
|
134
|
+
case 'null':
|
|
135
|
+
throw new Error('unsupported null');
|
|
136
|
+
default:
|
|
137
|
+
unreachable(value.type);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function pgType(type) {
|
|
142
|
+
switch (type) {
|
|
143
|
+
case 'json':
|
|
144
|
+
return 'jsonb';
|
|
145
|
+
case 'boolean':
|
|
146
|
+
return 'boolean';
|
|
147
|
+
case 'number':
|
|
148
|
+
return 'numeric';
|
|
149
|
+
case 'string':
|
|
150
|
+
return 'text';
|
|
151
|
+
case 'date':
|
|
152
|
+
case 'timestamp':
|
|
153
|
+
return 'bigint';
|
|
154
|
+
case 'null':
|
|
155
|
+
return 'null';
|
|
156
|
+
default:
|
|
157
|
+
unreachable(type);
|
|
158
|
+
}
|
|
16
159
|
}
|
|
17
160
|
export const sql = baseSql.default;
|
|
161
|
+
const PREVIOUSLY_SEEN_VALUE = Symbol('PREVIOUSLY_SEEN_VALUE');
|
|
162
|
+
function formatFn(items, { escapeIdentifier, formatValue }) {
|
|
163
|
+
// Create an empty query object.
|
|
164
|
+
let text = '';
|
|
165
|
+
const values = [];
|
|
166
|
+
const localIdentifiers = new Map();
|
|
167
|
+
for (const item of items) {
|
|
168
|
+
switch (item.type) {
|
|
169
|
+
// If this is just raw text, we add it directly to the query text.
|
|
170
|
+
case SQLItemType.RAW: {
|
|
171
|
+
text += item.text;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
// If we got a value SQL item, add a placeholder and add the value to our
|
|
175
|
+
// placeholder values array.
|
|
176
|
+
case SQLItemType.VALUE: {
|
|
177
|
+
const { placeholder, value } = formatValue(item.value, values.length);
|
|
178
|
+
text += placeholder;
|
|
179
|
+
if (value !== PREVIOUSLY_SEEN_VALUE) {
|
|
180
|
+
values.push(value);
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
// If we got an identifier type, escape the strings and get a local
|
|
185
|
+
// identifier for non-string identifiers.
|
|
186
|
+
case SQLItemType.IDENTIFIER: {
|
|
187
|
+
text += item.names
|
|
188
|
+
.map((name) => {
|
|
189
|
+
if (typeof name === 'string')
|
|
190
|
+
return escapeIdentifier(name);
|
|
191
|
+
if (!localIdentifiers.has(name))
|
|
192
|
+
localIdentifiers.set(name, `__local_${localIdentifiers.size}__`);
|
|
193
|
+
return escapeIdentifier(localIdentifiers.get(name));
|
|
194
|
+
})
|
|
195
|
+
.join('.');
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (text.trim()) {
|
|
201
|
+
const lines = text.split('\n');
|
|
202
|
+
const min = Math.min(...lines.filter(l => l.trim() !== '').map(l => /^\s*/.exec(l)[0].length));
|
|
203
|
+
if (min) {
|
|
204
|
+
text = lines.map(line => line.substr(min)).join('\n');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
text: text.trim(),
|
|
209
|
+
values,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
18
212
|
//# sourceMappingURL=sql.js.map
|
package/out/z2s/src/sql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../z2s/src/sql.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../z2s/src/sql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-cache-dev.d.ts","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":";AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"zero-cache-dev.d.ts","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":";AAMA,OAAO,yBAAyB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { resolver } from '@rocicorp/resolver';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { watch } from 'chokidar';
|
|
6
|
-
import '
|
|
6
|
+
import '@dotenvx/dotenvx/config';
|
|
7
7
|
import { spawn } from 'node:child_process';
|
|
8
8
|
import { parseOptionsAdvanced } from "../../shared/src/options.js";
|
|
9
9
|
import { ZERO_ENV_VAR_PREFIX, zeroOptions, } from "../../zero-cache/src/config/zero-config.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-cache-dev.js","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":";AACA,+BAA+B;AAE/B,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"zero-cache-dev.js","sourceRoot":"","sources":["../../../src/zero-cache-dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-permissions.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/load-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,iBAAiB,
|
|
1
|
+
{"version":3,"file":"load-permissions.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/load-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,iBAAiB,CA8BnB;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAChC;IAAC,WAAW,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAQpD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAenE"}
|
|
@@ -5,9 +5,10 @@ import { elide } from "../types/strings.js";
|
|
|
5
5
|
export function loadPermissions(lc, replica, appID) {
|
|
6
6
|
const { permissions, hash } = replica.get(`SELECT permissions, hash FROM "${appID}.permissions"`);
|
|
7
7
|
if (permissions === null) {
|
|
8
|
+
const appIDFlag = appID === 'zero' ? '' : ` --app-id=${appID}`;
|
|
8
9
|
lc.warn?.(`\n\n\n` +
|
|
9
10
|
`No upstream permissions deployed.\n` +
|
|
10
|
-
`Run 'npx zero-deploy-permissions' to enforce permissions.` +
|
|
11
|
+
`Run 'npx zero-deploy-permissions${appIDFlag}' to enforce permissions.` +
|
|
11
12
|
`\n\n\n`);
|
|
12
13
|
return { permissions, hash: null };
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-permissions.js","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/load-permissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAEnD,OAAO,EACL,uBAAuB,GAExB,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAO1C,MAAM,UAAU,eAAe,CAC7B,EAAc,EACd,OAAwB,EACxB,KAAa;IAEb,MAAM,EAAC,WAAW,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC,GAAG,CACrC,kCAAkC,KAAK,eAAe,CACvD,CAAC;IACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,EAAE,CAAC,IAAI,EAAE,CACP,QAAQ;YACN,qCAAqC;YACrC,
|
|
1
|
+
{"version":3,"file":"load-permissions.js","sourceRoot":"","sources":["../../../../../zero-cache/src/auth/load-permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAOnD,YAAY,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAC;AAEhE,eAAO,MAAM,UAAU;;;;;;;;;CAgDtB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAwBxB,CAAC;AAEF,QAAA,MAAM,cAAc;;;;;;;;;CAmBnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAOnD,YAAY,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAC;AAEhE,eAAO,MAAM,UAAU;;;;;;;;;CAgDtB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAwBxB,CAAC;AAEF,QAAA,MAAM,cAAc;;;;;;;;;CAmBnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyTvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAI3C,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB,GAC3B,UAAU,CAUZ"}
|