on-zero 0.4.30 → 0.4.32

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 (75) hide show
  1. package/dist/cjs/createZeroClient.authData.test.cjs +67 -0
  2. package/dist/cjs/createZeroClient.authData.test.native.js +72 -0
  3. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -0
  4. package/dist/cjs/createZeroClient.cjs +41 -26
  5. package/dist/cjs/createZeroClient.native.js +47 -26
  6. package/dist/cjs/createZeroClient.native.js.map +1 -1
  7. package/dist/cjs/createZeroServer.cjs +35 -33
  8. package/dist/cjs/createZeroServer.native.js +36 -34
  9. package/dist/cjs/createZeroServer.native.js.map +1 -1
  10. package/dist/cjs/helpers/recoverZeroClient.cjs +101 -0
  11. package/dist/cjs/helpers/recoverZeroClient.native.js +130 -0
  12. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -0
  13. package/dist/cjs/helpers/recoverZeroClient.test.cjs +201 -0
  14. package/dist/cjs/helpers/recoverZeroClient.test.native.js +256 -0
  15. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -0
  16. package/dist/cjs/index.cjs +4 -1
  17. package/dist/cjs/index.native.js +3 -0
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/multiInstance.test.cjs +4 -3
  20. package/dist/cjs/multiInstance.test.native.js +6 -6
  21. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  22. package/dist/esm/createZeroClient.authData.test.mjs +68 -0
  23. package/dist/esm/createZeroClient.authData.test.mjs.map +1 -0
  24. package/dist/esm/createZeroClient.authData.test.native.js +70 -0
  25. package/dist/esm/createZeroClient.authData.test.native.js.map +1 -0
  26. package/dist/esm/createZeroClient.mjs +42 -27
  27. package/dist/esm/createZeroClient.mjs.map +1 -1
  28. package/dist/esm/createZeroClient.native.js +48 -27
  29. package/dist/esm/createZeroClient.native.js.map +1 -1
  30. package/dist/esm/createZeroServer.mjs +35 -33
  31. package/dist/esm/createZeroServer.mjs.map +1 -1
  32. package/dist/esm/createZeroServer.native.js +36 -34
  33. package/dist/esm/createZeroServer.native.js.map +1 -1
  34. package/dist/esm/helpers/recoverZeroClient.mjs +74 -0
  35. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -0
  36. package/dist/esm/helpers/recoverZeroClient.native.js +100 -0
  37. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -0
  38. package/dist/esm/helpers/recoverZeroClient.test.mjs +202 -0
  39. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -0
  40. package/dist/esm/helpers/recoverZeroClient.test.native.js +254 -0
  41. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -0
  42. package/dist/esm/index.js +2 -1
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/index.mjs +2 -1
  45. package/dist/esm/index.mjs.map +1 -1
  46. package/dist/esm/index.native.js +2 -1
  47. package/dist/esm/index.native.js.map +1 -1
  48. package/dist/esm/multiInstance.test.mjs +4 -3
  49. package/dist/esm/multiInstance.test.mjs.map +1 -1
  50. package/dist/esm/multiInstance.test.native.js +6 -6
  51. package/dist/esm/multiInstance.test.native.js.map +1 -1
  52. package/package.json +2 -2
  53. package/src/createZeroClient.authData.test.tsx +73 -0
  54. package/src/createZeroClient.tsx +60 -47
  55. package/src/createZeroServer.ts +48 -44
  56. package/src/helpers/recoverZeroClient.test.ts +172 -0
  57. package/src/helpers/recoverZeroClient.ts +173 -0
  58. package/src/index.ts +5 -0
  59. package/src/multiInstance.test.tsx +5 -3
  60. package/src/multiInstanceNested.test.tsx +1 -1
  61. package/src/types.ts +6 -1
  62. package/types/createZeroClient.authData.test.d.ts +5 -0
  63. package/types/createZeroClient.authData.test.d.ts.map +1 -0
  64. package/types/createZeroClient.d.ts +3 -2
  65. package/types/createZeroClient.d.ts.map +1 -1
  66. package/types/createZeroServer.d.ts +4 -4
  67. package/types/createZeroServer.d.ts.map +1 -1
  68. package/types/helpers/recoverZeroClient.d.ts +17 -0
  69. package/types/helpers/recoverZeroClient.d.ts.map +1 -0
  70. package/types/helpers/recoverZeroClient.test.d.ts +2 -0
  71. package/types/helpers/recoverZeroClient.test.d.ts.map +1 -0
  72. package/types/index.d.ts +1 -0
  73. package/types/index.d.ts.map +1 -1
  74. package/types/types.d.ts +6 -0
  75. package/types/types.d.ts.map +1 -1
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ var import_helpers = require("@take-out/helpers");
4
+ var import_zero = require("@rocicorp/zero");
5
+ var import_vitest = require("vitest");
6
+ var import_recoverZeroClient = require("./recoverZeroClient.native.js");
7
+ function _class_call_check(instance, Constructor) {
8
+ if (!(instance instanceof Constructor)) {
9
+ throw new TypeError("Cannot call a class as a function");
10
+ }
11
+ }
12
+ function _defineProperties(target, props) {
13
+ for (var i = 0; i < props.length; i++) {
14
+ var descriptor = props[i];
15
+ descriptor.enumerable = descriptor.enumerable || false;
16
+ descriptor.configurable = true;
17
+ if ("value" in descriptor) descriptor.writable = true;
18
+ Object.defineProperty(target, descriptor.key, descriptor);
19
+ }
20
+ }
21
+ function _create_class(Constructor, protoProps, staticProps) {
22
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
23
+ if (staticProps) _defineProperties(Constructor, staticProps);
24
+ return Constructor;
25
+ }
26
+ function _define_property(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+ return obj;
38
+ }
39
+ var emitterSeq = 0;
40
+ function setup() {
41
+ var events = [];
42
+ var zeroEvents = (0, import_helpers.createEmitter)(`test-recover-${emitterSeq++}`, null);
43
+ zeroEvents.listen(function (event) {
44
+ if (event) events.push(event);
45
+ });
46
+ var deleteLocalState = import_vitest.vi.fn(function () {
47
+ return Promise.resolve();
48
+ });
49
+ var reload = import_vitest.vi.fn();
50
+ var deps = {
51
+ deleteLocalState,
52
+ zeroEvents,
53
+ reload
54
+ };
55
+ return {
56
+ deps,
57
+ deleteLocalState,
58
+ reload,
59
+ events
60
+ };
61
+ }
62
+ async function flush() {
63
+ await new Promise(function (resolve) {
64
+ return setTimeout(resolve, 0);
65
+ });
66
+ }
67
+ (0, import_vitest.beforeEach)(function () {
68
+ window.sessionStorage.clear();
69
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
70
+ });
71
+ (0, import_vitest.describe)("zero recovery", function () {
72
+ (0, import_vitest.test)("SchemaVersionNotSupported drops local state and reloads, emitting recovering", async function () {
73
+ var {
74
+ deps,
75
+ deleteLocalState,
76
+ reload,
77
+ events
78
+ } = setup();
79
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onUpdateNeeded({
80
+ type: import_zero.UpdateNeededReasonType.SchemaVersionNotSupported
81
+ });
82
+ (0, import_vitest.expect)(events).toEqual([{
83
+ type: "recovering",
84
+ reason: import_vitest.expect.stringContaining("SchemaVersionNotSupported")
85
+ }]);
86
+ await flush();
87
+ (0, import_vitest.expect)(deleteLocalState).toHaveBeenCalledTimes(1);
88
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
89
+ });
90
+ (0, import_vitest.test)("NewClientGroup / VersionNotSupported reload WITHOUT deleting (sibling-tab safe)", async function () {
91
+ var {
92
+ deps,
93
+ deleteLocalState,
94
+ reload
95
+ } = setup();
96
+ var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
97
+ recovery.onUpdateNeeded({
98
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
99
+ });
100
+ await flush();
101
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
102
+ recovery.onUpdateNeeded({
103
+ type: import_zero.UpdateNeededReasonType.VersionNotSupported
104
+ });
105
+ await flush();
106
+ (0, import_vitest.expect)(deleteLocalState).not.toHaveBeenCalled();
107
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
108
+ });
109
+ (0, import_vitest.test)("onClientStateNotFound drops local state and reloads", async function () {
110
+ var {
111
+ deps,
112
+ deleteLocalState,
113
+ reload
114
+ } = setup();
115
+ (0, import_recoverZeroClient.makeZeroRecovery)(deps).onClientStateNotFound();
116
+ await flush();
117
+ (0, import_vitest.expect)(deleteLocalState).toHaveBeenCalledTimes(1);
118
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
119
+ });
120
+ (0, import_vitest.test)("combined client: every instance deletes its own store, but only ONE reload", async function () {
121
+ var a = setup();
122
+ var b = setup();
123
+ (0, import_recoverZeroClient.makeZeroRecovery)(a.deps).onClientStateNotFound();
124
+ (0, import_recoverZeroClient.makeZeroRecovery)(b.deps).onClientStateNotFound();
125
+ await flush();
126
+ (0, import_vitest.expect)(a.deleteLocalState).toHaveBeenCalledTimes(1);
127
+ (0, import_vitest.expect)(b.deleteLocalState).toHaveBeenCalledTimes(1);
128
+ (0, import_vitest.expect)(a.reload.mock.calls.length + b.reload.mock.calls.length).toBe(1);
129
+ });
130
+ (0, import_vitest.test)("a second trigger in the same page-load adds no extra reload or fatal", async function () {
131
+ var {
132
+ deps,
133
+ reload,
134
+ events
135
+ } = setup();
136
+ var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
137
+ recovery.onClientStateNotFound();
138
+ recovery.onUpdateNeeded({
139
+ type: import_zero.UpdateNeededReasonType.NewClientGroup
140
+ });
141
+ await flush();
142
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
143
+ (0, import_vitest.expect)(events.filter(function (event) {
144
+ return event.type === "fatal";
145
+ })).toEqual([]);
146
+ });
147
+ (0, import_vitest.test)("after a reload, a re-failing reason emits fatal instead of reloading again", async function () {
148
+ var {
149
+ deps,
150
+ reload,
151
+ events
152
+ } = setup();
153
+ var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
154
+ recovery.onClientStateNotFound();
155
+ await flush();
156
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
157
+ recovery.onClientStateNotFound();
158
+ await flush();
159
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
160
+ (0, import_vitest.expect)(events.some(function (event) {
161
+ return event.type === "fatal";
162
+ })).toBe(true);
163
+ });
164
+ (0, import_vitest.test)("after a reload, a different reason still recovers", async function () {
165
+ var {
166
+ deps,
167
+ reload
168
+ } = setup();
169
+ var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(deps);
170
+ recovery.onClientStateNotFound();
171
+ await flush();
172
+ (0, import_recoverZeroClient.resetRecoveryStateForTests)();
173
+ recovery.onUpdateNeeded({
174
+ type: import_zero.UpdateNeededReasonType.SchemaVersionNotSupported
175
+ });
176
+ await flush();
177
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(2);
178
+ });
179
+ (0, import_vitest.test)("logSink recovers on local-store-lost and forwards to the consumer sink", async function () {
180
+ var {
181
+ deps,
182
+ deleteLocalState,
183
+ reload
184
+ } = setup();
185
+ var consumer = {
186
+ log: import_vitest.vi.fn()
187
+ };
188
+ var sink = (0, import_recoverZeroClient.composeRecoveryLogSink)(deps, consumer);
189
+ sink.log("error", void 0, "Error during persist: Expected IndexedDB not found");
190
+ (0, import_vitest.expect)(consumer.log).toHaveBeenCalledTimes(1);
191
+ await flush();
192
+ (0, import_vitest.expect)(deleteLocalState).toHaveBeenCalledTimes(1);
193
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
194
+ });
195
+ (0, import_vitest.test)("logSink with no consumer preserves console output and still watches", async function () {
196
+ var {
197
+ deps,
198
+ deleteLocalState,
199
+ reload
200
+ } = setup();
201
+ var infoSpy = import_vitest.vi.spyOn(console, "info").mockImplementation(function () {});
202
+ var sink = (0, import_recoverZeroClient.composeRecoveryLogSink)(deps);
203
+ sink.log("info", {
204
+ worker: "sync"
205
+ }, "connected");
206
+ (0, import_vitest.expect)(infoSpy).toHaveBeenCalledWith("worker=sync", "connected");
207
+ infoSpy.mockRestore();
208
+ sink.log("error", void 0, "Expected IndexedDB not found");
209
+ await flush();
210
+ (0, import_vitest.expect)(deleteLocalState).toHaveBeenCalledTimes(1);
211
+ (0, import_vitest.expect)(reload).toHaveBeenCalledTimes(1);
212
+ });
213
+ (0, import_vitest.test)("logSink flush calls through the consumer sink (preserves its this)", async function () {
214
+ var _sink_flush;
215
+ var {
216
+ deps
217
+ } = setup();
218
+ var ClassSink = /* @__PURE__ */function () {
219
+ "use strict";
220
+
221
+ function ClassSink2() {
222
+ _class_call_check(this, ClassSink2);
223
+ _define_property(this, "flushed", false);
224
+ }
225
+ _create_class(ClassSink2, [{
226
+ key: "log",
227
+ value: function log() {}
228
+ }, {
229
+ key: "flush",
230
+ value: function flush2() {
231
+ this.flushed = true;
232
+ return Promise.resolve();
233
+ }
234
+ }]);
235
+ return ClassSink2;
236
+ }();
237
+ var consumer = new ClassSink();
238
+ var sink = (0, import_recoverZeroClient.composeRecoveryLogSink)(deps, consumer);
239
+ await ((_sink_flush = sink.flush) === null || _sink_flush === void 0 ? void 0 : _sink_flush.call(sink));
240
+ (0, import_vitest.expect)(consumer.flushed).toBe(true);
241
+ });
242
+ (0, import_vitest.test)("logSink ignores non-error level and non-matching messages", async function () {
243
+ var {
244
+ deps,
245
+ deleteLocalState,
246
+ reload
247
+ } = setup();
248
+ var sink = (0, import_recoverZeroClient.composeRecoveryLogSink)(deps);
249
+ sink.log("info", void 0, "Expected IndexedDB not found");
250
+ sink.log("error", void 0, "some unrelated error");
251
+ await flush();
252
+ (0, import_vitest.expect)(deleteLocalState).not.toHaveBeenCalled();
253
+ (0, import_vitest.expect)(reload).not.toHaveBeenCalled();
254
+ });
255
+ });
256
+ //# sourceMappingURL=recoverZeroClient.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_helpers","require","import_zero","import_vitest","import_recoverZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","emitterSeq","setup","events","zeroEvents","createEmitter","listen","event","push","deleteLocalState","vi","fn","Promise","resolve","reload","deps","flush","setTimeout","beforeEach","window","sessionStorage","clear","resetRecoveryStateForTests","describe","test","makeZeroRecovery","onUpdateNeeded","type","UpdateNeededReasonType","SchemaVersionNotSupported","expect","toEqual","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","toBe","filter","some"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -24,10 +24,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  var index_exports = {};
25
25
  __export(index_exports, {
26
26
  clearZeroClientData: () => import_clearZeroClientData.clearZeroClientData,
27
+ composeRecoveryLogSink: () => import_recoverZeroClient.composeRecoveryLogSink,
27
28
  defineQueries: () => import_zero.defineQueries,
28
29
  defineQuery: () => import_zero.defineQuery,
29
30
  ensureAuth: () => import_getAuth.ensureAuth,
30
31
  getAuth: () => import_getAuth.getAuth,
32
+ makeZeroRecovery: () => import_recoverZeroClient.makeZeroRecovery,
31
33
  resetShownZeroClientError: () => import_showZeroClientError.resetShownZeroClientError,
32
34
  setAuthData: () => import_state.setAuthData,
33
35
  setEnvironment: () => import_state.setEnvironment,
@@ -57,4 +59,5 @@ __reExport(index_exports, require("./serverWhere.cjs"), module.exports);
57
59
  __reExport(index_exports, require("./zql.cjs"), module.exports);
58
60
  var import_zero = require("@rocicorp/zero");
59
61
  var import_clearZeroClientData = require("./helpers/clearZeroClientData.cjs");
60
- var import_showZeroClientError = require("./helpers/showZeroClientError.cjs");
62
+ var import_showZeroClientError = require("./helpers/showZeroClientError.cjs");
63
+ var import_recoverZeroClient = require("./helpers/recoverZeroClient.cjs");
@@ -26,10 +26,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
26
26
  var index_exports = {};
27
27
  __export(index_exports, {
28
28
  clearZeroClientData: () => import_clearZeroClientData.clearZeroClientData,
29
+ composeRecoveryLogSink: () => import_recoverZeroClient.composeRecoveryLogSink,
29
30
  defineQueries: () => import_zero.defineQueries,
30
31
  defineQuery: () => import_zero.defineQuery,
31
32
  ensureAuth: () => import_getAuth.ensureAuth,
32
33
  getAuth: () => import_getAuth.getAuth,
34
+ makeZeroRecovery: () => import_recoverZeroClient.makeZeroRecovery,
33
35
  resetShownZeroClientError: () => import_showZeroClientError.resetShownZeroClientError,
34
36
  setAuthData: () => import_state.setAuthData,
35
37
  setEnvironment: () => import_state.setEnvironment,
@@ -60,4 +62,5 @@ __reExport(index_exports, require("./zql.native.js"), module.exports);
60
62
  var import_zero = require("@rocicorp/zero");
61
63
  var import_clearZeroClientData = require("./helpers/clearZeroClientData.native.js");
62
64
  var import_showZeroClientError = require("./helpers/showZeroClientError.native.js");
65
+ var import_recoverZeroClient = require("./helpers/recoverZeroClient.native.js");
63
66
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","clearZeroClientData","import_clearZeroClientData","defineQueries","import_zero","defineQuery","ensureAuth","import_getAuth","getAuth","resetShownZeroClientError","import_showZeroClientError","setAuthData","import_state","setEnvironment","setRunner","import_zeroRunner","showZeroClientErrorOnce","module","exports","__reExport","require"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAC,0BAAA,CAAAD,mBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAD,WAAA,CAAAC,WAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,UAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAD,cAAA,CAAAC,OAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAC,0BAAA,CAAAD,yBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,WAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAD,YAAA,CAAAC,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,SAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAN,0BAAA,CAAAM;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAxB,YAAc,CAAAK,aAAA;AACdoB,UAAA,CAAApB,aAAA,EAAcqB,OAAA,gCADd,GAAAH,MAAA,CAAAC,OAAA;AAEAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,+BAAAH,MAFd,CAAAC,OAAA;AAGAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,oCAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,wCAJdH,MAAA,CAAAC,OAAA;AAKAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,wCALdH,MAAA,CAAAC,OAAA;AAMAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,qCANd,GAAAH,MAAA,CAAAC,OAAA;AAOAC,UAAA,CAAApB,aAAoC,EAAAqB,OAAA,qCAAAH,MAAA,CAAAC,OAAA;AACpC,IAAAX,cAAA,GAA4Ca,OAAA;AAE5C,IAAAR,YAAA,GAAAQ,OAAc;AACdD,UAAA,CAAApB,aAAA,EAAcqB,OAAA,kCAXd,EAAAH,MAAA,CAAAC,OAAA;AAYAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,kCAAAH,MAZd,CAAAC,OAAA;AAaAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,gCAbd,GAAAH,MAAA,CAAAC,OAAA;AAcAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,8BAdd,EAAAH,MAAA,CAAAC,OAAA;AAeAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,2BAfd,GAAAH,MAAA,CAAAC,OAAA;AAgBAC,UAAA,CAAApB,aAA2C,EAAAqB,OAAA,qBAAAH,MAAA,CAAAC,OAAA;AAC3C,IAAAH,iBAAA,GAAAK,OAAc;AACdD,UAAA,CAAApB,aAAA,EAAcqB,OAAA,wBAlBd,GAAAH,MAAA,CAAAC,OAAA;AAmBAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,uBAAAH,MAnBd,CAAAC,OAAA;AAoBAC,UAAA,CAAApB,aAAA,EAAcqB,OAAA,0BApBd,GAAAH,MAAA,CAAAC,OAAA;AAqBAC,UAAA,CAAApB,aAA2C,EAAAqB,OAAA,qBAAAH,MAAA,CAAAC,OAAA;AAQ3C,IAAAd,WAAA,GAAAgB,OAAA,iBAGO;AACP,IAAAlB,0BAAA,GAKOkB,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","clearZeroClientData","import_clearZeroClientData","composeRecoveryLogSink","import_recoverZeroClient","defineQueries","import_zero","defineQuery","ensureAuth","import_getAuth","getAuth","makeZeroRecovery","resetShownZeroClientError","import_showZeroClientError","setAuthData","import_state","setEnvironment","setRunner","import_zeroRunner","showZeroClientErrorOnce","module","exports","__reExport","require"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAC,0BAAA,CAAAD,mBAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAC,wBAAA,CAAAD,sBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,WAAA,CAAAD,aAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAD,WAAA,CAAAC,WAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,UAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAD,cAAA,CAAAC,OAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAP,wBAAA,CAAAO,gBAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAC,0BAAA,CAAAD,yBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,WAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAD,YAAA,CAAAC,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,iBAAA,CAAAD,SAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAN,0BAAA,CAAAM;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAA3B,YAAc,CAAAK,aAAA;AACduB,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,gCADd,GAAAH,MAAA,CAAAC,OAAA;AAEAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,+BAAAH,MAFd,CAAAC,OAAA;AAGAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,oCAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,wCAJdH,MAAA,CAAAC,OAAA;AAKAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,wCALdH,MAAA,CAAAC,OAAA;AAMAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,qCANd,GAAAH,MAAA,CAAAC,OAAA;AAOAC,UAAA,CAAAvB,aAAoC,EAAAwB,OAAA,qCAAAH,MAAA,CAAAC,OAAA;AACpC,IAAAZ,cAAA,GAA4Cc,OAAA;AAE5C,IAAAR,YAAA,GAAAQ,OAAc;AACdD,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,kCAXd,EAAAH,MAAA,CAAAC,OAAA;AAYAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,kCAAAH,MAZd,CAAAC,OAAA;AAaAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,gCAbd,GAAAH,MAAA,CAAAC,OAAA;AAcAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,8BAdd,EAAAH,MAAA,CAAAC,OAAA;AAeAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,2BAfd,GAAAH,MAAA,CAAAC,OAAA;AAgBAC,UAAA,CAAAvB,aAA2C,EAAAwB,OAAA,qBAAAH,MAAA,CAAAC,OAAA;AAC3C,IAAAH,iBAAA,GAAAK,OAAc;AACdD,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,wBAlBd,GAAAH,MAAA,CAAAC,OAAA;AAmBAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,uBAAAH,MAnBd,CAAAC,OAAA;AAoBAC,UAAA,CAAAvB,aAAA,EAAcwB,OAAA,0BApBd,GAAAH,MAAA,CAAAC,OAAA;AAqBAC,UAAA,CAAAvB,aAA2C,EAAAwB,OAAA,qBAAAH,MAAA,CAAAC,OAAA;AAQ3C,IAAAf,WAAA,GAAAiB,OAAA,iBAGO;AACP,IAAArB,0BAAA,GAKOqB,OAAA;AACP,IAAAV,0BAAA,GAIOU,OAAA","ignoreList":[]}
@@ -315,8 +315,9 @@ function fakeClient(name, namespaces, zeroStub) {
315
315
  type: "error",
316
316
  message: "from-b"
317
317
  });
318
- (0, import_vitest.expect)(seen.map(event => event?.message)).toEqual(["from-a", "from-b"]);
319
- (0, import_vitest.expect)(a.zeroEvents.value?.message).toBe("from-a");
320
- (0, import_vitest.expect)(b.zeroEvents.value?.message).toBe("from-b");
318
+ const messageOf = event => event?.type === "error" ? event.message : void 0;
319
+ (0, import_vitest.expect)(seen.map(messageOf)).toEqual(["from-a", "from-b"]);
320
+ (0, import_vitest.expect)(messageOf(a.zeroEvents.value)).toBe("from-a");
321
+ (0, import_vitest.expect)(messageOf(b.zeroEvents.value)).toBe("from-b");
321
322
  });
322
323
  });
@@ -357,7 +357,6 @@ function fakeClient(name, namespaces, zeroStub) {
357
357
  }).toThrow(/not one of the passed clients/);
358
358
  });
359
359
  (0, import_vitest.test)("combined zeroEvents relays every instance", function () {
360
- var _a_zeroEvents_value, _b_zeroEvents_value;
361
360
  var {
362
361
  client: a
363
362
  } = makeClient("relay-a", "relayA");
@@ -377,11 +376,12 @@ function fakeClient(name, namespaces, zeroStub) {
377
376
  type: "error",
378
377
  message: "from-b"
379
378
  });
380
- (0, import_vitest.expect)(seen.map(function (event) {
381
- return event === null || event === void 0 ? void 0 : event.message;
382
- })).toEqual(["from-a", "from-b"]);
383
- (0, import_vitest.expect)((_a_zeroEvents_value = a.zeroEvents.value) === null || _a_zeroEvents_value === void 0 ? void 0 : _a_zeroEvents_value.message).toBe("from-a");
384
- (0, import_vitest.expect)((_b_zeroEvents_value = b.zeroEvents.value) === null || _b_zeroEvents_value === void 0 ? void 0 : _b_zeroEvents_value.message).toBe("from-b");
379
+ var messageOf = function (event) {
380
+ return (event === null || event === void 0 ? void 0 : event.type) === "error" ? event.message : void 0;
381
+ };
382
+ (0, import_vitest.expect)(seen.map(messageOf)).toEqual(["from-a", "from-b"]);
383
+ (0, import_vitest.expect)(messageOf(a.zeroEvents.value)).toBe("from-a");
384
+ (0, import_vitest.expect)(messageOf(b.zeroEvents.value)).toBe("from-b");
385
385
  });
386
386
  });
387
387
  //# sourceMappingURL=multiInstance.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["import_zero","require","import_helpers","import_vitest","import_combineZeroClients","import_createZeroClient","import_instanceRegistry","import_queryRegistry","import_run","import_zeroRunner","userTable","table","columns","id","string","name","primaryKey","taskTable","title","schema","createSchema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","createZeroClient","models","groupedQueries","fakeClient","namespaces","zeroStub","registerClientInstance","customQueries","useQuery","vi","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","createEmitter","ControlQueries","param","children","describe","test","control","project","controlRunner","_len","arguments","length","_args","Array","_key","from","projectRunner","getInstanceForNamespace","runner","ambientRunner","setRunner","expect","run","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","_getInstanceForNamespace","mdlThing","mutate","insert","_a_zeroEvents_options","_b_zeroEvents_options","a","b","options","seenByB","listen","event","push","emit","type","message","value","_client_zeroEvents_options"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_zero","require","import_helpers","import_vitest","import_combineZeroClients","import_createZeroClient","import_instanceRegistry","import_queryRegistry","import_run","import_zeroRunner","userTable","table","columns","id","string","name","primaryKey","taskTable","title","schema","createSchema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","createZeroClient","models","groupedQueries","fakeClient","namespaces","zeroStub","registerClientInstance","customQueries","useQuery","vi","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","createEmitter","ControlQueries","param","children","describe","test","control","project","controlRunner","_len","arguments","length","_args","Array","_key","from","projectRunner","getInstanceForNamespace","runner","ambientRunner","setRunner","expect","run","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","_getInstanceForNamespace","mdlThing","mutate","insert","_a_zeroEvents_options","_b_zeroEvents_options","a","b","options","seenByB","listen","event","push","emit","type","message","value","_client_zeroEvents_options"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import { createSchema, string, table } from "@rocicorp/zero";
2
+ import { act } from "react";
3
+ import { createRoot } from "react-dom/client";
4
+ import { afterEach, beforeEach, expect, test } from "vitest";
5
+ import { createZeroClient } from "./createZeroClient.mjs";
6
+ import { getAuthData } from "./state.mjs";
7
+ import { jsx } from "react/jsx-runtime";
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ const userTable = table("user").columns({
10
+ id: string(),
11
+ name: string()
12
+ }).primaryKey("id");
13
+ const schema = createSchema({
14
+ tables: [userTable]
15
+ });
16
+ const client = createZeroClient({
17
+ schema,
18
+ models: {},
19
+ groupedQueries: {},
20
+ instanceName: "authdata-test"
21
+ });
22
+ let container;
23
+ let root;
24
+ beforeEach(() => {
25
+ container = document.createElement("div");
26
+ root = createRoot(container);
27
+ });
28
+ afterEach(() => {
29
+ act(() => root.unmount());
30
+ });
31
+ function renderWith(props) {
32
+ act(() => {
33
+ root.render(/* @__PURE__ */jsx(client.ProvideZero, {
34
+ auth: props.auth,
35
+ authData: props.authData,
36
+ userID: props.userID,
37
+ children: /* @__PURE__ */jsx("span", {
38
+ children: "ok"
39
+ })
40
+ }));
41
+ });
42
+ }
43
+ test("authData clears on logout (token gone) but survives a transient blip", () => {
44
+ renderWith({
45
+ auth: "tok",
46
+ authData: {
47
+ id: "u1"
48
+ },
49
+ userID: "u1"
50
+ });
51
+ expect(getAuthData()).toEqual({
52
+ id: "u1"
53
+ });
54
+ renderWith({
55
+ auth: "tok",
56
+ authData: null,
57
+ userID: "u1"
58
+ });
59
+ expect(getAuthData()).toEqual({
60
+ id: "u1"
61
+ });
62
+ renderWith({
63
+ authData: null,
64
+ userID: "anon"
65
+ });
66
+ expect(getAuthData()).toBeNull();
67
+ });
68
+ //# sourceMappingURL=createZeroClient.authData.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","getAuthData","jsx","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWith","props","render","ProvideZero","auth","authData","userID","children","toEqual","toBeNull"],"sources":["../../src/createZeroClient.authData.test.tsx"],"sourcesContent":[null],"mappings":"AAOA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,GAAA,QAAW;AACpB,SAASC,UAAA,QAA6B;AACtC,SAASC,SAAA,EAAWC,UAAA,EAAYC,MAAA,EAAQC,IAAA,QAAY;AAEpD,SAASC,gBAAA,QAAwB;AACjC,SAASC,WAAA,QAAmB;AA0CpB,SAAAC,GAAA;AApCRC,UAAA,CAAWC,wBAAA,GAA2B;AAEtC,MAAMC,SAAA,GAAYZ,KAAA,CAAM,MAAM,EAAEa,OAAA,CAAQ;EAAEC,EAAA,EAAIf,MAAA,CAAO;EAAGgB,IAAA,EAAMhB,MAAA,CAAO;AAAE,CAAC,EAAEiB,UAAA,CAAW,IAAI;AACzF,MAAMC,MAAA,GAASnB,YAAA,CAAa;EAAEoB,MAAA,EAAQ,CAACN,SAAS;AAAE,CAAC;AAEnD,MAAMO,MAAA,GAASZ,gBAAA,CAAiB;EAC9BU,MAAA;EACAG,MAAA,EAAQ,CAAC;EACTC,cAAA,EAAgB,CAAC;EACjBC,YAAA,EAAc;AAChB,CAAC;AAED,IAAIC,SAAA;AACJ,IAAIC,IAAA;AAEJpB,UAAA,CAAW,MAAM;EACfmB,SAAA,GAAYE,QAAA,CAASC,aAAA,CAAc,KAAK;EACxCF,IAAA,GAAOtB,UAAA,CAAWqB,SAAS;AAC7B,CAAC;AAEDpB,SAAA,CAAU,MAAM;EACdF,GAAA,CAAI,MAAMuB,IAAA,CAAKG,OAAA,CAAQ,CAAC;AAC1B,CAAC;AAED,SAASC,WAAWC,KAAA,EAIjB;EACD5B,GAAA,CAAI,MAAM;IACRuB,IAAA,CAAKM,MAAA,CACH,eAAArB,GAAA,CAACU,MAAA,CAAOY,WAAA,EAAP;MACCC,IAAA,EAAMH,KAAA,CAAMG,IAAA;MACZC,QAAA,EAAUJ,KAAA,CAAMI,QAAA;MAChBC,MAAA,EAAQL,KAAA,CAAMK,MAAA;MAEdC,QAAA,iBAAA1B,GAAA,CAAC;QAAK0B,QAAA;MAAA,CAAE;IAAA,CACV,CACF;EACF,CAAC;AACH;AAEA7B,IAAA,CAAK,wEAAwE,MAAM;EACjFsB,UAAA,CAAW;IAAEI,IAAA,EAAM;IAAOC,QAAA,EAAU;MAAEnB,EAAA,EAAI;IAAK;IAAGoB,MAAA,EAAQ;EAAK,CAAC;EAChE7B,MAAA,CAAOG,WAAA,CAAY,CAAC,EAAE4B,OAAA,CAAQ;IAAEtB,EAAA,EAAI;EAAK,CAAC;EAG1Cc,UAAA,CAAW;IAAEI,IAAA,EAAM;IAAOC,QAAA,EAAU;IAAMC,MAAA,EAAQ;EAAK,CAAC;EACxD7B,MAAA,CAAOG,WAAA,CAAY,CAAC,EAAE4B,OAAA,CAAQ;IAAEtB,EAAA,EAAI;EAAK,CAAC;EAG1Cc,UAAA,CAAW;IAAEK,QAAA,EAAU;IAAMC,MAAA,EAAQ;EAAO,CAAC;EAC7C7B,MAAA,CAAOG,WAAA,CAAY,CAAC,EAAE6B,QAAA,CAAS;AACjC,CAAC","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createSchema, string, table } from "@rocicorp/zero";
3
+ import { act } from "react";
4
+ import { createRoot } from "react-dom/client";
5
+ import { afterEach, beforeEach, expect, test } from "vitest";
6
+ import { createZeroClient } from "./createZeroClient.native.js";
7
+ import { getAuthData } from "./state.native.js";
8
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
9
+ var userTable = table("user").columns({
10
+ id: string(),
11
+ name: string()
12
+ }).primaryKey("id");
13
+ var schema = createSchema({
14
+ tables: [userTable]
15
+ });
16
+ var client = createZeroClient({
17
+ schema,
18
+ models: {},
19
+ groupedQueries: {},
20
+ instanceName: "authdata-test"
21
+ });
22
+ var container;
23
+ var root;
24
+ beforeEach(function () {
25
+ container = document.createElement("div");
26
+ root = createRoot(container);
27
+ });
28
+ afterEach(function () {
29
+ act(function () {
30
+ return root.unmount();
31
+ });
32
+ });
33
+ function renderWith(props) {
34
+ act(function () {
35
+ root.render(/* @__PURE__ */_jsx(client.ProvideZero, {
36
+ auth: props.auth,
37
+ authData: props.authData,
38
+ userID: props.userID,
39
+ children: /* @__PURE__ */_jsx("span", {
40
+ children: "ok"
41
+ })
42
+ }));
43
+ });
44
+ }
45
+ test("authData clears on logout (token gone) but survives a transient blip", function () {
46
+ renderWith({
47
+ auth: "tok",
48
+ authData: {
49
+ id: "u1"
50
+ },
51
+ userID: "u1"
52
+ });
53
+ expect(getAuthData()).toEqual({
54
+ id: "u1"
55
+ });
56
+ renderWith({
57
+ auth: "tok",
58
+ authData: null,
59
+ userID: "u1"
60
+ });
61
+ expect(getAuthData()).toEqual({
62
+ id: "u1"
63
+ });
64
+ renderWith({
65
+ authData: null,
66
+ userID: "anon"
67
+ });
68
+ expect(getAuthData()).toBeNull();
69
+ });
70
+ //# sourceMappingURL=createZeroClient.authData.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","createZeroClient","getAuthData","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","columns","id","name","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","unmount","renderWith","props","render","ProvideZero","auth","authData","userID","children"],"sources":["../../src/createZeroClient.authData.test.tsx"],"sourcesContent":[null],"mappings":"AAOA,SAASA,GAAA,IAAAC,IAAA,QAAc,mBAAqB;AAC5C,SAASC,YAAW,EAAAC,MAAA,EAAAC,KAAA;AACpB,SAASC,GAAA,eAA6B;AACtC,SAASC,UAAA,QAAW,kBAAoB;AAExC,SAASC,SAAA,EAAAC,UAAA,EAAAC,MAAwB,EAAAC,IAAA;AACjC,SAASC,gBAAA,QAAmB;AA0CpB,SAAAC,WAAA;AApCRC,UAAA,CAAWC,wBAAA,GAA2B;AAEtC,IAAAC,SAAM,GAAAX,KAAY,OAAM,EAAMY,OAAE;EAChCC,EAAA,EAAMd,MAAA;EAENe,IAAM,EAAAf,MAAA,CAAS;AAAiB,EAC9B,CAAAgB,UAAA;AAAA,IACAC,MAAQ,GAAClB,YAAA;EACTmB,MAAA,GACAN,SAAA;AAGF;AACA,IAAIO,MAAA,GAAAX,gBAAA;EAEJS,MAAA;EACEG,MAAA;EACAC,cAAO,IAAW;EACnBC,YAAA;AAED;AACE,IAAAC,SAAU;AACZ,IAACC,IAAA;AAEDnB,UAAS,aAAW;EAKlBkB,SAAI,GAAME,QAAA,CAAAC,aAAA;EACRF,IAAA,GAAKrB,UAAA,CAAAoB,SAAA;AAAA;AACHnB,SAAC,aAAO;EAAAF,GAAA,aAAP;IAAA,OACCsB,IAAA,CAAMG,OAAM;EAAA;AACI;AACF,SAAAC,UAEdA,CAAAC,KAAA;EAAQ3B,GAAA;IAAAsB,IACV,CAAAM,MAAA,gBAAAhC,IAAA,CAAAqB,MAAA,CAAAY,WAAA;MACFC,IAAA,EAAAH,KAAA,CAAAG,IAAA;MACDC,QAAA,EAAAJ,KAAA,CAAAI,QAAA;MACHC,MAAA,EAAAL,KAAA,CAAAK,MAAA;MAEKC,QAAA,iBAAArC,IAAA;QACHqC,QAAa;MACb;IAGA;EACA;AAGA;AACA5B,IAAA,uEAA+B;EAChCqB,UAAA","ignoreList":[]}