@rocicorp/zero 0.18.2025032800 → 0.18.2025040200
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/analyze-query/src/bin.d.ts +2 -0
- package/out/analyze-query/src/bin.d.ts.map +1 -0
- package/out/analyze-query/src/bin.js +178 -0
- package/out/analyze-query/src/bin.js.map +1 -0
- package/out/{chunk-3S3SDA44.js → chunk-CT4LRQ5P.js} +242 -78
- package/out/chunk-CT4LRQ5P.js.map +7 -0
- package/out/{chunk-NBZURO2P.js → chunk-R7QLNPBS.js} +16 -109
- package/out/{chunk-NBZURO2P.js.map → chunk-R7QLNPBS.js.map} +3 -3
- package/out/inspector-RYBBQ63M.js +394 -0
- package/out/inspector-RYBBQ63M.js.map +7 -0
- package/out/otel/src/test-log-config.d.ts +8 -0
- package/out/otel/src/test-log-config.d.ts.map +1 -0
- package/out/otel/src/test-log-config.js +8 -0
- package/out/otel/src/test-log-config.js.map +1 -0
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-options.d.ts +12 -0
- package/out/replicache/src/replicache-options.d.ts.map +1 -1
- package/out/shared/src/browser-env.d.ts +2 -0
- package/out/shared/src/browser-env.d.ts.map +1 -1
- package/out/shared/src/deep-merge.d.ts +6 -0
- package/out/shared/src/deep-merge.d.ts.map +1 -0
- package/out/shared/src/logging-test-utils.d.ts +12 -0
- package/out/shared/src/logging-test-utils.d.ts.map +1 -0
- package/out/shared/src/logging-test-utils.js +21 -0
- package/out/shared/src/logging-test-utils.js.map +1 -0
- package/out/solid.js +2 -2
- package/out/solid.js.map +2 -2
- package/out/z2s/src/compiler.d.ts +5 -4
- package/out/z2s/src/compiler.d.ts.map +1 -1
- package/out/z2s/src/compiler.js +86 -59
- package/out/z2s/src/compiler.js.map +1 -1
- package/out/z2s/src/schema.d.ts +11 -0
- package/out/z2s/src/schema.d.ts.map +1 -0
- package/out/z2s/src/schema.js +2 -0
- package/out/z2s/src/schema.js.map +1 -0
- package/out/z2s/src/sql.d.ts +7 -4
- package/out/z2s/src/sql.d.ts.map +1 -1
- package/out/z2s/src/sql.js +111 -66
- package/out/z2s/src/sql.js.map +1 -1
- package/out/zero/src/analyze-query.d.ts +3 -0
- package/out/zero/src/analyze-query.d.ts.map +1 -0
- package/out/zero/src/analyze-query.js +3 -0
- package/out/zero/src/analyze-query.js.map +1 -0
- package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
- package/out/zero-cache/src/db/migration-lite.js +12 -0
- package/out/zero-cache/src/db/migration-lite.js.map +1 -1
- package/out/zero-cache/src/db/specs.d.ts +1 -1
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +17 -1
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +5 -5
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/replica-schema.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/replica-schema.js +10 -1
- package/out/zero-cache/src/services/change-source/replica-schema.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +10 -6
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/schema/change-log.js +17 -16
- package/out/zero-cache/src/services/replicator/schema/change-log.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 +2 -8
- 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 +1 -1
- 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 +8 -15
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +2 -3
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +2 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- 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 +0 -7
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +2 -52
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/pg.d.ts +2 -0
- package/out/zero-cache/src/types/pg.d.ts.map +1 -1
- package/out/zero-cache/src/types/pg.js +53 -0
- package/out/zero-cache/src/types/pg.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +14 -3
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-client/src/client/custom.d.ts +6 -10
- package/out/zero-client/src/client/custom.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/types.d.ts +0 -1
- package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts +7 -3
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-rep.d.ts +6 -2
- package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +2 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-pg/src/custom.d.ts +2 -1
- package/out/zero-pg/src/custom.d.ts.map +1 -1
- package/out/zero-pg/src/custom.js +24 -16
- package/out/zero-pg/src/custom.js.map +1 -1
- package/out/zero-pg/src/mod.d.ts +2 -1
- package/out/zero-pg/src/mod.d.ts.map +1 -1
- package/out/zero-pg/src/mod.js +1 -0
- package/out/zero-pg/src/mod.js.map +1 -1
- package/out/zero-pg/src/postgres-connection.d.ts +30 -0
- package/out/zero-pg/src/postgres-connection.d.ts.map +1 -0
- package/out/zero-pg/src/postgres-connection.js +31 -0
- package/out/zero-pg/src/postgres-connection.js.map +1 -0
- package/out/zero-pg/src/query.d.ts +3 -2
- package/out/zero-pg/src/query.d.ts.map +1 -1
- package/out/zero-pg/src/query.js +10 -6
- package/out/zero-pg/src/query.js.map +1 -1
- package/out/zero-pg/src/schema.d.ts +12 -0
- package/out/zero-pg/src/schema.d.ts.map +1 -0
- package/out/zero-pg/src/schema.js +57 -0
- package/out/zero-pg/src/schema.js.map +1 -0
- package/out/zero-pg/src/web.d.ts +6 -9
- package/out/zero-pg/src/web.d.ts.map +1 -1
- package/out/zero-pg/src/web.js +28 -20
- 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 +5 -5
- 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 -2
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/push.d.ts +23 -16
- package/out/zero-protocol/src/push.d.ts.map +1 -1
- package/out/zero-protocol/src/push.js +15 -5
- package/out/zero-protocol/src/push.js.map +1 -1
- package/out/zero-react/src/mod.d.ts +1 -1
- package/out/zero-react/src/mod.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.d.ts +0 -12
- package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -1
- package/out/zero-schema/src/builder/table-builder.js +0 -16
- package/out/zero-schema/src/builder/table-builder.js.map +1 -1
- package/out/zero-schema/src/table-schema.d.ts +0 -3
- package/out/zero-schema/src/table-schema.d.ts.map +1 -1
- package/out/zero-schema/src/table-schema.js +0 -3
- package/out/zero-schema/src/table-schema.js.map +1 -1
- package/out/zero-solid/src/create-zero.d.ts +2 -2
- package/out/zero-solid/src/create-zero.d.ts.map +1 -1
- package/out/zero-solid/src/mod.d.ts +1 -1
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero.js +2 -2
- package/out/zql/src/ivm/catch.d.ts +51 -0
- package/out/zql/src/ivm/catch.d.ts.map +1 -0
- package/out/zql/src/ivm/catch.js +78 -0
- package/out/zql/src/ivm/catch.js.map +1 -0
- package/out/zql/src/ivm/memory-storage.js +37 -0
- package/out/zql/src/ivm/memory-storage.js.map +1 -0
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +6 -4
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +0 -8
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +4 -3
- package/out/chunk-3S3SDA44.js.map +0 -7
- package/out/inspector-SH2ZK7O3.js +0 -835
- package/out/inspector-SH2ZK7O3.js.map +0 -7
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ENTITIES_KEY_PREFIX,
|
|
3
|
+
Latest,
|
|
4
|
+
SUBQ_PREFIX,
|
|
5
|
+
getClient,
|
|
6
|
+
getClientGroup,
|
|
7
|
+
getClients,
|
|
8
|
+
inspectQueriesDownSchema,
|
|
9
|
+
nanoid,
|
|
10
|
+
readFromHash,
|
|
11
|
+
test,
|
|
12
|
+
valita_exports,
|
|
13
|
+
withRead
|
|
14
|
+
} from "./chunk-R7QLNPBS.js";
|
|
15
|
+
import {
|
|
16
|
+
normalizeTTL
|
|
17
|
+
} from "./chunk-MB3DEFRC.js";
|
|
18
|
+
import {
|
|
19
|
+
assert,
|
|
20
|
+
must,
|
|
21
|
+
unreachable
|
|
22
|
+
} from "./chunk-2NCGIK6G.js";
|
|
23
|
+
import "./chunk-424PT5DM.js";
|
|
24
|
+
|
|
25
|
+
// ../ast-to-zql/src/ast-to-zql.ts
|
|
26
|
+
function astToZQL(ast) {
|
|
27
|
+
let code = "";
|
|
28
|
+
if (ast.where) {
|
|
29
|
+
code += transformCondition(ast.where, ".where", /* @__PURE__ */ new Set());
|
|
30
|
+
}
|
|
31
|
+
if (ast.related && ast.related.length > 0) {
|
|
32
|
+
for (const related of ast.related) {
|
|
33
|
+
if (!related.hidden) {
|
|
34
|
+
code += transformRelated(related);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (ast.orderBy && ast.orderBy.length > 0) {
|
|
39
|
+
code += transformOrder(ast.orderBy);
|
|
40
|
+
}
|
|
41
|
+
if (ast.limit !== void 0) {
|
|
42
|
+
code += `.limit(${ast.limit})`;
|
|
43
|
+
}
|
|
44
|
+
if (ast.start) {
|
|
45
|
+
const { row, exclusive } = ast.start;
|
|
46
|
+
code += `.start(${JSON.stringify(row)}${exclusive ? "" : ", { inclusive: true }"})`;
|
|
47
|
+
}
|
|
48
|
+
return code;
|
|
49
|
+
}
|
|
50
|
+
function transformCondition(condition, prefix, args) {
|
|
51
|
+
switch (condition.type) {
|
|
52
|
+
case "simple":
|
|
53
|
+
return transformSimpleCondition(condition, prefix);
|
|
54
|
+
case "and":
|
|
55
|
+
case "or":
|
|
56
|
+
return transformLogicalCondition(condition, prefix, args);
|
|
57
|
+
case "correlatedSubquery":
|
|
58
|
+
return transformExistsCondition(condition, prefix, args);
|
|
59
|
+
default:
|
|
60
|
+
unreachable(condition);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function transformSimpleCondition(condition, prefix) {
|
|
64
|
+
const { left, op, right } = condition;
|
|
65
|
+
const leftCode = transformValuePosition(left);
|
|
66
|
+
const rightCode = transformValuePosition(right);
|
|
67
|
+
if (op === "=") {
|
|
68
|
+
return `${prefix}(${leftCode}, ${rightCode})`;
|
|
69
|
+
}
|
|
70
|
+
return `${prefix}(${leftCode}, '${op}', ${rightCode})`;
|
|
71
|
+
}
|
|
72
|
+
function transformLogicalCondition(condition, prefix, args) {
|
|
73
|
+
const { type, conditions } = condition;
|
|
74
|
+
if (conditions.length === 1) {
|
|
75
|
+
return transformCondition(conditions[0], prefix, args);
|
|
76
|
+
}
|
|
77
|
+
if (type === "and") {
|
|
78
|
+
const parts = conditions.map((c) => transformCondition(c, prefix, args));
|
|
79
|
+
if (prefix === ".where") {
|
|
80
|
+
return parts.join("");
|
|
81
|
+
}
|
|
82
|
+
args.add("and");
|
|
83
|
+
return "and(" + parts.join(", ") + ")";
|
|
84
|
+
}
|
|
85
|
+
args = /* @__PURE__ */ new Set();
|
|
86
|
+
const conditionsCode = conditions.map((c) => transformCondition(c, "cmp", args)).join(", ");
|
|
87
|
+
args.add("cmp");
|
|
88
|
+
args.add(type);
|
|
89
|
+
const argsCode = [...args].sort().join(", ");
|
|
90
|
+
return `.where(({${argsCode}}) => ${type}(${conditionsCode}))`;
|
|
91
|
+
}
|
|
92
|
+
function transformExistsCondition(condition, prefix, args) {
|
|
93
|
+
const { related, op } = condition;
|
|
94
|
+
const relationship = extractRelationshipName(related);
|
|
95
|
+
const hasSubQueryProps = related.subquery.where || related.subquery.related && related.subquery.related.length > 0 || related.subquery.orderBy || related.subquery.limit;
|
|
96
|
+
if (op === "EXISTS") {
|
|
97
|
+
if (!hasSubQueryProps) {
|
|
98
|
+
if (prefix === ".where") {
|
|
99
|
+
return `.whereExists('${relationship}')`;
|
|
100
|
+
}
|
|
101
|
+
args.add("exists");
|
|
102
|
+
return `exists('${relationship}')`;
|
|
103
|
+
}
|
|
104
|
+
if (prefix === ".where") {
|
|
105
|
+
return `.whereExists('${relationship}', q => q${astToZQL(
|
|
106
|
+
related.subquery
|
|
107
|
+
)}))`;
|
|
108
|
+
}
|
|
109
|
+
prefix;
|
|
110
|
+
args.add("exists");
|
|
111
|
+
return `exists('${relationship}', q => q${astToZQL(related.subquery)})`;
|
|
112
|
+
}
|
|
113
|
+
op;
|
|
114
|
+
if (hasSubQueryProps) {
|
|
115
|
+
if (prefix === ".where") {
|
|
116
|
+
return `.where(({exists, not}) => not(exists('${relationship}', q => q${astToZQL(
|
|
117
|
+
related.subquery
|
|
118
|
+
)})))`;
|
|
119
|
+
}
|
|
120
|
+
prefix;
|
|
121
|
+
args.add("not");
|
|
122
|
+
args.add("exists");
|
|
123
|
+
return `not(exists('${relationship}', q => q${astToZQL(
|
|
124
|
+
related.subquery
|
|
125
|
+
)}))`;
|
|
126
|
+
}
|
|
127
|
+
if (prefix === ".where") {
|
|
128
|
+
return `.where(({exists, not}) => not(exists('${relationship}')))`;
|
|
129
|
+
}
|
|
130
|
+
args.add("not");
|
|
131
|
+
args.add("exists");
|
|
132
|
+
return `not(exists('${relationship}')))`;
|
|
133
|
+
}
|
|
134
|
+
function extractRelationshipName(related) {
|
|
135
|
+
const alias = must(related.subquery.alias);
|
|
136
|
+
return alias.startsWith(SUBQ_PREFIX) ? alias.substring(SUBQ_PREFIX.length) : alias;
|
|
137
|
+
}
|
|
138
|
+
function transformRelated(related) {
|
|
139
|
+
const { alias } = related.subquery;
|
|
140
|
+
if (!alias) return "";
|
|
141
|
+
const relationship = alias;
|
|
142
|
+
let code = `.related('${relationship}'`;
|
|
143
|
+
if (related.subquery.where || related.subquery.related && related.subquery.related.length > 0 || related.subquery.orderBy || related.subquery.limit) {
|
|
144
|
+
code += ", q => q" + astToZQL(related.subquery);
|
|
145
|
+
}
|
|
146
|
+
code += ")";
|
|
147
|
+
return code;
|
|
148
|
+
}
|
|
149
|
+
function transformOrder(orderBy) {
|
|
150
|
+
let code = "";
|
|
151
|
+
for (const [field, direction] of orderBy) {
|
|
152
|
+
code += `.orderBy('${field}', '${direction}')`;
|
|
153
|
+
}
|
|
154
|
+
return code;
|
|
155
|
+
}
|
|
156
|
+
function transformValuePosition(value) {
|
|
157
|
+
switch (value.type) {
|
|
158
|
+
case "literal":
|
|
159
|
+
return transformLiteral(value);
|
|
160
|
+
case "column":
|
|
161
|
+
return `'${value.name}'`;
|
|
162
|
+
case "static":
|
|
163
|
+
return transformParameter(value);
|
|
164
|
+
default:
|
|
165
|
+
unreachable(value);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function transformLiteral(literal) {
|
|
169
|
+
if (literal.value === null) {
|
|
170
|
+
return "null";
|
|
171
|
+
}
|
|
172
|
+
if (Array.isArray(literal.value)) {
|
|
173
|
+
return JSON.stringify(literal.value);
|
|
174
|
+
}
|
|
175
|
+
if (typeof literal.value === "string") {
|
|
176
|
+
return `'${literal.value.replace(/'/g, "\\'")}'`;
|
|
177
|
+
}
|
|
178
|
+
return String(literal.value);
|
|
179
|
+
}
|
|
180
|
+
function transformParameter(param) {
|
|
181
|
+
const fieldStr = Array.isArray(param.field) ? `[${param.field.map((f) => `'${f}'`).join(", ")}]` : `'${param.field}'`;
|
|
182
|
+
return `authParam(${fieldStr})`;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// ../zero-client/src/client/inspector/inspector.ts
|
|
186
|
+
async function newInspector(rep, schema, socket) {
|
|
187
|
+
const clientGroupID = await rep.clientGroupID;
|
|
188
|
+
return new Inspector(rep, schema, rep.clientID, clientGroupID, socket);
|
|
189
|
+
}
|
|
190
|
+
var Inspector = class {
|
|
191
|
+
#rep;
|
|
192
|
+
client;
|
|
193
|
+
clientGroup;
|
|
194
|
+
#schema;
|
|
195
|
+
socket;
|
|
196
|
+
constructor(rep, schema, clientID, clientGroupID, socket) {
|
|
197
|
+
this.#rep = rep;
|
|
198
|
+
this.#schema = schema;
|
|
199
|
+
this.client = new Client(rep, schema, socket, clientID, clientGroupID);
|
|
200
|
+
this.clientGroup = this.client.clientGroup;
|
|
201
|
+
this.socket = socket;
|
|
202
|
+
}
|
|
203
|
+
clients() {
|
|
204
|
+
return withDagRead(
|
|
205
|
+
this.#rep,
|
|
206
|
+
(dagRead) => clients(this.#rep, this.socket, this.#schema, dagRead)
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
clientsWithQueries() {
|
|
210
|
+
return withDagRead(
|
|
211
|
+
this.#rep,
|
|
212
|
+
(dagRead) => clientsWithQueries(this.#rep, this.socket, this.#schema, dagRead)
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
function rpc(socket, arg, downSchema) {
|
|
217
|
+
assert(socket, "WebSocket not available");
|
|
218
|
+
return new Promise((resolve, reject) => {
|
|
219
|
+
const id = nanoid();
|
|
220
|
+
const f = (ev) => {
|
|
221
|
+
const msg = JSON.parse(ev.data);
|
|
222
|
+
if (msg[0] === "inspect") {
|
|
223
|
+
const body = msg[1];
|
|
224
|
+
if (body.id !== id) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const res = test(body, downSchema);
|
|
228
|
+
if (res.ok) {
|
|
229
|
+
resolve(res.value.value);
|
|
230
|
+
} else {
|
|
231
|
+
reject(res.error);
|
|
232
|
+
}
|
|
233
|
+
socket.removeEventListener("message", f);
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
socket.addEventListener("message", f);
|
|
237
|
+
socket.send(
|
|
238
|
+
JSON.stringify(["inspect", { ...arg, id }])
|
|
239
|
+
);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
var Client = class {
|
|
243
|
+
#rep;
|
|
244
|
+
id;
|
|
245
|
+
clientGroup;
|
|
246
|
+
#schema;
|
|
247
|
+
#socket;
|
|
248
|
+
constructor(rep, schema, socket, id, clientGroupID) {
|
|
249
|
+
this.#rep = rep;
|
|
250
|
+
this.#schema = schema;
|
|
251
|
+
this.#socket = socket;
|
|
252
|
+
this.id = id;
|
|
253
|
+
this.clientGroup = new ClientGroup(rep, socket, schema, clientGroupID);
|
|
254
|
+
}
|
|
255
|
+
async queries() {
|
|
256
|
+
const rows = await rpc(
|
|
257
|
+
this.#socket(),
|
|
258
|
+
{ op: "queries", clientID: this.id },
|
|
259
|
+
inspectQueriesDownSchema
|
|
260
|
+
);
|
|
261
|
+
return rows.map((row) => new Query(row, this.#schema));
|
|
262
|
+
}
|
|
263
|
+
map() {
|
|
264
|
+
return withDagRead(this.#rep, async (dagRead) => {
|
|
265
|
+
const tree = await getBTree(dagRead, this.id);
|
|
266
|
+
const map = /* @__PURE__ */ new Map();
|
|
267
|
+
for await (const [key, value] of tree.scan("")) {
|
|
268
|
+
map.set(key, value);
|
|
269
|
+
}
|
|
270
|
+
return map;
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
rows(tableName) {
|
|
274
|
+
return withDagRead(this.#rep, async (dagRead) => {
|
|
275
|
+
const prefix = ENTITIES_KEY_PREFIX + tableName;
|
|
276
|
+
const tree = await getBTree(dagRead, this.id);
|
|
277
|
+
const rows = [];
|
|
278
|
+
for await (const [key, value] of tree.scan(prefix)) {
|
|
279
|
+
if (!key.startsWith(prefix)) {
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
rows.push(value);
|
|
283
|
+
}
|
|
284
|
+
return rows;
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
var ClientGroup = class {
|
|
289
|
+
#rep;
|
|
290
|
+
id;
|
|
291
|
+
#schema;
|
|
292
|
+
#socket;
|
|
293
|
+
constructor(rep, socket, schema, id) {
|
|
294
|
+
this.#rep = rep;
|
|
295
|
+
this.#socket = socket;
|
|
296
|
+
this.#schema = schema;
|
|
297
|
+
this.id = id;
|
|
298
|
+
}
|
|
299
|
+
clients() {
|
|
300
|
+
return withDagRead(
|
|
301
|
+
this.#rep,
|
|
302
|
+
(dagRead) => clients(
|
|
303
|
+
this.#rep,
|
|
304
|
+
this.#socket,
|
|
305
|
+
this.#schema,
|
|
306
|
+
dagRead,
|
|
307
|
+
([_, v]) => v.clientGroupID === this.id
|
|
308
|
+
)
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
clientsWithQueries() {
|
|
312
|
+
return withDagRead(
|
|
313
|
+
this.#rep,
|
|
314
|
+
(dagRead) => clientsWithQueries(
|
|
315
|
+
this.#rep,
|
|
316
|
+
this.#socket,
|
|
317
|
+
this.#schema,
|
|
318
|
+
dagRead,
|
|
319
|
+
([_, v]) => v.clientGroupID === this.id
|
|
320
|
+
)
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
async queries() {
|
|
324
|
+
const rows = await rpc(
|
|
325
|
+
this.#socket(),
|
|
326
|
+
{ op: "queries" },
|
|
327
|
+
inspectQueriesDownSchema
|
|
328
|
+
);
|
|
329
|
+
return rows.map((row) => new Query(row, this.#schema));
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
async function withDagRead(rep, f) {
|
|
333
|
+
await rep.refresh();
|
|
334
|
+
await rep.persist();
|
|
335
|
+
return withRead(rep.perdag, f);
|
|
336
|
+
}
|
|
337
|
+
async function getBTree(dagRead, clientID) {
|
|
338
|
+
const client = await getClient(clientID, dagRead);
|
|
339
|
+
assert(client, `Client not found: ${clientID}`);
|
|
340
|
+
const { clientGroupID } = client;
|
|
341
|
+
const clientGroup = await getClientGroup(clientGroupID, dagRead);
|
|
342
|
+
assert(clientGroup, `Client group not found: ${clientGroupID}`);
|
|
343
|
+
const dbRead = await readFromHash(
|
|
344
|
+
clientGroup.headHash,
|
|
345
|
+
dagRead,
|
|
346
|
+
Latest
|
|
347
|
+
);
|
|
348
|
+
return dbRead.map;
|
|
349
|
+
}
|
|
350
|
+
async function clients(rep, socket, schema, dagRead, predicate = () => true) {
|
|
351
|
+
const clients2 = await getClients(dagRead);
|
|
352
|
+
return [...clients2.entries()].filter(predicate).map(
|
|
353
|
+
([clientID, { clientGroupID }]) => new Client(rep, schema, socket, clientID, clientGroupID)
|
|
354
|
+
);
|
|
355
|
+
}
|
|
356
|
+
async function clientsWithQueries(rep, socket, schema, dagRead, predicate = () => true) {
|
|
357
|
+
const allClients = await clients(rep, socket, schema, dagRead, predicate);
|
|
358
|
+
const clientsWithQueries2 = [];
|
|
359
|
+
await Promise.all(
|
|
360
|
+
allClients.map(async (client) => {
|
|
361
|
+
const queries = await client.queries();
|
|
362
|
+
if (queries.length > 0) {
|
|
363
|
+
clientsWithQueries2.push(client);
|
|
364
|
+
}
|
|
365
|
+
})
|
|
366
|
+
);
|
|
367
|
+
return clientsWithQueries2;
|
|
368
|
+
}
|
|
369
|
+
var Query = class {
|
|
370
|
+
ast;
|
|
371
|
+
got;
|
|
372
|
+
ttl;
|
|
373
|
+
inactivatedAt;
|
|
374
|
+
rowCount;
|
|
375
|
+
deleted;
|
|
376
|
+
id;
|
|
377
|
+
zql;
|
|
378
|
+
clientID;
|
|
379
|
+
constructor(row, _schema) {
|
|
380
|
+
this.clientID = row.clientID;
|
|
381
|
+
this.id = row.queryID;
|
|
382
|
+
this.inactivatedAt = row.inactivatedAt === null ? null : new Date(row.inactivatedAt);
|
|
383
|
+
this.ttl = normalizeTTL(row.ttl);
|
|
384
|
+
this.ast = row.ast;
|
|
385
|
+
this.got = row.got;
|
|
386
|
+
this.rowCount = row.rowCount;
|
|
387
|
+
this.deleted = row.deleted;
|
|
388
|
+
this.zql = this.ast.table + astToZQL(this.ast);
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
export {
|
|
392
|
+
newInspector
|
|
393
|
+
};
|
|
394
|
+
//# sourceMappingURL=inspector-RYBBQ63M.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../ast-to-zql/src/ast-to-zql.ts", "../../zero-client/src/client/inspector/inspector.ts"],
|
|
4
|
+
"sourcesContent": ["import {unreachable} from '../../shared/src/asserts.ts';\nimport {must} from '../../shared/src/must.ts';\nimport type {\n AST,\n Condition,\n Conjunction,\n CorrelatedSubquery,\n CorrelatedSubqueryCondition,\n Disjunction,\n LiteralReference,\n Ordering,\n Parameter,\n SimpleCondition,\n ValuePosition,\n} from '../../zero-protocol/src/ast.ts';\nimport {SUBQ_PREFIX} from '../../zql/src/query/query-impl.ts';\n\n/**\n * Converts an AST to the equivalent query builder code.\n * This is useful for debugging and understanding queries.\n *\n * @example\n * ```\n * const ast = query.issue.where('id', '=', 123)[astForTestingSymbol];\n * console.log(astToZQL(ast)); // outputs: .where('id', '=', 123)\n * ```\n */\nexport function astToZQL(ast: AST): string {\n let code = '';\n\n // Handle where conditions\n if (ast.where) {\n code += transformCondition(ast.where, '.where', new Set());\n }\n\n // Handle related subqueries\n if (ast.related && ast.related.length > 0) {\n for (const related of ast.related) {\n if (!related.hidden) {\n code += transformRelated(related);\n }\n }\n }\n\n // Handle orderBy\n if (ast.orderBy && ast.orderBy.length > 0) {\n code += transformOrder(ast.orderBy);\n }\n\n // Handle limit\n if (ast.limit !== undefined) {\n code += `.limit(${ast.limit})`;\n }\n\n // Handle start\n if (ast.start) {\n const {row, exclusive} = ast.start;\n code += `.start(${JSON.stringify(row)}${\n exclusive ? '' : ', { inclusive: true }'\n })`;\n }\n\n return code;\n}\n\ntype Args = Set<string>;\n\ntype Prefix = '.where' | 'cmp';\n\nfunction transformCondition(\n condition: Condition,\n prefix: Prefix,\n args: Args,\n): string {\n switch (condition.type) {\n case 'simple':\n return transformSimpleCondition(condition, prefix);\n case 'and':\n case 'or':\n return transformLogicalCondition(condition, prefix, args);\n case 'correlatedSubquery':\n return transformExistsCondition(condition, prefix, args);\n default:\n unreachable(condition);\n }\n}\n\nfunction transformSimpleCondition(\n condition: SimpleCondition,\n prefix: Prefix,\n): string {\n const {left, op, right} = condition;\n\n const leftCode = transformValuePosition(left);\n const rightCode = transformValuePosition(right);\n\n // Handle the shorthand form for equals\n if (op === '=') {\n return `${prefix}(${leftCode}, ${rightCode})`;\n }\n\n return `${prefix}(${leftCode}, '${op}', ${rightCode})`;\n}\n\nfunction transformLogicalCondition(\n condition: Conjunction | Disjunction,\n prefix: Prefix,\n args: Args,\n): string {\n const {type, conditions} = condition;\n\n // For single condition, no need for logical operator\n if (conditions.length === 1) {\n return transformCondition(conditions[0], prefix, args);\n }\n\n // Generate multiple where calls for top-level AND conditions\n if (type === 'and') {\n const parts = conditions.map(c => transformCondition(c, prefix, args));\n // Simply concatenate the where conditions\n if (prefix === '.where') {\n return parts.join('');\n }\n args.add('and');\n return 'and(' + parts.join(', ') + ')';\n }\n\n args = new Set<string>();\n\n // Handle nested conditions with a callback for OR conditions and nested ANDs/ORs\n const conditionsCode = conditions\n .map(c => transformCondition(c, 'cmp', args))\n .join(', ');\n\n args.add('cmp');\n args.add(type);\n const argsCode = [...args].sort().join(', ');\n\n return `.where(({${argsCode}}) => ${type}(${conditionsCode}))`;\n}\n\nfunction transformExistsCondition(\n condition: CorrelatedSubqueryCondition,\n prefix: '.where' | 'cmp',\n args: Set<string>,\n): string {\n const {related, op} = condition;\n const relationship = extractRelationshipName(related);\n\n // Check if subquery has additional properties\n const hasSubQueryProps =\n related.subquery.where ||\n (related.subquery.related && related.subquery.related.length > 0) ||\n related.subquery.orderBy ||\n related.subquery.limit;\n\n if (op === 'EXISTS') {\n if (!hasSubQueryProps) {\n if (prefix === '.where') {\n return `.whereExists('${relationship}')`;\n }\n args.add('exists');\n return `exists('${relationship}')`;\n }\n\n if (prefix === '.where') {\n return `.whereExists('${relationship}', q => q${astToZQL(\n related.subquery,\n )}))`;\n }\n prefix satisfies 'cmp';\n args.add('exists');\n return `exists('${relationship}', q => q${astToZQL(related.subquery)})`;\n }\n\n op satisfies 'NOT EXISTS';\n\n if (hasSubQueryProps) {\n if (prefix === '.where') {\n return `.where(({exists, not}) => not(exists('${relationship}', q => q${astToZQL(\n related.subquery,\n )})))`;\n }\n prefix satisfies 'cmp';\n args.add('not');\n args.add('exists');\n return `not(exists('${relationship}', q => q${astToZQL(\n related.subquery,\n )}))`;\n }\n\n if (prefix === '.where') {\n return `.where(({exists, not}) => not(exists('${relationship}')))`;\n }\n args.add('not');\n args.add('exists');\n\n return `not(exists('${relationship}')))`;\n}\n\nfunction extractRelationshipName(related: CorrelatedSubquery): string {\n const alias = must(related.subquery.alias);\n return alias.startsWith(SUBQ_PREFIX)\n ? alias.substring(SUBQ_PREFIX.length)\n : alias;\n}\n\nfunction transformRelated(related: CorrelatedSubquery): string {\n const {alias} = related.subquery;\n if (!alias) return '';\n\n const relationship = alias;\n let code = `.related('${relationship}'`;\n\n // If the subquery has additional filters or configurations\n if (\n related.subquery.where ||\n (related.subquery.related && related.subquery.related.length > 0) ||\n related.subquery.orderBy ||\n related.subquery.limit\n ) {\n code += ', q => q' + astToZQL(related.subquery);\n }\n\n code += ')';\n return code;\n}\n\nfunction transformOrder(orderBy: Ordering): string {\n let code = '';\n for (const [field, direction] of orderBy) {\n code += `.orderBy('${field}', '${direction}')`;\n }\n return code;\n}\n\nfunction transformValuePosition(value: ValuePosition): string {\n switch (value.type) {\n case 'literal':\n return transformLiteral(value);\n case 'column':\n return `'${value.name}'`;\n case 'static':\n return transformParameter(value);\n default:\n unreachable(value);\n }\n}\n\nfunction transformLiteral(literal: LiteralReference): string {\n if (literal.value === null) {\n return 'null';\n }\n if (Array.isArray(literal.value)) {\n return JSON.stringify(literal.value);\n }\n if (typeof literal.value === 'string') {\n return `'${literal.value.replace(/'/g, \"\\\\'\")}'`;\n }\n return String(literal.value);\n}\n\nfunction transformParameter(param: Parameter): string {\n const fieldStr = Array.isArray(param.field)\n ? `[${param.field.map(f => `'${f}'`).join(', ')}]`\n : `'${param.field}'`;\n\n return `authParam(${fieldStr})`;\n}\n", "import {astToZQL} from '../../../../ast-to-zql/src/ast-to-zql.ts';\nimport type {BTreeRead} from '../../../../replicache/src/btree/read.ts';\nimport {type Read} from '../../../../replicache/src/dag/store.ts';\nimport {readFromHash} from '../../../../replicache/src/db/read.ts';\nimport * as FormatVersion from '../../../../replicache/src/format-version-enum.ts';\nimport {getClientGroup} from '../../../../replicache/src/persist/client-groups.ts';\nimport {\n getClient,\n getClients,\n type ClientMap,\n} from '../../../../replicache/src/persist/clients.ts';\nimport type {ReplicacheImpl} from '../../../../replicache/src/replicache-impl.ts';\nimport {withRead} from '../../../../replicache/src/with-transactions.ts';\nimport {assert} from '../../../../shared/src/asserts.ts';\nimport type {ReadonlyJSONValue} from '../../../../shared/src/json.ts';\nimport * as valita from '../../../../shared/src/valita.ts';\nimport type {AST} from '../../../../zero-protocol/src/ast.ts';\nimport type {Row} from '../../../../zero-protocol/src/data.ts';\nimport {\n inspectQueriesDownSchema,\n type InspectDownBody,\n type InspectQueryRow,\n} from '../../../../zero-protocol/src/inspect-down.ts';\nimport type {\n InspectQueriesUpBody,\n InspectUpBody,\n InspectUpMessage,\n} from '../../../../zero-protocol/src/inspect-up.ts';\nimport type {Schema} from '../../../../zero-schema/src/builder/schema-builder.ts';\nimport {normalizeTTL, type TTL} from '../../../../zql/src/query/ttl.ts';\nimport {nanoid} from '../../util/nanoid.ts';\nimport {ENTITIES_KEY_PREFIX} from '../keys.ts';\nimport type {MutatorDefs} from '../replicache-types.ts';\nimport type {\n ClientGroup as ClientGroupInterface,\n Client as ClientInterface,\n Inspector as InspectorInterface,\n Query as QueryInterface,\n} from './types.ts';\n\ntype Rep = ReplicacheImpl<MutatorDefs>;\n\ntype GetWebSocket = () => WebSocket | undefined;\n\nexport async function newInspector(\n rep: Rep,\n schema: Schema,\n socket: GetWebSocket,\n): Promise<InspectorInterface> {\n const clientGroupID = await rep.clientGroupID;\n return new Inspector(rep, schema, rep.clientID, clientGroupID, socket);\n}\n\nclass Inspector implements InspectorInterface {\n readonly #rep: Rep;\n readonly client: Client;\n readonly clientGroup: ClientGroup;\n readonly #schema: Schema;\n readonly socket: GetWebSocket;\n\n constructor(\n rep: ReplicacheImpl,\n schema: Schema,\n clientID: string,\n clientGroupID: string,\n socket: GetWebSocket,\n ) {\n this.#rep = rep;\n this.#schema = schema;\n this.client = new Client(rep, schema, socket, clientID, clientGroupID);\n this.clientGroup = this.client.clientGroup;\n this.socket = socket;\n }\n\n clients(): Promise<ClientInterface[]> {\n return withDagRead(this.#rep, dagRead =>\n clients(this.#rep, this.socket, this.#schema, dagRead),\n );\n }\n\n clientsWithQueries(): Promise<ClientInterface[]> {\n return withDagRead(this.#rep, dagRead =>\n clientsWithQueries(this.#rep, this.socket, this.#schema, dagRead),\n );\n }\n}\n\nfunction rpc<T extends InspectDownBody>(\n socket: WebSocket | undefined,\n arg: Omit<InspectUpBody, 'id'>,\n downSchema: valita.Type<T>,\n): Promise<T['value']> {\n assert(socket, 'WebSocket not available');\n return new Promise((resolve, reject) => {\n const id = nanoid();\n const f = (ev: MessageEvent) => {\n const msg = JSON.parse(ev.data);\n if (msg[0] === 'inspect') {\n const body = msg[1];\n if (body.id !== id) {\n return;\n }\n const res = valita.test(body, downSchema);\n if (res.ok) {\n resolve(res.value.value);\n } else {\n reject(res.error);\n }\n socket.removeEventListener('message', f);\n }\n };\n socket.addEventListener('message', f);\n socket.send(\n JSON.stringify(['inspect', {...arg, id}] satisfies InspectUpMessage),\n );\n });\n}\n\nclass Client implements ClientInterface {\n readonly #rep: Rep;\n readonly id: string;\n readonly clientGroup: ClientGroup;\n readonly #schema: Schema;\n readonly #socket: GetWebSocket;\n\n constructor(\n rep: Rep,\n schema: Schema,\n socket: GetWebSocket,\n id: string,\n clientGroupID: string,\n ) {\n this.#rep = rep;\n this.#schema = schema;\n this.#socket = socket;\n this.id = id;\n this.clientGroup = new ClientGroup(rep, socket, schema, clientGroupID);\n }\n\n async queries(): Promise<QueryInterface[]> {\n const rows: InspectQueryRow[] = await rpc(\n this.#socket(),\n {op: 'queries', clientID: this.id} as InspectQueriesUpBody,\n inspectQueriesDownSchema,\n );\n return rows.map(row => new Query(row, this.#schema));\n }\n\n map(): Promise<Map<string, ReadonlyJSONValue>> {\n return withDagRead(this.#rep, async dagRead => {\n const tree = await getBTree(dagRead, this.id);\n const map = new Map<string, ReadonlyJSONValue>();\n for await (const [key, value] of tree.scan('')) {\n map.set(key, value);\n }\n return map;\n });\n }\n\n rows(tableName: string): Promise<Row[]> {\n return withDagRead(this.#rep, async dagRead => {\n const prefix = ENTITIES_KEY_PREFIX + tableName;\n const tree = await getBTree(dagRead, this.id);\n const rows: Row[] = [];\n for await (const [key, value] of tree.scan(prefix)) {\n if (!key.startsWith(prefix)) {\n break;\n }\n rows.push(value as Row);\n }\n return rows;\n });\n }\n}\n\nclass ClientGroup implements ClientGroupInterface {\n readonly #rep: Rep;\n readonly id: string;\n readonly #schema: Schema;\n readonly #socket: GetWebSocket;\n\n constructor(rep: Rep, socket: GetWebSocket, schema: Schema, id: string) {\n this.#rep = rep;\n this.#socket = socket;\n this.#schema = schema;\n this.id = id;\n }\n\n clients(): Promise<ClientInterface[]> {\n return withDagRead(this.#rep, dagRead =>\n clients(\n this.#rep,\n this.#socket,\n this.#schema,\n dagRead,\n ([_, v]) => v.clientGroupID === this.id,\n ),\n );\n }\n\n clientsWithQueries(): Promise<ClientInterface[]> {\n return withDagRead(this.#rep, dagRead =>\n clientsWithQueries(\n this.#rep,\n this.#socket,\n this.#schema,\n dagRead,\n ([_, v]) => v.clientGroupID === this.id,\n ),\n );\n }\n\n async queries(): Promise<QueryInterface[]> {\n const rows: InspectQueryRow[] = await rpc(\n this.#socket(),\n {op: 'queries'},\n inspectQueriesDownSchema,\n );\n return rows.map(row => new Query(row, this.#schema));\n }\n}\n\nasync function withDagRead<T>(\n rep: Rep,\n f: (dagRead: Read) => Promise<T>,\n): Promise<T> {\n await rep.refresh();\n await rep.persist();\n return withRead(rep.perdag, f);\n}\n\nasync function getBTree(dagRead: Read, clientID: string): Promise<BTreeRead> {\n const client = await getClient(clientID, dagRead);\n assert(client, `Client not found: ${clientID}`);\n const {clientGroupID} = client;\n const clientGroup = await getClientGroup(clientGroupID, dagRead);\n assert(clientGroup, `Client group not found: ${clientGroupID}`);\n const dbRead = await readFromHash(\n clientGroup.headHash,\n dagRead,\n FormatVersion.Latest,\n );\n return dbRead.map;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype MapEntry<T extends ReadonlyMap<any, any>> =\n T extends ReadonlyMap<infer K, infer V> ? readonly [K, V] : never;\n\nasync function clients(\n rep: Rep,\n socket: GetWebSocket,\n schema: Schema,\n dagRead: Read,\n predicate: (entry: MapEntry<ClientMap>) => boolean = () => true,\n): Promise<ClientInterface[]> {\n const clients = await getClients(dagRead);\n return [...clients.entries()]\n .filter(predicate)\n .map(\n ([clientID, {clientGroupID}]) =>\n new Client(rep, schema, socket, clientID, clientGroupID),\n );\n}\n\nasync function clientsWithQueries(\n rep: Rep,\n socket: GetWebSocket,\n schema: Schema,\n dagRead: Read,\n predicate: (entry: MapEntry<ClientMap>) => boolean = () => true,\n): Promise<ClientInterface[]> {\n const allClients = await clients(rep, socket, schema, dagRead, predicate);\n const clientsWithQueries: ClientInterface[] = [];\n await Promise.all(\n allClients.map(async client => {\n const queries = await client.queries();\n if (queries.length > 0) {\n clientsWithQueries.push(client);\n }\n }),\n );\n return clientsWithQueries;\n}\n\nclass Query implements QueryInterface {\n readonly ast: AST;\n readonly got: boolean;\n readonly ttl: TTL;\n readonly inactivatedAt: Date | null;\n readonly rowCount: number;\n readonly deleted: boolean;\n readonly id: string;\n readonly zql: string;\n readonly clientID: string;\n\n constructor(row: InspectQueryRow, _schema: Schema) {\n // Use own properties to make this more useful in dev tools. For example, in\n // Chrome dev tools, if you do console.table(queries) you'll see the\n // properties in the table, if these were getters you would not see them in the table.\n this.clientID = row.clientID;\n this.id = row.queryID;\n this.inactivatedAt =\n row.inactivatedAt === null ? null : new Date(row.inactivatedAt);\n this.ttl = normalizeTTL(row.ttl);\n this.ast = row.ast;\n this.got = row.got;\n this.rowCount = row.rowCount;\n this.deleted = row.deleted;\n this.zql = this.ast.table + astToZQL(this.ast);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["clients", "clientsWithQueries"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-log-config.d.ts","sourceRoot":"","sources":["../../../../otel/src/test-log-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;CAMzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-log-config.js","sourceRoot":"","sources":["../../../../otel/src/test-log-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAe;IACvB,KAAK,EAAE,OAAgB;IACvB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicache-impl.d.ts","sourceRoot":"","sources":["../../../../replicache/src/replicache-impl.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAsC,KAAK,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAmB/E,OAAO,EAAwB,KAAK,IAAI,EAAgB,MAAM,WAAW,CAAC;AAY1E,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAQhC,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,KAAK,MAAM,EAAY,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"replicache-impl.d.ts","sourceRoot":"","sources":["../../../../replicache/src/replicache-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -240,6 +240,14 @@ export type ZeroReadOptions = {
|
|
|
240
240
|
openLazyRead?: Read | undefined;
|
|
241
241
|
openLazySourceRead?: Read | undefined;
|
|
242
242
|
};
|
|
243
|
+
declare const idTag: unique symbol;
|
|
244
|
+
export type EphemeralID = number & {
|
|
245
|
+
[idTag]: true;
|
|
246
|
+
};
|
|
247
|
+
export type MutationTrackingData = {
|
|
248
|
+
ephemeralID: EphemeralID;
|
|
249
|
+
serverPromise: Promise<unknown>;
|
|
250
|
+
};
|
|
243
251
|
/**
|
|
244
252
|
* Minimal interface that Replicache needs to communicate with Zero.
|
|
245
253
|
* Prevents us from creating any direct dependencies on Zero.
|
|
@@ -263,5 +271,9 @@ export interface ZeroOption {
|
|
|
263
271
|
* When Replicache's main head moves forward, Zero must advance its IVM state.
|
|
264
272
|
*/
|
|
265
273
|
advance(expectedHash: Hash, newHash: Hash, changes: InternalDiff): void;
|
|
274
|
+
trackMutation(): MutationTrackingData;
|
|
275
|
+
mutationIDAssigned(ephemeralID: EphemeralID, mutationID: number): void;
|
|
276
|
+
rejectMutation(ephemeralID: EphemeralID, ex: unknown): void;
|
|
266
277
|
}
|
|
278
|
+
export {};
|
|
267
279
|
//# sourceMappingURL=replicache-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicache-options.d.ts","sourceRoot":"","sources":["../../../../replicache/src/replicache-options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"replicache-options.d.ts","sourceRoot":"","sources":["../../../../replicache/src/replicache-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,MAAM,WAAW,iBAAiB,CAAC,EAAE,SAAS,WAAW;IACvD;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiEG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAE5C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAChC,kBAAkB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAA;CAAC,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,SAAS,CACP,WAAW,EAAE,IAAI,EACjB,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,GACxC,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAExE,aAAa,IAAI,oBAAoB,CAAC;IACtC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACvE,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7D"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
type GlobalThis = typeof globalThis;
|
|
2
|
+
export declare function overrideBrowserGlobal<T extends keyof GlobalThis>(name: T, value: GlobalThis[T]): void;
|
|
3
|
+
export declare function clearBrowserOverrides(): void;
|
|
2
4
|
export declare function getBrowserGlobal<T extends keyof GlobalThis>(name: T): GlobalThis[T] | undefined;
|
|
3
5
|
/**
|
|
4
6
|
* Returns the global method with the given name, bound to the global object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-env.d.ts","sourceRoot":"","sources":["../../../../shared/src/browser-env.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,OAAO,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-env.d.ts","sourceRoot":"","sources":["../../../../shared/src/browser-env.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,OAAO,UAAU,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,UAAU,EAC9D,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAGrB;AAED,wBAAgB,qBAAqB,SAEpC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,UAAU,EACzD,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAK3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,UAAU,EAC/D,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAE3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,UAAU,EAC7D,IAAI,EAAE,CAAC,GACN,UAAU,CAAC,CAAC,CAAC,CAQf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type IsPlainObject<T> = T extends object ? T extends Function | any[] ? false : true : false;
|
|
2
|
+
export type DeepMerge<A, B> = {
|
|
3
|
+
[K in keyof A | keyof B]: K extends keyof B ? K extends keyof A ? IsPlainObject<A[K]> extends true ? IsPlainObject<B[K]> extends true ? DeepMerge<A[K], B[K]> : B[K] : B[K] : B[K] : K extends keyof A ? A[K] : never;
|
|
4
|
+
};
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=deep-merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-merge.d.ts","sourceRoot":"","sources":["../../../../shared/src/deep-merge.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAEpC,CAAC,SAAS,QAAQ,GAAG,GAAG,EAAE,GACxB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,SAAS,MAAM,CAAC,GACf,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9B,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Context, LogContext, type LogLevel, type LogSink } from '@rocicorp/logger';
|
|
2
|
+
export declare class TestLogSink implements LogSink {
|
|
3
|
+
messages: [LogLevel, Context | undefined, unknown[]][];
|
|
4
|
+
flushCallCount: number;
|
|
5
|
+
log(level: LogLevel, context: Context | undefined, ...args: unknown[]): void;
|
|
6
|
+
flush(): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare class SilentLogSink implements LogSink {
|
|
9
|
+
log(_l: LogLevel, _c: Context | undefined, ..._args: unknown[]): void;
|
|
10
|
+
}
|
|
11
|
+
export declare function createSilentLogContext(): LogContext;
|
|
12
|
+
//# sourceMappingURL=logging-test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-test-utils.d.ts","sourceRoot":"","sources":["../../../../shared/src/logging-test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,OAAO,EACb,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAM;IAC5D,cAAc,SAAK;IAEnB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI5E,KAAK;CAIN;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;CAGtE;AAED,wBAAgB,sBAAsB,eAErC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LogContext, } from '@rocicorp/logger';
|
|
2
|
+
export class TestLogSink {
|
|
3
|
+
messages = [];
|
|
4
|
+
flushCallCount = 0;
|
|
5
|
+
log(level, context, ...args) {
|
|
6
|
+
this.messages.push([level, context, args]);
|
|
7
|
+
}
|
|
8
|
+
flush() {
|
|
9
|
+
this.flushCallCount++;
|
|
10
|
+
return Promise.resolve();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class SilentLogSink {
|
|
14
|
+
log(_l, _c, ..._args) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function createSilentLogContext() {
|
|
19
|
+
return new LogContext('error', undefined, new SilentLogSink());
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=logging-test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-test-utils.js","sourceRoot":"","sources":["../../../../shared/src/logging-test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAE1B,MAAM,OAAO,WAAW;IACtB,QAAQ,GAAiD,EAAE,CAAC;IAC5D,cAAc,GAAG,CAAC,CAAC;IAEnB,GAAG,CAAC,KAAe,EAAE,OAA4B,EAAE,GAAG,IAAe;QACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACxB,GAAG,CAAC,EAAY,EAAE,EAAuB,EAAE,GAAG,KAAgB;QAC5D,OAAO;IACT,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;AACjE,CAAC"}
|