on-zero 0.4.23 → 0.4.25

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 +96 -4
  5. package/dist/cjs/createUseQuery.native.js +132 -4
  6. package/dist/cjs/createUseQuery.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +41 -13
  8. package/dist/cjs/createZeroClient.native.js +75 -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 +96 -5
  33. package/dist/esm/createUseQuery.mjs.map +1 -1
  34. package/dist/esm/createUseQuery.native.js +132 -5
  35. package/dist/esm/createUseQuery.native.js.map +1 -1
  36. package/dist/esm/createZeroClient.mjs +42 -14
  37. package/dist/esm/createZeroClient.mjs.map +1 -1
  38. package/dist/esm/createZeroClient.native.js +76 -44
  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 +186 -12
  70. package/src/createZeroClient.tsx +107 -42
  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 +7 -2
  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
@@ -4,7 +4,8 @@ import { useConnectionState, useZero, ZeroProvider } from "@rocicorp/zero/react"
4
4
  import { createEmitter, useEmitterValue } from "@take-out/helpers";
5
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,48 +206,62 @@ 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);
239
263
  var cachedZero = null;
240
- var zeroInstanceGeneration = createEmitter("zero-instance-generation", 0);
264
+ var zeroInstanceGeneration = createEmitter(`zero-instance-generation${emitterScope}`, 0);
241
265
  var zeroRotationPending = false;
242
266
  var ProvideZero = function (param2) {
243
267
  var {
@@ -272,7 +296,7 @@ function createZeroClient(param) {
272
296
  [b] = param1;
273
297
  return a < b ? -1 : 1;
274
298
  }), hasAuth, generation]);
275
- var [instance, setInstance] = useState();
299
+ var [instance2, setInstance] = useState();
276
300
  useEffect(function () {
277
301
  var cached = cachedZero;
278
302
  if ((cached === null || cached === void 0 ? void 0 : cached.key) !== instanceKey) {
@@ -312,19 +336,19 @@ function createZeroClient(param) {
312
336
  useEffect(function () {
313
337
  var prevAuth = prevAuthRef.current;
314
338
  prevAuthRef.current = auth;
315
- if (instance && typeof prevAuth === "string" && typeof auth === "string" && prevAuth !== auth) {
316
- instance.connection.connect({
339
+ if (instance2 && typeof prevAuth === "string" && typeof auth === "string" && prevAuth !== auth) {
340
+ instance2.connection.connect({
317
341
  auth
318
342
  });
319
343
  }
320
- }, [instance, auth]);
344
+ }, [instance2, auth]);
321
345
  if (disable) {
322
346
  return children;
323
347
  }
324
348
  return /* @__PURE__ */_jsx(AuthDataContext.Provider, {
325
349
  value: authData,
326
- children: instance ? /* @__PURE__ */_jsxs(ZeroProvider, {
327
- zero: instance,
350
+ children: instance2 ? /* @__PURE__ */_jsxs(ZeroProvider, {
351
+ zero: instance2,
328
352
  children: [/* @__PURE__ */_jsx(SetZeroInstance, {}), /* @__PURE__ */_jsx(ConnectionMonitor, {
329
353
  zeroEvents
330
354
  }), children]
@@ -335,10 +359,15 @@ function createZeroClient(param) {
335
359
  var zeroInstance = useZero();
336
360
  if (zeroInstance !== latestZeroInstance) {
337
361
  latestZeroInstance = zeroInstance;
338
- setRunner(function (query, options) {
362
+ var runner = function (query, options) {
339
363
  return zeroInstance.run(query, options);
340
- });
364
+ };
365
+ instance.runner = runner;
366
+ setRunner(runner);
341
367
  }
368
+ useEffect(function () {
369
+ zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
370
+ }, [zeroInstance]);
342
371
  return null;
343
372
  };
344
373
  var ConnectionMonitor = /* @__PURE__ */memo(function (param2) {
@@ -393,11 +422,14 @@ function createZeroClient(param) {
393
422
  });
394
423
  }
395
424
  return {
425
+ instanceName,
396
426
  zeroEvents,
397
427
  ProvideZero,
398
428
  ControlQueries,
399
429
  useQuery,
430
+ useQueryDirect,
400
431
  usePermission,
432
+ usePermissionDirect,
401
433
  zero,
402
434
  preload,
403
435
  getQuery
@@ -1 +1 @@
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","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","cachedZero","zeroInstanceGeneration","zeroRotationPending","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","generation","hasAuth","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","setInstance","cached","close","options","onClientStateNotFound","emit"],"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":[]}