on-zero 0.4.26 → 0.4.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/createZeroClient.cjs +14 -1
- package/dist/cjs/createZeroClient.native.js +15 -1
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/httpPull/auth.test.cjs +197 -0
- package/dist/cjs/httpPull/auth.test.native.js +279 -0
- package/dist/cjs/httpPull/auth.test.native.js.map +1 -0
- package/dist/cjs/httpPull/churn.test.cjs +132 -0
- package/dist/cjs/httpPull/churn.test.native.js +155 -0
- package/dist/cjs/httpPull/churn.test.native.js.map +1 -0
- package/dist/cjs/httpPull/fixtureSchema.cjs +76 -0
- package/dist/cjs/httpPull/fixtureSchema.native.js +82 -0
- package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -0
- package/dist/cjs/httpPull/fixtureServer.cjs +340 -0
- package/dist/cjs/httpPull/fixtureServer.native.js +534 -0
- package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -0
- package/dist/cjs/httpPull/integration.test.cjs +53 -0
- package/dist/cjs/httpPull/integration.test.native.js +60 -0
- package/dist/cjs/httpPull/integration.test.native.js.map +1 -0
- package/dist/cjs/httpPull/rebase.test.cjs +360 -0
- package/dist/cjs/httpPull/rebase.test.native.js +420 -0
- package/dist/cjs/httpPull/rebase.test.native.js.map +1 -0
- package/dist/cjs/httpPull/relations.test.cjs +107 -0
- package/dist/cjs/httpPull/relations.test.native.js +119 -0
- package/dist/cjs/httpPull/relations.test.native.js.map +1 -0
- package/dist/cjs/httpPull/testHarness.cjs +100 -0
- package/dist/cjs/httpPull/testHarness.native.js +112 -0
- package/dist/cjs/httpPull/testHarness.native.js.map +1 -0
- package/dist/cjs/httpPull/transport.test.cjs +588 -0
- package/dist/cjs/httpPull/transport.test.native.js +677 -0
- package/dist/cjs/httpPull/transport.test.native.js.map +1 -0
- package/dist/cjs/httpPullTransport.cjs +447 -0
- package/dist/cjs/httpPullTransport.native.js +710 -0
- package/dist/cjs/httpPullTransport.native.js.map +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +14 -1
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +15 -1
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/httpPull/auth.test.mjs +198 -0
- package/dist/esm/httpPull/auth.test.mjs.map +1 -0
- package/dist/esm/httpPull/auth.test.native.js +277 -0
- package/dist/esm/httpPull/auth.test.native.js.map +1 -0
- package/dist/esm/httpPull/churn.test.mjs +133 -0
- package/dist/esm/httpPull/churn.test.mjs.map +1 -0
- package/dist/esm/httpPull/churn.test.native.js +153 -0
- package/dist/esm/httpPull/churn.test.native.js.map +1 -0
- package/dist/esm/httpPull/fixtureSchema.mjs +50 -0
- package/dist/esm/httpPull/fixtureSchema.mjs.map +1 -0
- package/dist/esm/httpPull/fixtureSchema.native.js +53 -0
- package/dist/esm/httpPull/fixtureSchema.native.js.map +1 -0
- package/dist/esm/httpPull/fixtureServer.mjs +315 -0
- package/dist/esm/httpPull/fixtureServer.mjs.map +1 -0
- package/dist/esm/httpPull/fixtureServer.native.js +506 -0
- package/dist/esm/httpPull/fixtureServer.native.js.map +1 -0
- package/dist/esm/httpPull/integration.test.mjs +54 -0
- package/dist/esm/httpPull/integration.test.mjs.map +1 -0
- package/dist/esm/httpPull/integration.test.native.js +58 -0
- package/dist/esm/httpPull/integration.test.native.js.map +1 -0
- package/dist/esm/httpPull/rebase.test.mjs +361 -0
- package/dist/esm/httpPull/rebase.test.mjs.map +1 -0
- package/dist/esm/httpPull/rebase.test.native.js +418 -0
- package/dist/esm/httpPull/rebase.test.native.js.map +1 -0
- package/dist/esm/httpPull/relations.test.mjs +108 -0
- package/dist/esm/httpPull/relations.test.mjs.map +1 -0
- package/dist/esm/httpPull/relations.test.native.js +117 -0
- package/dist/esm/httpPull/relations.test.native.js.map +1 -0
- package/dist/esm/httpPull/testHarness.mjs +72 -0
- package/dist/esm/httpPull/testHarness.mjs.map +1 -0
- package/dist/esm/httpPull/testHarness.native.js +81 -0
- package/dist/esm/httpPull/testHarness.native.js.map +1 -0
- package/dist/esm/httpPull/transport.test.mjs +589 -0
- package/dist/esm/httpPull/transport.test.mjs.map +1 -0
- package/dist/esm/httpPull/transport.test.native.js +675 -0
- package/dist/esm/httpPull/transport.test.native.js.map +1 -0
- package/dist/esm/httpPullTransport.mjs +421 -0
- package/dist/esm/httpPullTransport.mjs.map +1 -0
- package/dist/esm/httpPullTransport.native.js +681 -0
- package/dist/esm/httpPullTransport.native.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.tsx +22 -0
- package/src/httpPull/auth.test.ts +208 -0
- package/src/httpPull/churn.test.ts +147 -0
- package/src/httpPull/fixtureSchema.ts +82 -0
- package/src/httpPull/fixtureServer.ts +391 -0
- package/src/httpPull/integration.test.ts +57 -0
- package/src/httpPull/rebase.test.ts +368 -0
- package/src/httpPull/relations.test.ts +135 -0
- package/src/httpPull/testHarness.ts +95 -0
- package/src/httpPull/transport.test.ts +603 -0
- package/src/httpPullTransport.ts +587 -0
- package/src/index.ts +1 -0
- package/types/createZeroClient.d.ts +3 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/httpPull/auth.test.d.ts +2 -0
- package/types/httpPull/auth.test.d.ts.map +1 -0
- package/types/httpPull/churn.test.d.ts +2 -0
- package/types/httpPull/churn.test.d.ts.map +1 -0
- package/types/httpPull/fixtureSchema.d.ts +111 -0
- package/types/httpPull/fixtureSchema.d.ts.map +1 -0
- package/types/httpPull/fixtureServer.d.ts +14 -0
- package/types/httpPull/fixtureServer.d.ts.map +1 -0
- package/types/httpPull/integration.test.d.ts +2 -0
- package/types/httpPull/integration.test.d.ts.map +1 -0
- package/types/httpPull/rebase.test.d.ts +2 -0
- package/types/httpPull/rebase.test.d.ts.map +1 -0
- package/types/httpPull/relations.test.d.ts +2 -0
- package/types/httpPull/relations.test.d.ts.map +1 -0
- package/types/httpPull/testHarness.d.ts +32 -0
- package/types/httpPull/testHarness.d.ts.map +1 -0
- package/types/httpPull/transport.test.d.ts +2 -0
- package/types/httpPull/transport.test.d.ts.map +1 -0
- package/types/httpPullTransport.d.ts +13 -0
- package/types/httpPullTransport.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Zero } from "@rocicorp/zero";
|
|
2
|
+
import { zeroHttpFixtureMutators, zeroHttpFixtureSchema } from "./fixtureSchema.mjs";
|
|
3
|
+
import { startZeroHttpServer } from "./fixtureServer.mjs";
|
|
4
|
+
import { installHttpPullTransport } from "../httpPullTransport.mjs";
|
|
5
|
+
let storageID = 0;
|
|
6
|
+
async function startZeroHttpHarness(opts) {
|
|
7
|
+
const server = await startZeroHttpServer({
|
|
8
|
+
seed: opts?.seed
|
|
9
|
+
});
|
|
10
|
+
const baseFetch = (input, init) => globalThis.fetch(input, init);
|
|
11
|
+
const transportFetch = opts?.interceptFetch ? opts.interceptFetch(baseFetch) : baseFetch;
|
|
12
|
+
const transport = installHttpPullTransport({
|
|
13
|
+
origin: server.url,
|
|
14
|
+
fetch: transportFetch
|
|
15
|
+
});
|
|
16
|
+
const clients = [];
|
|
17
|
+
return {
|
|
18
|
+
server,
|
|
19
|
+
transport,
|
|
20
|
+
createZero(userID, createOpts) {
|
|
21
|
+
const zero = new Zero({
|
|
22
|
+
server: server.url,
|
|
23
|
+
userID,
|
|
24
|
+
auth: `token-${userID}`,
|
|
25
|
+
schema: zeroHttpFixtureSchema,
|
|
26
|
+
kvStore: "mem",
|
|
27
|
+
storageKey: createOpts?.storageKey ?? `zero-http-harness-${++storageID}`,
|
|
28
|
+
mutators: zeroHttpFixtureMutators,
|
|
29
|
+
pingTimeoutMs: createOpts?.pingTimeoutMs
|
|
30
|
+
});
|
|
31
|
+
clients.push(zero);
|
|
32
|
+
return zero;
|
|
33
|
+
},
|
|
34
|
+
async close() {
|
|
35
|
+
await transport.pull().catch(() => {});
|
|
36
|
+
while (clients.length) await clients.pop()?.close();
|
|
37
|
+
transport.uninstall();
|
|
38
|
+
await server.close();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function waitForComplete(view) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const timeout = setTimeout(() => reject(new Error("timed out waiting for complete query")), 5e3);
|
|
45
|
+
let cleanup = () => {};
|
|
46
|
+
cleanup = view.addListener((data, resultType) => {
|
|
47
|
+
if (resultType !== "complete") return;
|
|
48
|
+
clearTimeout(timeout);
|
|
49
|
+
cleanup();
|
|
50
|
+
resolve(JSON.parse(JSON.stringify(data)));
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async function eventually(assertion, timeout = 3e3) {
|
|
55
|
+
const started = Date.now();
|
|
56
|
+
let lastError;
|
|
57
|
+
while (Date.now() - started < timeout) {
|
|
58
|
+
try {
|
|
59
|
+
await assertion();
|
|
60
|
+
return;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
lastError = error;
|
|
63
|
+
await sleep(10);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw lastError;
|
|
67
|
+
}
|
|
68
|
+
function sleep(ms) {
|
|
69
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
70
|
+
}
|
|
71
|
+
export { eventually, sleep, startZeroHttpHarness, waitForComplete };
|
|
72
|
+
//# sourceMappingURL=testHarness.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Zero","zeroHttpFixtureMutators","zeroHttpFixtureSchema","startZeroHttpServer","installHttpPullTransport","storageID","startZeroHttpHarness","opts","server","seed","baseFetch","input","init","globalThis","fetch","transportFetch","interceptFetch","transport","origin","url","clients","createZero","userID","createOpts","zero","auth","schema","kvStore","storageKey","mutators","pingTimeoutMs","push","close","pull","catch","length","pop","uninstall","waitForComplete","view","Promise","resolve","reject","timeout","setTimeout","Error","cleanup","addListener","data","resultType","clearTimeout","JSON","parse","stringify","eventually","assertion","started","Date","now","lastError","error","sleep","ms"],"sources":["../../../src/httpPull/testHarness.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Zero } from "@rocicorp/zero";
|
|
2
|
+
import { zeroHttpFixtureMutators, zeroHttpFixtureSchema } from "./fixtureSchema.native.js";
|
|
3
|
+
import { startZeroHttpServer } from "./fixtureServer.native.js";
|
|
4
|
+
import { installHttpPullTransport } from "../httpPullTransport.native.js";
|
|
5
|
+
var storageID = 0;
|
|
6
|
+
async function startZeroHttpHarness(opts) {
|
|
7
|
+
var server = await startZeroHttpServer({
|
|
8
|
+
seed: opts === null || opts === void 0 ? void 0 : opts.seed
|
|
9
|
+
});
|
|
10
|
+
var baseFetch = function (input, init) {
|
|
11
|
+
return globalThis.fetch(input, init);
|
|
12
|
+
};
|
|
13
|
+
var transportFetch = (opts === null || opts === void 0 ? void 0 : opts.interceptFetch) ? opts.interceptFetch(baseFetch) : baseFetch;
|
|
14
|
+
var transport = installHttpPullTransport({
|
|
15
|
+
origin: server.url,
|
|
16
|
+
fetch: transportFetch
|
|
17
|
+
});
|
|
18
|
+
var clients = [];
|
|
19
|
+
return {
|
|
20
|
+
server,
|
|
21
|
+
transport,
|
|
22
|
+
createZero(userID, createOpts) {
|
|
23
|
+
var _createOpts_storageKey;
|
|
24
|
+
var zero = new Zero({
|
|
25
|
+
server: server.url,
|
|
26
|
+
userID,
|
|
27
|
+
auth: `token-${userID}`,
|
|
28
|
+
schema: zeroHttpFixtureSchema,
|
|
29
|
+
kvStore: "mem",
|
|
30
|
+
storageKey: (_createOpts_storageKey = createOpts === null || createOpts === void 0 ? void 0 : createOpts.storageKey) !== null && _createOpts_storageKey !== void 0 ? _createOpts_storageKey : `zero-http-harness-${++storageID}`,
|
|
31
|
+
mutators: zeroHttpFixtureMutators,
|
|
32
|
+
pingTimeoutMs: createOpts === null || createOpts === void 0 ? void 0 : createOpts.pingTimeoutMs
|
|
33
|
+
});
|
|
34
|
+
clients.push(zero);
|
|
35
|
+
return zero;
|
|
36
|
+
},
|
|
37
|
+
async close() {
|
|
38
|
+
var _clients_pop;
|
|
39
|
+
await transport.pull().catch(function () {});
|
|
40
|
+
while (clients.length) await ((_clients_pop = clients.pop()) === null || _clients_pop === void 0 ? void 0 : _clients_pop.close());
|
|
41
|
+
transport.uninstall();
|
|
42
|
+
await server.close();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function waitForComplete(view) {
|
|
47
|
+
return new Promise(function (resolve, reject) {
|
|
48
|
+
var timeout = setTimeout(function () {
|
|
49
|
+
return reject(new Error("timed out waiting for complete query"));
|
|
50
|
+
}, 5e3);
|
|
51
|
+
var cleanup = function () {};
|
|
52
|
+
cleanup = view.addListener(function (data, resultType) {
|
|
53
|
+
if (resultType !== "complete") return;
|
|
54
|
+
clearTimeout(timeout);
|
|
55
|
+
cleanup();
|
|
56
|
+
resolve(JSON.parse(JSON.stringify(data)));
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async function eventually(assertion) {
|
|
61
|
+
var timeout = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3e3;
|
|
62
|
+
var started = Date.now();
|
|
63
|
+
var lastError;
|
|
64
|
+
while (Date.now() - started < timeout) {
|
|
65
|
+
try {
|
|
66
|
+
await assertion();
|
|
67
|
+
return;
|
|
68
|
+
} catch (error) {
|
|
69
|
+
lastError = error;
|
|
70
|
+
await sleep(10);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
throw lastError;
|
|
74
|
+
}
|
|
75
|
+
function sleep(ms) {
|
|
76
|
+
return new Promise(function (resolve) {
|
|
77
|
+
return setTimeout(resolve, ms);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export { eventually, sleep, startZeroHttpHarness, waitForComplete };
|
|
81
|
+
//# sourceMappingURL=testHarness.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Zero","zeroHttpFixtureMutators","zeroHttpFixtureSchema","startZeroHttpServer","installHttpPullTransport","storageID","startZeroHttpHarness","opts","server","seed","baseFetch","input","init","globalThis","fetch","transportFetch","interceptFetch","transport","origin","url","clients","createZero","userID","createOpts","_createOpts_storageKey","zero","auth","schema","kvStore","storageKey","mutators","pingTimeoutMs","push","close","_clients_pop","pull","catch","length","pop","uninstall","waitForComplete","view","Promise","resolve","reject","timeout","setTimeout","Error","cleanup","addListener","data","resultType","clearTimeout","JSON","parse","stringify","eventually","assertion","arguments","started","Date","now","lastError","error","sleep"],"sources":["../../../src/httpPull/testHarness.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAA,QAAY;AAErB,SAASC,uBAAA,EAAyBC,qBAAA,QAA6B;AAC/D,SAASC,mBAAA,QAAqC;AAC9C,SAASC,wBAAA,QAAgC;AAEzC,IAAIC,SAAA,GAAY;AAShB,eAAsBC,qBAAqBC,IAAA,EAGxC;EACD,IAAAC,MAAM,SAASL,mBAAM;IACrBM,IAAM,EAAAF,IAAA,SAA2B,IAAAA,IAAO,UAAS,SAAW,IAAMA,IAAA,CAAAE;EAClE;EACA,IAAAC,SAAM,YAAAA,CAAYC,KAAA,EAAAC,IAAA;IAChB,OAAAC,UAAe,CAAAC,KAAA,CAAAH,KAAA,EAAAC,IAAA;EAAA;EAEjB,IAACG,cAAA,IAAAR,IAAA,aAAAA,IAAA,uBAAAA,IAAA,CAAAS,cAAA,IAAAT,IAAA,CAAAS,cAAA,CAAAN,SAAA,IAAAA,SAAA;EACD,IAAAO,SAAM,GAAgDb,wBAAC;IAEvDc,MAAO,EAAAV,MAAA,CAAAW,GAAA;IACLL,KAAA,EAAAC;EAAA,EACA;EAAA,IACAK,OAAA,GACE;EAGA;IAAsBZ,MACpB;IAAeS,SACf;IAAAI,UACMA,CAAAC,MAAA,EAASC,UAAM;MAAA,IACrBC,sBAAQ;MAAA,IACRC,IAAA,GAAS,IAAAzB,IAAA;QACTQ,MAAA,EAAAA,MAAY,CAAAW,GAAA;QACZG,MAAA;QACAI,IAAA,WAAeJ,MAAA;QAChBK,MAAA,EAAAzB,qBAAA;QACD0B,OAAQ,OAAK;QACbC,UAAO,GAAAL,sBAAA,GAAAD,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAM,UAAA,cAAAL,sBAAA,cAAAA,sBAAA,0BAAAnB,SAAA;QACTyB,QAAA,EAAA7B,uBAAA;QACA8B,aAAc,EAAAR,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAQ;MACZ;MAAoCX,OAAC,CAAAY,IAAA,CAAAP,IAAA;MACrC,OAAOA,IAAA;IACP;IACA,MAAAQ,KAAMA,CAAA;MACR,IAAAC,YAAA;MACF,MAAAjB,SAAA,CAAAkB,IAAA,GAAAC,KAAA,cACF;MAIO,OAAShB,OAAA,CAAAiB,MAAmB,SAEpB,CAAAH,YAAA,GAAAd,OAAA,CAAAkB,GAAA,gBAAAJ,YAAA,uBAAAA,YAAA,CAAAD,KAAA;MACbhB,SAAW,CAAAsB,SAAY;MACrB,MAAM/B,MAAA,CAAAyB,KAAU;IAAA;EACgD;AAC9D;AAEF,SAAIO,eAAgBA,CAAAC,IAAA;EAAA,OAAC,IAAAC,OAAA,WAAAC,OAAA,EAAAC,MAAA;IACrB,IAAAC,OAAU,GAAAC,UAAK,aAAmB;MAChC,OAAIF,MAAA,KAAAG,KAAe,uCAAY;IAC/B;IACA,IAAAC,OAAQ,YAAAA,CAAA,GACR;IACFA,OAAC,GAAAP,IAAA,CAAAQ,WAAA,WAAAC,IAAA,EAAAC,UAAA;MACF,IAAAA,UAAA;MACHC,YAAA,CAAAP,OAAA;MAEAG,OAAA,EAAsB;MACpBL,OAAM,CAAAU,IAAU,CAAAC,KAAK,CAAAD,IAAI,CAAAE,SAAA,CAAAL,IAAA;IACzB,EAAI;EACJ;AACE;AACE,eAAMM,UAAUA,CAAAC,SAAA;EAChB,IAAAZ,OAAA,GAAAa,SAAA,CAAArB,MAAA,QAAAqB,SAAA,iBAAAA,SAAA;EAAA,IACFC,OAAS,GAAAC,IAAO,CAAAC,GAAA;EACd,IAAAC,SAAA;EACA,OAAAF,IAAM,CAAAC,GAAA,CAAM,IAAEF,OAAA,GAAAd,OAAA;IAChB;MACF,MAAAY,SAAA;MACA;IACF,SAAAM,KAAA;MAEOD,SAAe,GAAAC,KAAY;MAChC,MAAOC,KAAI,IAAQ;IACrB","ignoreList":[]}
|