@rocicorp/zero 0.22.2025063000 → 0.22.2025070600

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.
Files changed (137) hide show
  1. package/out/analyze-query/src/bin-analyze.js +1 -0
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/{chunk-J67XJRPS.js → chunk-5ZACJSVD.js} +3 -3
  4. package/out/{chunk-CESYRWV4.js → chunk-U52OBQ2U.js} +105 -69
  5. package/out/chunk-U52OBQ2U.js.map +7 -0
  6. package/out/{chunk-WOYR3FAT.js → chunk-ZGVTOORV.js} +303 -87
  7. package/out/{chunk-WOYR3FAT.js.map → chunk-ZGVTOORV.js.map} +4 -4
  8. package/out/{inspector-LF6RTN44.js → inspector-XJ4IL4MG.js} +7 -3
  9. package/out/{inspector-LF6RTN44.js.map → inspector-XJ4IL4MG.js.map} +2 -2
  10. package/out/react.js +3 -3
  11. package/out/react.js.map +2 -2
  12. package/out/replicache/src/btree/node.d.ts.map +1 -1
  13. package/out/replicache/src/subscriptions.d.ts.map +1 -1
  14. package/out/shared/src/binary-search.d.ts.map +1 -0
  15. package/out/solid.js +131 -99
  16. package/out/solid.js.map +4 -4
  17. package/out/zero-cache/src/config/zero-config.d.ts +8 -0
  18. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  19. package/out/zero-cache/src/config/zero-config.js +9 -0
  20. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  21. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  22. package/out/zero-cache/src/server/change-streamer.js +2 -2
  23. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  24. package/out/zero-cache/src/services/change-source/pg/copy-runner.d.ts.map +1 -1
  25. package/out/zero-cache/src/services/change-source/pg/copy-runner.js +4 -3
  26. package/out/zero-cache/src/services/change-source/pg/copy-runner.js.map +1 -1
  27. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  28. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +1 -1
  29. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  30. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  31. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  32. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -4
  33. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  34. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  35. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  36. package/out/zero-cache/src/services/change-streamer/storer.js +10 -3
  37. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  38. package/out/zero-cache/src/services/mutagen/pusher.d.ts +6 -2
  39. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  40. package/out/zero-cache/src/services/view-syncer/cvr-store.js +8 -8
  41. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  42. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  43. package/out/zero-cache/src/services/view-syncer/cvr.js +13 -23
  44. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  45. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  46. package/out/zero-cache/src/services/view-syncer/schema/types.js +3 -0
  47. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  48. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +0 -3
  49. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  50. package/out/zero-cache/src/services/view-syncer/view-syncer.js +29 -28
  51. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  52. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  53. package/out/zero-cache/src/workers/connection.js +1 -25
  54. package/out/zero-cache/src/workers/connection.js.map +1 -1
  55. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  56. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +1 -1
  57. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  58. package/out/zero-client/src/client/active-clients-manager.d.ts +49 -0
  59. package/out/zero-client/src/client/active-clients-manager.d.ts.map +1 -0
  60. package/out/zero-client/src/client/context.d.ts +3 -1
  61. package/out/zero-client/src/client/context.d.ts.map +1 -1
  62. package/out/zero-client/src/client/custom.d.ts +6 -6
  63. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  64. package/out/zero-client/src/client/inspector/types.d.ts +4 -2
  65. package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
  66. package/out/zero-client/src/client/options.d.ts +9 -2
  67. package/out/zero-client/src/client/options.d.ts.map +1 -1
  68. package/out/zero-client/src/client/query-manager.d.ts +2 -1
  69. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  70. package/out/zero-client/src/client/zero.d.ts +5 -4
  71. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  72. package/out/zero-protocol/src/close-connection.d.ts +4 -0
  73. package/out/zero-protocol/src/close-connection.d.ts.map +1 -1
  74. package/out/zero-protocol/src/close-connection.js +2 -0
  75. package/out/zero-protocol/src/close-connection.js.map +1 -1
  76. package/out/zero-protocol/src/connect.d.ts +14 -0
  77. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  78. package/out/zero-protocol/src/connect.js +7 -0
  79. package/out/zero-protocol/src/connect.js.map +1 -1
  80. package/out/zero-protocol/src/down.d.ts +3 -1
  81. package/out/zero-protocol/src/down.d.ts.map +1 -1
  82. package/out/zero-protocol/src/inspect-down.d.ts +12 -4
  83. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  84. package/out/zero-protocol/src/inspect-down.js +7 -1
  85. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  86. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  87. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  88. package/out/zero-protocol/src/protocol-version.js +3 -1
  89. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  90. package/out/zero-protocol/src/up.d.ts +1 -0
  91. package/out/zero-protocol/src/up.d.ts.map +1 -1
  92. package/out/zero-react/src/zero-provider.d.ts +1 -1
  93. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  94. package/out/zero-solid/src/mod.d.ts +2 -2
  95. package/out/zero-solid/src/mod.d.ts.map +1 -1
  96. package/out/zero-solid/src/solid-view.d.ts +8 -6
  97. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  98. package/out/zero-solid/src/{create-query.d.ts → use-query.d.ts} +7 -7
  99. package/out/zero-solid/src/use-query.d.ts.map +1 -0
  100. package/out/zero-solid/src/use-zero.d.ts +11 -0
  101. package/out/zero-solid/src/use-zero.d.ts.map +1 -0
  102. package/out/zero.js +3 -3
  103. package/out/zql/src/ivm/take.d.ts.map +1 -1
  104. package/out/zql/src/ivm/take.js +6 -0
  105. package/out/zql/src/ivm/take.js.map +1 -1
  106. package/out/zql/src/ivm/view-apply-change.d.ts +2 -3
  107. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
  108. package/out/zql/src/ivm/view-apply-change.js +28 -19
  109. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  110. package/out/zql/src/query/query-delegate.d.ts +1 -0
  111. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  112. package/out/zql/src/query/query-impl.d.ts +3 -3
  113. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  114. package/out/zql/src/query/query-impl.js +4 -4
  115. package/out/zql/src/query/query-impl.js.map +1 -1
  116. package/out/zql/src/query/query.d.ts +1 -1
  117. package/out/zql/src/query/ttl.d.ts +4 -0
  118. package/out/zql/src/query/ttl.d.ts.map +1 -1
  119. package/out/zql/src/query/ttl.js +12 -1
  120. package/out/zql/src/query/ttl.js.map +1 -1
  121. package/out/zqlite/src/query-delegate.d.ts +1 -0
  122. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  123. package/out/zqlite/src/query-delegate.js +1 -0
  124. package/out/zqlite/src/query-delegate.js.map +1 -1
  125. package/out/zqlite/src/table-source.d.ts.map +1 -1
  126. package/out/zqlite/src/table-source.js +12 -8
  127. package/out/zqlite/src/table-source.js.map +1 -1
  128. package/package.json +3 -3
  129. package/out/chunk-CESYRWV4.js.map +0 -7
  130. package/out/replicache/src/binary-search.d.ts.map +0 -1
  131. package/out/shared/src/ref-count.d.ts +0 -16
  132. package/out/shared/src/ref-count.d.ts.map +0 -1
  133. package/out/zero-solid/src/create-query.d.ts.map +0 -1
  134. package/out/zero-solid/src/create-zero.d.ts +0 -3
  135. package/out/zero-solid/src/create-zero.d.ts.map +0 -1
  136. /package/out/{chunk-J67XJRPS.js.map → chunk-5ZACJSVD.js.map} +0 -0
  137. /package/out/{replicache → shared}/src/binary-search.d.ts +0 -0
package/out/solid.js CHANGED
@@ -1,53 +1,25 @@
1
- import "./chunk-J67XJRPS.js";
1
+ import "./chunk-5ZACJSVD.js";
2
2
  import {
3
3
  Zero
4
- } from "./chunk-WOYR3FAT.js";
4
+ } from "./chunk-ZGVTOORV.js";
5
5
  import {
6
6
  DEFAULT_TTL,
7
7
  applyChange,
8
- must
9
- } from "./chunk-CESYRWV4.js";
8
+ idSymbol
9
+ } from "./chunk-U52OBQ2U.js";
10
10
  import "./chunk-424PT5DM.js";
11
11
 
12
- // ../zero-solid/src/create-query.ts
13
- import { createMemo, onCleanup } from "solid-js";
14
-
15
- // ../shared/src/ref-count.ts
16
- var RefCount = class {
17
- #map = /* @__PURE__ */ new WeakMap();
18
- /**
19
- * Returns true if the value was added.
20
- */
21
- inc(value) {
22
- const rc = this.#map.get(value) ?? 0;
23
- this.#map.set(value, rc + 1);
24
- return rc === 0;
25
- }
26
- /**
27
- * Returns true if the value was removed.
28
- */
29
- dec(value) {
30
- const rc = must(this.#map.get(value));
31
- if (rc === 1) {
32
- return this.#map.delete(value);
33
- }
34
- this.#map.set(value, rc - 1);
35
- return false;
36
- }
37
- };
12
+ // ../zero-solid/src/use-query.ts
13
+ import { createComputed, onCleanup as onCleanup2 } from "solid-js";
38
14
 
39
15
  // ../zero-solid/src/solid-view.ts
40
- import {
41
- createStore,
42
- produce
43
- } from "solid-js/store";
44
- var complete = { type: "complete" };
45
- var unknown = { type: "unknown" };
16
+ import { produce, reconcile } from "solid-js/store";
17
+ var COMPLETE = Object.freeze({ type: "complete" });
18
+ var UNKNOWN = Object.freeze({ type: "unknown" });
46
19
  var SolidView = class {
47
20
  #input;
48
21
  #format;
49
22
  #onDestroy;
50
- #state;
51
23
  #setState;
52
24
  // Optimization: if the store is currently empty we build up
53
25
  // the view on a plain old JS object stored at #builderRoot, and return
@@ -60,7 +32,7 @@ var SolidView = class {
60
32
  #builderRoot;
61
33
  #pendingChanges = [];
62
34
  #updateTTL;
63
- constructor(input, onTransactionCommit, format, onDestroy, queryComplete, updateTTL) {
35
+ constructor(input, onTransactionCommit, format, onDestroy, queryComplete, updateTTL, setState) {
64
36
  this.#input = input;
65
37
  onTransactionCommit(this.#onTransactionCommit);
66
38
  this.#format = format;
@@ -73,25 +45,22 @@ var SolidView = class {
73
45
  (node) => ({ type: "add", node }),
74
46
  initialRoot
75
47
  );
76
- [this.#state, this.#setState] = createStore([
77
- initialRoot,
78
- queryComplete === true ? complete : unknown
79
- ]);
48
+ this.#setState = setState;
49
+ this.#setState(
50
+ reconcile([initialRoot, queryComplete === true ? COMPLETE : UNKNOWN], {
51
+ // solidjs's types want a string, but a symbol works
52
+ key: idSymbol
53
+ })
54
+ );
80
55
  if (isEmptyRoot(initialRoot)) {
81
56
  this.#builderRoot = this.#createEmptyRoot();
82
57
  }
83
58
  if (queryComplete !== true) {
84
59
  void queryComplete.then(() => {
85
- this.#setState((oldState) => [oldState[0], complete]);
60
+ this.#setState((prev) => [prev[0], COMPLETE]);
86
61
  });
87
62
  }
88
63
  }
89
- get data() {
90
- return this.#state[0][""];
91
- }
92
- get resultDetails() {
93
- return this.#state[1];
94
- }
95
64
  destroy() {
96
65
  this.#onDestroy();
97
66
  }
@@ -99,7 +68,14 @@ var SolidView = class {
99
68
  const builderRoot = this.#builderRoot;
100
69
  if (builderRoot) {
101
70
  if (!isEmptyRoot(builderRoot)) {
102
- this.#setState((oldState) => [builderRoot, oldState[1]]);
71
+ this.#setState(
72
+ 0,
73
+ reconcile(builderRoot, {
74
+ // solidjs's types want a string, but a symbol works
75
+ key: idSymbol
76
+ })
77
+ );
78
+ this.#setState((prev) => [builderRoot, prev[1]]);
103
79
  this.#builderRoot = void 0;
104
80
  }
105
81
  } else {
@@ -133,7 +109,14 @@ var SolidView = class {
133
109
  }
134
110
  }
135
111
  #applyChangeToRoot(change, root) {
136
- applyChange(root, change, this.#input.getSchema(), "", this.#format);
112
+ applyChange(
113
+ root,
114
+ change,
115
+ this.#input.getSchema(),
116
+ "",
117
+ this.#format,
118
+ true
119
+ );
137
120
  }
138
121
  #createEmptyRoot() {
139
122
  return {
@@ -185,56 +168,37 @@ function isEmptyRoot(entry) {
185
168
  const data = entry[""];
186
169
  return data === void 0 || Array.isArray(data) && data.length === 0;
187
170
  }
188
- function solidViewFactory(_query, input, format, onDestroy, onTransactionCommit, queryComplete, updateTTL) {
189
- return new SolidView(
190
- input,
191
- onTransactionCommit,
192
- format,
193
- onDestroy,
194
- queryComplete,
195
- updateTTL
196
- );
197
- }
198
-
199
- // ../zero-solid/src/create-query.ts
200
- function createQuery(querySignal, options) {
201
- const view = createMemo(() => {
202
- const query = querySignal();
203
- const ttl = normalize(options)?.ttl ?? DEFAULT_TTL;
204
- const view2 = getView(query, ttl);
205
- onCleanup(() => queueMicrotask(() => releaseView(query, view2)));
206
- return view2;
207
- });
208
- return [() => view().data, () => view().resultDetails];
209
- }
210
- function useQuery(querySignal, options) {
211
- return createQuery(querySignal, options);
212
- }
213
- var views = /* @__PURE__ */ new WeakMap();
214
- var viewRefCount = new RefCount();
215
- function getView(query, ttl) {
216
- let view = views.get(query);
217
- if (!view) {
218
- view = query.materialize(solidViewFactory, ttl);
219
- views.set(query, view);
220
- } else {
221
- view.updateTTL(ttl);
222
- }
223
- viewRefCount.inc(view);
224
- return view;
225
- }
226
- function releaseView(query, view) {
227
- if (viewRefCount.dec(view)) {
228
- views.delete(query);
229
- view.destroy();
171
+ function createSolidViewFactory(setState) {
172
+ function solidViewFactory(_query, input, format, onDestroy, onTransactionCommit, queryComplete, updateTTL) {
173
+ return new SolidView(
174
+ input,
175
+ onTransactionCommit,
176
+ format,
177
+ onDestroy,
178
+ queryComplete,
179
+ updateTTL,
180
+ setState
181
+ );
230
182
  }
183
+ solidViewFactory;
184
+ return solidViewFactory;
231
185
  }
232
- function normalize(options) {
233
- return typeof options === "function" ? options() : options;
234
- }
235
186
 
236
- // ../zero-solid/src/create-zero.ts
237
- import { batch } from "solid-js";
187
+ // ../zero-solid/src/use-query.ts
188
+ import { createStore } from "solid-js/store";
189
+
190
+ // ../zero-solid/src/use-zero.ts
191
+ import {
192
+ batch,
193
+ createContext,
194
+ createMemo,
195
+ onCleanup,
196
+ splitProps,
197
+ useContext
198
+ } from "solid-js";
199
+ var ZeroContext = createContext(
200
+ void 0
201
+ );
238
202
  function createZero(options) {
239
203
  const opts = {
240
204
  ...options,
@@ -242,9 +206,77 @@ function createZero(options) {
242
206
  };
243
207
  return new Zero(opts);
244
208
  }
209
+ function useZero() {
210
+ const zero = useContext(ZeroContext);
211
+ return zero ?? (() => void 0);
212
+ }
213
+ function ZeroProvider(props) {
214
+ const zero = createMemo(() => {
215
+ if ("zero" in props) {
216
+ return props.zero;
217
+ }
218
+ const [, options] = splitProps(props, ["children"]);
219
+ const createdZero = new Zero({
220
+ ...options,
221
+ batchViewUpdates: batch
222
+ });
223
+ onCleanup(() => createdZero.close());
224
+ return createdZero;
225
+ });
226
+ return ZeroContext.Provider({
227
+ value: zero,
228
+ get children() {
229
+ return props.children;
230
+ }
231
+ });
232
+ }
233
+
234
+ // ../zero-solid/src/use-query.ts
235
+ function createQuery(querySignal, options) {
236
+ return useQuery(querySignal, options);
237
+ }
238
+ function useQuery(querySignal, options) {
239
+ const [state, setState] = createStore([
240
+ {
241
+ "": void 0
242
+ },
243
+ UNKNOWN
244
+ ]);
245
+ let view = void 0;
246
+ createComputed(
247
+ ([prevView, prevClientID, prevQuery, prevQueryHash, prevTtl]) => {
248
+ const clientID = useZero()()?.clientID;
249
+ const query = querySignal();
250
+ const queryHash = query.hash();
251
+ const ttl = normalize(options)?.ttl ?? DEFAULT_TTL;
252
+ if (!prevView || clientID !== prevClientID || query !== prevQuery && (clientID === void 0 || query.hash() !== prevQueryHash)) {
253
+ if (prevView) {
254
+ prevView.destroy();
255
+ }
256
+ view = query.materialize(createSolidViewFactory(setState), ttl);
257
+ } else {
258
+ view = prevView;
259
+ if (ttl !== prevTtl) {
260
+ view.updateTTL(ttl);
261
+ }
262
+ }
263
+ return [view, clientID, query, queryHash, ttl];
264
+ },
265
+ [void 0, void 0, void 0, void 0, void 0]
266
+ );
267
+ onCleanup2(() => {
268
+ view?.destroy();
269
+ });
270
+ return [() => state[0][""], () => state[1]];
271
+ }
272
+ function normalize(options) {
273
+ return typeof options === "function" ? options() : options;
274
+ }
245
275
  export {
276
+ ZeroProvider,
246
277
  createQuery,
247
278
  createZero,
248
- useQuery
279
+ useQuery,
280
+ useZero
249
281
  };
250
282
  //# sourceMappingURL=solid.js.map
package/out/solid.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../zero-solid/src/create-query.ts", "../../shared/src/ref-count.ts", "../../zero-solid/src/solid-view.ts", "../../zero-solid/src/create-zero.ts"],
4
- "sourcesContent": ["import {createMemo, onCleanup, type Accessor} from 'solid-js';\nimport {RefCount} from '../../shared/src/ref-count.ts';\nimport {\n DEFAULT_TTL,\n type HumanReadable,\n type Query,\n type Schema,\n type TTL,\n} from '../../zero/src/zero.ts';\nimport {\n solidViewFactory,\n type QueryResultDetails,\n type SolidView,\n} from './solid-view.ts';\n\nexport type QueryResult<TReturn> = readonly [\n Accessor<HumanReadable<TReturn>>,\n Accessor<QueryResultDetails>,\n];\n\nexport type CreateQueryOptions = {\n ttl?: TTL | undefined;\n};\n\n// Deprecated in 0.19\n/**\n * @deprecated Use {@linkcode CreateQueryOptions} instead.\n */\nexport type UseQueryOptions = {\n ttl?: TTL | undefined;\n};\n\nexport function createQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n querySignal: () => Query<TSchema, TTable, TReturn>,\n options?: CreateQueryOptions | Accessor<CreateQueryOptions>,\n): QueryResult<TReturn> {\n // Wrap in in createMemo to ensure a new view is created if the querySignal changes.\n const view = createMemo(() => {\n const query = querySignal();\n const ttl = normalize(options)?.ttl ?? DEFAULT_TTL;\n const view = getView(query, ttl);\n\n // Use queueMicrotask to allow cleanup/create in the current microtask to\n // reuse the view.\n onCleanup(() => queueMicrotask(() => releaseView(query, view)));\n return view;\n });\n\n return [() => view().data, () => view().resultDetails];\n}\n\n// Deprecated in 0.19\n/**\n * @deprecated Use {@linkcode createQuery} instead.\n */\nexport function useQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n querySignal: () => Query<TSchema, TTable, TReturn>,\n options?: CreateQueryOptions | Accessor<CreateQueryOptions>,\n): QueryResult<TReturn> {\n return createQuery(querySignal, options);\n}\n\ntype UnknownSolidView = SolidView<HumanReadable<unknown>>;\n\nconst views = new WeakMap<WeakKey, UnknownSolidView>();\n\nconst viewRefCount = new RefCount<UnknownSolidView>();\n\nfunction getView<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n query: Query<TSchema, TTable, TReturn>,\n ttl: TTL,\n): SolidView<HumanReadable<TReturn>> {\n // TODO(arv): Use the hash of the query instead of the query object itself... but\n // we need the clientID to do that in a reasonable way.\n let view = views.get(query);\n if (!view) {\n view = query.materialize(solidViewFactory, ttl);\n views.set(query, view);\n } else {\n view.updateTTL(ttl);\n }\n viewRefCount.inc(view);\n return view as SolidView<HumanReadable<TReturn>>;\n}\n\nfunction releaseView(query: WeakKey, view: UnknownSolidView) {\n if (viewRefCount.dec(view)) {\n views.delete(query);\n view.destroy();\n }\n}\n\nfunction normalize<T>(\n options?: T | Accessor<T | undefined> | undefined,\n): T | undefined {\n return typeof options === 'function' ? (options as Accessor<T>)() : options;\n}\n", "import {must} from './must.ts';\n\n/**\n * This is a basic ref count implementation that uses a WeakMap to store the\n * reference count for each value.\n */\nexport class RefCount<T extends WeakKey = WeakKey> {\n readonly #map = new WeakMap<T, number>();\n\n /**\n * Returns true if the value was added.\n */\n inc(value: T): boolean {\n const rc = this.#map.get(value) ?? 0;\n this.#map.set(value, rc + 1);\n return rc === 0;\n }\n\n /**\n * Returns true if the value was removed.\n */\n dec(value: T): boolean {\n const rc = must(this.#map.get(value));\n if (rc === 1) {\n return this.#map.delete(value);\n }\n this.#map.set(value, rc - 1);\n return false;\n }\n}\n", "import {\n createStore,\n produce,\n type SetStoreFunction,\n type Store,\n} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type HumanReadable,\n type Input,\n type Node,\n type Output,\n type Query,\n type ResultType,\n type Schema,\n type Stream,\n type TTL,\n type ViewChange,\n type ViewFactory,\n} from '../../zero-client/src/mod.js';\n\nexport type QueryResultDetails = {\n readonly type: ResultType;\n};\n\ntype State = [Entry, QueryResultDetails];\n\nconst complete = {type: 'complete'} as const;\nconst unknown = {type: 'unknown'} as const;\n\nexport class SolidView<V> implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n #state: Store<State>;\n #setState: SetStoreFunction<State>;\n\n // Optimization: if the store is currently empty we build up\n // the view on a plain old JS object stored at #builderRoot, and return\n // that for the new state on transaction commit. This avoids building up\n // large views from scratch via solid produce. The proxy object used by\n // solid produce is slow and in this case we don't care about solid tracking\n // the fine grained changes (everything has changed, it's all new). For a\n // test case with a view with 3000 rows, each row having 2 children, this\n // optimization reduced #applyChanges time from 743ms to 133ms.\n #builderRoot: Entry | undefined;\n #pendingChanges: ViewChange[] = [];\n readonly #updateTTL: (ttl: TTL) => void;\n\n constructor(\n input: Input,\n onTransactionCommit: (cb: () => void) => void,\n format: Format,\n onDestroy: () => void,\n queryComplete: true | Promise<true>,\n updateTTL: (ttl: TTL) => void,\n ) {\n this.#input = input;\n onTransactionCommit(this.#onTransactionCommit);\n this.#format = format;\n this.#onDestroy = onDestroy;\n this.#updateTTL = updateTTL;\n\n input.setOutput(this);\n\n const initialRoot = this.#createEmptyRoot();\n this.#applyChangesToRoot(\n input.fetch({}),\n node => ({type: 'add', node}),\n initialRoot,\n );\n [this.#state, this.#setState] = createStore<State>([\n initialRoot,\n queryComplete === true ? complete : unknown,\n ]);\n if (isEmptyRoot(initialRoot)) {\n this.#builderRoot = this.#createEmptyRoot();\n }\n\n if (queryComplete !== true) {\n void queryComplete.then(() => {\n this.#setState(oldState => [oldState[0], complete]);\n });\n }\n }\n\n get data(): V {\n return this.#state[0][''] as V;\n }\n\n get resultDetails(): QueryResultDetails {\n return this.#state[1];\n }\n\n destroy(): void {\n this.#onDestroy();\n }\n\n #onTransactionCommit = () => {\n const builderRoot = this.#builderRoot;\n if (builderRoot) {\n if (!isEmptyRoot(builderRoot)) {\n this.#setState(oldState => [builderRoot, oldState[1]]);\n this.#builderRoot = undefined;\n }\n } else {\n try {\n this.#applyChanges(this.#pendingChanges, c => c);\n } finally {\n this.#pendingChanges = [];\n }\n }\n };\n\n push(change: Change): void {\n // Delay updating the solid store state until the transaction commit\n // (because each update of the solid store is quite expensive). If\n // this.#builderRoot is defined apply the changes to it (we are building\n // from an empty root), otherwise queue the changes to be applied\n // using produce at the end of the transaction but read the relationships\n // now as they are only valid to read when the push is received.\n if (this.#builderRoot) {\n this.#applyChangeToRoot(change, this.#builderRoot);\n } else {\n this.#pendingChanges.push(materializeRelationships(change));\n }\n }\n\n #applyChanges<T>(changes: Iterable<T>, mapper: (v: T) => ViewChange): void {\n this.#setState(\n produce((draftState: State) => {\n this.#applyChangesToRoot<T>(changes, mapper, draftState[0]);\n if (isEmptyRoot(draftState[0])) {\n this.#builderRoot = this.#createEmptyRoot();\n }\n }),\n );\n }\n\n #applyChangesToRoot<T>(\n changes: Iterable<T>,\n mapper: (v: T) => ViewChange,\n root: Entry,\n ) {\n for (const change of changes) {\n this.#applyChangeToRoot(mapper(change), root);\n }\n }\n\n #applyChangeToRoot(change: ViewChange, root: Entry) {\n applyChange(root, change, this.#input.getSchema(), '', this.#format);\n }\n\n #createEmptyRoot(): Entry {\n return {\n '': this.#format.singular ? undefined : [],\n };\n }\n\n updateTTL(ttl: TTL): void {\n this.#updateTTL(ttl);\n }\n}\n\nfunction materializeRelationships(change: Change): ViewChange {\n switch (change.type) {\n case 'add':\n return {type: 'add', node: materializeNodeRelationships(change.node)};\n case 'remove':\n return {type: 'remove', node: materializeNodeRelationships(change.node)};\n case 'child':\n return {\n type: 'child',\n node: {row: change.node.row},\n child: {\n relationshipName: change.child.relationshipName,\n change: materializeRelationships(change.child.change),\n },\n };\n case 'edit':\n return {\n type: 'edit',\n node: {row: change.node.row},\n oldNode: {row: change.oldNode.row},\n };\n }\n}\n\nfunction materializeNodeRelationships(node: Node): Node {\n const relationships: Record<string, () => Stream<Node>> = {};\n for (const relationship in node.relationships) {\n const materialized: Node[] = [];\n for (const n of node.relationships[relationship]()) {\n materialized.push(materializeNodeRelationships(n));\n }\n relationships[relationship] = () => materialized;\n }\n return {\n row: node.row,\n relationships,\n };\n}\n\nfunction isEmptyRoot(entry: Entry) {\n const data = entry[''];\n return data === undefined || (Array.isArray(data) && data.length === 0);\n}\n\nexport function solidViewFactory<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n _query: Query<TSchema, TTable, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n onTransactionCommit: (cb: () => void) => void,\n queryComplete: true | Promise<true>,\n updateTTL: (ttl: TTL) => void,\n) {\n return new SolidView<HumanReadable<TReturn>>(\n input,\n onTransactionCommit,\n format,\n onDestroy,\n queryComplete,\n updateTTL,\n );\n}\n\nsolidViewFactory satisfies ViewFactory<Schema, string, unknown, unknown>;\n", "import {batch} from 'solid-js';\nimport {\n Zero,\n type CustomMutatorDefs,\n type Schema,\n type ZeroOptions,\n} from '../../zero/src/zero.ts';\n\nexport function createZero<S extends Schema, MD extends CustomMutatorDefs<S>>(\n options: ZeroOptions<S, MD>,\n): Zero<S, MD> {\n const opts = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n"],
5
- "mappings": "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",
6
- "names": ["view"]
3
+ "sources": ["../../zero-solid/src/use-query.ts", "../../zero-solid/src/solid-view.ts", "../../zero-solid/src/use-zero.ts"],
4
+ "sourcesContent": ["import {createComputed, onCleanup, type Accessor} from 'solid-js';\nimport {\n DEFAULT_TTL,\n type ClientID,\n type HumanReadable,\n type Query,\n type Schema,\n type TTL,\n} from '../../zero/src/zero.ts';\nimport {\n createSolidViewFactory,\n type State,\n type QueryResultDetails,\n type SolidView,\n UNKNOWN,\n} from './solid-view.ts';\nimport {createStore} from 'solid-js/store';\nimport {useZero} from './use-zero.ts';\n\nexport type QueryResult<TReturn> = readonly [\n Accessor<HumanReadable<TReturn>>,\n Accessor<QueryResultDetails>,\n];\n\n// Deprecated in 0.22\n/**\n * @deprecated Use {@linkcode UseQueryOptions} instead.\n */\nexport type CreateQueryOptions = {\n ttl?: TTL | undefined;\n};\n\nexport type UseQueryOptions = {\n ttl?: TTL | undefined;\n};\n\n// Deprecated in 0.22\n/**\n * @deprecated Use {@linkcode useQuery} instead.\n */\nexport function createQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n querySignal: Accessor<Query<TSchema, TTable, TReturn>>,\n options?: CreateQueryOptions | Accessor<CreateQueryOptions>,\n): QueryResult<TReturn> {\n return useQuery(querySignal, options);\n}\n\nexport function useQuery<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n>(\n querySignal: Accessor<Query<TSchema, TTable, TReturn>>,\n options?: UseQueryOptions | Accessor<UseQueryOptions>,\n): QueryResult<TReturn> {\n const [state, setState] = createStore<State>([\n {\n '': undefined,\n },\n UNKNOWN,\n ]);\n\n let view: SolidView | undefined = undefined;\n // Wrap in in createComputed to ensure a new view is created if the querySignal changes.\n createComputed<\n [\n SolidView | undefined,\n ClientID | undefined,\n Query<TSchema, TTable, TReturn> | undefined,\n string | undefined,\n TTL | undefined,\n ]\n >(\n ([prevView, prevClientID, prevQuery, prevQueryHash, prevTtl]) => {\n const clientID = useZero()()?.clientID;\n const query = querySignal();\n const queryHash = query.hash();\n const ttl = normalize(options)?.ttl ?? DEFAULT_TTL;\n if (\n !prevView ||\n clientID !== prevClientID ||\n (query !== prevQuery &&\n (clientID === undefined || query.hash() !== prevQueryHash))\n ) {\n if (prevView) {\n prevView.destroy();\n }\n view = query.materialize(createSolidViewFactory(setState), ttl);\n } else {\n view = prevView;\n if (ttl !== prevTtl) {\n view.updateTTL(ttl);\n }\n }\n\n return [view, clientID, query, queryHash, ttl];\n },\n [undefined, undefined, undefined, undefined, undefined],\n );\n\n onCleanup(() => {\n view?.destroy();\n });\n\n return [() => state[0][''] as HumanReadable<TReturn>, () => state[1]];\n}\n\nfunction normalize<T>(\n options?: T | Accessor<T | undefined> | undefined,\n): T | undefined {\n return typeof options === 'function' ? (options as Accessor<T>)() : options;\n}\n", "import {produce, reconcile, type SetStoreFunction} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type Input,\n type Node,\n type Output,\n type Query,\n type ResultType,\n type Schema,\n type Stream,\n type TTL,\n type ViewChange,\n type ViewFactory,\n} from '../../zero-client/src/mod.js';\nimport {idSymbol} from '../../zql/src/ivm/view-apply-change.ts';\n\nexport type QueryResultDetails = {\n readonly type: ResultType;\n};\n\nexport type State = [Entry, QueryResultDetails];\n\nexport const COMPLETE: QueryResultDetails = Object.freeze({type: 'complete'});\nexport const UNKNOWN: QueryResultDetails = Object.freeze({type: 'unknown'});\n\nexport class SolidView implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n #setState: SetStoreFunction<State>;\n\n // Optimization: if the store is currently empty we build up\n // the view on a plain old JS object stored at #builderRoot, and return\n // that for the new state on transaction commit. This avoids building up\n // large views from scratch via solid produce. The proxy object used by\n // solid produce is slow and in this case we don't care about solid tracking\n // the fine grained changes (everything has changed, it's all new). For a\n // test case with a view with 3000 rows, each row having 2 children, this\n // optimization reduced #applyChanges time from 743ms to 133ms.\n #builderRoot: Entry | undefined;\n #pendingChanges: ViewChange[] = [];\n readonly #updateTTL: (ttl: TTL) => void;\n\n constructor(\n input: Input,\n onTransactionCommit: (cb: () => void) => void,\n format: Format,\n onDestroy: () => void,\n queryComplete: true | Promise<true>,\n updateTTL: (ttl: TTL) => void,\n setState: SetStoreFunction<State>,\n ) {\n this.#input = input;\n onTransactionCommit(this.#onTransactionCommit);\n this.#format = format;\n this.#onDestroy = onDestroy;\n this.#updateTTL = updateTTL;\n\n input.setOutput(this);\n\n const initialRoot = this.#createEmptyRoot();\n this.#applyChangesToRoot(\n input.fetch({}),\n node => ({type: 'add', node}),\n initialRoot,\n );\n\n this.#setState = setState;\n this.#setState(\n reconcile([initialRoot, queryComplete === true ? COMPLETE : UNKNOWN], {\n // solidjs's types want a string, but a symbol works\n key: idSymbol as unknown as string,\n }),\n );\n\n if (isEmptyRoot(initialRoot)) {\n this.#builderRoot = this.#createEmptyRoot();\n }\n\n if (queryComplete !== true) {\n void queryComplete.then(() => {\n this.#setState(prev => [prev[0], COMPLETE]);\n });\n }\n }\n\n destroy(): void {\n this.#onDestroy();\n }\n\n #onTransactionCommit = () => {\n const builderRoot = this.#builderRoot;\n if (builderRoot) {\n if (!isEmptyRoot(builderRoot)) {\n this.#setState(\n 0,\n reconcile(builderRoot, {\n // solidjs's types want a string, but a symbol works\n key: idSymbol as unknown as string,\n }),\n );\n this.#setState(prev => [builderRoot, prev[1]]);\n this.#builderRoot = undefined;\n }\n } else {\n try {\n this.#applyChanges(this.#pendingChanges, c => c);\n } finally {\n this.#pendingChanges = [];\n }\n }\n };\n\n push(change: Change): void {\n // Delay updating the solid store state until the transaction commit\n // (because each update of the solid store is quite expensive). If\n // this.#builderRoot is defined apply the changes to it (we are building\n // from an empty root), otherwise queue the changes to be applied\n // using produce at the end of the transaction but read the relationships\n // now as they are only valid to read when the push is received.\n if (this.#builderRoot) {\n this.#applyChangeToRoot(change, this.#builderRoot);\n } else {\n this.#pendingChanges.push(materializeRelationships(change));\n }\n }\n\n #applyChanges<T>(changes: Iterable<T>, mapper: (v: T) => ViewChange): void {\n this.#setState(\n produce((draftState: State) => {\n this.#applyChangesToRoot<T>(changes, mapper, draftState[0]);\n if (isEmptyRoot(draftState[0])) {\n this.#builderRoot = this.#createEmptyRoot();\n }\n }),\n );\n }\n\n #applyChangesToRoot<T>(\n changes: Iterable<T>,\n mapper: (v: T) => ViewChange,\n root: Entry,\n ) {\n for (const change of changes) {\n this.#applyChangeToRoot(mapper(change), root);\n }\n }\n\n #applyChangeToRoot(change: ViewChange, root: Entry) {\n applyChange(\n root,\n change,\n this.#input.getSchema(),\n '',\n this.#format,\n true /* withIDs */,\n );\n }\n\n #createEmptyRoot(): Entry {\n return {\n '': this.#format.singular ? undefined : [],\n };\n }\n\n updateTTL(ttl: TTL): void {\n this.#updateTTL(ttl);\n }\n}\n\nfunction materializeRelationships(change: Change): ViewChange {\n switch (change.type) {\n case 'add':\n return {type: 'add', node: materializeNodeRelationships(change.node)};\n case 'remove':\n return {type: 'remove', node: materializeNodeRelationships(change.node)};\n case 'child':\n return {\n type: 'child',\n node: {row: change.node.row},\n child: {\n relationshipName: change.child.relationshipName,\n change: materializeRelationships(change.child.change),\n },\n };\n case 'edit':\n return {\n type: 'edit',\n node: {row: change.node.row},\n oldNode: {row: change.oldNode.row},\n };\n }\n}\n\nfunction materializeNodeRelationships(node: Node): Node {\n const relationships: Record<string, () => Stream<Node>> = {};\n for (const relationship in node.relationships) {\n const materialized: Node[] = [];\n for (const n of node.relationships[relationship]()) {\n materialized.push(materializeNodeRelationships(n));\n }\n relationships[relationship] = () => materialized;\n }\n return {\n row: node.row,\n relationships,\n };\n}\n\nfunction isEmptyRoot(entry: Entry) {\n const data = entry[''];\n return data === undefined || (Array.isArray(data) && data.length === 0);\n}\n\nexport function createSolidViewFactory(setState: SetStoreFunction<State>) {\n function solidViewFactory<\n TSchema extends Schema,\n TTable extends keyof TSchema['tables'] & string,\n TReturn,\n >(\n _query: Query<TSchema, TTable, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n onTransactionCommit: (cb: () => void) => void,\n queryComplete: true | Promise<true>,\n updateTTL: (ttl: TTL) => void,\n ) {\n return new SolidView(\n input,\n onTransactionCommit,\n format,\n onDestroy,\n queryComplete,\n updateTTL,\n setState,\n );\n }\n\n solidViewFactory satisfies ViewFactory<Schema, string, unknown, unknown>;\n\n return solidViewFactory;\n}\n", "import {\n batch,\n createContext,\n createMemo,\n onCleanup,\n splitProps,\n useContext,\n type Accessor,\n type JSX,\n} from 'solid-js';\nimport {\n Zero,\n type CustomMutatorDefs,\n type Schema,\n type ZeroOptions,\n} from '../../zero/src/zero.ts';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-explicit-any\nconst ZeroContext = createContext<Accessor<Zero<any, any>> | undefined>(\n undefined,\n);\n\nexport function createZero<S extends Schema, MD extends CustomMutatorDefs<S>>(\n options: ZeroOptions<S, MD>,\n): Zero<S, MD> {\n const opts = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n\nexport function useZero<\n S extends Schema,\n MD extends CustomMutatorDefs<S> | undefined = undefined,\n>(): () => Zero<S, MD> | undefined {\n const zero = useContext(ZeroContext);\n\n // TODO: uncomment when we require ZeroProvider in a future release.\n // if (zero === undefined) {\n // throw new Error('useZero must be used within a ZeroProvider');\n // }\n return zero ?? (() => undefined);\n}\n\nexport function createUseZero<\n S extends Schema,\n MD extends CustomMutatorDefs<S> | undefined = undefined,\n>() {\n return () => useZero<S, MD>();\n}\n\nexport function ZeroProvider<\n S extends Schema,\n MD extends CustomMutatorDefs<S> | undefined = undefined,\n>(\n props: {children: JSX.Element} & (\n | {\n zero: Zero<S, MD>;\n }\n | ZeroOptions<S, MD>\n ),\n) {\n const zero = createMemo(() => {\n if ('zero' in props) {\n return props.zero;\n }\n const [, options] = splitProps(props, ['children']);\n const createdZero = new Zero({\n ...options,\n batchViewUpdates: batch,\n });\n onCleanup(() => createdZero.close());\n return createdZero;\n });\n\n return ZeroContext.Provider({\n value: zero,\n get children() {\n return props.children;\n },\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["onCleanup", "onCleanup"]
7
7
  }
@@ -219,6 +219,10 @@ export declare const zeroOptions: {
219
219
  type: v.Optional<string>;
220
220
  desc: string[];
221
221
  };
222
+ protocol: {
223
+ type: v.Type<"ws" | "wss">;
224
+ desc: string[];
225
+ };
222
226
  discoveryInterfacePreferences: {
223
227
  type: v.Type<string[]>;
224
228
  desc: string[];
@@ -492,6 +496,10 @@ export declare function getZeroConfig(env?: NodeJS.ProcessEnv, argv?: string[]):
492
496
  type: v.Optional<string>;
493
497
  desc: string[];
494
498
  };
499
+ protocol: {
500
+ type: v.Type<"ws" | "wss">;
501
+ desc: string[];
502
+ };
495
503
  discoveryInterfacePreferences: {
496
504
  type: v.Type<string[]>;
497
505
  desc: string[];
@@ -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;;;;;;;;;CA+CtB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8bvB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgB7B"}
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;;;;;;;;;CA+CtB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwcvB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgB7B"}
@@ -316,6 +316,15 @@ export const zeroOptions = {
316
316
  `service discovery address).`,
317
317
  ],
318
318
  },
319
+ protocol: {
320
+ type: v.literalUnion('ws', 'wss').default('ws'),
321
+ desc: [
322
+ `The {bold protocol} for other processes to use when connecting to this `,
323
+ `change-streamer.`,
324
+ ``,
325
+ `If unspecified, defaults to ws.`,
326
+ ],
327
+ },
319
328
  discoveryInterfacePreferences: {
320
329
  type: v.array(v.string()).default([
321
330
  'eth', // linux
@@ -1 +1 @@
1
- {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAI/B,wBAA8B,SAAS,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAiHf"}
1
+ {"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAI/B,wBAA8B,SAAS,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAkHf"}
@@ -21,7 +21,7 @@ export default async function runWorker(parent, env, ...args) {
21
21
  const parentStartMs = parseInt(args[0]);
22
22
  const config = getZeroConfig(env, args.slice(1));
23
23
  assertNormalized(config);
24
- const { taskID, changeStreamer: { port, address }, upstream, change, replica, initialSync, litestream, } = config;
24
+ const { taskID, changeStreamer: { port, address, protocol }, upstream, change, replica, initialSync, litestream, } = config;
25
25
  const lc = createLogContext(config, { worker: 'change-streamer' });
26
26
  // Kick off DB connection warmup in the background.
27
27
  const changeDB = pgClient(lc, change.db, {
@@ -38,7 +38,7 @@ export default async function runWorker(parent, env, ...args) {
38
38
  const { changeSource, subscriptionState } = upstream.type === 'pg'
39
39
  ? await initializePostgresChangeSource(lc, upstream.db, shard, replica.file, initialSync)
40
40
  : await initializeCustomChangeSource(lc, upstream.db, shard, replica.file);
41
- changeStreamer = await initializeStreamer(lc, shard, taskID, address, changeDB, changeSource, subscriptionState, autoReset ?? false);
41
+ changeStreamer = await initializeStreamer(lc, shard, taskID, address, protocol, changeDB, changeSource, subscriptionState, autoReset ?? false);
42
42
  break;
43
43
  }
44
44
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"copy-runner.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/copy-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAW1E;;;;;;;;GAQG;AACH,qBAAa,UAAU;;gBAWnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,UAAU,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS;IAYhC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EACH,IAAI,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,CAAC,CAAC;IAoEb,KAAK;CAeN"}
1
+ {"version":3,"file":"copy-runner.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/copy-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAW1E;;;;;;;;GAQG;AACH,qBAAa,UAAU;;gBAWnB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,UAAU,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS;IAYhC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EACH,IAAI,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,CAAC,CAAC;IAqEb,KAAK;CAeN"}
@@ -2,7 +2,7 @@ import { resolver } from '@rocicorp/resolver';
2
2
  import { Queue } from "../../../../../shared/src/queue.js";
3
3
  import { READONLY } from "../../../db/mode-enum.js";
4
4
  import { orTimeoutWith } from "../../../types/timeout.js";
5
- const CONNECTION_REUSE_TIMEOUT = 100;
5
+ const CONNECTION_REUSE_TIMEOUT = 250;
6
6
  const TIMED_OUT = { reason: 'commit timed out' };
7
7
  /**
8
8
  * The CopyRunner is designed to run a single `COPY` command within a
@@ -60,13 +60,15 @@ export class CopyRunner {
60
60
  if (this.#snapshotID) {
61
61
  void tx
62
62
  .unsafe(`SET TRANSACTION SNAPSHOT '${this.#snapshotID}'`)
63
- .execute();
63
+ .execute()
64
+ .catch(e => lc.error?.(`error setting transaction snapshot`, e));
64
65
  }
65
66
  return copy(tx, lc).then(result.resolve, result.reject);
66
67
  });
67
68
  function closeConnection() {
68
69
  void db.end().catch(e => lc.warn?.(`error closing connection`, e));
69
70
  }
71
+ await result.promise;
70
72
  // If the transaction successfully completes, the `COMMIT` succeeded
71
73
  // and the connection is healthy, so the connection can be reused.
72
74
  // If the transaction does not complete within a timeout, it is considered
@@ -79,7 +81,6 @@ export class CopyRunner {
79
81
  else {
80
82
  this.#pool.push({ db, connID });
81
83
  }
82
- return result.promise;
83
84
  }
84
85
  #getConnection() {
85
86
  const reusable = this.#pool.pop();
@@ -1 +1 @@
1
- {"version":3,"file":"copy-runner.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/copy-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy-runner.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/copy-runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-http.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAM1C,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAsB,KAAK,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAIxE,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAwB,KAAK,eAAe,EAAC,MAAM,eAAe,CAAC;AAW1E,qBAAa,wBAAyB,SAAQ,WAAW;;IACvD,QAAQ,CAAC,EAAE,iCAAiC;gBAK1C,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAAG,IAAI;CAqFtC;AAED,qBAAa,wBAAyB,YAAW,cAAc;;gBAKjD,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAyBxD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IASjE,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAQrE;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAc3E"}
1
+ {"version":3,"file":"change-streamer-http.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-http.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAM1C,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAsB,KAAK,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAIxE,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAwB,KAAK,eAAe,EAAC,MAAM,eAAe,CAAC;AAW1E,qBAAa,wBAAyB,SAAQ,WAAW;;IACvD,QAAQ,CAAC,EAAE,iCAAiC;gBAK1C,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAAG,IAAI;CAqFtC;AAED,qBAAa,wBAAyB,YAAW,cAAc;;gBAKjD,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IA4BxD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IASjE,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAQrE;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAc3E"}
@@ -99,7 +99,7 @@ export class ChangeStreamerHttpClient {
99
99
  if (!address) {
100
100
  throw new Error(`no change-streamer is running`);
101
101
  }
102
- const uri = new URL(path, `http://${address}/`);
102
+ const uri = new URL(path, address.includes('://') ? `${address}/` : `ws://${address}/`);
103
103
  this.#lc.info?.(`connecting to change-streamer@${uri}`);
104
104
  return uri;
105
105
  }