on-zero 0.6.3 → 0.6.5

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 (90) hide show
  1. package/dist/cjs/createZeroClient.cjs +111 -12
  2. package/dist/cjs/createZeroClient.connection.test.cjs +163 -0
  3. package/dist/cjs/createZeroClient.connection.test.native.js +242 -0
  4. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -0
  5. package/dist/cjs/createZeroClient.native.js +145 -12
  6. package/dist/cjs/createZeroClient.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.recovery.test.cjs +52 -0
  8. package/dist/cjs/createZeroClient.recovery.test.native.js +52 -0
  9. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  10. package/dist/cjs/helpers/recoverZeroClient.cjs +140 -14
  11. package/dist/cjs/helpers/recoverZeroClient.native.js +155 -22
  12. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  13. package/dist/cjs/helpers/recoverZeroClient.test.cjs +181 -0
  14. package/dist/cjs/helpers/recoverZeroClient.test.native.js +209 -0
  15. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +1 -0
  17. package/dist/cjs/index.native.js +1 -0
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/multi.cjs +13 -0
  20. package/dist/cjs/multi.native.js +35 -0
  21. package/dist/cjs/multi.native.js.map +1 -1
  22. package/dist/cjs/multiInstance.test.cjs +12 -0
  23. package/dist/cjs/multiInstance.test.native.js +21 -0
  24. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  25. package/dist/cjs/multiPartition.test.cjs +42 -0
  26. package/dist/cjs/multiPartition.test.native.js +51 -0
  27. package/dist/cjs/multiPartition.test.native.js.map +1 -0
  28. package/dist/esm/createZeroClient.connection.test.mjs +164 -0
  29. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -0
  30. package/dist/esm/createZeroClient.connection.test.native.js +240 -0
  31. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -0
  32. package/dist/esm/createZeroClient.mjs +112 -13
  33. package/dist/esm/createZeroClient.mjs.map +1 -1
  34. package/dist/esm/createZeroClient.native.js +146 -13
  35. package/dist/esm/createZeroClient.native.js.map +1 -1
  36. package/dist/esm/createZeroClient.recovery.test.mjs +52 -0
  37. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  38. package/dist/esm/createZeroClient.recovery.test.native.js +52 -0
  39. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  40. package/dist/esm/helpers/recoverZeroClient.mjs +140 -15
  41. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  42. package/dist/esm/helpers/recoverZeroClient.native.js +155 -23
  43. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  44. package/dist/esm/helpers/recoverZeroClient.test.mjs +182 -1
  45. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  46. package/dist/esm/helpers/recoverZeroClient.test.native.js +210 -1
  47. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  48. package/dist/esm/index.js +2 -2
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/index.mjs +2 -2
  51. package/dist/esm/index.mjs.map +1 -1
  52. package/dist/esm/index.native.js +2 -2
  53. package/dist/esm/index.native.js.map +1 -1
  54. package/dist/esm/multi.mjs +13 -1
  55. package/dist/esm/multi.mjs.map +1 -1
  56. package/dist/esm/multi.native.js +35 -1
  57. package/dist/esm/multi.native.js.map +1 -1
  58. package/dist/esm/multiInstance.test.mjs +12 -0
  59. package/dist/esm/multiInstance.test.mjs.map +1 -1
  60. package/dist/esm/multiInstance.test.native.js +21 -0
  61. package/dist/esm/multiInstance.test.native.js.map +1 -1
  62. package/dist/esm/multiPartition.test.mjs +43 -0
  63. package/dist/esm/multiPartition.test.mjs.map +1 -0
  64. package/dist/esm/multiPartition.test.native.js +49 -0
  65. package/dist/esm/multiPartition.test.native.js.map +1 -0
  66. package/lint/ssr-guards.js +164 -0
  67. package/package.json +2 -2
  68. package/readme.md +126 -0
  69. package/src/createZeroClient.connection.test.tsx +162 -0
  70. package/src/createZeroClient.recovery.test.tsx +68 -0
  71. package/src/createZeroClient.tsx +188 -13
  72. package/src/helpers/recoverZeroClient.test.ts +204 -1
  73. package/src/helpers/recoverZeroClient.ts +263 -42
  74. package/src/index.ts +3 -0
  75. package/src/multi.ts +33 -0
  76. package/src/multiInstance.test.tsx +13 -0
  77. package/src/multiPartition.test.ts +38 -0
  78. package/types/createZeroClient.connection.test.d.ts +5 -0
  79. package/types/createZeroClient.connection.test.d.ts.map +1 -0
  80. package/types/createZeroClient.d.ts +17 -0
  81. package/types/createZeroClient.d.ts.map +1 -1
  82. package/types/createZeroServer.d.ts +4 -4
  83. package/types/helpers/recoverZeroClient.d.ts +15 -1
  84. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  85. package/types/index.d.ts +1 -1
  86. package/types/index.d.ts.map +1 -1
  87. package/types/multi.d.ts +1 -0
  88. package/types/multi.d.ts.map +1 -1
  89. package/types/multiPartition.test.d.ts +2 -0
  90. package/types/multiPartition.test.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["import_zero","require","import_helpers","import_vitest","import_combineZeroClients","import_createZeroClient","import_mutatorContext","import_instanceRegistry","import_queryRegistry","import_run","import_zeroRunner","import_zql","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","ownerRunner","txRun","runWithContext","authData","environment","can","tx","rejects","toThrow","toHaveBeenCalledTimes","zql","user","where","toHaveBeenCalledWith","ambient","_getInstanceForNamespace","mdlThing","mutate","insert"],"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_mutatorContext","import_instanceRegistry","import_queryRegistry","import_run","import_zeroRunner","import_zql","_type_of","obj","Symbol","constructor","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","ownerRunner","txRun","runWithContext","authData","environment","can","tx","rejects","toThrow","toHaveBeenCalledTimes","zql","user","where","toHaveBeenCalledWith","ambient","_getInstanceForNamespace","mdlThing","mutate","insert"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ var import_vitest = require("vitest");
2
+ var import_multi = require("./multi.cjs");
3
+ (0, import_vitest.describe)("assertZeroInstancePartition", () => {
4
+ const control = {
5
+ user: 1,
6
+ workspace: 1
7
+ };
8
+ const project = {
9
+ message: 1,
10
+ thread: 1
11
+ };
12
+ (0, import_vitest.test)("passes when every namespace belongs to exactly one partition", () => {
13
+ (0, import_vitest.expect)(() => (0, import_multi.assertZeroInstancePartition)("query namespace", {
14
+ user: {},
15
+ workspace: {},
16
+ message: {},
17
+ thread: {}
18
+ }, {
19
+ control,
20
+ project
21
+ })).not.toThrow();
22
+ });
23
+ (0, import_vitest.test)("throws on a namespace missing from every partition (the planGrant drift)", () => {
24
+ (0, import_vitest.expect)(() => (0, import_multi.assertZeroInstancePartition)("query namespace", {
25
+ user: {},
26
+ planGrant: {}
27
+ }, {
28
+ control,
29
+ project
30
+ })).toThrow(/planGrant.*missing from the instance partition/);
31
+ });
32
+ (0, import_vitest.test)("throws on a namespace claimed by more than one partition", () => {
33
+ (0, import_vitest.expect)(() => (0, import_multi.assertZeroInstancePartition)("query namespace", {
34
+ user: {}
35
+ }, {
36
+ control,
37
+ project: {
38
+ user: 1
39
+ }
40
+ })).toThrow(/user.*more than one instance partition/);
41
+ });
42
+ });
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var import_vitest = require("vitest");
4
+ var import_multi = require("./multi.native.js");
5
+ (0, import_vitest.describe)("assertZeroInstancePartition", function () {
6
+ var control = {
7
+ user: 1,
8
+ workspace: 1
9
+ };
10
+ var project = {
11
+ message: 1,
12
+ thread: 1
13
+ };
14
+ (0, import_vitest.test)("passes when every namespace belongs to exactly one partition", function () {
15
+ (0, import_vitest.expect)(function () {
16
+ return (0, import_multi.assertZeroInstancePartition)("query namespace", {
17
+ user: {},
18
+ workspace: {},
19
+ message: {},
20
+ thread: {}
21
+ }, {
22
+ control,
23
+ project
24
+ });
25
+ }).not.toThrow();
26
+ });
27
+ (0, import_vitest.test)("throws on a namespace missing from every partition (the planGrant drift)", function () {
28
+ (0, import_vitest.expect)(function () {
29
+ return (0, import_multi.assertZeroInstancePartition)("query namespace", {
30
+ user: {},
31
+ planGrant: {}
32
+ }, {
33
+ control,
34
+ project
35
+ });
36
+ }).toThrow(/planGrant.*missing from the instance partition/);
37
+ });
38
+ (0, import_vitest.test)("throws on a namespace claimed by more than one partition", function () {
39
+ (0, import_vitest.expect)(function () {
40
+ return (0, import_multi.assertZeroInstancePartition)("query namespace", {
41
+ user: {}
42
+ }, {
43
+ control,
44
+ project: {
45
+ user: 1
46
+ }
47
+ });
48
+ }).toThrow(/user.*more than one instance partition/);
49
+ });
50
+ });
51
+ //# sourceMappingURL=multiPartition.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["import_vitest","require","import_multi","describe","control","user","workspace","project","message","thread","test","expect","assertZeroInstancePartition","not","toThrow","planGrant"],"sources":["../../src/multiPartition.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAEA,IAAAA,aAAA,GAA4CC,OAAA;AAAA,IAE5CC,YAAA,GAAAD,OAAA,oBAAS;AACP,IAAAD,aAAM,CAAUG,QAAQ,+BAAgB;EACxC,IAAAC,OAAM;IAENC,IAAA;IACEC,SAAA;EAAA;EACE,IAAAC,OACE;IAAAC,OACE;IAAiDC,MACjD;EAAiB;EACrB,EACF,EAAET,aAAY,CAAAU,IAAA;IACf,IAAAV,aAAA,CAAAW,MAAA;MAED,WAAAT,YAAK,CAAAU,2BAAA;QACHP,IAAA;QAAOC,SACL;QACEE,OAAA;QACAC,MAAE,EAAM,CAAC;MAAiB,GAC1B;QACFL,OAAA;QACAG;MACH;IAED,GAAAM,GAAA,CAAAC,OAAA;EACE;EAAA,IAAOd,aACL,CAAAU,IAAA;IAAA,IACEV,aAAA,CAAAW,MAAA;MAAA,OACE,IAAOT,YAAE,CAAAU,2BAAA;QACXP,IAAE;QACJU,SAAA;MACA;QACHX,OAAA;QACFG","ignoreList":[]}
@@ -0,0 +1,164 @@
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, vi } from "vitest";
5
+ import { createZeroClient } from "./createZeroClient.mjs";
6
+ import { jsx } from "react/jsx-runtime";
7
+ const fakeZero = vi.hoisted(() => {
8
+ class FakeConnectionState {
9
+ current;
10
+ listeners = /* @__PURE__ */new Set();
11
+ constructor(initial) {
12
+ this.current = initial;
13
+ }
14
+ subscribe = cb => {
15
+ this.listeners.add(cb);
16
+ return () => {
17
+ this.listeners.delete(cb);
18
+ };
19
+ };
20
+ set(next) {
21
+ this.current = next;
22
+ for (const cb of this.listeners) cb();
23
+ }
24
+ }
25
+ class FakeZero {
26
+ context = {};
27
+ connection = {
28
+ state: new FakeConnectionState({
29
+ name: "connecting"
30
+ }),
31
+ connect: vi.fn(async () => {})
32
+ };
33
+ delete = vi.fn(async () => ({
34
+ errors: []
35
+ }));
36
+ close = vi.fn();
37
+ run = vi.fn(async () => []);
38
+ preload = vi.fn(() => ({
39
+ cleanup: () => {},
40
+ complete: Promise.resolve()
41
+ }));
42
+ constructor() {
43
+ instances.push(this);
44
+ }
45
+ }
46
+ const instances = [];
47
+ return {
48
+ FakeZero,
49
+ FakeConnectionState,
50
+ instances
51
+ };
52
+ });
53
+ vi.mock("@rocicorp/zero", async importOriginal => {
54
+ const actual = await importOriginal();
55
+ return {
56
+ ...actual,
57
+ Zero: fakeZero.FakeZero
58
+ };
59
+ });
60
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
61
+ const noteTable = table("note").columns({
62
+ id: string(),
63
+ body: string()
64
+ }).primaryKey("id");
65
+ const schema = createSchema({
66
+ tables: [noteTable]
67
+ });
68
+ const client = createZeroClient({
69
+ schema,
70
+ models: {},
71
+ groupedQueries: {},
72
+ instanceName: "connection-test"
73
+ });
74
+ let container;
75
+ let root;
76
+ beforeEach(() => {
77
+ fakeZero.instances.length = 0;
78
+ container = document.createElement("div");
79
+ root = null;
80
+ delete document.body.dataset.zeroState;
81
+ delete document.body.dataset.zeroConnected;
82
+ delete document.body.dataset.zeroReason;
83
+ });
84
+ afterEach(() => {
85
+ if (root) act(() => root?.unmount());
86
+ });
87
+ async function mount(extraProps = {}, userID = "conn") {
88
+ root = createRoot(container);
89
+ await act(async () => {
90
+ root?.render(/* @__PURE__ */jsx(client.ProvideZero, {
91
+ cacheURL: "http://127.0.0.1:7788/zero",
92
+ userID,
93
+ ...extraProps,
94
+ children: /* @__PURE__ */jsx("span", {
95
+ children: "ok"
96
+ })
97
+ }));
98
+ await Promise.resolve();
99
+ });
100
+ return fakeZero.instances.at(-1);
101
+ }
102
+ test("refreshAuth reconnects in place on needs-auth, once per transition", async () => {
103
+ const refreshAuth = vi.fn(async () => "fresh-token");
104
+ const instance = await mount({
105
+ refreshAuth
106
+ }, "conn-auth");
107
+ await act(async () => {
108
+ instance.connection.state.set({
109
+ name: "needs-auth",
110
+ reason: "token expired"
111
+ });
112
+ await Promise.resolve();
113
+ });
114
+ expect(refreshAuth).toHaveBeenCalledTimes(1);
115
+ await act(async () => {
116
+ await Promise.resolve();
117
+ });
118
+ expect(instance.connection.connect).toHaveBeenCalledWith({
119
+ auth: "fresh-token"
120
+ });
121
+ });
122
+ test("stale-poke error reconnects instead of surfacing a fatal error", async () => {
123
+ const events = [];
124
+ const off = client.zeroEvents.listen(event => {
125
+ if (event) events.push(event);
126
+ });
127
+ const instance = await mount({}, "conn-stale");
128
+ await act(async () => {
129
+ instance.connection.state.set({
130
+ name: "error",
131
+ reason: "Server returned unexpected base cookie during sync"
132
+ });
133
+ await Promise.resolve();
134
+ });
135
+ expect(instance.connection.connect).toHaveBeenCalledTimes(1);
136
+ expect(instance.connection.connect).toHaveBeenCalledWith();
137
+ expect(events.some(event => event.type === "error")).toBe(false);
138
+ off();
139
+ });
140
+ test("connectionDataset mirrors connection state onto the body dataset", async () => {
141
+ const instance = await mount({
142
+ connectionDataset: true
143
+ }, "conn-dataset");
144
+ await act(async () => {
145
+ instance.connection.state.set({
146
+ name: "connected"
147
+ });
148
+ await Promise.resolve();
149
+ });
150
+ expect(document.body.dataset.zeroState).toBe("connected");
151
+ expect(document.body.dataset.zeroConnected).toBe("true");
152
+ expect(document.body.dataset.zeroCacheUrl).toBe("http://127.0.0.1:7788/zero");
153
+ await act(async () => {
154
+ instance.connection.state.set({
155
+ name: "error",
156
+ reason: "boom"
157
+ });
158
+ await Promise.resolve();
159
+ });
160
+ expect(document.body.dataset.zeroState).toBe("error");
161
+ expect(document.body.dataset.zeroConnected).toBeUndefined();
162
+ expect(document.body.dataset.zeroReason).toBe("boom");
163
+ });
164
+ //# sourceMappingURL=createZeroClient.connection.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","refreshAuth","instance","reason","toHaveBeenCalledTimes","toHaveBeenCalledWith","auth","events","off","zeroEvents","listen","event","some","type","toBe","connectionDataset","zeroCacheUrl","toBeUndefined"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,240 @@
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, vi } from "vitest";
6
+ import { createZeroClient } from "./createZeroClient.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 fakeZero = vi.hoisted(function () {
40
+ var FakeConnectionState = /* @__PURE__ */function () {
41
+ "use strict";
42
+
43
+ function FakeConnectionState2(initial) {
44
+ var _this = this;
45
+ _class_call_check(this, FakeConnectionState2);
46
+ _define_property(this, "current", void 0);
47
+ _define_property(this, "listeners", /* @__PURE__ */new Set());
48
+ _define_property(this, "subscribe", function (cb) {
49
+ _this.listeners.add(cb);
50
+ return function () {
51
+ _this.listeners.delete(cb);
52
+ };
53
+ });
54
+ this.current = initial;
55
+ }
56
+ _create_class(FakeConnectionState2, [{
57
+ key: "set",
58
+ value: function set(next) {
59
+ this.current = next;
60
+ var _iteratorNormalCompletion = true,
61
+ _didIteratorError = false,
62
+ _iteratorError = void 0;
63
+ try {
64
+ for (var _iterator = this.listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
65
+ var cb = _step.value;
66
+ cb();
67
+ }
68
+ } catch (err) {
69
+ _didIteratorError = true;
70
+ _iteratorError = err;
71
+ } finally {
72
+ try {
73
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
74
+ _iterator.return();
75
+ }
76
+ } finally {
77
+ if (_didIteratorError) {
78
+ throw _iteratorError;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }]);
84
+ return FakeConnectionState2;
85
+ }();
86
+ var FakeZero = function FakeZero2() {
87
+ "use strict";
88
+
89
+ _class_call_check(this, FakeZero2);
90
+ _define_property(this, "context", {});
91
+ _define_property(this, "connection", {
92
+ state: new FakeConnectionState({
93
+ name: "connecting"
94
+ }),
95
+ connect: vi.fn(async function () {})
96
+ });
97
+ _define_property(this, "delete", vi.fn(async function () {
98
+ return {
99
+ errors: []
100
+ };
101
+ }));
102
+ _define_property(this, "close", vi.fn());
103
+ _define_property(this, "run", vi.fn(async function () {
104
+ return [];
105
+ }));
106
+ _define_property(this, "preload", vi.fn(function () {
107
+ return {
108
+ cleanup: function () {},
109
+ complete: Promise.resolve()
110
+ };
111
+ }));
112
+ instances.push(this);
113
+ };
114
+ var instances = [];
115
+ return {
116
+ FakeZero,
117
+ FakeConnectionState,
118
+ instances
119
+ };
120
+ });
121
+ vi.mock("@rocicorp/zero", async function (importOriginal) {
122
+ var actual = await importOriginal();
123
+ return {
124
+ ...actual,
125
+ Zero: fakeZero.FakeZero
126
+ };
127
+ });
128
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
129
+ var noteTable = table("note").columns({
130
+ id: string(),
131
+ body: string()
132
+ }).primaryKey("id");
133
+ var schema = createSchema({
134
+ tables: [noteTable]
135
+ });
136
+ var client = createZeroClient({
137
+ schema,
138
+ models: {},
139
+ groupedQueries: {},
140
+ instanceName: "connection-test"
141
+ });
142
+ var container;
143
+ var root;
144
+ beforeEach(function () {
145
+ fakeZero.instances.length = 0;
146
+ container = document.createElement("div");
147
+ root = null;
148
+ delete document.body.dataset.zeroState;
149
+ delete document.body.dataset.zeroConnected;
150
+ delete document.body.dataset.zeroReason;
151
+ });
152
+ afterEach(function () {
153
+ if (root) act(function () {
154
+ return root === null || root === void 0 ? void 0 : root.unmount();
155
+ });
156
+ });
157
+ async function mount() {
158
+ var extraProps = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
159
+ userID = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "conn";
160
+ root = createRoot(container);
161
+ await act(async function () {
162
+ root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */_jsx(client.ProvideZero, {
163
+ cacheURL: "http://127.0.0.1:7788/zero",
164
+ userID,
165
+ ...extraProps,
166
+ children: /* @__PURE__ */_jsx("span", {
167
+ children: "ok"
168
+ })
169
+ }));
170
+ await Promise.resolve();
171
+ });
172
+ return fakeZero.instances.at(-1);
173
+ }
174
+ test("refreshAuth reconnects in place on needs-auth, once per transition", async function () {
175
+ var refreshAuth = vi.fn(async function () {
176
+ return "fresh-token";
177
+ });
178
+ var instance = await mount({
179
+ refreshAuth
180
+ }, "conn-auth");
181
+ await act(async function () {
182
+ instance.connection.state.set({
183
+ name: "needs-auth",
184
+ reason: "token expired"
185
+ });
186
+ await Promise.resolve();
187
+ });
188
+ expect(refreshAuth).toHaveBeenCalledTimes(1);
189
+ await act(async function () {
190
+ await Promise.resolve();
191
+ });
192
+ expect(instance.connection.connect).toHaveBeenCalledWith({
193
+ auth: "fresh-token"
194
+ });
195
+ });
196
+ test("stale-poke error reconnects instead of surfacing a fatal error", async function () {
197
+ var events = [];
198
+ var off = client.zeroEvents.listen(function (event) {
199
+ if (event) events.push(event);
200
+ });
201
+ var instance = await mount({}, "conn-stale");
202
+ await act(async function () {
203
+ instance.connection.state.set({
204
+ name: "error",
205
+ reason: "Server returned unexpected base cookie during sync"
206
+ });
207
+ await Promise.resolve();
208
+ });
209
+ expect(instance.connection.connect).toHaveBeenCalledTimes(1);
210
+ expect(instance.connection.connect).toHaveBeenCalledWith();
211
+ expect(events.some(function (event) {
212
+ return event.type === "error";
213
+ })).toBe(false);
214
+ off();
215
+ });
216
+ test("connectionDataset mirrors connection state onto the body dataset", async function () {
217
+ var instance = await mount({
218
+ connectionDataset: true
219
+ }, "conn-dataset");
220
+ await act(async function () {
221
+ instance.connection.state.set({
222
+ name: "connected"
223
+ });
224
+ await Promise.resolve();
225
+ });
226
+ expect(document.body.dataset.zeroState).toBe("connected");
227
+ expect(document.body.dataset.zeroConnected).toBe("true");
228
+ expect(document.body.dataset.zeroCacheUrl).toBe("http://127.0.0.1:7788/zero");
229
+ await act(async function () {
230
+ instance.connection.state.set({
231
+ name: "error",
232
+ reason: "boom"
233
+ });
234
+ await Promise.resolve();
235
+ });
236
+ expect(document.body.dataset.zeroState).toBe("error");
237
+ expect(document.body.dataset.zeroConnected).toBeUndefined();
238
+ expect(document.body.dataset.zeroReason).toBe("boom");
239
+ });
240
+ //# sourceMappingURL=createZeroClient.connection.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_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","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}