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.
- package/dist/cjs/createZeroClient.authData.test.cjs +67 -0
- package/dist/cjs/createZeroClient.authData.test.native.js +72 -0
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -0
- package/dist/cjs/createZeroClient.cjs +41 -26
- package/dist/cjs/createZeroClient.native.js +47 -26
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +35 -33
- package/dist/cjs/createZeroServer.native.js +36 -34
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +101 -0
- package/dist/cjs/helpers/recoverZeroClient.native.js +130 -0
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -0
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +201 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +256 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -0
- package/dist/cjs/index.cjs +4 -1
- package/dist/cjs/index.native.js +3 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.cjs +4 -3
- package/dist/cjs/multiInstance.test.native.js +6 -6
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.authData.test.mjs +68 -0
- package/dist/esm/createZeroClient.authData.test.mjs.map +1 -0
- package/dist/esm/createZeroClient.authData.test.native.js +70 -0
- package/dist/esm/createZeroClient.authData.test.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +42 -27
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +48 -27
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +35 -33
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +36 -34
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +74 -0
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.native.js +100 -0
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.test.mjs +202 -0
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.test.native.js +254 -0
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/multiInstance.test.mjs +4 -3
- package/dist/esm/multiInstance.test.mjs.map +1 -1
- package/dist/esm/multiInstance.test.native.js +6 -6
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.authData.test.tsx +73 -0
- package/src/createZeroClient.tsx +60 -47
- package/src/createZeroServer.ts +48 -44
- package/src/helpers/recoverZeroClient.test.ts +172 -0
- package/src/helpers/recoverZeroClient.ts +173 -0
- package/src/index.ts +5 -0
- package/src/multiInstance.test.tsx +5 -3
- package/src/multiInstanceNested.test.tsx +1 -1
- package/src/types.ts +6 -1
- package/types/createZeroClient.authData.test.d.ts +5 -0
- package/types/createZeroClient.authData.test.d.ts.map +1 -0
- package/types/createZeroClient.d.ts +3 -2
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroServer.d.ts +4 -4
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/helpers/recoverZeroClient.d.ts +17 -0
- package/types/helpers/recoverZeroClient.d.ts.map +1 -0
- package/types/helpers/recoverZeroClient.test.d.ts +2 -0
- package/types/helpers/recoverZeroClient.test.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +6 -0
- package/types/types.d.ts.map +1 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var import_zero = require("@rocicorp/zero");
|
|
2
|
+
var import_react = require("react");
|
|
3
|
+
var import_client = require("react-dom/client");
|
|
4
|
+
var import_vitest = require("vitest");
|
|
5
|
+
var import_createZeroClient = require("./createZeroClient.cjs");
|
|
6
|
+
var import_state = require("./state.cjs");
|
|
7
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
9
|
+
const userTable = (0, import_zero.table)("user").columns({
|
|
10
|
+
id: (0, import_zero.string)(),
|
|
11
|
+
name: (0, import_zero.string)()
|
|
12
|
+
}).primaryKey("id");
|
|
13
|
+
const schema = (0, import_zero.createSchema)({
|
|
14
|
+
tables: [userTable]
|
|
15
|
+
});
|
|
16
|
+
const client = (0, import_createZeroClient.createZeroClient)({
|
|
17
|
+
schema,
|
|
18
|
+
models: {},
|
|
19
|
+
groupedQueries: {},
|
|
20
|
+
instanceName: "authdata-test"
|
|
21
|
+
});
|
|
22
|
+
let container;
|
|
23
|
+
let root;
|
|
24
|
+
(0, import_vitest.beforeEach)(() => {
|
|
25
|
+
container = document.createElement("div");
|
|
26
|
+
root = (0, import_client.createRoot)(container);
|
|
27
|
+
});
|
|
28
|
+
(0, import_vitest.afterEach)(() => {
|
|
29
|
+
(0, import_react.act)(() => root.unmount());
|
|
30
|
+
});
|
|
31
|
+
function renderWith(props) {
|
|
32
|
+
(0, import_react.act)(() => {
|
|
33
|
+
root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(client.ProvideZero, {
|
|
34
|
+
auth: props.auth,
|
|
35
|
+
authData: props.authData,
|
|
36
|
+
userID: props.userID,
|
|
37
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
38
|
+
children: "ok"
|
|
39
|
+
})
|
|
40
|
+
}));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
(0, import_vitest.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
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toEqual({
|
|
52
|
+
id: "u1"
|
|
53
|
+
});
|
|
54
|
+
renderWith({
|
|
55
|
+
auth: "tok",
|
|
56
|
+
authData: null,
|
|
57
|
+
userID: "u1"
|
|
58
|
+
});
|
|
59
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toEqual({
|
|
60
|
+
id: "u1"
|
|
61
|
+
});
|
|
62
|
+
renderWith({
|
|
63
|
+
authData: null,
|
|
64
|
+
userID: "anon"
|
|
65
|
+
});
|
|
66
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toBeNull();
|
|
67
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
+
var import_zero = require("@rocicorp/zero");
|
|
5
|
+
var import_react = require("react");
|
|
6
|
+
var import_client = require("react-dom/client");
|
|
7
|
+
var import_vitest = require("vitest");
|
|
8
|
+
var import_createZeroClient = require("./createZeroClient.native.js");
|
|
9
|
+
var import_state = require("./state.native.js");
|
|
10
|
+
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
11
|
+
var userTable = (0, import_zero.table)("user").columns({
|
|
12
|
+
id: (0, import_zero.string)(),
|
|
13
|
+
name: (0, import_zero.string)()
|
|
14
|
+
}).primaryKey("id");
|
|
15
|
+
var schema = (0, import_zero.createSchema)({
|
|
16
|
+
tables: [userTable]
|
|
17
|
+
});
|
|
18
|
+
var client = (0, import_createZeroClient.createZeroClient)({
|
|
19
|
+
schema,
|
|
20
|
+
models: {},
|
|
21
|
+
groupedQueries: {},
|
|
22
|
+
instanceName: "authdata-test"
|
|
23
|
+
});
|
|
24
|
+
var container;
|
|
25
|
+
var root;
|
|
26
|
+
(0, import_vitest.beforeEach)(function () {
|
|
27
|
+
container = document.createElement("div");
|
|
28
|
+
root = (0, import_client.createRoot)(container);
|
|
29
|
+
});
|
|
30
|
+
(0, import_vitest.afterEach)(function () {
|
|
31
|
+
(0, import_react.act)(function () {
|
|
32
|
+
return root.unmount();
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
function renderWith(props) {
|
|
36
|
+
(0, import_react.act)(function () {
|
|
37
|
+
root.render(/* @__PURE__ */(0, import_jsx_runtime.jsx)(client.ProvideZero, {
|
|
38
|
+
auth: props.auth,
|
|
39
|
+
authData: props.authData,
|
|
40
|
+
userID: props.userID,
|
|
41
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
42
|
+
children: "ok"
|
|
43
|
+
})
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
(0, import_vitest.test)("authData clears on logout (token gone) but survives a transient blip", function () {
|
|
48
|
+
renderWith({
|
|
49
|
+
auth: "tok",
|
|
50
|
+
authData: {
|
|
51
|
+
id: "u1"
|
|
52
|
+
},
|
|
53
|
+
userID: "u1"
|
|
54
|
+
});
|
|
55
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toEqual({
|
|
56
|
+
id: "u1"
|
|
57
|
+
});
|
|
58
|
+
renderWith({
|
|
59
|
+
auth: "tok",
|
|
60
|
+
authData: null,
|
|
61
|
+
userID: "u1"
|
|
62
|
+
});
|
|
63
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toEqual({
|
|
64
|
+
id: "u1"
|
|
65
|
+
});
|
|
66
|
+
renderWith({
|
|
67
|
+
authData: null,
|
|
68
|
+
userID: "anon"
|
|
69
|
+
});
|
|
70
|
+
(0, import_vitest.expect)((0, import_state.getAuthData)()).toBeNull();
|
|
71
|
+
});
|
|
72
|
+
//# sourceMappingURL=createZeroClient.authData.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["import_jsx_runtime","require","import_zero","import_react","import_client","import_vitest","import_createZeroClient","import_state","globalThis","IS_REACT_ACT_ENVIRONMENT","userTable","table","columns","id","string","name","primaryKey","schema","createSchema","tables","client","createZeroClient","models","groupedQueries","instanceName","container","root","beforeEach","document","createElement","createRoot","afterEach","act","unmount","renderWith","props","render","jsx","ProvideZero","auth","authData","userID","children","test"],"sources":["../../src/createZeroClient.authData.test.tsx"],"sourcesContent":[null],"mappings":"AAOA;;AACA,IAAAA,kBAAoB,GAAAC,OAAA;AACpB,IAAAC,WAAA,GAAAD,OAAsC;AACtC,IAAAE,YAAA,GAAAF,OAAoD;AAEpD,IAAAG,aAAA,GAAAH,OAAA,mBAAiC;AACjC,IAAAI,aAAA,GAA4BJ,OAAA;AA0CpB,IAAAK,uBAAA,GAAAL,OAAA;AApCR,IAAAM,YAAW,GAAAN,OAAA;AAEXO,UAAM,CAAAC,wBAAY,OAAM;AACxB,IAAAC,SAAM,OAASR,WAAA,CAAAS,KAAA,QAAa,EAAEC,OAAA,CAAQ;EAEtCC,EAAA,EAAM,IAAAX,WAAS,CAAAY,MAAA;EACbC,IAAA,MAAAb,WAAA,CAAAY,MAAA;AAAA,EACA,CAAAE,UAAS;AAAA,IACTC,MAAA,OAAAf,WAAiB,CAAAgB,YAAA;EACjBC,MAAA,GACDT,SAAA;AAGD;AAAI,IAEJU,MAAA,OAAAd,uBAAiB,CAAAe,gBAAA;EACfJ,MAAA;EACAK,MAAA;EACDC,cAAA;EAAAC,YAED;AACE;AACF,IAACC,SAAA;AAED,IAAAC,IAAA;AAKE,IAAArB,aAAA,CAAAsB,UAAI,EAAM;EACRF,SAAK,GAAAG,QAAA,CAAAC,aAAA;EAAAH,IACH,OAAAtB,aAAA,CAAA0B,UAAA,EAAAL,SAAA;AAAA;AAAQ,IAAApB,aAAP,CAAA0B,SAAA;EAAA,IAAA5B,YACO,CAAA6B,GAAM;IAAA,OACZN,IAAA,CAAAO,OAAU;EAAM;AACF;AAEN,SAAAC,WAAAC,KAAA;EAAA,IACVhC,YAAA,CAAA6B,GAAA;IACFN,IAAA,CAAAU,MAAA,oBAAApC,kBAAA,CAAAqC,GAAA,EAAAjB,MAAA,CAAAkB,WAAA;MACDC,IAAA,EAAAJ,KAAA,CAAAI,IAAA;MACHC,QAAA,EAAAL,KAAA,CAAAK,QAAA;MAEAC,MAAA,EAAAN,KAAA,CAAAM,MAAK;MACHC,QAAW,EAAE,eAAa,IAAA1C,kBAAwB,CAAAqC,GAAA,EAAQ,MAAM;QAChEK,QAAA;MAGA;IACA;EAGA;AACA;AACF,CAAC,GAAArC,aAAA,CAAAsC,IAAA","ignoreList":[]}
|
|
@@ -34,6 +34,7 @@ var import_httpPullTransport = require("./httpPullTransport.cjs");
|
|
|
34
34
|
var import_createUseQuery = require("./createUseQuery.cjs");
|
|
35
35
|
var import_instanceRegistry = require("./instanceRegistry.cjs");
|
|
36
36
|
var import_createMutators = require("./helpers/createMutators.cjs");
|
|
37
|
+
var import_recoverZeroClient = require("./helpers/recoverZeroClient.cjs");
|
|
37
38
|
var import_getAuth = require("./helpers/getAuth.cjs");
|
|
38
39
|
var import_modelRegistry = require("./modelRegistry.cjs");
|
|
39
40
|
var import_queryRegistry = require("./queryRegistry.cjs");
|
|
@@ -190,17 +191,24 @@ function createZeroClient({
|
|
|
190
191
|
const usePermission = createUsePermission(useQuery);
|
|
191
192
|
const usePermissionDirect = createUsePermission(useQueryDirect);
|
|
192
193
|
let cachedZero = null;
|
|
193
|
-
const zeroInstanceGeneration = (0, import_helpers.createEmitter)(`zero-instance-generation${emitterScope}`, 0);
|
|
194
|
-
let zeroRotationPending = false;
|
|
195
194
|
const ProvideZero = ({
|
|
196
195
|
children,
|
|
197
196
|
authData: authDataIn,
|
|
198
197
|
disable,
|
|
199
198
|
transport,
|
|
200
199
|
pullIntervalMs = 3e4,
|
|
200
|
+
beforeReload,
|
|
201
201
|
...props
|
|
202
202
|
}) => {
|
|
203
|
-
const
|
|
203
|
+
const auth = "auth" in props ? props.auth : void 0;
|
|
204
|
+
const hasAuth = typeof auth === "string";
|
|
205
|
+
const stableAuthDataRef = (0, import_react2.useRef)(authDataIn ?? null);
|
|
206
|
+
if (authDataIn) {
|
|
207
|
+
stableAuthDataRef.current = authDataIn;
|
|
208
|
+
} else if (!hasAuth) {
|
|
209
|
+
stableAuthDataRef.current = null;
|
|
210
|
+
}
|
|
211
|
+
const authData = authDataIn ?? stableAuthDataRef.current ?? null;
|
|
204
212
|
(0, import_state.setAuthData)(authData);
|
|
205
213
|
const mutators = (0, import_react2.useMemo)(() => {
|
|
206
214
|
return (0, import_createMutators.createMutators)({
|
|
@@ -210,13 +218,10 @@ function createZeroClient({
|
|
|
210
218
|
can: permissionsHelpers.can
|
|
211
219
|
});
|
|
212
220
|
}, []);
|
|
213
|
-
const generation = (0, import_helpers.useEmitterValue)(zeroInstanceGeneration);
|
|
214
|
-
const auth = "auth" in props ? props.auth : void 0;
|
|
215
|
-
const hasAuth = typeof auth === "string";
|
|
216
221
|
const instanceKey = JSON.stringify([Object.entries({
|
|
217
222
|
kvStore: "mem",
|
|
218
223
|
...props
|
|
219
|
-
}).filter(([key, value]) => key !== "auth" && typeof value !== "function" && value !== void 0).sort(([a], [b]) => a < b ? -1 : 1), hasAuth,
|
|
224
|
+
}).filter(([key, value]) => key !== "auth" && typeof value !== "function" && value !== void 0).sort(([a], [b]) => a < b ? -1 : 1), hasAuth, transport]);
|
|
220
225
|
const [instance2, setInstance] = (0, import_react2.useState)();
|
|
221
226
|
(0, import_react2.useEffect)(() => {
|
|
222
227
|
let cached = cachedZero;
|
|
@@ -233,29 +238,39 @@ function createZeroClient({
|
|
|
233
238
|
pullIntervalMs
|
|
234
239
|
});
|
|
235
240
|
}
|
|
241
|
+
const instanceRef = {
|
|
242
|
+
current: null
|
|
243
|
+
};
|
|
244
|
+
const recoveryDeps = {
|
|
245
|
+
deleteLocalState: () => instanceRef.current?.delete() ?? Promise.resolve(),
|
|
246
|
+
zeroEvents,
|
|
247
|
+
beforeReload
|
|
248
|
+
};
|
|
249
|
+
const recovery = (0, import_recoverZeroClient.makeZeroRecovery)(recoveryDeps);
|
|
250
|
+
const createdInstance = new import_zero.Zero({
|
|
251
|
+
kvStore: "mem",
|
|
252
|
+
...options,
|
|
253
|
+
schema,
|
|
254
|
+
// @ts-expect-error same erasure ZeroProvider needed
|
|
255
|
+
mutators,
|
|
256
|
+
// when the consumer brings no logSink, install ours: it preserves
|
|
257
|
+
// Zero's console output AND watches for the local-store-lost signature.
|
|
258
|
+
// a consumer with its own logSink owns log-based recovery (no
|
|
259
|
+
// double-fire with e.g. soot's origin-gated recovery).
|
|
260
|
+
logSink: options.logSink ?? (0, import_recoverZeroClient.composeRecoveryLogSink)(recoveryDeps),
|
|
261
|
+
// consumer handlers win; otherwise on-zero's default self-healing
|
|
262
|
+
// recovery covers EVERY reason (drop local state + reload, guarded) —
|
|
263
|
+
// passing these to Zero disables its built-in reload, so any reason we
|
|
264
|
+
// left unhandled would fatal-blank the app forever.
|
|
265
|
+
onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
|
|
266
|
+
onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
|
|
267
|
+
});
|
|
268
|
+
instanceRef.current = createdInstance;
|
|
236
269
|
cached = {
|
|
237
270
|
key: instanceKey,
|
|
238
|
-
instance:
|
|
239
|
-
kvStore: "mem",
|
|
240
|
-
...options,
|
|
241
|
-
schema,
|
|
242
|
-
// @ts-expect-error same erasure ZeroProvider needed
|
|
243
|
-
mutators,
|
|
244
|
-
onClientStateNotFound: () => {
|
|
245
|
-
if (options.onClientStateNotFound) {
|
|
246
|
-
try {
|
|
247
|
-
options.onClientStateNotFound();
|
|
248
|
-
return;
|
|
249
|
-
} catch {}
|
|
250
|
-
}
|
|
251
|
-
if (zeroRotationPending) return;
|
|
252
|
-
zeroRotationPending = true;
|
|
253
|
-
zeroInstanceGeneration.emit(zeroInstanceGeneration.value + 1);
|
|
254
|
-
}
|
|
255
|
-
})
|
|
271
|
+
instance: createdInstance
|
|
256
272
|
};
|
|
257
273
|
cachedZero = cached;
|
|
258
|
-
zeroRotationPending = false;
|
|
259
274
|
}
|
|
260
275
|
setInstance(cached.instance);
|
|
261
276
|
}, [instanceKey]);
|
|
@@ -37,6 +37,7 @@ var import_httpPullTransport = require("./httpPullTransport.native.js");
|
|
|
37
37
|
var import_createUseQuery = require("./createUseQuery.native.js");
|
|
38
38
|
var import_instanceRegistry = require("./instanceRegistry.native.js");
|
|
39
39
|
var import_createMutators = require("./helpers/createMutators.native.js");
|
|
40
|
+
var import_recoverZeroClient = require("./helpers/recoverZeroClient.native.js");
|
|
40
41
|
var import_getAuth = require("./helpers/getAuth.native.js");
|
|
41
42
|
var import_modelRegistry = require("./modelRegistry.native.js");
|
|
42
43
|
var import_queryRegistry = require("./queryRegistry.native.js");
|
|
@@ -291,8 +292,6 @@ function createZeroClient(param) {
|
|
|
291
292
|
var usePermission = createUsePermission(useQuery);
|
|
292
293
|
var usePermissionDirect = createUsePermission(useQueryDirect);
|
|
293
294
|
var cachedZero = null;
|
|
294
|
-
var zeroInstanceGeneration = (0, import_helpers.createEmitter)(`zero-instance-generation${emitterScope}`, 0);
|
|
295
|
-
var zeroRotationPending = false;
|
|
296
295
|
var ProvideZero = function (param2) {
|
|
297
296
|
var {
|
|
298
297
|
children,
|
|
@@ -300,9 +299,19 @@ function createZeroClient(param) {
|
|
|
300
299
|
disable,
|
|
301
300
|
transport,
|
|
302
301
|
pullIntervalMs = 3e4,
|
|
302
|
+
beforeReload,
|
|
303
303
|
...props
|
|
304
304
|
} = param2;
|
|
305
|
-
var
|
|
305
|
+
var auth = "auth" in props ? props.auth : void 0;
|
|
306
|
+
var hasAuth = typeof auth === "string";
|
|
307
|
+
var stableAuthDataRef = (0, import_react2.useRef)(authDataIn !== null && authDataIn !== void 0 ? authDataIn : null);
|
|
308
|
+
if (authDataIn) {
|
|
309
|
+
stableAuthDataRef.current = authDataIn;
|
|
310
|
+
} else if (!hasAuth) {
|
|
311
|
+
stableAuthDataRef.current = null;
|
|
312
|
+
}
|
|
313
|
+
var _ref;
|
|
314
|
+
var authData = (_ref = authDataIn !== null && authDataIn !== void 0 ? authDataIn : stableAuthDataRef.current) !== null && _ref !== void 0 ? _ref : null;
|
|
306
315
|
(0, import_state.setAuthData)(authData);
|
|
307
316
|
var mutators = (0, import_react2.useMemo)(function () {
|
|
308
317
|
return (0, import_createMutators.createMutators)({
|
|
@@ -314,9 +323,6 @@ function createZeroClient(param) {
|
|
|
314
323
|
},
|
|
315
324
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
316
325
|
[]);
|
|
317
|
-
var generation = (0, import_helpers.useEmitterValue)(zeroInstanceGeneration);
|
|
318
|
-
var auth = "auth" in props ? props.auth : void 0;
|
|
319
|
-
var hasAuth = typeof auth === "string";
|
|
320
326
|
var instanceKey = JSON.stringify([Object.entries({
|
|
321
327
|
kvStore: "mem",
|
|
322
328
|
...props
|
|
@@ -327,7 +333,7 @@ function createZeroClient(param) {
|
|
|
327
333
|
var [a] = param3,
|
|
328
334
|
[b] = param1;
|
|
329
335
|
return a < b ? -1 : 1;
|
|
330
|
-
}), hasAuth,
|
|
336
|
+
}), hasAuth, transport]);
|
|
331
337
|
var [instance2, setInstance] = (0, import_react2.useState)();
|
|
332
338
|
(0, import_react2.useEffect)(function () {
|
|
333
339
|
var cached = cachedZero;
|
|
@@ -345,29 +351,44 @@ function createZeroClient(param) {
|
|
|
345
351
|
pullIntervalMs
|
|
346
352
|
});
|
|
347
353
|
}
|
|
354
|
+
var instanceRef = {
|
|
355
|
+
current: null
|
|
356
|
+
};
|
|
357
|
+
var recoveryDeps = {
|
|
358
|
+
deleteLocalState: function () {
|
|
359
|
+
var _instanceRef_current;
|
|
360
|
+
var _instanceRef_current_delete;
|
|
361
|
+
return (_instanceRef_current_delete = (_instanceRef_current = instanceRef.current) === null || _instanceRef_current === void 0 ? void 0 : _instanceRef_current.delete()) !== null && _instanceRef_current_delete !== void 0 ? _instanceRef_current_delete : Promise.resolve();
|
|
362
|
+
},
|
|
363
|
+
zeroEvents,
|
|
364
|
+
beforeReload
|
|
365
|
+
};
|
|
366
|
+
var recovery = (0, import_recoverZeroClient.makeZeroRecovery)(recoveryDeps);
|
|
367
|
+
var _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
|
|
368
|
+
var createdInstance = new import_zero.Zero({
|
|
369
|
+
kvStore: "mem",
|
|
370
|
+
...options,
|
|
371
|
+
schema,
|
|
372
|
+
// @ts-expect-error same erasure ZeroProvider needed
|
|
373
|
+
mutators,
|
|
374
|
+
// when the consumer brings no logSink, install ours: it preserves
|
|
375
|
+
// Zero's console output AND watches for the local-store-lost signature.
|
|
376
|
+
// a consumer with its own logSink owns log-based recovery (no
|
|
377
|
+
// double-fire with e.g. soot's origin-gated recovery).
|
|
378
|
+
logSink: (_options_logSink = options.logSink) !== null && _options_logSink !== void 0 ? _options_logSink : (0, import_recoverZeroClient.composeRecoveryLogSink)(recoveryDeps),
|
|
379
|
+
// consumer handlers win; otherwise on-zero's default self-healing
|
|
380
|
+
// recovery covers EVERY reason (drop local state + reload, guarded) —
|
|
381
|
+
// passing these to Zero disables its built-in reload, so any reason we
|
|
382
|
+
// left unhandled would fatal-blank the app forever.
|
|
383
|
+
onUpdateNeeded: (_options_onUpdateNeeded = options.onUpdateNeeded) !== null && _options_onUpdateNeeded !== void 0 ? _options_onUpdateNeeded : recovery.onUpdateNeeded,
|
|
384
|
+
onClientStateNotFound: (_options_onClientStateNotFound = options.onClientStateNotFound) !== null && _options_onClientStateNotFound !== void 0 ? _options_onClientStateNotFound : recovery.onClientStateNotFound
|
|
385
|
+
});
|
|
386
|
+
instanceRef.current = createdInstance;
|
|
348
387
|
cached = {
|
|
349
388
|
key: instanceKey,
|
|
350
|
-
instance:
|
|
351
|
-
kvStore: "mem",
|
|
352
|
-
...options,
|
|
353
|
-
schema,
|
|
354
|
-
// @ts-expect-error same erasure ZeroProvider needed
|
|
355
|
-
mutators,
|
|
356
|
-
onClientStateNotFound: function () {
|
|
357
|
-
if (options.onClientStateNotFound) {
|
|
358
|
-
try {
|
|
359
|
-
options.onClientStateNotFound();
|
|
360
|
-
return;
|
|
361
|
-
} catch (e) {}
|
|
362
|
-
}
|
|
363
|
-
if (zeroRotationPending) return;
|
|
364
|
-
zeroRotationPending = true;
|
|
365
|
-
zeroInstanceGeneration.emit(zeroInstanceGeneration.value + 1);
|
|
366
|
-
}
|
|
367
|
-
})
|
|
389
|
+
instance: createdInstance
|
|
368
390
|
};
|
|
369
391
|
cachedZero = cached;
|
|
370
|
-
zeroRotationPending = false;
|
|
371
392
|
}
|
|
372
393
|
setInstance(cached.instance);
|
|
373
394
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_httpPullTransport","import_createUseQuery","import_instanceRegistry","import_createMutators","import_getAuth","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","getZeroProxyValue","instance","key","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","param","schema","models","groupedQueries","permissionStrategy","instanceName","setSchema","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zero","Proxy","_","Error","emitterScope","zeroEvents","createEmitter","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","useQueryDirect","createUseQueryDirect","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","arguments","length","debug","disableMode","useContext","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","zeroInstanceGeneration","zeroRotationPending","ProvideZero","children","authData","authDataIn","disable","transport","pullIntervalMs","props","setAuthData","mutators","useMemo","createMutators","can","generation","useEmitterValue","hasAuth","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","instance2","setInstance","useState","useEffect","cached","close","options","_options_cacheURL","serverURL","cacheURL","server","ensureHttpPullTransport","origin","Zero","onClientStateNotFound","emit"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroClient_exports","__export","createZeroClient","module","exports","import_jsx_runtime","require","import_zero","import_react","import_helpers","import_react2","import_createPermissions","import_httpPullTransport","import_createUseQuery","import_instanceRegistry","import_createMutators","import_recoverZeroClient","import_getAuth","import_modelRegistry","import_queryRegistry","import_resolveQuery","import_run","import_state","import_where","import_zeroRunner","import_zql","getZeroProxyValue","instance","key","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","param","schema","models","groupedQueries","permissionStrategy","instanceName","setSchema","getEnvironment","setEnvironment","permissionsHelpers","createPermissions","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","registerQuery","defineQuery","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","getMutationsPermissions","base","zql","objOrId","where","eb","cmpLit","one","rawPerm","getRawWhere","setEvaluatingPermission","buildPermissionQuery","getAuth","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","getAllMutationsPermissions","customQueries","defineQueries","registerClientInstance","namespaces","keys","setCustomQueries","DisabledContext","createContext","latestZeroInstance","zero","Proxy","_","Error","emitterScope","zeroEvents","createEmitter","zeroInstanceVersion","AuthDataContext","useQuery","createUseQuery","useQueryDirect","createUseQueryDirect","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","arguments","length","debug","disableMode","useContext","lastRef","useRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","ProvideZero","children","authData","authDataIn","disable","transport","pullIntervalMs","beforeReload","props","hasAuth","stableAuthDataRef","_ref","setAuthData","mutators","useMemo","createMutators","can","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","instance2","setInstance","useState","useEffect","cached","close","options","_options_cacheURL","serverURL","cacheURL","server","ensureHttpPullTransport","origin","instanceRef","recoveryDeps","deleteLocalState","_instanceRef_current","_instanceRef_current_delete","delete","Promise","resolve","recovery","makeZeroRecovery","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","createdInstance","Zero","logSink","composeRecoveryLogSink","onUpdateNeeded"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -118,44 +118,46 @@ function createZeroServer({
|
|
|
118
118
|
if (!queries) {
|
|
119
119
|
throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
|
|
120
120
|
}
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
131
|
-
if (!perm) {
|
|
132
|
-
throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
133
|
-
}
|
|
134
|
-
(0, import_where.setEvaluatingPermission)(true);
|
|
135
|
-
try {
|
|
136
|
-
return (0, import_state.getZQL)()[table].where(eb => {
|
|
137
|
-
return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
|
|
138
|
-
}).one();
|
|
139
|
-
} finally {
|
|
140
|
-
(0, import_where.setEvaluatingPermission)(false);
|
|
141
|
-
}
|
|
121
|
+
const handler = (name, args) => {
|
|
122
|
+
if (name.startsWith("permission.")) {
|
|
123
|
+
const table = name.slice("permission.".length);
|
|
124
|
+
const {
|
|
125
|
+
objOrId
|
|
126
|
+
} = args;
|
|
127
|
+
const perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
128
|
+
if (!perm) {
|
|
129
|
+
throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
142
130
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
131
|
+
(0, import_where.setEvaluatingPermission)(true);
|
|
132
|
+
try {
|
|
133
|
+
return (0, import_state.getZQL)()[table].where(eb => {
|
|
134
|
+
return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
|
|
135
|
+
}).one();
|
|
136
|
+
} finally {
|
|
137
|
+
(0, import_where.setEvaluatingPermission)(false);
|
|
149
138
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
139
|
+
}
|
|
140
|
+
if (validateQuery) {
|
|
141
|
+
validateQuery({
|
|
142
|
+
authData,
|
|
143
|
+
queryName: name,
|
|
144
|
+
params: args
|
|
154
145
|
});
|
|
155
|
-
}
|
|
146
|
+
}
|
|
147
|
+
const query2 = (0, import_zero.mustGetQuery)(queries, name);
|
|
148
|
+
return query2.fn({
|
|
149
|
+
args,
|
|
150
|
+
ctx: authData
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
const userID = typeof authData?.id === "string" ? authData.id : void 0;
|
|
154
|
+
const response = await (0, import_queryContext.runWithQueryContext)({
|
|
155
|
+
authData: authData || {}
|
|
156
|
+
}, () => userID === void 0 ? (0, import_server.handleQueryRequest)(handler, schema, request) : (0, import_server.handleQueryRequest)({
|
|
157
|
+
handler,
|
|
156
158
|
schema,
|
|
157
159
|
request,
|
|
158
|
-
userID
|
|
160
|
+
userID
|
|
159
161
|
}));
|
|
160
162
|
return {
|
|
161
163
|
response
|
|
@@ -125,45 +125,47 @@ function createZeroServer(param) {
|
|
|
125
125
|
if (!queries) {
|
|
126
126
|
throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
|
|
127
127
|
}
|
|
128
|
+
var handler = function (name, args) {
|
|
129
|
+
if (name.startsWith("permission.")) {
|
|
130
|
+
var table = name.slice("permission.".length);
|
|
131
|
+
var {
|
|
132
|
+
objOrId
|
|
133
|
+
} = args;
|
|
134
|
+
var perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
135
|
+
if (!perm) {
|
|
136
|
+
throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
137
|
+
}
|
|
138
|
+
(0, import_where.setEvaluatingPermission)(true);
|
|
139
|
+
try {
|
|
140
|
+
return (0, import_state.getZQL)()[table].where(function (eb) {
|
|
141
|
+
return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
|
|
142
|
+
}).one();
|
|
143
|
+
} finally {
|
|
144
|
+
(0, import_where.setEvaluatingPermission)(false);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (validateQuery) {
|
|
148
|
+
validateQuery({
|
|
149
|
+
authData,
|
|
150
|
+
queryName: name,
|
|
151
|
+
params: args
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
var _$query = (0, import_zero.mustGetQuery)(queries, name);
|
|
155
|
+
return _$query.fn({
|
|
156
|
+
args,
|
|
157
|
+
ctx: authData
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
var userID = typeof (authData === null || authData === void 0 ? void 0 : authData.id) === "string" ? authData.id : void 0;
|
|
128
161
|
var response = await (0, import_queryContext.runWithQueryContext)({
|
|
129
162
|
authData: authData || {}
|
|
130
163
|
}, function () {
|
|
131
|
-
return (0, import_server.handleQueryRequest)({
|
|
132
|
-
handler
|
|
133
|
-
if (name.startsWith("permission.")) {
|
|
134
|
-
var table = name.slice("permission.".length);
|
|
135
|
-
var {
|
|
136
|
-
objOrId
|
|
137
|
-
} = args;
|
|
138
|
-
var perm = (0, import_modelRegistry.getMutationsPermissions)(table);
|
|
139
|
-
if (!perm) {
|
|
140
|
-
throw new Error(`[permission] no permission defined for table: ${table}`);
|
|
141
|
-
}
|
|
142
|
-
(0, import_where.setEvaluatingPermission)(true);
|
|
143
|
-
try {
|
|
144
|
-
return (0, import_state.getZQL)()[table].where(function (eb) {
|
|
145
|
-
return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
|
|
146
|
-
}).one();
|
|
147
|
-
} finally {
|
|
148
|
-
(0, import_where.setEvaluatingPermission)(false);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (validateQuery) {
|
|
152
|
-
validateQuery({
|
|
153
|
-
authData,
|
|
154
|
-
queryName: name,
|
|
155
|
-
params: args
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
var _$query = (0, import_zero.mustGetQuery)(queries, name);
|
|
159
|
-
return _$query.fn({
|
|
160
|
-
args,
|
|
161
|
-
ctx: authData
|
|
162
|
-
});
|
|
163
|
-
},
|
|
164
|
+
return userID === void 0 ? (0, import_server.handleQueryRequest)(handler, schema, request) : (0, import_server.handleQueryRequest)({
|
|
165
|
+
handler,
|
|
164
166
|
schema,
|
|
165
167
|
request,
|
|
166
|
-
userID
|
|
168
|
+
userID
|
|
167
169
|
});
|
|
168
170
|
});
|
|
169
171
|
return {
|