on-zero 0.6.7 → 0.6.9

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 (150) hide show
  1. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  2. package/dist/cjs/createPermissions.native.js.map +1 -1
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createUseQuery.native.js.map +1 -1
  5. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +6 -8
  8. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +11 -8
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  12. package/dist/cjs/createZeroServer.native.js.map +1 -1
  13. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  14. package/dist/cjs/generate-helpers.native.js.map +1 -1
  15. package/dist/cjs/generate-lite.native.js.map +1 -1
  16. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  17. package/dist/cjs/generate.cjs +6 -0
  18. package/dist/cjs/generate.native.js +11 -2
  19. package/dist/cjs/generate.native.js.map +1 -1
  20. package/dist/cjs/generate.test.native.js.map +1 -1
  21. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  22. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  23. package/dist/cjs/helpers/createMutators.cjs +7 -2
  24. package/dist/cjs/helpers/createMutators.native.js +7 -2
  25. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  26. package/dist/cjs/helpers/createMutators.test.cjs +43 -0
  27. package/dist/cjs/helpers/createMutators.test.native.js +46 -0
  28. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -0
  29. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  30. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  31. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  32. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  33. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  34. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  35. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  36. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  38. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  39. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  40. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  41. package/dist/cjs/httpPull/auth.test.native.js.map +1 -1
  42. package/dist/cjs/httpPull/churn.test.native.js.map +1 -1
  43. package/dist/cjs/httpPull/completeAck.test.cjs +69 -0
  44. package/dist/cjs/httpPull/completeAck.test.native.js +76 -0
  45. package/dist/cjs/httpPull/completeAck.test.native.js.map +1 -0
  46. package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -1
  47. package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -1
  48. package/dist/cjs/httpPull/integration.test.native.js.map +1 -1
  49. package/dist/cjs/httpPull/rebase.test.native.js.map +1 -1
  50. package/dist/cjs/httpPull/relations.test.native.js.map +1 -1
  51. package/dist/cjs/httpPull/testHarness.native.js.map +1 -1
  52. package/dist/cjs/httpPull/transport.test.cjs +177 -1
  53. package/dist/cjs/httpPull/transport.test.native.js +192 -0
  54. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  55. package/dist/cjs/httpPullTransport.cjs +138 -12
  56. package/dist/cjs/httpPullTransport.native.js +173 -13
  57. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  58. package/dist/cjs/index.native.js.map +1 -1
  59. package/dist/cjs/instanceRegistry.cjs +18 -1
  60. package/dist/cjs/instanceRegistry.native.js +71 -12
  61. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  62. package/dist/cjs/modelRegistry.native.js.map +1 -1
  63. package/dist/cjs/multi.native.js.map +1 -1
  64. package/dist/cjs/multiInstance.test.cjs +6 -6
  65. package/dist/cjs/multiInstance.test.native.js +7 -7
  66. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  67. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  68. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  69. package/dist/cjs/mutations.native.js.map +1 -1
  70. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  71. package/dist/cjs/queryRegistry.native.js.map +1 -1
  72. package/dist/cjs/resolveQuery.native.js.map +1 -1
  73. package/dist/cjs/run.native.js.map +1 -1
  74. package/dist/cjs/serverWhere.native.js.map +1 -1
  75. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  76. package/dist/cjs/state.native.js.map +1 -1
  77. package/dist/cjs/testSetup.native.js.map +1 -1
  78. package/dist/cjs/types.native.js.map +1 -1
  79. package/dist/cjs/usePermission.test.native.js.map +1 -1
  80. package/dist/cjs/useQuery.empty.test.cjs +10 -3
  81. package/dist/cjs/useQuery.empty.test.native.js +12 -3
  82. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  83. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  84. package/dist/cjs/vite-plugin.native.js.map +1 -1
  85. package/dist/cjs/where.native.js.map +1 -1
  86. package/dist/cjs/zeroRunner.native.js.map +1 -1
  87. package/dist/cjs/zql.native.js.map +1 -1
  88. package/dist/esm/createZeroClient.mjs +6 -8
  89. package/dist/esm/createZeroClient.mjs.map +1 -1
  90. package/dist/esm/createZeroClient.native.js +11 -8
  91. package/dist/esm/createZeroClient.native.js.map +1 -1
  92. package/dist/esm/generate.mjs +6 -0
  93. package/dist/esm/generate.mjs.map +1 -1
  94. package/dist/esm/generate.native.js +11 -2
  95. package/dist/esm/generate.native.js.map +1 -1
  96. package/dist/esm/helpers/createMutators.mjs +7 -2
  97. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  98. package/dist/esm/helpers/createMutators.native.js +7 -2
  99. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  100. package/dist/esm/helpers/createMutators.test.mjs +44 -0
  101. package/dist/esm/helpers/createMutators.test.mjs.map +1 -0
  102. package/dist/esm/helpers/createMutators.test.native.js +44 -0
  103. package/dist/esm/helpers/createMutators.test.native.js.map +1 -0
  104. package/dist/esm/httpPull/completeAck.test.mjs +70 -0
  105. package/dist/esm/httpPull/completeAck.test.mjs.map +1 -0
  106. package/dist/esm/httpPull/completeAck.test.native.js +74 -0
  107. package/dist/esm/httpPull/completeAck.test.native.js.map +1 -0
  108. package/dist/esm/httpPull/transport.test.mjs +176 -0
  109. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  110. package/dist/esm/httpPull/transport.test.native.js +192 -0
  111. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  112. package/dist/esm/httpPullTransport.mjs +138 -12
  113. package/dist/esm/httpPullTransport.mjs.map +1 -1
  114. package/dist/esm/httpPullTransport.native.js +173 -13
  115. package/dist/esm/httpPullTransport.native.js.map +1 -1
  116. package/dist/esm/instanceRegistry.mjs +18 -1
  117. package/dist/esm/instanceRegistry.mjs.map +1 -1
  118. package/dist/esm/instanceRegistry.native.js +71 -12
  119. package/dist/esm/instanceRegistry.native.js.map +1 -1
  120. package/dist/esm/multiInstance.test.mjs +7 -7
  121. package/dist/esm/multiInstance.test.mjs.map +1 -1
  122. package/dist/esm/multiInstance.test.native.js +8 -8
  123. package/dist/esm/multiInstance.test.native.js.map +1 -1
  124. package/dist/esm/useQuery.empty.test.mjs +7 -0
  125. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  126. package/dist/esm/useQuery.empty.test.native.js +9 -0
  127. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  128. package/package.json +2 -2
  129. package/src/createZeroClient.tsx +7 -6
  130. package/src/generate.ts +10 -1
  131. package/src/helpers/createMutators.test.ts +51 -0
  132. package/src/helpers/createMutators.ts +7 -2
  133. package/src/httpPull/completeAck.test.ts +80 -0
  134. package/src/httpPull/transport.test.ts +134 -0
  135. package/src/httpPullTransport.ts +198 -13
  136. package/src/instanceRegistry.ts +27 -2
  137. package/src/multiInstance.test.tsx +11 -9
  138. package/src/useQuery.empty.test.tsx +8 -0
  139. package/types/createZeroClient.d.ts.map +1 -1
  140. package/types/generate.d.ts.map +1 -1
  141. package/types/helpers/createMutators.d.ts.map +1 -1
  142. package/types/helpers/createMutators.test.d.ts +2 -0
  143. package/types/helpers/createMutators.test.d.ts.map +1 -0
  144. package/types/httpPull/completeAck.test.d.ts +2 -0
  145. package/types/httpPull/completeAck.test.d.ts.map +1 -0
  146. package/types/httpPullTransport.d.ts +4 -0
  147. package/types/httpPullTransport.d.ts.map +1 -1
  148. package/types/instanceRegistry.d.ts +2 -1
  149. package/types/instanceRegistry.d.ts.map +1 -1
  150. package/types/useQuery.empty.test.d.ts.map +1 -1
@@ -0,0 +1,44 @@
1
+ import { afterEach, describe, expect, test, vi } from "vitest";
2
+ import { createMutators } from "./createMutators.mjs";
3
+ afterEach(() => {
4
+ vi.useRealTimers();
5
+ });
6
+ describe("createMutators timeout guard", () => {
7
+ test("releases the timeout when a mutation succeeds", async () => {
8
+ vi.useFakeTimers();
9
+ const mutators = createMutators({
10
+ environment: "server",
11
+ authData: null,
12
+ can: {},
13
+ models: {
14
+ task: {
15
+ mutate: {
16
+ create: async () => {}
17
+ }
18
+ }
19
+ }
20
+ });
21
+ await mutators.task.create({}, {});
22
+ expect(vi.getTimerCount()).toBe(0);
23
+ });
24
+ test("releases the timeout when a mutation fails", async () => {
25
+ vi.useFakeTimers();
26
+ const mutators = createMutators({
27
+ environment: "server",
28
+ authData: null,
29
+ can: {},
30
+ models: {
31
+ task: {
32
+ mutate: {
33
+ create: async () => {
34
+ throw new Error("nope");
35
+ }
36
+ }
37
+ }
38
+ }
39
+ });
40
+ await expect(mutators.task.create({}, {})).rejects.toThrow("nope");
41
+ expect(vi.getTimerCount()).toBe(0);
42
+ });
43
+ });
44
+ //# sourceMappingURL=createMutators.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","describe","expect","test","vi","createMutators","useRealTimers","useFakeTimers","mutators","environment","authData","can","models","task","mutate","create","getTimerCount","toBe","Error","rejects","toThrow"],"sources":["../../../src/helpers/createMutators.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAEtD,SAASC,cAAA,QAAsB;AAE/BL,SAAA,CAAU,MAAM;EACdI,EAAA,CAAGE,aAAA,CAAc;AACnB,CAAC;AAEDL,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,IAAA,CAAK,iDAAiD,YAAY;IAChEC,EAAA,CAAGG,aAAA,CAAc;IACjB,MAAMC,QAAA,GAAWH,cAAA,CAAe;MAC9BI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,MAAAA,CAAA,KAAY,CAAC;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAMP,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC;IAEjCb,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;EAEDd,IAAA,CAAK,8CAA8C,YAAY;IAC7DC,EAAA,CAAGG,aAAA,CAAc;IACjB,MAAMC,QAAA,GAAWH,cAAA,CAAe;MAC9BI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,MAAAA,CAAA,KAAY;cAClB,MAAM,IAAIG,KAAA,CAAM,MAAM;YACxB;UACF;QACF;MACF;IACF,CAAC;IAED,MAAMhB,MAAA,CAAOM,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEI,OAAA,CAAQC,OAAA,CAAQ,MAAM;IAEjElB,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import { afterEach, describe, expect, test, vi } from "vitest";
2
+ import { createMutators } from "./createMutators.native.js";
3
+ afterEach(function () {
4
+ vi.useRealTimers();
5
+ });
6
+ describe("createMutators timeout guard", function () {
7
+ test("releases the timeout when a mutation succeeds", async function () {
8
+ vi.useFakeTimers();
9
+ var mutators = createMutators({
10
+ environment: "server",
11
+ authData: null,
12
+ can: {},
13
+ models: {
14
+ task: {
15
+ mutate: {
16
+ create: async function () {}
17
+ }
18
+ }
19
+ }
20
+ });
21
+ await mutators.task.create({}, {});
22
+ expect(vi.getTimerCount()).toBe(0);
23
+ });
24
+ test("releases the timeout when a mutation fails", async function () {
25
+ vi.useFakeTimers();
26
+ var mutators = createMutators({
27
+ environment: "server",
28
+ authData: null,
29
+ can: {},
30
+ models: {
31
+ task: {
32
+ mutate: {
33
+ create: async function () {
34
+ throw new Error("nope");
35
+ }
36
+ }
37
+ }
38
+ }
39
+ });
40
+ await expect(mutators.task.create({}, {})).rejects.toThrow("nope");
41
+ expect(vi.getTimerCount()).toBe(0);
42
+ });
43
+ });
44
+ //# sourceMappingURL=createMutators.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","describe","expect","test","vi","createMutators","useRealTimers","useFakeTimers","mutators","environment","authData","can","models","task","mutate","create","getTimerCount","toBe","Error","rejects","toThrow"],"sources":["../../../src/helpers/createMutators.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AAEtD,SAASC,cAAA,QAAsB;AAE/BL,SAAA,CAAU,YAAM;EACdI,EAAA,CAAGE,aAAA,CAAc;AACnB,CAAC;AAEDL,QAAA,CAAS,gCAAgC,YAAM;EAC7CE,IAAA,CAAK,iDAAiD,kBAAY;IAChEC,EAAA,CAAGG,aAAA,CAAc;IACjB,IAAAC,QAAM,GAAAH,cAAW;MACfI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,eAAAA,CAAA,EAAY,CAAC;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAMP,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC;IAEjCb,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;EAEDd,IAAA,CAAK,8CAA8C,kBAAY;IAC7DC,EAAA,CAAGG,aAAA,CAAc;IACjB,IAAAC,QAAM,GAAAH,cAAW;MACfI,WAAA,EAAa;MACbC,QAAA,EAAU;MACVC,GAAA,EAAK,CAAC;MACNC,MAAA,EAAQ;QACNC,IAAA,EAAM;UACJC,MAAA,EAAQ;YACNC,MAAA,EAAQ,eAAAA,CAAA,EAAY;cAClB,MAAM,IAAIG,KAAA,CAAM,MAAM;YACxB;UACF;QACF;MACF;IACF,CAAC;IAED,MAAMhB,MAAA,CAAOM,QAAA,CAASK,IAAA,CAAKE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEI,OAAA,CAAQC,OAAA,CAAQ,MAAM;IAEjElB,MAAA,CAAOE,EAAA,CAAGY,aAAA,CAAc,CAAC,EAAEC,IAAA,CAAK,CAAC;EACnC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ import { afterEach, expect, test } from "vitest";
2
+ import { startZeroHttpHarness, waitForComplete } from "./testHarness.mjs";
3
+ let harness;
4
+ afterEach(async () => {
5
+ await harness?.close();
6
+ harness = void 0;
7
+ });
8
+ test("query desired before first connect reaches complete", async () => {
9
+ harness = await startZeroHttpHarness({
10
+ seed: {
11
+ user: [{
12
+ id: "u1",
13
+ name: "ada"
14
+ }]
15
+ }
16
+ });
17
+ const zero = harness.createZero("u1");
18
+ const view = zero.query.user.materialize();
19
+ const rows = await waitForComplete(view);
20
+ expect(rows).toEqual([{
21
+ id: "u1",
22
+ name: "ada"
23
+ }]);
24
+ view.destroy();
25
+ });
26
+ test("existing + new queries reach complete again after a transport drop", async () => {
27
+ let failNextPull = false;
28
+ harness = await startZeroHttpHarness({
29
+ seed: {
30
+ user: [{
31
+ id: "u1",
32
+ name: "ada"
33
+ }],
34
+ project: [{
35
+ id: "p1",
36
+ ownerId: "u1",
37
+ name: "first"
38
+ }]
39
+ },
40
+ interceptFetch: next => (input, init) => {
41
+ const url = String(input);
42
+ if (failNextPull && url.endsWith("/pull")) {
43
+ failNextPull = false;
44
+ return Promise.reject(new Error("injected transient pull failure"));
45
+ }
46
+ return next(input, init);
47
+ }
48
+ });
49
+ const zero = harness.createZero("u1");
50
+ const userView = zero.query.user.materialize();
51
+ await waitForComplete(userView);
52
+ failNextPull = true;
53
+ await harness.transport.pull().catch(() => {});
54
+ const mutation = zero.mutate.project.create({
55
+ id: "p2",
56
+ ownerId: "u1",
57
+ name: "second"
58
+ });
59
+ await mutation.client;
60
+ await mutation.server.catch(() => {});
61
+ const userAgain = zero.query.user.materialize();
62
+ await waitForComplete(userAgain);
63
+ const projectView = zero.query.project.materialize();
64
+ const projects = await waitForComplete(projectView);
65
+ expect(projects.map(p => p.id).sort()).toEqual(["p1", "p2"]);
66
+ userView.destroy();
67
+ userAgain.destroy();
68
+ projectView.destroy();
69
+ });
70
+ //# sourceMappingURL=completeAck.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","expect","test","startZeroHttpHarness","waitForComplete","harness","close","seed","user","id","name","zero","createZero","view","query","materialize","rows","toEqual","destroy","failNextPull","project","ownerId","interceptFetch","next","input","init","url","String","endsWith","Promise","reject","Error","userView","transport","pull","catch","mutation","mutate","create","client","server","userAgain","projectView","projects","map","p","sort"],"sources":["../../../src/httpPull/completeAck.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ import { afterEach, expect, test } from "vitest";
2
+ import { startZeroHttpHarness, waitForComplete } from "./testHarness.native.js";
3
+ var harness;
4
+ afterEach(async function () {
5
+ await (harness === null || harness === void 0 ? void 0 : harness.close());
6
+ harness = void 0;
7
+ });
8
+ test("query desired before first connect reaches complete", async function () {
9
+ harness = await startZeroHttpHarness({
10
+ seed: {
11
+ user: [{
12
+ id: "u1",
13
+ name: "ada"
14
+ }]
15
+ }
16
+ });
17
+ var zero = harness.createZero("u1");
18
+ var view = zero.query.user.materialize();
19
+ var rows = await waitForComplete(view);
20
+ expect(rows).toEqual([{
21
+ id: "u1",
22
+ name: "ada"
23
+ }]);
24
+ view.destroy();
25
+ });
26
+ test("existing + new queries reach complete again after a transport drop", async function () {
27
+ var failNextPull = false;
28
+ harness = await startZeroHttpHarness({
29
+ seed: {
30
+ user: [{
31
+ id: "u1",
32
+ name: "ada"
33
+ }],
34
+ project: [{
35
+ id: "p1",
36
+ ownerId: "u1",
37
+ name: "first"
38
+ }]
39
+ },
40
+ interceptFetch: function (next) {
41
+ return function (input, init) {
42
+ var url = String(input);
43
+ if (failNextPull && url.endsWith("/pull")) {
44
+ failNextPull = false;
45
+ return Promise.reject(new Error("injected transient pull failure"));
46
+ }
47
+ return next(input, init);
48
+ };
49
+ }
50
+ });
51
+ var zero = harness.createZero("u1");
52
+ var userView = zero.query.user.materialize();
53
+ await waitForComplete(userView);
54
+ failNextPull = true;
55
+ await harness.transport.pull().catch(function () {});
56
+ var mutation = zero.mutate.project.create({
57
+ id: "p2",
58
+ ownerId: "u1",
59
+ name: "second"
60
+ });
61
+ await mutation.client;
62
+ await mutation.server.catch(function () {});
63
+ var userAgain = zero.query.user.materialize();
64
+ await waitForComplete(userAgain);
65
+ var projectView = zero.query.project.materialize();
66
+ var projects = await waitForComplete(projectView);
67
+ expect(projects.map(function (p) {
68
+ return p.id;
69
+ }).sort()).toEqual(["p1", "p2"]);
70
+ userView.destroy();
71
+ userAgain.destroy();
72
+ projectView.destroy();
73
+ });
74
+ //# sourceMappingURL=completeAck.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["afterEach","expect","test","startZeroHttpHarness","waitForComplete","harness","close","seed","user","id","name","zero","createZero","view","query","materialize","rows","toEqual","destroy","failNextPull","project","ownerId","interceptFetch","next","input","init","url","String","endsWith","Promise","reject","Error"],"sources":["../../../src/httpPull/completeAck.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,MAAA,EAAQC,IAAA,QAAY;AAExC,SAAAC,oBAAA,EAAAC,eAAA;AAAA,IAEEC,OAAA;AAAAL,SACA;EAAA,OAEKK,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAC,KAAA;EAOPD,OAAI;AAEJ;AACEH,IAAA,sDAAqB;EACrBG,OAAA,GAAU,MAAAF,oBAAA;IACXI,IAAA;MAEIC,IAAA,GACH;QACQC,EAAE,MAAM;QACfC,IAAA;MACK;IAIN;EACA;EACA,IAAAC,IAAK,GAAAN,OAAQ,CAAAO,UAAA;EACd,IAAAC,IAAA,GAAAF,IAAA,CAAAG,KAAA,CAAAN,IAAA,CAAAO,WAAA;EAED,IAAKC,IAAA,SAAAZ,eAAA,CAAAS,IAAA;EACHZ,MAAI,CAAAe,IAAA,EAAAC,OAAe,EACnB;IACER,EAAA,EAAM;IACJC,IAAA,EAAM;EAA0B,EACoB,CACtD;EAAAG,IACA,CAAAK,OAAA;AACE;AACAhB,IAAA,qEAA2C;EACzC,IAAAiB,YAAA,QAAe;EACfd,OAAA,SAAOF,oBAAmB;IAAwCI,IACpE;MACAC,IAAA,GACF;QACDC,EAAA;QACKC,IAAA,EAAO;MAEP,EACN;MAIAU,OAAA,GACM;QAAuCX,EAAA;QAGvCY,OAAA,EAAW;QACXX,IAAA;MACA;IAKN;IACAY,cAAM,WAAAA,CAAuBC,IAAS;MAGtC,OAAM,UAAcC,KAAK,EAAAC,IAAM;QACzB,IAAAC,GAAA,GAAAC,MAAW,CAAMH,KAAA;QACvB,IAAOL,YAAc,IAAAO,GAAa,CAAAE,QAAS,CAAC,OAAE,GAAQ;UAEtDT,YAAiB;UACjB,OAAUU,OAAQ,CAAAC,MAAA,KAAAC,KAAA;QAClB;QACD,OAAAR,IAAA,CAAAC,KAAA,EAAAC,IAAA","ignoreList":[]}
@@ -642,4 +642,180 @@ function defer() {
642
642
  reject
643
643
  };
644
644
  }
645
+ function installWithQueries(fetch, queryTransform) {
646
+ const transport = installHttpPullTransport({
647
+ origin: ORIGIN,
648
+ fetch,
649
+ queryTransform
650
+ });
651
+ transports.push(transport);
652
+ return transport;
653
+ }
654
+ describe("zero-http query-aware extension", () => {
655
+ test("ships desired queries with pull state (transformed AST) and emits server got-query ack", async () => {
656
+ const requests = [];
657
+ const fetch = vi.fn(async (input, init) => {
658
+ const request = recordRequest(input, init);
659
+ requests.push(request);
660
+ return jsonResponse({
661
+ cookie: 1,
662
+ lastMutationIDChanges: {},
663
+ rowsPatch: [{
664
+ op: "clear"
665
+ }],
666
+ gotQueries: {
667
+ version: 1,
668
+ patch: [{
669
+ op: "put",
670
+ hash: "h1"
671
+ }]
672
+ }
673
+ });
674
+ });
675
+ installWithQueries(fetch, (name, args) => ({
676
+ resolved: name,
677
+ args
678
+ }));
679
+ const {
680
+ messages
681
+ } = openRawSocketWithMessages({
682
+ desiredQueriesPatch: [{
683
+ op: "put",
684
+ hash: "h1",
685
+ name: "byOwner",
686
+ args: [{
687
+ ownerId: "u1"
688
+ }]
689
+ }]
690
+ });
691
+ await eventually(() => expect(requests.length).toBeGreaterThan(0));
692
+ expect(requests[0].body.queries).toEqual({
693
+ version: 1,
694
+ patch: [{
695
+ op: "put",
696
+ hash: "h1",
697
+ ast: {
698
+ resolved: "byOwner",
699
+ args: [{
700
+ ownerId: "u1"
701
+ }]
702
+ }
703
+ }]
704
+ });
705
+ await eventually(() => {
706
+ const poke = messages.find(m => m[0] === "pokePart" && Array.isArray(m[1].gotQueriesPatch));
707
+ expect(poke?.[1].gotQueriesPatch).toEqual([{
708
+ op: "put",
709
+ hash: "h1"
710
+ }]);
711
+ });
712
+ });
713
+ test("an ad-hoc put with an inline ast ships that ast unchanged", async () => {
714
+ const requests = [];
715
+ const fetch = vi.fn(async (input, init) => {
716
+ requests.push(recordRequest(input, init));
717
+ return jsonResponse({
718
+ cookie: 1,
719
+ unchanged: true
720
+ });
721
+ });
722
+ installWithQueries(fetch, () => {
723
+ throw new Error("transform should not run for an inline ast");
724
+ });
725
+ openRawSocketWithMessages({
726
+ desiredQueriesPatch: [{
727
+ op: "put",
728
+ hash: "h2",
729
+ ast: {
730
+ inline: true
731
+ }
732
+ }]
733
+ });
734
+ await eventually(() => expect(requests.length).toBeGreaterThan(0));
735
+ expect(requests[0].body.queries.patch).toEqual([{
736
+ op: "put",
737
+ hash: "h2",
738
+ ast: {
739
+ inline: true
740
+ }
741
+ }]);
742
+ });
743
+ test("reconnect re-ships the desired set", async () => {
744
+ const requests = [];
745
+ const fetch = vi.fn(async (input, init) => {
746
+ requests.push(recordRequest(input, init));
747
+ return jsonResponse({
748
+ cookie: 1,
749
+ unchanged: true
750
+ });
751
+ });
752
+ installWithQueries(fetch, name => ({
753
+ resolved: name
754
+ }));
755
+ const desired = [{
756
+ op: "put",
757
+ hash: "h1",
758
+ name: "byOwner",
759
+ args: []
760
+ }];
761
+ const first = openRawSocketWithMessages({
762
+ desiredQueriesPatch: desired
763
+ });
764
+ await eventually(() => expect(requests.length).toBeGreaterThan(0));
765
+ first.socket.close();
766
+ const before = requests.length;
767
+ openRawSocketWithMessages({
768
+ desiredQueriesPatch: desired
769
+ });
770
+ await eventually(() => expect(requests.length).toBeGreaterThan(before));
771
+ const replay = requests[requests.length - 1].body.queries;
772
+ expect(replay.patch).toEqual([{
773
+ op: "put",
774
+ hash: "h1",
775
+ ast: {
776
+ resolved: "byOwner"
777
+ }
778
+ }]);
779
+ });
780
+ test("queryForward ships name+args for the server to resolve (no client transform)", async () => {
781
+ const requests = [];
782
+ const fetch = vi.fn(async (input, init) => {
783
+ requests.push(recordRequest(input, init));
784
+ return jsonResponse({
785
+ cookie: 1,
786
+ unchanged: true
787
+ });
788
+ });
789
+ const transport = installHttpPullTransport({
790
+ origin: ORIGIN,
791
+ fetch,
792
+ queryForward: true
793
+ });
794
+ transports.push(transport);
795
+ openRawSocketWithMessages({
796
+ desiredQueriesPatch: [{
797
+ op: "put",
798
+ hash: "h3",
799
+ name: "byOwner",
800
+ args: [{
801
+ ownerId: "u1"
802
+ }],
803
+ // Zero may include a locally evaluable AST on a named query put.
804
+ // queryForward must discard it so the server remains authoritative.
805
+ ast: {
806
+ table: "secret"
807
+ }
808
+ }]
809
+ });
810
+ await eventually(() => expect(requests.length).toBeGreaterThan(0));
811
+ expect(requests[0].body.queries.patch).toEqual([{
812
+ op: "put",
813
+ hash: "h3",
814
+ name: "byOwner",
815
+ args: [{
816
+ ownerId: "u1"
817
+ }]
818
+ }]);
819
+ });
820
+ });
645
821
  //# sourceMappingURL=transport.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["Zero","afterEach","describe","expect","test","vi","zeroHttpFixtureMutators","zeroHttpFixtureSchema","ensureHttpPullTransport","installHttpPullTransport","ORIGIN","zeros","transports","storageID","length","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","value","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushIDs","mutationID","resolve","promise","map","messages","some","message","pushBody","sleep","toHaveLength","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","flatMap","emission","TypeError","previous","globalThis","WebSocket","NativeWebSocket","constructor","url","protocols","CONNECTING","OPEN","CLOSING","CLOSED","origin","toBeInstanceOf","first","second","details","onClientStateNotFound","toHaveBeenCalled","options","userID","schema","kvStore","storageKey","mutators","URL","Object","fromEntries","entries","key","toLowerCase","toString","pathname","Response","statusText","reject","timeout","setTimeout","clearTimeout","assertion","started","Date","now","lastError","ms","opts","protocol","searchParams","set","encodeSecProtocol","desiredQueriesPatch","addEventListener","event","timestamp","item","toBeDefined","initConnectionMessage","encodeURIComponent","Buffer","from","res","rej"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Zero","afterEach","describe","expect","test","vi","zeroHttpFixtureMutators","zeroHttpFixtureSchema","ensureHttpPullTransport","installHttpPullTransport","ORIGIN","zeros","transports","storageID","length","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","value","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushIDs","mutationID","resolve","promise","map","messages","some","message","pushBody","sleep","toHaveLength","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","flatMap","emission","TypeError","previous","globalThis","WebSocket","NativeWebSocket","constructor","url","protocols","CONNECTING","OPEN","CLOSING","CLOSED","origin","toBeInstanceOf","first","second","details","onClientStateNotFound","toHaveBeenCalled","options","userID","schema","kvStore","storageKey","mutators","URL","Object","fromEntries","entries","key","toLowerCase","toString","pathname","Response","statusText","reject","timeout","setTimeout","clearTimeout","assertion","started","Date","now","lastError","ms","opts","protocol","searchParams","set","encodeSecProtocol","desiredQueriesPatch","addEventListener","event","timestamp","item","toBeDefined","initConnectionMessage","encodeURIComponent","Buffer","from","res","rej","installWithQueries","queryTransform","gotQueries","version","patch","hash","resolved","queries","ast","poke","m","Array","isArray","gotQueriesPatch","inline","desired","before","replay","queryForward","table"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}