on-zero 0.4.22 → 0.4.24

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 (93) hide show
  1. package/dist/cjs/combineZeroClients.cjs +101 -0
  2. package/dist/cjs/combineZeroClients.native.js +150 -0
  3. package/dist/cjs/combineZeroClients.native.js.map +1 -0
  4. package/dist/cjs/createUseQuery.cjs +92 -4
  5. package/dist/cjs/createUseQuery.native.js +130 -4
  6. package/dist/cjs/createUseQuery.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +89 -12
  8. package/dist/cjs/createZeroClient.native.js +134 -43
  9. package/dist/cjs/createZeroClient.native.js.map +1 -1
  10. package/dist/cjs/index.cjs +1 -0
  11. package/dist/cjs/index.native.js +1 -0
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/instanceRegistry.cjs +65 -0
  14. package/dist/cjs/instanceRegistry.native.js +111 -0
  15. package/dist/cjs/instanceRegistry.native.js.map +1 -0
  16. package/dist/cjs/multiInstance.test.cjs +322 -0
  17. package/dist/cjs/multiInstance.test.native.js +387 -0
  18. package/dist/cjs/multiInstance.test.native.js.map +1 -0
  19. package/dist/cjs/multiInstanceNested.test.cjs +206 -0
  20. package/dist/cjs/multiInstanceNested.test.native.js +254 -0
  21. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -0
  22. package/dist/cjs/run.cjs +5 -5
  23. package/dist/cjs/run.native.js +6 -5
  24. package/dist/cjs/run.native.js.map +1 -1
  25. package/dist/cjs/zeroRunner.cjs +4 -1
  26. package/dist/cjs/zeroRunner.native.js +4 -1
  27. package/dist/cjs/zeroRunner.native.js.map +1 -1
  28. package/dist/esm/combineZeroClients.mjs +76 -0
  29. package/dist/esm/combineZeroClients.mjs.map +1 -0
  30. package/dist/esm/combineZeroClients.native.js +122 -0
  31. package/dist/esm/combineZeroClients.native.js.map +1 -0
  32. package/dist/esm/createUseQuery.mjs +92 -5
  33. package/dist/esm/createUseQuery.mjs.map +1 -1
  34. package/dist/esm/createUseQuery.native.js +130 -5
  35. package/dist/esm/createUseQuery.native.js.map +1 -1
  36. package/dist/esm/createZeroClient.mjs +93 -16
  37. package/dist/esm/createZeroClient.mjs.map +1 -1
  38. package/dist/esm/createZeroClient.native.js +138 -47
  39. package/dist/esm/createZeroClient.native.js.map +1 -1
  40. package/dist/esm/index.js +1 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/index.mjs +1 -0
  43. package/dist/esm/index.mjs.map +1 -1
  44. package/dist/esm/index.native.js +1 -0
  45. package/dist/esm/index.native.js.map +1 -1
  46. package/dist/esm/instanceRegistry.mjs +38 -0
  47. package/dist/esm/instanceRegistry.mjs.map +1 -0
  48. package/dist/esm/instanceRegistry.native.js +81 -0
  49. package/dist/esm/instanceRegistry.native.js.map +1 -0
  50. package/dist/esm/multiInstance.test.mjs +323 -0
  51. package/dist/esm/multiInstance.test.mjs.map +1 -0
  52. package/dist/esm/multiInstance.test.native.js +385 -0
  53. package/dist/esm/multiInstance.test.native.js.map +1 -0
  54. package/dist/esm/multiInstanceNested.test.mjs +207 -0
  55. package/dist/esm/multiInstanceNested.test.mjs.map +1 -0
  56. package/dist/esm/multiInstanceNested.test.native.js +252 -0
  57. package/dist/esm/multiInstanceNested.test.native.js.map +1 -0
  58. package/dist/esm/run.mjs +5 -5
  59. package/dist/esm/run.mjs.map +1 -1
  60. package/dist/esm/run.native.js +6 -5
  61. package/dist/esm/run.native.js.map +1 -1
  62. package/dist/esm/zeroRunner.mjs +4 -1
  63. package/dist/esm/zeroRunner.mjs.map +1 -1
  64. package/dist/esm/zeroRunner.native.js +4 -1
  65. package/dist/esm/zeroRunner.native.js.map +1 -1
  66. package/package.json +5 -3
  67. package/readme.md +59 -0
  68. package/src/combineZeroClients.tsx +186 -0
  69. package/src/createUseQuery.tsx +175 -12
  70. package/src/createZeroClient.tsx +227 -54
  71. package/src/index.ts +1 -0
  72. package/src/instanceRegistry.ts +75 -0
  73. package/src/multiInstance.test.tsx +284 -0
  74. package/src/multiInstanceNested.test.tsx +205 -0
  75. package/src/run.ts +7 -6
  76. package/src/zeroRunner.ts +7 -1
  77. package/types/combineZeroClients.d.ts +38 -0
  78. package/types/combineZeroClients.d.ts.map +1 -0
  79. package/types/createUseQuery.d.ts +15 -0
  80. package/types/createUseQuery.d.ts.map +1 -1
  81. package/types/createZeroClient.d.ts +10 -4
  82. package/types/createZeroClient.d.ts.map +1 -1
  83. package/types/index.d.ts +1 -0
  84. package/types/index.d.ts.map +1 -1
  85. package/types/instanceRegistry.d.ts +15 -0
  86. package/types/instanceRegistry.d.ts.map +1 -0
  87. package/types/multiInstance.test.d.ts +2 -0
  88. package/types/multiInstance.test.d.ts.map +1 -0
  89. package/types/multiInstanceNested.test.d.ts +5 -0
  90. package/types/multiInstanceNested.test.d.ts.map +1 -0
  91. package/types/run.d.ts.map +1 -1
  92. package/types/zeroRunner.d.ts +3 -1
  93. package/types/zeroRunner.d.ts.map +1 -1
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { defineQueries, defineQuery } from "@rocicorp/zero";
2
+ import { defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
3
3
  import { useConnectionState, useZero, ZeroProvider } from "@rocicorp/zero/react";
4
- import { createEmitter } from "@take-out/helpers";
5
- import { createContext, memo, useContext, useEffect, useMemo, useRef } from "react";
4
+ import { createEmitter, useEmitterValue } from "@take-out/helpers";
5
+ import { createContext, memo, useContext, useEffect, useMemo, useRef, useState } from "react";
6
6
  import { createPermissions } from "./createPermissions.native.js";
7
- import { createUseQuery } from "./createUseQuery.native.js";
7
+ import { createUseQuery, createUseQueryDirect } from "./createUseQuery.native.js";
8
+ import { registerClientInstance } from "./instanceRegistry.native.js";
8
9
  import { createMutators } from "./helpers/createMutators.native.js";
9
10
  import { getAuth } from "./helpers/getAuth.native.js";
10
11
  import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegistry.native.js";
@@ -54,7 +55,8 @@ function createZeroClient(param) {
54
55
  schema,
55
56
  models,
56
57
  groupedQueries,
57
- permissionStrategy = "optimistic"
58
+ permissionStrategy = "optimistic",
59
+ instanceName = "default"
58
60
  } = param;
59
61
  setSchema(schema);
60
62
  if (getEnvironment() === null) {
@@ -185,6 +187,14 @@ function createZeroClient(param) {
185
187
  }
186
188
  }
187
189
  var customQueries = defineQueries(wrappedNamespaces);
190
+ var instance = registerClientInstance({
191
+ name: instanceName,
192
+ namespaces: Object.keys({
193
+ ...groupedQueries,
194
+ ...models
195
+ }),
196
+ customQueries
197
+ });
188
198
  setCustomQueries(customQueries);
189
199
  var DisabledContext = /* @__PURE__ */createContext(false);
190
200
  var latestZeroInstance = null;
@@ -196,46 +206,63 @@ function createZeroClient(param) {
196
206
  return getZeroProxyValue(latestZeroInstance, key);
197
207
  }
198
208
  });
199
- var zeroEvents = createEmitter("zero", null);
209
+ var emitterScope = instanceName === "default" ? "" : `:${instanceName}`;
210
+ var zeroEvents = createEmitter(`zero${emitterScope}`, null);
211
+ var zeroInstanceVersion = createEmitter(`zero-instance-version${emitterScope}`, 0);
200
212
  var AuthDataContext = /* @__PURE__ */createContext({});
201
213
  var useQuery = createUseQuery({
202
214
  DisabledContext,
203
215
  customQueries
204
216
  });
205
- function usePermission(table, objOrId) {
206
- var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId !== "undefined",
207
- debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
208
- var disableMode = useContext(DisabledContext);
209
- var lastRef = useRef(null);
210
- var tableStr = table;
211
- var checkFn = permissionCheckFns[tableStr];
212
- var auth = getAuth();
213
- var _uid = (auth === null || auth === void 0 ? void 0 : auth.id) || "anon";
214
- var [data, status] = useQuery(checkFn, {
215
- objOrId,
216
- _uid
217
- }, {
218
- enabled: Boolean(!disableMode && enabled && objOrId && checkFn)
219
- });
220
- if (debug) {
221
- console.info(`usePermission()`, {
222
- table,
217
+ var useQueryDirect = createUseQueryDirect({
218
+ DisabledContext,
219
+ customQueries,
220
+ getZero: function () {
221
+ return latestZeroInstance;
222
+ },
223
+ zeroVersion: zeroInstanceVersion
224
+ });
225
+ var createUsePermission = function (useQueryImpl) {
226
+ return function usePermission2(table, objOrId) {
227
+ var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId !== "undefined",
228
+ debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
229
+ var disableMode = useContext(DisabledContext);
230
+ var lastRef = useRef(null);
231
+ var tableStr = table;
232
+ var checkFn = permissionCheckFns[tableStr];
233
+ var auth = getAuth();
234
+ var _uid = (auth === null || auth === void 0 ? void 0 : auth.id) || "anon";
235
+ var [data, status] = useQueryImpl(checkFn, {
223
236
  objOrId,
224
- data,
225
- status
237
+ _uid
238
+ }, {
239
+ enabled: Boolean(!disableMode && enabled && objOrId && checkFn)
226
240
  });
227
- }
228
- if (!objOrId) return false;
229
- var result = status.type === "unknown" ? null : Boolean(data);
230
- if (!disableMode) {
231
- lastRef.current = result;
232
- return result;
233
- }
234
- if (disableMode === "last-value") {
235
- return lastRef.current;
236
- }
237
- return null;
238
- }
241
+ if (debug) {
242
+ console.info(`usePermission()`, {
243
+ table,
244
+ objOrId,
245
+ data,
246
+ status
247
+ });
248
+ }
249
+ if (!objOrId) return false;
250
+ var result = status.type === "unknown" ? null : Boolean(data);
251
+ if (!disableMode) {
252
+ lastRef.current = result;
253
+ return result;
254
+ }
255
+ if (disableMode === "last-value") {
256
+ return lastRef.current;
257
+ }
258
+ return null;
259
+ };
260
+ };
261
+ var usePermission = createUsePermission(useQuery);
262
+ var usePermissionDirect = createUsePermission(useQueryDirect);
263
+ var cachedZero = null;
264
+ var zeroInstanceGeneration = createEmitter(`zero-instance-generation${emitterScope}`, 0);
265
+ var zeroRotationPending = false;
239
266
  var ProvideZero = function (param2) {
240
267
  var {
241
268
  children,
@@ -255,31 +282,92 @@ function createZeroClient(param) {
255
282
  },
256
283
  // eslint-disable-next-line react-hooks/exhaustive-deps
257
284
  []);
285
+ var generation = useEmitterValue(zeroInstanceGeneration);
286
+ var auth = "auth" in props ? props.auth : void 0;
287
+ var hasAuth = typeof auth === "string";
288
+ var instanceKey = JSON.stringify([Object.entries({
289
+ kvStore: "mem",
290
+ ...props
291
+ }).filter(function (param3) {
292
+ var [key, value] = param3;
293
+ return key !== "auth" && typeof value !== "function" && value !== void 0;
294
+ }).sort(function (param3, param1) {
295
+ var [a] = param3,
296
+ [b] = param1;
297
+ return a < b ? -1 : 1;
298
+ }), hasAuth, generation]);
299
+ var [instance2, setInstance] = useState();
300
+ useEffect(function () {
301
+ var cached = cachedZero;
302
+ if ((cached === null || cached === void 0 ? void 0 : cached.key) !== instanceKey) {
303
+ cached === null || cached === void 0 ? void 0 : cached.instance.close();
304
+ var options = props;
305
+ cached = {
306
+ key: instanceKey,
307
+ instance: new ZeroClient({
308
+ kvStore: "mem",
309
+ ...options,
310
+ schema,
311
+ // @ts-expect-error same erasure ZeroProvider needed
312
+ mutators,
313
+ onClientStateNotFound: function () {
314
+ if (options.onClientStateNotFound) {
315
+ try {
316
+ options.onClientStateNotFound();
317
+ return;
318
+ } catch (e) {}
319
+ }
320
+ if (zeroRotationPending) return;
321
+ zeroRotationPending = true;
322
+ zeroInstanceGeneration.emit(zeroInstanceGeneration.value + 1);
323
+ }
324
+ })
325
+ };
326
+ cachedZero = cached;
327
+ zeroRotationPending = false;
328
+ }
329
+ setInstance(cached.instance);
330
+ },
331
+ // identity is fully captured by instanceKey; function props are bound
332
+ // at construction by design.
333
+ // eslint-disable-next-line react-hooks/exhaustive-deps
334
+ [instanceKey]);
335
+ var prevAuthRef = useRef(auth);
336
+ useEffect(function () {
337
+ var prevAuth = prevAuthRef.current;
338
+ prevAuthRef.current = auth;
339
+ if (instance2 && typeof prevAuth === "string" && typeof auth === "string" && prevAuth !== auth) {
340
+ instance2.connection.connect({
341
+ auth
342
+ });
343
+ }
344
+ }, [instance2, auth]);
258
345
  if (disable) {
259
346
  return children;
260
347
  }
261
348
  return /* @__PURE__ */_jsx(AuthDataContext.Provider, {
262
349
  value: authData,
263
- children: /* @__PURE__ */_jsxs(ZeroProvider, {
264
- schema,
265
- kvStore: "mem",
266
- // @ts-expect-error
267
- mutators,
268
- ...props,
350
+ children: instance2 ? /* @__PURE__ */_jsxs(ZeroProvider, {
351
+ zero: instance2,
269
352
  children: [/* @__PURE__ */_jsx(SetZeroInstance, {}), /* @__PURE__ */_jsx(ConnectionMonitor, {
270
353
  zeroEvents
271
354
  }), children]
272
- })
355
+ }) : null
273
356
  });
274
357
  };
275
358
  var SetZeroInstance = function () {
276
359
  var zeroInstance = useZero();
277
360
  if (zeroInstance !== latestZeroInstance) {
278
361
  latestZeroInstance = zeroInstance;
279
- setRunner(function (query, options) {
362
+ var runner = function (query, options) {
280
363
  return zeroInstance.run(query, options);
281
- });
364
+ };
365
+ instance.runner = runner;
366
+ setRunner(runner);
282
367
  }
368
+ useEffect(function () {
369
+ zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
370
+ }, [zeroInstance]);
283
371
  return null;
284
372
  };
285
373
  var ConnectionMonitor = /* @__PURE__ */memo(function (param2) {
@@ -334,11 +422,14 @@ function createZeroClient(param) {
334
422
  });
335
423
  }
336
424
  return {
425
+ instanceName,
337
426
  zeroEvents,
338
427
  ProvideZero,
339
428
  ControlQueries,
340
429
  useQuery,
430
+ useQueryDirect,
341
431
  usePermission,
432
+ usePermissionDirect,
342
433
  zero,
343
434
  preload,
344
435
  getQuery
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","useConnectionState","useZero","ZeroProvider","createEmitter","createContext","memo","useContext","useEffect","useMemo","useRef","createPermissions","createUseQuery","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","_","Error","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroProvider","createEmitter","useEmitterValue","createContext","memo","useContext","useEffect","useMemo","useRef","useState","createPermissions","createUseQuery","createUseQueryDirect","registerClientInstance","createMutators","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","instanceName","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","DisabledContext","latestZeroInstance","zero","Proxy","_","Error","emitterScope","zeroEvents","zeroInstanceVersion","AuthDataContext","useQuery","useQueryDirect","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","zeroInstanceGeneration","zeroRotationPending","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","generation","hasAuth","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","instance2","setInstance","cached","close","options","onClientStateNotFound","emit","prevAuthRef","prevAuth","connection","connect"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -7,6 +7,7 @@ export * from "./helpers/mutatorContext.mjs";
7
7
  export * from "./helpers/useMutation.mjs";
8
8
  import { ensureAuth, getAuth } from "./helpers/getAuth.mjs";
9
9
  import { setAuthData, setEnvironment } from "./state.mjs";
10
+ export * from "./combineZeroClients.mjs";
10
11
  export * from "./createZeroClient.mjs";
11
12
  export * from "./createUseQuery.mjs";
12
13
  export * from "./resolveQuery.mjs";
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
@@ -7,6 +7,7 @@ export * from "./helpers/mutatorContext.mjs";
7
7
  export * from "./helpers/useMutation.mjs";
8
8
  import { ensureAuth, getAuth } from "./helpers/getAuth.mjs";
9
9
  import { setAuthData, setEnvironment } from "./state.mjs";
10
+ export * from "./combineZeroClients.mjs";
10
11
  export * from "./createZeroClient.mjs";
11
12
  export * from "./createUseQuery.mjs";
12
13
  export * from "./resolveQuery.mjs";
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
@@ -7,6 +7,7 @@ export * from "./helpers/mutatorContext.native.js";
7
7
  export * from "./helpers/useMutation.native.js";
8
8
  import { ensureAuth, getAuth } from "./helpers/getAuth.native.js";
9
9
  import { setAuthData, setEnvironment } from "./state.native.js";
10
+ export * from "./combineZeroClients.native.js";
10
11
  export * from "./createZeroClient.native.js";
11
12
  export * from "./createUseQuery.native.js";
12
13
  export * from "./resolveQuery.native.js";
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SAAAC,mBAAA;AAAA,SACEC,uBAAA,EAAAC,yBAAA;AAAA,SAGFF,mBAAA,EACED,aAAA,EACAD,WAAA,EAAAL,UAGK,E","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SAAAC,mBAAA;AAAA,SACEC,uBAAA,EAAAC,yBAAA;AAAA,SAGFF,mBAAA,EACED,aAAA,EACAD,WAAA,EAAAL,UAGK,E","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { globalValue } from "@take-out/helpers";
2
+ import { getQueryName } from "./queryRegistry.mjs";
3
+ const getInstancesByNamespace = () => globalValue("on-zero:instances-by-namespace", () => /* @__PURE__ */new Map());
4
+ function registerClientInstance({
5
+ name,
6
+ namespaces,
7
+ customQueries
8
+ }) {
9
+ const instancesByNamespace = getInstancesByNamespace();
10
+ for (const [namespace, owner] of instancesByNamespace) {
11
+ if (owner.name === name) {
12
+ instancesByNamespace.delete(namespace);
13
+ }
14
+ }
15
+ const instance = {
16
+ name,
17
+ customQueries,
18
+ runner: null
19
+ };
20
+ for (const namespace of namespaces) {
21
+ const existing = instancesByNamespace.get(namespace);
22
+ if (existing) {
23
+ throw new Error(`[on-zero] namespace '${namespace}' is already claimed by zero client instance '${existing.name}' (while creating instance '${name}'). Each query/mutator namespace must belong to exactly one createZeroClient instance.`);
24
+ }
25
+ instancesByNamespace.set(namespace, instance);
26
+ }
27
+ return instance;
28
+ }
29
+ function getInstanceForNamespace(namespace) {
30
+ return getInstancesByNamespace().get(namespace);
31
+ }
32
+ function getInstanceForQueryFn(fn) {
33
+ const queryName = getQueryName(fn);
34
+ if (!queryName) return void 0;
35
+ return getInstanceForNamespace(queryName.split(".", 1)[0]);
36
+ }
37
+ export { getInstanceForNamespace, getInstanceForQueryFn, registerClientInstance };
38
+ //# sourceMappingURL=instanceRegistry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","registerClientInstance","name","namespaces","customQueries","instancesByNamespace","namespace","owner","delete","instance","runner","existing","get","Error","set","getInstanceForNamespace","getInstanceForQueryFn","fn","queryName","split"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAE5B,SAASC,YAAA,QAAoB;AAa7B,MAAMC,uBAAA,GAA0BA,CAAA,KAC9BF,WAAA,CACE,kCACA,MAAM,mBAAIG,GAAA,CAAI,CAChB;AAEK,SAASC,uBAAuB;EACrCC,IAAA;EACAC,UAAA;EACAC;AACF,GAIuB;EACrB,MAAMC,oBAAA,GAAuBN,uBAAA,CAAwB;EAGrD,WAAW,CAACO,SAAA,EAAWC,KAAK,KAAKF,oBAAA,EAAsB;IACrD,IAAIE,KAAA,CAAML,IAAA,KAASA,IAAA,EAAM;MACvBG,oBAAA,CAAqBG,MAAA,CAAOF,SAAS;IACvC;EACF;EAEA,MAAMG,QAAA,GAA+B;IAAEP,IAAA;IAAME,aAAA;IAAeM,MAAA,EAAQ;EAAK;EAEzE,WAAWJ,SAAA,IAAaH,UAAA,EAAY;IAClC,MAAMQ,QAAA,GAAWN,oBAAA,CAAqBO,GAAA,CAAIN,SAAS;IACnD,IAAIK,QAAA,EAAU;MACZ,MAAM,IAAIE,KAAA,CACR,wBAAwBP,SAAS,iDAAiDK,QAAA,CAAST,IAAI,+BAChEA,IAAI,wFACrC;IACF;IACAG,oBAAA,CAAqBS,GAAA,CAAIR,SAAA,EAAWG,QAAQ;EAC9C;EAEA,OAAOA,QAAA;AACT;AAEO,SAASM,wBACdT,SAAA,EACgC;EAChC,OAAOP,uBAAA,CAAwB,EAAEa,GAAA,CAAIN,SAAS;AAChD;AAEO,SAASU,sBAAsBC,EAAA,EAA8C;EAClF,MAAMC,SAAA,GAAYpB,YAAA,CAAamB,EAAE;EACjC,IAAI,CAACC,SAAA,EAAW,OAAO;EACvB,OAAOH,uBAAA,CAAwBG,SAAA,CAAUC,KAAA,CAAM,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3D","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ import { globalValue } from "@take-out/helpers";
2
+ import { getQueryName } from "./queryRegistry.native.js";
3
+ var getInstancesByNamespace = function () {
4
+ return globalValue("on-zero:instances-by-namespace", function () {
5
+ return /* @__PURE__ */new Map();
6
+ });
7
+ };
8
+ function registerClientInstance(param) {
9
+ var {
10
+ name,
11
+ namespaces,
12
+ customQueries
13
+ } = param;
14
+ var instancesByNamespace = getInstancesByNamespace();
15
+ var _iteratorNormalCompletion = true,
16
+ _didIteratorError = false,
17
+ _iteratorError = void 0;
18
+ try {
19
+ for (var _iterator = instancesByNamespace[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
20
+ var [namespace, owner] = _step.value;
21
+ if (owner.name === name) {
22
+ instancesByNamespace.delete(namespace);
23
+ }
24
+ }
25
+ } catch (err) {
26
+ _didIteratorError = true;
27
+ _iteratorError = err;
28
+ } finally {
29
+ try {
30
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
31
+ _iterator.return();
32
+ }
33
+ } finally {
34
+ if (_didIteratorError) {
35
+ throw _iteratorError;
36
+ }
37
+ }
38
+ }
39
+ var instance = {
40
+ name,
41
+ customQueries,
42
+ runner: null
43
+ };
44
+ var _iteratorNormalCompletion1 = true,
45
+ _didIteratorError1 = false,
46
+ _iteratorError1 = void 0;
47
+ try {
48
+ for (var _iterator1 = namespaces[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
49
+ var namespace1 = _step1.value;
50
+ var existing = instancesByNamespace.get(namespace1);
51
+ if (existing) {
52
+ throw new Error(`[on-zero] namespace '${namespace1}' is already claimed by zero client instance '${existing.name}' (while creating instance '${name}'). Each query/mutator namespace must belong to exactly one createZeroClient instance.`);
53
+ }
54
+ instancesByNamespace.set(namespace1, instance);
55
+ }
56
+ } catch (err) {
57
+ _didIteratorError1 = true;
58
+ _iteratorError1 = err;
59
+ } finally {
60
+ try {
61
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
62
+ _iterator1.return();
63
+ }
64
+ } finally {
65
+ if (_didIteratorError1) {
66
+ throw _iteratorError1;
67
+ }
68
+ }
69
+ }
70
+ return instance;
71
+ }
72
+ function getInstanceForNamespace(namespace) {
73
+ return getInstancesByNamespace().get(namespace);
74
+ }
75
+ function getInstanceForQueryFn(fn) {
76
+ var queryName = getQueryName(fn);
77
+ if (!queryName) return void 0;
78
+ return getInstanceForNamespace(queryName.split(".", 1)[0]);
79
+ }
80
+ export { getInstanceForNamespace, getInstanceForQueryFn, registerClientInstance };
81
+ //# sourceMappingURL=instanceRegistry.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["globalValue","getQueryName","getInstancesByNamespace","Map","registerClientInstance","param","name","namespaces","customQueries","instancesByNamespace","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","namespace","owner","value","delete","err","return","instance","runner"],"sources":["../../src/instanceRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,WAAA,QAAmB;AAE5B,SAASC,YAAA,QAAoB;AAa7B,IAAAC,uBAAM,YAAAA,CAAA,EACJ;EACE,OAAAF,WAAA;IACA,OAAM,mBAAIG,GAAI;EAChB;AAEK;AAAgC,SACrCC,uBAAAC,KAAA;EACA;IAAAC,IAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAH,KAAA;EACA,IAAAI,oBAAA,GAAAP,uBAAA;EACF,IAIuBQ,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACrB;IAGA,SAAWC,SAAC,GAAWJ,oBAAU,CAAAK,MAAA,CAAAC,QAAsB,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACrD,IAAI,CAAAS,SAAM,EAAAC,KAAS,IAAMJ,KAAA,CAAAK,KAAA;MACvB,IAAAD,KAAA,CAAAd,IAAA,KAAAA,IAAqB;QACvBG,oBAAA,CAAAa,MAAA,CAAAH,SAAA;MACF;IAEA;EAEA,SAAAI,GAAW;IACTZ,iBAAiB;IACjBC,cAAc,GAAAW,GAAA;EACZ,UAAM;IAAI,IACR;MAEF,KAAAb,yBAAA,IAAAG,SAAA,CAAAW,MAAA;QACFX,SAAA,CAAAW,MAAA;MACA;IACF;MAEA,IAAOb,iBAAA;QACT,MAAAC,cAAA;MAEO;IAGL;EACF;EAEO,IAAAa,QAAS;IACdnB,IAAM;IACNE,aAAgB;IAChBkB,MAAO;EACT","ignoreList":[]}