on-zero 0.3.1 → 0.4.0

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 (60) hide show
  1. package/dist/cjs/createZeroClient.cjs +2 -2
  2. package/dist/cjs/createZeroClient.native.js +2 -2
  3. package/dist/cjs/createZeroClient.native.js.map +1 -1
  4. package/dist/cjs/helpers/clearZeroClientData.cjs +72 -0
  5. package/dist/cjs/helpers/clearZeroClientData.native.js +99 -0
  6. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -0
  7. package/dist/cjs/helpers/showZeroClientError.cjs +65 -0
  8. package/dist/cjs/helpers/showZeroClientError.native.js +71 -0
  9. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -0
  10. package/dist/cjs/index.cjs +7 -2
  11. package/dist/cjs/index.native.js +6 -1
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/queryRegistry.cjs +3 -4
  14. package/dist/cjs/queryRegistry.native.js +3 -6
  15. package/dist/cjs/queryRegistry.native.js.map +1 -1
  16. package/dist/cjs/resolveQuery.cjs +8 -1
  17. package/dist/cjs/resolveQuery.native.js +15 -2
  18. package/dist/cjs/resolveQuery.native.js.map +1 -1
  19. package/dist/esm/createZeroClient.mjs +2 -2
  20. package/dist/esm/createZeroClient.mjs.map +1 -1
  21. package/dist/esm/createZeroClient.native.js +2 -2
  22. package/dist/esm/createZeroClient.native.js.map +1 -1
  23. package/dist/esm/helpers/clearZeroClientData.mjs +49 -0
  24. package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -0
  25. package/dist/esm/helpers/clearZeroClientData.native.js +73 -0
  26. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -0
  27. package/dist/esm/helpers/showZeroClientError.mjs +41 -0
  28. package/dist/esm/helpers/showZeroClientError.mjs.map +1 -0
  29. package/dist/esm/helpers/showZeroClientError.native.js +44 -0
  30. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -0
  31. package/dist/esm/index.js +3 -1
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/index.mjs +3 -1
  34. package/dist/esm/index.mjs.map +1 -1
  35. package/dist/esm/index.native.js +3 -1
  36. package/dist/esm/index.native.js.map +1 -1
  37. package/dist/esm/queryRegistry.mjs +3 -4
  38. package/dist/esm/queryRegistry.mjs.map +1 -1
  39. package/dist/esm/queryRegistry.native.js +3 -6
  40. package/dist/esm/queryRegistry.native.js.map +1 -1
  41. package/dist/esm/resolveQuery.mjs +8 -1
  42. package/dist/esm/resolveQuery.mjs.map +1 -1
  43. package/dist/esm/resolveQuery.native.js +15 -2
  44. package/dist/esm/resolveQuery.native.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/createZeroClient.tsx +5 -4
  47. package/src/helpers/clearZeroClientData.ts +67 -0
  48. package/src/helpers/showZeroClientError.ts +76 -0
  49. package/src/index.ts +11 -0
  50. package/src/queryRegistry.ts +9 -8
  51. package/src/resolveQuery.ts +7 -0
  52. package/types/createZeroClient.d.ts.map +1 -1
  53. package/types/helpers/clearZeroClientData.d.ts +17 -0
  54. package/types/helpers/clearZeroClientData.d.ts.map +1 -0
  55. package/types/helpers/showZeroClientError.d.ts +24 -0
  56. package/types/helpers/showZeroClientError.d.ts.map +1 -0
  57. package/types/index.d.ts +2 -0
  58. package/types/index.d.ts.map +1 -1
  59. package/types/queryRegistry.d.ts.map +1 -1
  60. package/types/resolveQuery.d.ts.map +1 -1
@@ -175,12 +175,12 @@ function createZeroClient(param) {
175
175
  return createMutators({
176
176
  models,
177
177
  environment: "client",
178
- authData,
178
+ authData: null,
179
179
  can: permissionsHelpers.can
180
180
  });
181
181
  },
182
182
  // eslint-disable-next-line react-hooks/exhaustive-deps
183
- [authData]);
183
+ []);
184
184
  return disable ? children : /* @__PURE__ */_jsx(AuthDataContext.Provider, {
185
185
  value: authData,
186
186
  children: /* @__PURE__ */_jsxs(ZeroProvider, {
@@ -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","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","reason"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAe,IAAAC,KAAA,QAAmB;AAC3C,SAASC,aAAA,EAAAC,WAAoB,QAAS,gBAAoB;AAC1D,SAASC,kBAAA,EAAAC,OAAqB,EAAAC,YAAA;AAC9B,SAAAC,aAAA;AAAA,SACEC,aAAA,EAAAC,IAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,OAAA,EAAAC,MAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,cAAA;AAAA,SACAC,cAAA;AAAA,SACAC,OAAA;AAAA,SACAC,0BAAA,EAAAC,uBAAA;AAAA,SAEKC,aAAA;AAEP,SAASC,YAAA,kCAAyB;AAClC,SAASC,gBAAA,QAA6C;AACtD,SAASC,cAAA,EAAAC,WAAsB,EAAAC,cAAA,EAAAC,SAAA;AAC/B,SAASC,WAAA,EAAAC,uBAAe;AACxB,SAASC,SAAA,gCAA4B;AACrC,SAASC,GAAA;AACT,SAASC,iBAAAC,KAAuC;EAChD;IAAAC,MAAS;IAAAC,MAAA;IAAAC,cAAwB;IAAAC,kBAAA;EAAA,IAAAJ,KAAA;EACjCN,SAAS,CAAAO,MAAA,GAAAV,cAAgB,OAAa,QAAAE,cAAgB,SAAiB;EACvE,IAAAY,kBAAsB,GAAAvB,iBAAA;MACtBmB,MAAS;MACTK,WAAS;IAsPD;IAAAC,iBAAA;IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAvOD;IAIL,SAAAC,SAAA,GAAAC,MAAA,CAAAC,OAAA,CAAAV,cAAA,EAAAW,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAR,yBAAA,IAAAQ,KAAA,GAAAL,SAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAV,yBAAA;MACA,KAAAW,SAAA,EAAAC,OAAA,IAAAJ,KAAA,CAAAK,KAAA;MACAd,iBAAA,CAAAY,SAAA;MACA,IAAAG,0BAAqB;QAAAC,kBAAA;QAAAC,eAAA;MAMpB;QAKD,KAAU,IAAAC,KAIN,YAAAA,CAAA,EAAe;YAIb,KAAAC,IAAA,EAAAC,EAAA,IAAAC,MAAqB,CAAAP,KAAA;YACzBjC,aAAA,CAAAuC,EAAA,KAAAR,SAAA,IAAAO,IAAA,KAAAnB,iBAAA,CAAAY,SAAA,EAAAO,IAAA,IAAAvD,WAAA,WAAA0D,MAAA;cACA;gBAAaC;cAAA,IAAAD,MAAA;cAKT,OAAAF,EAAA,CAAAG,IAGF,CAAC;YAEL;UACE,GAAAC,UAAA,GAAkBnB,MAAA,CAASC,OAAK,CAAAO,OAAA,EAAAN,MAAA,CAAAC,QAAA,KAAAa,MAAA,IAAAN,0BAAA,IAAAM,MAAA,GAAAG,UAAA,CAAAd,IAAA,IAAAC,IAAA,GAAAI,0BAAA,OAAAG,KAAA;MAChC,SAAWO,GAAC;QACVT,kBAAkB,GAAG,IAAAC,eAAmB,GAExCQ,GAAA;MAAqC,UAAoB;QAEzD;UAEJ,CAAAV,0BAAA,IAAAS,UAAA,CAAAE,MAAA,YAAAF,UAAA,CAAAE,MAAA;QAKM;UAME,IAAAV,kBAA0D,EACxD,MAAAC,eAAO;QAGb;MACE;IAGF;EAGE,SAAAQ,GAAM;IACNvB,iBACG,KAAM,EAACC,cAAY,GAAAsB,GAAA;EAClB;IACA;MACE,CAAAxB,yBAAO,IAAAG,SAAmB,CAAAsB,MAAA,YAAAtB,SAAA,CAAAsB,MAAA;IAAA,UACxB;MAAQ,IAAAxB,iBACR,QACAC,cAAa;IAAiB;EACzB;EACL,IAAAwB,kBACF;IAAAC,uBAAA,YAAAA,CAAAC,KAAA;MAAA,IAAAT,EACF,YAAAA,CAAEG,IAAA;QACA,IAAAO,IAAA,GAAAlD,uBAA6B,CAAAiD,KAAA;UAAAE,IAAA,GAAAxC,GAAA,CAAAsC,KAAA;QAAA,IAC/B,CAAAN,IAAA,CAAAS,OAAA,EACF,OACKD,IAAA,CAAAE,KAAA,WAAAC,EAAA;UACT,OAAAA,EAAA,CAAAC,MAAA;QAEA,GAAAC,GAAI;QAU0B,IACxBvC,kBAAQ;UACR,IAAAwC,OAAA,GAAAP,IAAA,KAAA1C,WAAA,CAAA0C,IAAA,KAAAA,IAAA;UACA,OAAAC,IAAU,CAAAE,KAAW,CAAE,UAAIC,EAAA;YAC3B7C,uBAAK;YACL;cAGH,OAAIS,kBAAA,CAAAwC,oBAAA,CAAA5D,OAAA,IAAAwD,EAAA,EAAAG,OAAA,cAAAE,CAAA;gBACT,OAAAA,CAAA,CAAAC,GAAA;cACA,GAAAjB,IAAA,CAAAS,OAAA,EAAAH,KAAmB,CAAK;YAG1B;cAEAxC,uBAAmC;YACnC;UACE,EAAM,CAAA+C,GAAA,CAAK;QACX;QACF,OAAAvC,kBAAA,yBAAAkC,IAAA,CAAAE,KAAA,WAAAC,EAAA;UAGM,OAAAA,EAAA,CAAAC,MAAgB;QAGtB,GAAAC,GAAA,KAAAL,IAAiB,CAAAE,KAAA,WAAaC,EAAA;UAExB,OAAApC,kBAAkB,CAAAwC,oBAAqC,CAAA5D,OAAA,IAAAwD,EAAA,EAAAJ,IAAA,cAAAS,CAAA;YAEzD,OAAAA,CAAA,CAAAC,GAAA;UAIE,GAAAjB,IAAqB,CAAAS,OAAI,EAAMH,KAAa;QAChD,EAAI,CAAAO,GAAG;MACL;MACE,OAAAT,kBAAU,CAAAE,KAAA,IAAAT,EAAA,EAAAvC,aAAA,CAAAuC,EAAA,gBAAAS,KAAA,KAAAT,EAAA;IAAA;EACRpB,iBACF,CAAAyC,UAAA;EAEF,IAAAC,0BAAmB;IAAAC,kBAAyB;IAAAC,eAAkB;EAAA,IAChE;IACD,KAEK,IAAAC,MAAa,YAAAA,CAAA,EAAgC;QAKjD,KAAAhB,KAAA,IAAAiB,MAAA,CAAAhC,KAAA;UAAAM,EAAA,GAAAQ,uBAAA,CAAAC,KAAA;QACA7B,iBAAA,CAAAyC,UAAA,CAAAZ,KAAA,IAAAjE,WAAA,WAAA0D,MAAA;UACD;YAAAC;UAAA,IAAAD,MAAA;UAID,OAASF,EAAA,CAAAG,IAAA;QAMP;MAUuB,GACrBwB,UAAA,GAAApE,0BAAA,GAAA4B,MAAA,CAAAC,QAAA,KAAAsC,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAC,UAAA,CAAArC,IAAA,IAAAC,IAAA,GAAA+B,0BAAA,OAAAG,MAAA;EAAA,SACEpB,GAAA;IAA8BkB,kBACZ,OAAAC,eAAe,GAAWnB,GAAA;EAAoB,UACpE;IAMA,IAJI;MAOJ,CAAAiB,0BAAsB,IAASK,UAAY,CAAArB,MAAO,IAAQ,QAAAqB,UAAA,CAAArB,MAAA;IAE1D,UAAK;MAUP,IAAAiB,kBAAA,EAEM,MAAAC,eAAe;IACnB;EAAA;EACU,IACVI,aAAA,GAAArF,aAAA,CAAAqC,iBAAA;EAAAjB,gBACG,CAAAiE,aAAA;EACL,IAAAC,eAIM,kBAAAhF,aAAA;IAAAiF,kBAAA;IAAAC,IAAA,OAAAC,KAAA;MACJC,IAAAC,CAAA,EAAMC,GAAA;QAIN,IAAAL,kBAAoB,WAIpB,MAAM,IAAAM,KAAW,yFACO;QACpB,OAAAC,OAAA,CAAAJ,GAAA,CAAAH,kBAAA,EAAAK,GAAA,EAAAL,kBAAA;MAAA;IACa;IACbQ,UAAA,GAAA1F,aAAA;IAAA2F,eAAA,kBAAA1F,aAAA;IAAA2F,QAAA,GAAApF,cAAA;MAAAyE,eACK;MACPD;IAKF;EAMI,SAACa,cAAAhC,KAAA,EAAAG,OAAA;IAAA,IAAA8B,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAA/B,OAAA;MAAAiC,KAAA,GAAAF,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAAG,WAAA,GAAA/F,UAAA,CAAA8E,eAAA;MAAAkB,OAAA,GAAA7F,MAAA;MAAA8F,QAAA,GAAAvC,KAAA;MAAAwC,OAAA,GAAA1C,kBAAA,CAAAyC,QAAA;MAAAE,IAAA,GAAA5F,OAAA;MAAA6F,IAAA,GAAAD,IAAA,EAAAE,EAAA;MAAA,CAAAC,IAAA,EAAAC,MAAA,IAAAd,QAAA,CAAAS,OAAA;QAAArC,OACC;QAAAuC;MACQ;QAERT,OACI,MAAAI,WAAA,IAAAJ,OAAA,IAAA9B,OAAA,IAAAqC,OAAA;MAAA;IAEJ,IAAAJ,KAAA,IAAAU,OAAA,CAAAC,IAAA,CAAC,mBAAgB;MAAA/C,KACjB;MAA2CG,OAC1C;MAAAyC,IAAA;MAAAC;IACH,IACF,CAAA1C,OAAA;IAEJ,IAEM6C,MAAA,GAAAH,MAAkB,CAAAI,IAAA,KAAM,qBAAAL,IAAA;IAC5B,OAAMP,WAAA,GAAeA,WAA8B,oBAAAC,OAAA,CAAAY,OAAA,WAAAZ,OAAA,CAAAY,OAAA,GAAAF,MAAA,EAAAA,MAAA;EAQnD;EAOF,IAGMG,WAAA,YAAAA,CAAoB1D,MAAA;MACxB,IAAC;UAAA2D,QAAA;UAAAC,QAAA,EAAAC,UAAA;UAAAC,OAAA;UAAA,GAAAC;QAAA,IAAA/D,MAAA;QAAA4D,QAAA,GAAAC,UAAA;MAAAlG,WACC,CAAAiG,QAAA;MACF,IAAAI,QAEM,GAAAjH,OAAA,CACJ,YAAM;QAGN,OAAAI,cAAgB;UACdkB,MAAI;UACFI,WAAM,UAAS;UAGfmF,QAFA;UAGEK,GAAA,EAAAzF,kBAAgB,CAAAyF;QAChB;MAAgB;MACR;MACN,CACDL,QACH,CACF;MAIJ,OAAAE,OAAA,GAAAH,QAAA,kBAAAzH,IAAA,CAAAmG,eAAA,CAAA6B,QAAA;QACF1E,KAAA,EAAAoE,QAAA;QAaAD,QAAS,iBAEPvH,KAAA,CAAAK,YACA;UAEA2B,MAAM;UAMN+F,OAAO,EAAK;UACd;UASAH,QAAS;UACP,GAAOD,KAAA;UACTJ,QAAA,GAEA,eAAwBzH,IAAA,CAAAkI,eAAA,OACtB,eAAAlI,IAAA,CAAAmI,iBAAA;YACAjC;UACA,IAKCuB,QAAA;QAED;MACF;IAEA;IAAAS,eAAO,YAAAA,CAAA;MACL,IAAAE,YAAA,GAAA9H,OAAA;MACA,OAAA8H,YAAA,KAAA1C,kBAAA,KAAAA,kBAAA,GAAA0C,YAAA,EAAAtG,SAAA,WAAAuG,KAAA,EAAAC,OAAA;QACA,OAAAF,YAAA,CAAAG,GAAA,CAAAF,KAAA,EAAAC,OAAA;MACA;IAAA;IACAH,iBAAA,kBAAAzH,IAAA,WAAAoD,MAAA;MACA;UAAAoC,UAAA,EAAAsC;QAAA,IAAA1E,MAAA;QAAA2E,KAAA,GAAApI,kBAAA;QAAAqI,SAAA,GAAA5H,MAAA,CAAA2H,KAAA,CAAA9E,IAAA;MACA,OAAA/C,SAAA;QACA,IAAA6H,KAAA,CAAA9E,IAAA,KAAA+E,SAAA,CAAAnB,OAAA;UACF,IAAAoB,MAAA,eAAAF,KAAA,GAAAA,KAAA,CAAAE,MAAA;UACF,IAAAD,SAAA,CAAAnB,OAAA,GAAAkB,KAAA,CAAA9E,IAAA,EAAA8E,KAAA,CAAA9E,IAAA,gBAAA8E,KAAA,CAAA9E,IAAA","ignoreList":[]}
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","createZeroClient","param","schema","models","groupedQueries","permissionStrategy","permissionsHelpers","environment","wrappedNamespaces","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","err","return","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","permission","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","DisabledContext","latestZeroInstance","zero","Proxy","get","_","key","Error","Reflect","zeroEvents","AuthDataContext","useQuery","usePermission","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","console","info","result","type","current","ProvideZero","children","authData","authDataIn","disable","props","mutators","can","Provider","kvStore","SetZeroInstance","ConnectionMonitor","zeroInstance","query","options","run","zeroEvents2","state","prevState","reason","message","emit"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ const ZERO_DB_PATTERNS = ["zero", "replicache", "roc"],
2
+ ZERO_DB_PREFIXES = ["rep:"];
3
+ function matchesZeroDB(name) {
4
+ const lower = name.toLowerCase();
5
+ return ZERO_DB_PATTERNS.some(p => lower.includes(p)) || ZERO_DB_PREFIXES.some(p => lower.startsWith(p));
6
+ }
7
+ function deleteIndexedDB(name) {
8
+ return new Promise((resolve, reject) => {
9
+ const req = indexedDB.deleteDatabase(name);
10
+ req.onsuccess = () => resolve(), req.onerror = () => reject(req.error ?? new Error("failed to delete database")), req.onblocked = () => reject(new Error("database deletion blocked"));
11
+ });
12
+ }
13
+ async function clearZeroClientData(options = {}) {
14
+ const {
15
+ closeZero,
16
+ onCleared,
17
+ onError,
18
+ reload = !0,
19
+ reloadDelay = 1e3
20
+ } = options;
21
+ try {
22
+ closeZero && (await closeZero().catch(() => {}));
23
+ const databases = await indexedDB.databases(),
24
+ zeroDbs = databases.filter(db => db.name && matchesZeroDB(db.name));
25
+ if (zeroDbs.length > 0) {
26
+ await Promise.all(zeroDbs.map(db => deleteIndexedDB(db.name)));
27
+ const names = zeroDbs.map(db => db.name);
28
+ onCleared?.({
29
+ count: zeroDbs.length,
30
+ names
31
+ });
32
+ } else {
33
+ const allWithNames = databases.filter(db => db.name);
34
+ await Promise.all(allWithNames.map(db => deleteIndexedDB(db.name)));
35
+ const names = allWithNames.map(db => db.name);
36
+ onCleared?.({
37
+ count: allWithNames.length,
38
+ names
39
+ });
40
+ }
41
+ reload && setTimeout(() => {
42
+ window.location.reload();
43
+ }, reloadDelay);
44
+ } catch (error) {
45
+ console.error("[on-zero] error clearing client data:", error), onError?.(error);
46
+ }
47
+ }
48
+ export { clearZeroClientData };
49
+ //# sourceMappingURL=clearZeroClientData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ZERO_DB_PATTERNS","ZERO_DB_PREFIXES","matchesZeroDB","name","lower","toLowerCase","some","p","includes","startsWith","deleteIndexedDB","Promise","resolve","reject","req","indexedDB","deleteDatabase","onsuccess","onerror","error","Error","onblocked","clearZeroClientData","options","closeZero","onCleared","onError","reload","reloadDelay","catch","databases","zeroDbs","filter","db","length","all","map","names","count","allWithNames","setTimeout","window","location","console"],"sources":["../../../src/helpers/clearZeroClientData.ts"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,gBAAA,GAAmB,CAAC,QAAQ,cAAc,KAAK;EAC/CC,gBAAA,GAAmB,CAAC,MAAM;AAEhC,SAASC,cAAcC,IAAA,EAAuB;EAC5C,MAAMC,KAAA,GAAQD,IAAA,CAAKE,WAAA,CAAY;EAC/B,OACEL,gBAAA,CAAiBM,IAAA,CAAMC,CAAA,IAAMH,KAAA,CAAMI,QAAA,CAASD,CAAC,CAAC,KAC9CN,gBAAA,CAAiBK,IAAA,CAAMC,CAAA,IAAMH,KAAA,CAAMK,UAAA,CAAWF,CAAC,CAAC;AAEpD;AAEA,SAASG,gBAAgBP,IAAA,EAA6B;EACpD,OAAO,IAAIQ,OAAA,CAAc,CAACC,OAAA,EAASC,MAAA,KAAW;IAC5C,MAAMC,GAAA,GAAMC,SAAA,CAAUC,cAAA,CAAeb,IAAI;IACzCW,GAAA,CAAIG,SAAA,GAAY,MAAML,OAAA,CAAQ,GAC9BE,GAAA,CAAII,OAAA,GAAU,MAAML,MAAA,CAAOC,GAAA,CAAIK,KAAA,IAAS,IAAIC,KAAA,CAAM,2BAA2B,CAAC,GAC9EN,GAAA,CAAIO,SAAA,GAAY,MAAMR,MAAA,CAAO,IAAIO,KAAA,CAAM,2BAA2B,CAAC;EACrE,CAAC;AACH;AAeA,eAAsBE,oBAAoBC,OAAA,GAAsC,CAAC,GAAG;EAClF,MAAM;IAAEC,SAAA;IAAWC,SAAA;IAAWC,OAAA;IAASC,MAAA,GAAS;IAAMC,WAAA,GAAc;EAAK,IAAIL,OAAA;EAE7E,IAAI;IACEC,SAAA,KACF,MAAMA,SAAA,CAAU,EAAEK,KAAA,CAAM,MAAM,CAAC,CAAC;IAGlC,MAAMC,SAAA,GAAY,MAAMf,SAAA,CAAUe,SAAA,CAAU;MAEtCC,OAAA,GAAUD,SAAA,CAAUE,MAAA,CAAQC,EAAA,IAAOA,EAAA,CAAG9B,IAAA,IAAQD,aAAA,CAAc+B,EAAA,CAAG9B,IAAI,CAAC;IAE1E,IAAI4B,OAAA,CAAQG,MAAA,GAAS,GAAG;MACtB,MAAMvB,OAAA,CAAQwB,GAAA,CAAIJ,OAAA,CAAQK,GAAA,CAAKH,EAAA,IAAOvB,eAAA,CAAgBuB,EAAA,CAAG9B,IAAK,CAAC,CAAC;MAChE,MAAMkC,KAAA,GAAQN,OAAA,CAAQK,GAAA,CAAKH,EAAA,IAAOA,EAAA,CAAG9B,IAAK;MAC1CsB,SAAA,GAAY;QAAEa,KAAA,EAAOP,OAAA,CAAQG,MAAA;QAAQG;MAAM,CAAC;IAC9C,OAAO;MAEL,MAAME,YAAA,GAAeT,SAAA,CAAUE,MAAA,CAAQC,EAAA,IAAOA,EAAA,CAAG9B,IAAI;MACrD,MAAMQ,OAAA,CAAQwB,GAAA,CAAII,YAAA,CAAaH,GAAA,CAAKH,EAAA,IAAOvB,eAAA,CAAgBuB,EAAA,CAAG9B,IAAK,CAAC,CAAC;MACrE,MAAMkC,KAAA,GAAQE,YAAA,CAAaH,GAAA,CAAKH,EAAA,IAAOA,EAAA,CAAG9B,IAAK;MAC/CsB,SAAA,GAAY;QAAEa,KAAA,EAAOC,YAAA,CAAaL,MAAA;QAAQG;MAAM,CAAC;IACnD;IAEIV,MAAA,IACFa,UAAA,CAAW,MAAM;MACfC,MAAA,CAAOC,QAAA,CAASf,MAAA,CAAO;IACzB,GAAGC,WAAW;EAElB,SAAST,KAAA,EAAO;IACdwB,OAAA,CAAQxB,KAAA,CAAM,yCAAyCA,KAAK,GAC5DO,OAAA,GAAUP,KAAK;EACjB;AACF","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ var ZERO_DB_PATTERNS = ["zero", "replicache", "roc"],
2
+ ZERO_DB_PREFIXES = ["rep:"];
3
+ function matchesZeroDB(name) {
4
+ var lower = name.toLowerCase();
5
+ return ZERO_DB_PATTERNS.some(function (p) {
6
+ return lower.includes(p);
7
+ }) || ZERO_DB_PREFIXES.some(function (p) {
8
+ return lower.startsWith(p);
9
+ });
10
+ }
11
+ function deleteIndexedDB(name) {
12
+ return new Promise(function (resolve, reject) {
13
+ var req = indexedDB.deleteDatabase(name);
14
+ req.onsuccess = function () {
15
+ return resolve();
16
+ }, req.onerror = function () {
17
+ var _req_error;
18
+ return reject((_req_error = req.error) !== null && _req_error !== void 0 ? _req_error : new Error("failed to delete database"));
19
+ }, req.onblocked = function () {
20
+ return reject(new Error("database deletion blocked"));
21
+ };
22
+ });
23
+ }
24
+ async function clearZeroClientData() {
25
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
26
+ {
27
+ closeZero,
28
+ onCleared,
29
+ onError,
30
+ reload = !0,
31
+ reloadDelay = 1e3
32
+ } = options;
33
+ try {
34
+ closeZero && (await closeZero().catch(function () {}));
35
+ var databases = await indexedDB.databases(),
36
+ zeroDbs = databases.filter(function (db) {
37
+ return db.name && matchesZeroDB(db.name);
38
+ });
39
+ if (zeroDbs.length > 0) {
40
+ await Promise.all(zeroDbs.map(function (db) {
41
+ return deleteIndexedDB(db.name);
42
+ }));
43
+ var names = zeroDbs.map(function (db) {
44
+ return db.name;
45
+ });
46
+ onCleared?.({
47
+ count: zeroDbs.length,
48
+ names
49
+ });
50
+ } else {
51
+ var allWithNames = databases.filter(function (db) {
52
+ return db.name;
53
+ });
54
+ await Promise.all(allWithNames.map(function (db) {
55
+ return deleteIndexedDB(db.name);
56
+ }));
57
+ var names1 = allWithNames.map(function (db) {
58
+ return db.name;
59
+ });
60
+ onCleared?.({
61
+ count: allWithNames.length,
62
+ names: names1
63
+ });
64
+ }
65
+ reload && setTimeout(function () {
66
+ window.location.reload();
67
+ }, reloadDelay);
68
+ } catch (error) {
69
+ console.error("[on-zero] error clearing client data:", error), onError?.(error);
70
+ }
71
+ }
72
+ export { clearZeroClientData };
73
+ //# sourceMappingURL=clearZeroClientData.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ZERO_DB_PATTERNS","ZERO_DB_PREFIXES","matchesZeroDB","name","lower","toLowerCase","some","p","includes","startsWith","deleteIndexedDB","Promise","resolve","reject","req","indexedDB","deleteDatabase","onsuccess","onerror","_req_error","error","Error","onblocked","clearZeroClientData","options","arguments","length","closeZero","onCleared","onError","reload","reloadDelay","catch","databases","zeroDbs","filter","db"],"sources":["../../../src/helpers/clearZeroClientData.ts"],"sourcesContent":[null],"mappings":"AAAA,IAAAA,gBAAM,IAGN,QACE,YAAM,EACN,MAIF;EAAAC,gBAAA,IAEA,OACE;AACE,SAAAC,aAAYA,CAAAC,IAAU;EACtB,IAAAC,KAAI,GAAAD,IAAA,CAAAE,WAAkB;EAGxB,OAACL,gBAAA,CAAAM,IAAA,WAAAC,CAAA;IACH,OAAAH,KAAA,CAAAI,QAAA,CAAAD,CAAA;EAeA,MAAAN,gBAAsB,CAAAK,IAAA,WAAoBC,CAAA;IACxC,OAAQH,KAAA,CAAAK,UAAW,CAAAF,CAAA;EAEnB;AACE;AACgC,SAAEG,gBAAAP,IAAA;EAGlC,WAAMQ,OAAA,WAAkBC,OAAA,EAAUC,MAAA;IAIlC,IAAIC,GAAA,GAAAC,SAAQ,CAAAC,cAAY,CAAAb,IAAA;IACtBW,GAAA,CAAAG,SAAM,GAAQ,YAAI;MAClB,OAAML,OAAQ;IACd,GAAAE,GAAA,CAAAI,OAAY,GAAE,YAAO;MACvB,IAAAC,UAAO;MAEL,OAAMN,MAAA,EAAAM,UAAe,GAAAL,GAAU,CAAAM,KAAA,MAAQ,IAAO,IAAGD,UAAI,cAAAA,UAAA,OAAAE,KAAA;IACrD,GAAAP,GAAA,CAAAQ,SAAc,eAAI;MAClB,OAAMT,MAAA,CAAQ,IAAAQ,KAAA,4BAAiC;IAC/C;EAAiD,EACnD;AAEA;AAEI,eAAOE,mBAAgBA,CAAA;EAAA,IACzBC,OAAG,GAAAC,SAAW,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA;MAAAE,SAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,WAAA;IAAA,IAAAP,OAAA;EAElB;IACEG,SAAQ,WAAMA,SAAA,GAAAK,KAAA,cAEhB;IACF,IAAAC,SAAA,SAAAlB,SAAA,CAAAkB,SAAA;MAAAC,OAAA,GAAAD,SAAA,CAAAE,MAAA,WAAAC,EAAA","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ import { clearZeroClientData } from "./clearZeroClientData.mjs";
2
+ const shownErrorKeys = /* @__PURE__ */new Set(),
3
+ LAST_RELOAD_AT_KEY = "zero-client-data-last-reload-at",
4
+ REPEAT_WINDOW_MS = 180 * 1e3;
5
+ function getLastReloadAt() {
6
+ if (typeof window > "u") return 0;
7
+ const raw = window.localStorage.getItem(LAST_RELOAD_AT_KEY),
8
+ parsed = Number(raw || 0);
9
+ return Number.isFinite(parsed) ? parsed : 0;
10
+ }
11
+ function markErrorShown() {
12
+ typeof window > "u" || window.localStorage.setItem(LAST_RELOAD_AT_KEY, String(Date.now()));
13
+ }
14
+ function showZeroClientErrorOnce({
15
+ key = "client-data-error",
16
+ title = "Data Error",
17
+ description,
18
+ onError,
19
+ clearOptions
20
+ }) {
21
+ if (shownErrorKeys.has(key)) return;
22
+ shownErrorKeys.add(key);
23
+ const shouldOfferReset = Date.now() - getLastReloadAt() <= REPEAT_WINDOW_MS;
24
+ markErrorShown(), onError({
25
+ key,
26
+ title,
27
+ description,
28
+ shouldOfferReset,
29
+ reload() {
30
+ markErrorShown(), window.location.reload();
31
+ },
32
+ async reset() {
33
+ await clearZeroClientData(clearOptions);
34
+ }
35
+ });
36
+ }
37
+ function resetShownZeroClientError(key = "client-data-error") {
38
+ shownErrorKeys.delete(key);
39
+ }
40
+ export { resetShownZeroClientError, showZeroClientErrorOnce };
41
+ //# sourceMappingURL=showZeroClientError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clearZeroClientData","shownErrorKeys","Set","LAST_RELOAD_AT_KEY","REPEAT_WINDOW_MS","getLastReloadAt","window","raw","localStorage","getItem","parsed","Number","isFinite","markErrorShown","setItem","String","Date","now","showZeroClientErrorOnce","key","title","description","onError","clearOptions","has","add","shouldOfferReset","reload","location","reset","resetShownZeroClientError","delete"],"sources":["../../../src/helpers/showZeroClientError.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,mBAAA,QAEK;AAEP,MAAMC,cAAA,GAAiB,mBAAIC,GAAA,CAAY;EACjCC,kBAAA,GAAqB;EACrBC,gBAAA,GAAmB,MAAS;AAElC,SAASC,gBAAA,EAAkB;EACzB,IAAI,OAAOC,MAAA,GAAW,KAAa,OAAO;EAC1C,MAAMC,GAAA,GAAMD,MAAA,CAAOE,YAAA,CAAaC,OAAA,CAAQN,kBAAkB;IACpDO,MAAA,GAASC,MAAA,CAAOJ,GAAA,IAAO,CAAC;EAC9B,OAAOI,MAAA,CAAOC,QAAA,CAASF,MAAM,IAAIA,MAAA,GAAS;AAC5C;AAEA,SAASG,eAAA,EAAiB;EACpB,OAAOP,MAAA,GAAW,OACtBA,MAAA,CAAOE,YAAA,CAAaM,OAAA,CAAQX,kBAAA,EAAoBY,MAAA,CAAOC,IAAA,CAAKC,GAAA,CAAI,CAAC,CAAC;AACpE;AAwBO,SAASC,wBAAwB;EACtCC,GAAA,GAAM;EACNC,KAAA,GAAQ;EACRC,WAAA;EACAC,OAAA;EACAC;AACF,GAA+B;EAC7B,IAAItB,cAAA,CAAeuB,GAAA,CAAIL,GAAG,GAAG;EAE7BlB,cAAA,CAAewB,GAAA,CAAIN,GAAG;EAEtB,MAAMO,gBAAA,GAAmBV,IAAA,CAAKC,GAAA,CAAI,IAAIZ,eAAA,CAAgB,KAAKD,gBAAA;EAE3DS,cAAA,CAAe,GAEfS,OAAA,CAAQ;IACNH,GAAA;IACAC,KAAA;IACAC,WAAA;IACAK,gBAAA;IACAC,OAAA,EAAS;MACPd,cAAA,CAAe,GACfP,MAAA,CAAOsB,QAAA,CAASD,MAAA,CAAO;IACzB;IACA,MAAME,MAAA,EAAQ;MACZ,MAAM7B,mBAAA,CAAoBuB,YAAY;IACxC;EACF,CAAC;AACH;AAEO,SAASO,0BAA0BX,GAAA,GAAM,qBAAqB;EACnElB,cAAA,CAAe8B,MAAA,CAAOZ,GAAG;AAC3B","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import { clearZeroClientData } from "./clearZeroClientData.native.js";
2
+ var shownErrorKeys = /* @__PURE__ */new Set(),
3
+ LAST_RELOAD_AT_KEY = "zero-client-data-last-reload-at",
4
+ REPEAT_WINDOW_MS = 180 * 1e3;
5
+ function getLastReloadAt() {
6
+ if (typeof window > "u") return 0;
7
+ var raw = window.localStorage.getItem(LAST_RELOAD_AT_KEY),
8
+ parsed = Number(raw || 0);
9
+ return Number.isFinite(parsed) ? parsed : 0;
10
+ }
11
+ function markErrorShown() {
12
+ typeof window > "u" || window.localStorage.setItem(LAST_RELOAD_AT_KEY, String(Date.now()));
13
+ }
14
+ function showZeroClientErrorOnce(param) {
15
+ var {
16
+ key = "client-data-error",
17
+ title = "Data Error",
18
+ description,
19
+ onError,
20
+ clearOptions
21
+ } = param;
22
+ if (!shownErrorKeys.has(key)) {
23
+ shownErrorKeys.add(key);
24
+ var shouldOfferReset = Date.now() - getLastReloadAt() <= REPEAT_WINDOW_MS;
25
+ markErrorShown(), onError({
26
+ key,
27
+ title,
28
+ description,
29
+ shouldOfferReset,
30
+ reload() {
31
+ markErrorShown(), window.location.reload();
32
+ },
33
+ async reset() {
34
+ await clearZeroClientData(clearOptions);
35
+ }
36
+ });
37
+ }
38
+ }
39
+ function resetShownZeroClientError() {
40
+ var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "client-data-error";
41
+ shownErrorKeys.delete(key);
42
+ }
43
+ export { resetShownZeroClientError, showZeroClientErrorOnce };
44
+ //# sourceMappingURL=showZeroClientError.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clearZeroClientData","shownErrorKeys","Set","LAST_RELOAD_AT_KEY","REPEAT_WINDOW_MS","getLastReloadAt","window","raw","localStorage","getItem","parsed","Number","isFinite","markErrorShown","setItem","String","Date","now","showZeroClientErrorOnce","param","key","title","description","onError","clearOptions","has","add","shouldOfferReset","reload","location","reset","resetShownZeroClientError","arguments","length","delete"],"sources":["../../../src/helpers/showZeroClientError.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,mBAAA;AAAA,IACEC,cAAA,sBAAAC,GAAA;EAAAC,kBAAA;EAAAC,gBAAA;AAAA,SAEKC,gBAAA;EAEP,IAAM,OAAAC,MAAA,MAAiB;EAIvB,IAAAC,GAAS,GAAAD,MAAA,CAAAE,YAAkB,CAAAC,OAAA,CAAAN,kBAAA;IAAAO,MAAA,GAAAC,MAAA,CAAAJ,GAAA;EACzB,OAAII,MAAO,CAAAC,QAAW,CAAAF,MAAa,IAAOA,MAAA;AAC1C;AAEA,SAAOG,cAAOA,CAAA,EAAS;EACzB,OAAAP,MAAA,UAAAA,MAAA,CAAAE,YAAA,CAAAM,OAAA,CAAAX,kBAAA,EAAAY,MAAA,CAAAC,IAAA,CAAAC,GAAA;AAEA;AACE,SAAWC,uBACJA,CAAAC,KAAA;EACT;IAAAC,GAAA;IAAAC,KAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAC;EAAA,IAAAL,KAAA;EAwBO,KAAAlB,cAAS,CAAAwB,GAAA,CAAAL,GAAA;IACdnB,cAAM,CAAAyB,GAAA,CAAAN,GAAA;IACN,IAAAO,gBAAQ,GAAAX,IAAA,CAAAC,GAAA,KAAAZ,eAAA,MAAAD,gBAAA;IACRS,cAAA,IAAAU,OAAA;MACAH,GAAA;MACAC,KAAA;MAC6BC,WAAA;MACzBK,gBAAe;MAEnBC,OAAA;QAEMf,cAAA,IAAAP,MAAwB,CAAAuB,QAAQ,CAAAD,MAAA;MAEtC;MAGE,MAAAE,MAAA;QACA,MAAA9B,mBAAA,CAAAwB,YAAA;MACA;IACA;EAAA;AAEE;AACuB,SACzBO,0BAAA;EAAA,IACAX,GAAA,GAAMY,SAAQ,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACZ/B,cAAM,CAAAiC,MAAA,CAAAd,GAAA;AAAgC;AACxC,SAEJW,yBAAA,EAEOb,uBAAS","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -15,5 +15,7 @@ export * from "./mutations.mjs";
15
15
  export * from "./where.mjs";
16
16
  export * from "./serverWhere.mjs";
17
17
  export * from "./zql.mjs";
18
- export { ensureAuth, getAuth, setAuthData, setEnvironment, setRunner };
18
+ import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
19
+ import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
20
+ export { clearZeroClientData, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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;AAQd,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
@@ -15,5 +15,7 @@ export * from "./mutations.mjs";
15
15
  export * from "./where.mjs";
16
16
  export * from "./serverWhere.mjs";
17
17
  export * from "./zql.mjs";
18
- export { ensureAuth, getAuth, setAuthData, setEnvironment, setRunner };
18
+ import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
19
+ import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
20
+ export { clearZeroClientData, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
19
21
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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;AAQd,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK","ignoreList":[]}
@@ -15,5 +15,7 @@ export * from "./mutations.native.js";
15
15
  export * from "./where.native.js";
16
16
  export * from "./serverWhere.native.js";
17
17
  export * from "./zql.native.js";
18
- export { ensureAuth, getAuth, setAuthData, setEnvironment, setRunner };
18
+ import { clearZeroClientData } from "./helpers/clearZeroClientData.native.js";
19
+ import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.native.js";
20
+ export { clearZeroClientData, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
19
21
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,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;AAQd,SAAAC,mBAAA;AAAA,SACEC,uBAAA,EAAAC,yBAAA;AAAA,SAGFF,mBAAA,EACEL,UAAA,EACAC,OAAA,EAAAM,yBAGK,E","ignoreList":[]}
@@ -1,10 +1,9 @@
1
- import { globalValue } from "@take-out/helpers";
2
- const queryNameRegistry = globalValue("on-zero:query-name", () => /* @__PURE__ */new WeakMap());
1
+ const QUERY_NAME_KEY = "__onZeroQueryName";
3
2
  function registerQuery(fn, name) {
4
- queryNameRegistry.set(fn, name);
3
+ fn[QUERY_NAME_KEY] = name;
5
4
  }
6
5
  function getQueryName(fn) {
7
- return queryNameRegistry.get(fn);
6
+ return fn?.[QUERY_NAME_KEY];
8
7
  }
9
8
  export { getQueryName, registerQuery };
10
9
  //# sourceMappingURL=queryRegistry.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalValue","queryNameRegistry","WeakMap","registerQuery","fn","name","set","getQueryName","get"],"sources":["../../src/queryRegistry.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAAmB;AAE5B,MAAMC,iBAAA,GAAoBD,WAAA,CACxB,sBACA,MAAM,mBAAIE,OAAA,CAA0B,CACtC;AAEO,SAASC,cAAcC,EAAA,EAAcC,IAAA,EAAc;EACxDJ,iBAAA,CAAkBK,GAAA,CAAIF,EAAA,EAAIC,IAAI;AAChC;AAEO,SAASE,aAAaH,EAAA,EAAkC;EAC7D,OAAOH,iBAAA,CAAkBO,GAAA,CAAIJ,EAAE;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["QUERY_NAME_KEY","registerQuery","fn","name","getQueryName"],"sources":["../../src/queryRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,MAAMA,cAAA,GAAiB;AAEhB,SAASC,cAAcC,EAAA,EAAcC,IAAA,EAAc;EACtDD,EAAA,CAAWF,cAAc,IAAIG,IAAA;AACjC;AAEO,SAASC,aAAaF,EAAA,EAAkC;EAC7D,OAAQA,EAAA,GAAaF,cAAc;AACrC","ignoreList":[]}
@@ -1,12 +1,9 @@
1
- import { globalValue } from "@take-out/helpers";
2
- var queryNameRegistry = globalValue("on-zero:query-name", function () {
3
- return /* @__PURE__ */new WeakMap();
4
- });
1
+ var QUERY_NAME_KEY = "__onZeroQueryName";
5
2
  function registerQuery(fn, name) {
6
- queryNameRegistry.set(fn, name);
3
+ fn[QUERY_NAME_KEY] = name;
7
4
  }
8
5
  function getQueryName(fn) {
9
- return queryNameRegistry.get(fn);
6
+ return fn?.[QUERY_NAME_KEY];
10
7
  }
11
8
  export { getQueryName, registerQuery };
12
9
  //# sourceMappingURL=queryRegistry.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalValue","queryNameRegistry","WeakMap","registerQuery","fn","name","set","getQueryName","get"],"sources":["../../src/queryRegistry.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAAmB;AAE5B,IAAAC,iBAAM,GAAAD,WAAoB;EACxB,0BAAAE,OAAA;AAAA,EACA;AACF,SAAAC,cAAAC,EAAA,EAAAC,IAAA;EAEOJ,iBAAS,CAAAK,GAAc,CAAAF,EAAA,EAAcC,IAAA,CAAc;AACxD;AACF,SAAAE,aAAAH,EAAA;EAEO,OAASH,iBAA+C,CAAAO,GAAA,CAAAJ,EAAA;AAC7D;AACF,S","ignoreList":[]}
1
+ {"version":3,"names":["QUERY_NAME_KEY","registerQuery","fn","name","getQueryName"],"sources":["../../src/queryRegistry.ts"],"sourcesContent":[null],"mappings":"AASA,IAAAA,cAAM,sBAAiB;AAEhB,SAASC,cAAcC,EAAA,EAAcC,IAAA,EAAc;EACtDD,EAAA,CAAWF,cAAc,IAAIG,IAAA;AACjC;AAEO,SAASC,aAAaF,EAAA,EAAkC;EAC7D,OAAQA,EAAA,GAAaF,cAAc;AACrC","ignoreList":[]}
@@ -7,7 +7,14 @@ function resolveQuery({
7
7
  const queryName = getQueryName(fn);
8
8
  if (!queryName) {
9
9
  const fnName = fn?.name || "anonymous";
10
- throw new Error(`Query function '${fnName}' not registered. Ensure it is exported from a queries file and passed to createZeroClient via groupedQueries.`);
10
+ throw console.error("[on-zero] resolveQuery FAILED:", {
11
+ fnName,
12
+ fnIsDefined: fn !== void 0,
13
+ fnType: typeof fn,
14
+ fnStr: typeof fn == "function" ? fn.toString().slice(0, 80) : String(fn),
15
+ stack: new Error().stack?.split(`
16
+ `).slice(1, 5).join(" | ")
17
+ }), new Error(`Query function '${fnName}' not registered. Ensure it is exported from a queries file and passed to createZeroClient via groupedQueries.`);
11
18
  }
12
19
  const [namespace, name] = queryName.split(".", 2),
13
20
  customQuery = customQueries[namespace]?.[name];
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryName","resolveQuery","customQueries","fn","params","queryName","fnName","name","Error","namespace","split","customQuery"],"sources":["../../src/resolveQuery.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAYtB,SAASC,aAAwC;EACtDC,aAAA;EACAC,EAAA;EACAC;AACF,GAIG;EACD,MAAMC,SAAA,GAAYL,YAAA,CAAaG,EAAE;EACjC,IAAI,CAACE,SAAA,EAAW;IACd,MAAMC,MAAA,GAASH,EAAA,EAAII,IAAA,IAAQ;IAC3B,MAAM,IAAIC,KAAA,CACR,mBAAmBF,MAAM,gHAE3B;EACF;EAIA,MAAM,CAACG,SAAA,EAAWF,IAAI,IAAIF,SAAA,CAAUK,KAAA,CAAM,KAAK,CAAC;IAC1CC,WAAA,GAAeT,aAAA,CAAsBO,SAAS,IAAIF,IAAI;EAE5D,IAAI,CAACI,WAAA,EACH,MAAM,IAAIH,KAAA,CACR,gBAAgBH,SAAS,+EAE3B;EAGF,OAAOD,MAAA,KAAW,SAAYO,WAAA,CAAYP,MAAM,IAAIO,WAAA,CAAY;AAClE","ignoreList":[]}
1
+ {"version":3,"names":["getQueryName","resolveQuery","customQueries","fn","params","queryName","fnName","name","console","error","fnIsDefined","fnType","fnStr","toString","slice","String","stack","Error","split","join","namespace","customQuery"],"sources":["../../src/resolveQuery.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAYtB,SAASC,aAAwC;EACtDC,aAAA;EACAC,EAAA;EACAC;AACF,GAIG;EACD,MAAMC,SAAA,GAAYL,YAAA,CAAaG,EAAE;EACjC,IAAI,CAACE,SAAA,EAAW;IACd,MAAMC,MAAA,GAASH,EAAA,EAAII,IAAA,IAAQ;IAC3B,MAAAC,OAAA,CAAQC,KAAA,CAAM,kCAAkC;MAC9CH,MAAA;MACAI,WAAA,EAAaP,EAAA,KAAO;MACpBQ,MAAA,EAAQ,OAAOR,EAAA;MACfS,KAAA,EAAO,OAAOT,EAAA,IAAO,aAAaA,EAAA,CAAGU,QAAA,CAAS,EAAEC,KAAA,CAAM,GAAG,EAAE,IAAIC,MAAA,CAAOZ,EAAE;MACxEa,KAAA,EAAO,IAAIC,KAAA,CAAM,EAAED,KAAA,EAAOE,KAAA,CAAM;AAAA,CAAI,EAAEJ,KAAA,CAAM,GAAG,CAAC,EAAEK,IAAA,CAAK,KAAK;IAC9D,CAAC,GACK,IAAIF,KAAA,CACR,mBAAmBX,MAAM,gHAE3B;EACF;EAIA,MAAM,CAACc,SAAA,EAAWb,IAAI,IAAIF,SAAA,CAAUa,KAAA,CAAM,KAAK,CAAC;IAC1CG,WAAA,GAAenB,aAAA,CAAsBkB,SAAS,IAAIb,IAAI;EAE5D,IAAI,CAACc,WAAA,EACH,MAAM,IAAIJ,KAAA,CACR,gBAAgBZ,SAAS,+EAE3B;EAGF,OAAOD,MAAA,KAAW,SAAYiB,WAAA,CAAYjB,MAAM,IAAIiB,WAAA,CAAY;AAClE","ignoreList":[]}
@@ -1,4 +1,9 @@
1
1
  import { getQueryName } from "./queryRegistry.native.js";
2
+ function _type_of(obj) {
3
+ "@swc/helpers - typeof";
4
+
5
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
6
+ }
2
7
  function resolveQuery(param) {
3
8
  var {
4
9
  customQueries,
@@ -8,8 +13,16 @@ function resolveQuery(param) {
8
13
  _customQueries_namespace,
9
14
  queryName = getQueryName(fn);
10
15
  if (!queryName) {
11
- var fnName = fn?.name || "anonymous";
12
- throw new Error(`Query function '${fnName}' not registered. Ensure it is exported from a queries file and passed to createZeroClient via groupedQueries.`);
16
+ var _stack,
17
+ fnName = fn?.name || "anonymous";
18
+ throw console.error("[on-zero] resolveQuery FAILED:", {
19
+ fnName,
20
+ fnIsDefined: fn !== void 0,
21
+ fnType: typeof fn > "u" ? "undefined" : _type_of(fn),
22
+ fnStr: typeof fn == "function" ? fn.toString().slice(0, 80) : String(fn),
23
+ stack: (_stack = new Error().stack) === null || _stack === void 0 ? void 0 : _stack.split(`
24
+ `).slice(1, 5).join(" | ")
25
+ }), new Error(`Query function '${fnName}' not registered. Ensure it is exported from a queries file and passed to createZeroClient via groupedQueries.`);
13
26
  }
14
27
  var [namespace, name] = queryName.split(".", 2),
15
28
  customQuery = (_customQueries_namespace = customQueries[namespace]) === null || _customQueries_namespace === void 0 ? void 0 : _customQueries_namespace[name];
@@ -1 +1 @@
1
- {"version":3,"names":["getQueryName","resolveQuery","param","customQueries","fn","params","_customQueries_namespace","queryName","fnName","name","Error","namespace","split","customQuery"],"sources":["../../src/resolveQuery.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAYtB,SAASC,aAAwCC,KAAA;EACtD;MAAAC,aAAA;MAAAC,EAAA;MAAAC;IAAA,IAAAH,KAAA;IAAAI,wBAAA;IAAAC,SAAA,GAAAP,YAAA,CAAAI,EAAA;EACA,KAAAG,SAAA;IACA,IAAAC,MAAA,GAAAJ,EAAA,EAAAK,IAAA;IAKC,UAAAC,KAAA,oBAAAF,MAAA;EACD;EACA,IAAI,CAACG,SAAA,EAAWF,IAAA,IAAAF,SAAA,CAAAK,KAAA;IAAAC,WAAA,IAAAP,wBAAA,GAAAH,aAAA,CAAAQ,SAAA,eAAAL,wBAAA,uBAAAA,wBAAA,CAAAG,IAAA;EACd,KAAAI,WAAM,EACN,MAAM,IAAIH,KAAA,iBAAAH,SAAA;EAAA,OACRF,MAAA,UAAmB,IAAAQ,WAAM,CAAAR,MAAA,IAAAQ,WAAA;AAAA;AAE3B,SAKFZ,YAAO","ignoreList":[]}
1
+ {"version":3,"names":["getQueryName","_type_of","obj","Symbol","constructor","resolveQuery","param","customQueries","fn","params","_customQueries_namespace","queryName","_stack","fnName","name","console","error","fnIsDefined","fnType","fnStr","toString","slice","String","stack","Error","split","join","namespace","customQuery"],"sources":["../../src/resolveQuery.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAYtB,SAASC,SAAAC,GAAA,EAAwC;EACtD;;EACA,OAAAA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AAEF,SAIGG,aAAAC,KAAA;EACD;MAAMC,aAAY;MAAAC,EAAA;MAAAC;IAAa,CAAE,GAAAH,KAAA;IAAAI,wBAAA;IAAAC,SAAA,GAAAX,YAAA,CAAAQ,EAAA;EACjC,IAAI,CAACG,SAAA,EAAW;IACd,IAAAC,MAAM;MAAAC,MAAS,GAAIL,EAAA,EAAAM,IAAQ;IAC3B,MAAAC,OAAA,CAAQC,KAAA,CAAM,kCAAkC;MAC9CH,MAAA;MACAI,WAAA,EAAaT,EAAA,KAAO;MACpBU,MAAA,EAAQ,OAAOV,EAAA,uBAAAP,QAAA,CAAAO,EAAA;MACfW,KAAA,EAAO,OAAOX,EAAA,IAAO,aAAaA,EAAA,CAAGY,QAAA,CAAS,EAAEC,KAAA,CAAM,GAAG,EAAE,IAAIC,MAAA,CAAOd,EAAE;MACxEe,KAAA,EAAO,CAAAX,MAAI,GAAM,IAAEY,KAAO,GAAAD,KAAM,cAAAX,MAAA,uBAAAA,MAAA,CAAAa,KAAA;AAAA,CAAI,EAAEJ,KAAA,CAAM,GAAG,CAAC,EAAEK,IAAA,CAAK,KAAK;IAC9D,CAAC,GACK,IAAIF,KAAA,oBAAAX,MAAA;EAAA;EACiB,IAE3B,CAAAc,SAAA,EAAAb,IAAA,IAAAH,SAAA,CAAAc,KAAA;IAAAG,WAAA,IAAAlB,wBAAA,GAAAH,aAAA,CAAAoB,SAAA,eAAAjB,wBAAA,uBAAAA,wBAAA,CAAAI,IAAA;EACF,KAAAc,WAAA,EAIA,MAAO,IAAAJ,KAAA,CAAW,gBAAQb,SAAgB,+EACkB;EAE5D,OAAKF,MAAA,cAAAmB,WAAA,CAAAnB,MAAA,IAAAmB,WAAA;AACH;AAAU,SACiBvB,YAE3B","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -72,7 +72,7 @@
72
72
  }
73
73
  },
74
74
  "dependencies": {
75
- "@take-out/helpers": "0.3.1",
75
+ "@take-out/helpers": "0.4.0",
76
76
  "chokidar": "^4.0.3",
77
77
  "citty": "^0.1.6",
78
78
  "valibot": "^1.1.0"
@@ -249,17 +249,18 @@ export function createZeroClient<
249
249
  // (mutations read auth dynamically via getAuthData() to avoid stale closure race condition)
250
250
  setAuthData(authData)
251
251
 
252
- // recreate mutators when auth changes so ZeroProvider recreates the Zero instance
253
- // (mutators read auth dynamically via getAuthData(), but Zero needs fresh instance on auth change)
252
+ // mutators are stable — auth is read dynamically via getAuthData() at mutation
253
+ // time, so we don't need to recreate them (or the Zero instance) on auth change.
254
+ // setAuthData() above already ensures getAuthData() returns current auth.
254
255
  const mutators = useMemo(() => {
255
256
  return createMutators({
256
257
  models,
257
258
  environment: 'client',
258
- authData,
259
+ authData: null,
259
260
  can: permissionsHelpers.can,
260
261
  })
261
262
  // eslint-disable-next-line react-hooks/exhaustive-deps
262
- }, [authData])
263
+ }, [])
263
264
 
264
265
  // for now we re-parent
265
266
  if (disable) {
@@ -0,0 +1,67 @@
1
+ const ZERO_DB_PATTERNS = ['zero', 'replicache', 'roc']
2
+ const ZERO_DB_PREFIXES = ['rep:']
3
+
4
+ function matchesZeroDB(name: string): boolean {
5
+ const lower = name.toLowerCase()
6
+ return (
7
+ ZERO_DB_PATTERNS.some((p) => lower.includes(p)) ||
8
+ ZERO_DB_PREFIXES.some((p) => lower.startsWith(p))
9
+ )
10
+ }
11
+
12
+ function deleteIndexedDB(name: string): Promise<void> {
13
+ return new Promise<void>((resolve, reject) => {
14
+ const req = indexedDB.deleteDatabase(name)
15
+ req.onsuccess = () => resolve()
16
+ req.onerror = () => reject(req.error ?? new Error('failed to delete database'))
17
+ req.onblocked = () => reject(new Error('database deletion blocked'))
18
+ })
19
+ }
20
+
21
+ export type ClearZeroClientDataOptions = {
22
+ /** close the zero instance before clearing */
23
+ closeZero?: () => Promise<void>
24
+ /** called with info about what was cleared */
25
+ onCleared?: (info: { count: number; names: string[] }) => void
26
+ /** called on error */
27
+ onError?: (error: unknown) => void
28
+ /** reload the page after clearing (default: true) */
29
+ reload?: boolean
30
+ /** delay before reload in ms (default: 1000) */
31
+ reloadDelay?: number
32
+ }
33
+
34
+ export async function clearZeroClientData(options: ClearZeroClientDataOptions = {}) {
35
+ const { closeZero, onCleared, onError, reload = true, reloadDelay = 1000 } = options
36
+
37
+ try {
38
+ if (closeZero) {
39
+ await closeZero().catch(() => {})
40
+ }
41
+
42
+ const databases = await indexedDB.databases()
43
+
44
+ const zeroDbs = databases.filter((db) => db.name && matchesZeroDB(db.name))
45
+
46
+ if (zeroDbs.length > 0) {
47
+ await Promise.all(zeroDbs.map((db) => deleteIndexedDB(db.name!)))
48
+ const names = zeroDbs.map((db) => db.name!)
49
+ onCleared?.({ count: zeroDbs.length, names })
50
+ } else {
51
+ // fallback: clear all IndexedDB
52
+ const allWithNames = databases.filter((db) => db.name)
53
+ await Promise.all(allWithNames.map((db) => deleteIndexedDB(db.name!)))
54
+ const names = allWithNames.map((db) => db.name!)
55
+ onCleared?.({ count: allWithNames.length, names })
56
+ }
57
+
58
+ if (reload) {
59
+ setTimeout(() => {
60
+ window.location.reload()
61
+ }, reloadDelay)
62
+ }
63
+ } catch (error) {
64
+ console.error('[on-zero] error clearing client data:', error)
65
+ onError?.(error)
66
+ }
67
+ }