@powerhousedao/connect 4.1.0-dev.18 → 4.1.0-dev.19

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 (71) hide show
  1. package/dist/assets/{AddDriveModal.Cg4TqLU6.js → AddDriveModal.atIXkYDv.js} +2 -2
  2. package/dist/assets/{AddDriveModal.Cg4TqLU6.js.map → AddDriveModal.atIXkYDv.js.map} +1 -1
  3. package/dist/assets/{CookiesPolicyModal.C72UZ1KY.js → CookiesPolicyModal.CSr2nTWu.js} +2 -2
  4. package/dist/assets/{CookiesPolicyModal.C72UZ1KY.js.map → CookiesPolicyModal.CSr2nTWu.js.map} +1 -1
  5. package/dist/assets/{CreateDocumentModal.Be8Yb4Tw.js → CreateDocumentModal.hCyyznzw.js} +2 -2
  6. package/dist/assets/{CreateDocumentModal.Be8Yb4Tw.js.map → CreateDocumentModal.hCyyznzw.js.map} +1 -1
  7. package/dist/assets/{DebugSettingsModal.BYAH2kLg.js → DebugSettingsModal.CgAXBUpR.js} +2 -2
  8. package/dist/assets/{DebugSettingsModal.BYAH2kLg.js.map → DebugSettingsModal.CgAXBUpR.js.map} +1 -1
  9. package/dist/assets/{DeleteDriveModal.D2WirfE-.js → DeleteDriveModal.Ba1pkRrp.js} +2 -2
  10. package/dist/assets/{DeleteDriveModal.D2WirfE-.js.map → DeleteDriveModal.Ba1pkRrp.js.map} +1 -1
  11. package/dist/assets/{DeleteItemModal.Czi0wE_6.js → DeleteItemModal.59EW1OYd.js} +2 -2
  12. package/dist/assets/{DeleteItemModal.Czi0wE_6.js.map → DeleteItemModal.59EW1OYd.js.map} +1 -1
  13. package/dist/assets/{DisclaimerModal.cBHngnNt.js → DisclaimerModal.CMaIiFx2.js} +2 -2
  14. package/dist/assets/{DisclaimerModal.cBHngnNt.js.map → DisclaimerModal.CMaIiFx2.js.map} +1 -1
  15. package/dist/assets/{DriveSettingsModal.DltE5rSu.js → DriveSettingsModal.G8tppGWb.js} +2 -2
  16. package/dist/assets/{DriveSettingsModal.DltE5rSu.js.map → DriveSettingsModal.G8tppGWb.js.map} +1 -1
  17. package/dist/assets/{SettingsModal.CZmfov8g.js → SettingsModal.CLpRdHfo.js} +2 -2
  18. package/dist/assets/{SettingsModal.CZmfov8g.js.map → SettingsModal.CLpRdHfo.js.map} +1 -1
  19. package/dist/assets/{Trans.GeuewYUs.js → Trans.CBZW5Jpo.js} +2 -2
  20. package/dist/assets/{Trans.GeuewYUs.js.map → Trans.CBZW5Jpo.js.map} +1 -1
  21. package/dist/assets/{UpgradeDriveModal.BLXcEgmt.js → UpgradeDriveModal.ooyxdViv.js} +2 -2
  22. package/dist/assets/{UpgradeDriveModal.BLXcEgmt.js.map → UpgradeDriveModal.ooyxdViv.js.map} +1 -1
  23. package/dist/assets/{atlas-import.Tq-cGz94.js → atlas-import.Bvmc6eu-.js} +2 -2
  24. package/dist/assets/{atlas-import.Tq-cGz94.js.map → atlas-import.Bvmc6eu-.js.map} +1 -1
  25. package/dist/assets/{content.C38XllGR.js → content.B_2fQ3XO.js} +2 -2
  26. package/dist/assets/content.B_2fQ3XO.js.map +1 -0
  27. package/dist/assets/{cookie-banner.CA1rcZYO.js → cookie-banner.CQrIFtr9.js} +2 -2
  28. package/dist/assets/{cookie-banner.CA1rcZYO.js.map → cookie-banner.CQrIFtr9.js.map} +1 -1
  29. package/dist/assets/{index.tjOyiWN1.js → index.BWsvZ6s-.js} +2 -2
  30. package/dist/assets/{index.tjOyiWN1.js.map → index.BWsvZ6s-.js.map} +1 -1
  31. package/dist/assets/{index.CupF3yfn.js → index.BbKJCE01.js} +2 -2
  32. package/dist/assets/{index.CupF3yfn.js.map → index.BbKJCE01.js.map} +1 -1
  33. package/dist/assets/{index.D4rIKeA_.js → index.BfgjawT0.js} +2 -2
  34. package/dist/assets/{index.D4rIKeA_.js.map → index.BfgjawT0.js.map} +1 -1
  35. package/dist/assets/index.DoxG1d4A.js +31 -0
  36. package/dist/assets/index.DoxG1d4A.js.map +1 -0
  37. package/dist/assets/{index.DqaPdXs7.js → index.EpI4H1M9.js} +2 -2
  38. package/dist/assets/{index.DqaPdXs7.js.map → index.EpI4H1M9.js.map} +1 -1
  39. package/dist/assets/{index.DqtagVhW.js → index.lZCfN3WH.js} +2 -2
  40. package/dist/assets/{index.DqtagVhW.js.map → index.lZCfN3WH.js.map} +1 -1
  41. package/dist/assets/{index.Beg62ngn.js → index.wkpkULnU.js} +2 -2
  42. package/dist/assets/{index.Beg62ngn.js.map → index.wkpkULnU.js.map} +1 -1
  43. package/dist/assets/{main.DTZCxlJU.js → main.C-z7q4Cv.js} +3 -3
  44. package/dist/assets/{main.DTZCxlJU.js.map → main.C-z7q4Cv.js.map} +1 -1
  45. package/dist/assets/{modal.B9PP9n2B.js → modal.BizsZF2D.js} +3 -3
  46. package/dist/assets/{modal.B9PP9n2B.js.map → modal.BizsZF2D.js.map} +1 -1
  47. package/dist/assets/{modals.BVvUIuNm.js → modals.Bh5aGAsh.js} +2 -2
  48. package/dist/assets/{modals.BVvUIuNm.js.map → modals.Bh5aGAsh.js.map} +1 -1
  49. package/dist/assets/{nodefs.DG9XiPrJ.js → nodefs.DRM5jodc.js} +2 -2
  50. package/dist/assets/{nodefs.DG9XiPrJ.js.map → nodefs.DRM5jodc.js.map} +1 -1
  51. package/dist/assets/{nodes.bF-gqvzp.js → nodes.1z5U6LVM.js} +2 -2
  52. package/dist/assets/{nodes.bF-gqvzp.js.map → nodes.1z5U6LVM.js.map} +1 -1
  53. package/dist/assets/{opfs-ahp.CQz3T4kD.js → opfs-ahp.CIwZIbNR.js} +2 -2
  54. package/dist/assets/{opfs-ahp.CQz3T4kD.js.map → opfs-ahp.CIwZIbNR.js.map} +1 -1
  55. package/dist/assets/{registerServiceWorker.DZCbK6MJ.js → registerServiceWorker.BNf1b8wD.js} +2 -2
  56. package/dist/assets/{registerServiceWorker.DZCbK6MJ.js.map → registerServiceWorker.BNf1b8wD.js.map} +1 -1
  57. package/dist/assets/{root.MjuhTv80.js → root.SqECa_nN.js} +2 -2
  58. package/dist/assets/{root.MjuhTv80.js.map → root.SqECa_nN.js.map} +1 -1
  59. package/dist/assets/{useAcceptedCookies.BwmKLuW0.js → useAcceptedCookies.BwfkDBue.js} +2 -2
  60. package/dist/assets/{useAcceptedCookies.BwmKLuW0.js.map → useAcceptedCookies.BwfkDBue.js.map} +1 -1
  61. package/dist/assets/useDefaultDocumentModelEditor.DmNu7Xm0.js +2 -0
  62. package/dist/assets/{useDefaultDocumentModelEditor.CjlFHIbF.js.map → useDefaultDocumentModelEditor.DmNu7Xm0.js.map} +1 -1
  63. package/dist/assets/{useInitSentry.DAHyudtD.js → useInitSentry.BsZC-0d6.js} +6 -6
  64. package/dist/assets/{useInitSentry.DAHyudtD.js.map → useInitSentry.BsZC-0d6.js.map} +1 -1
  65. package/dist/index.html +1 -1
  66. package/dist/vite-envs.sh +1 -1
  67. package/package.json +10 -10
  68. package/dist/assets/content.C38XllGR.js.map +0 -1
  69. package/dist/assets/index.DJX9_IxB.js +0 -31
  70. package/dist/assets/index.DJX9_IxB.js.map +0 -1
  71. package/dist/assets/useDefaultDocumentModelEditor.CjlFHIbF.js +0 -2
@@ -1,2 +1,2 @@
1
- import{z as j,R as i,x as h,C as O,h as e,T as r,N as F,u as A}from"./useInitSentry.DAHyudtD.js";import{e as le,P as oe,U as ce,j as de,a as we,b as pe}from"./useInitSentry.DAHyudtD.js";import"react/jsx-runtime";import"./index.u4lctn3H.js";import"react";import"react-dom";import"./index.DJX9_IxB.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwmKLuW0.js";import"./registerServiceWorker.DZCbK6MJ.js";A();var W,T,_,P,B,w,f,v,u,D,R,$,E,g,I,p,k,G,N,n,q,x,o,C,Q=class U extends j{constructor(t,s){super(),i(this,n),i(this,W),i(this,T,0),i(this,_,!1),i(this,P,!1),i(this,B,!1),i(this,w,new EventTarget),i(this,f),i(this,v,!1),i(this,u),i(this,D),i(this,R),i(this,$),i(this,E),i(this,g),i(this,I),i(this,p,new Map),i(this,k,new Set),i(this,G),i(this,N,[]),h(this,u,t),h(this,f,O()),h(this,G,(s==null?void 0:s.extensions)??{}),h(this,R,new Promise(a=>{e(this,u).addEventListener("message",c=>{if(c.data.type==="here")a();else throw new Error("Invalid message")},{once:!0})})),h(this,$,new Promise(a=>{let c=m=>{m.data.type==="ready"&&(h(this,D,m.data.id),e(this,u).removeEventListener("message",c),a())};e(this,u).addEventListener("message",c)})),h(this,W,r(this,n,q).call(this,s))}static async create(t,s){let a=new U(t,s);return await e(a,W),a}get waitReady(){return new Promise(t=>{e(this,W).then(()=>{e(this,v)?t():t(new Promise(s=>{e(this,w).addEventListener("connected",()=>{s()})}))})})}get debug(){return e(this,T)}get ready(){return e(this,_)}get closed(){return e(this,P)}get isLeader(){return e(this,B)}async close(){var s,a;var t;e(this,P)||(h(this,P,!0),(s=e(this,E))==null||s.close(),(a=e(this,g))==null||a.close(),(t=e(this,I))==null||t.call(this),e(this,u).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(t){return await r(this,n,o).call(this,"execProtocolRaw",t)}async execProtocol(t){return await r(this,n,o).call(this,"execProtocol",t)}async syncToFs(){await r(this,n,o).call(this,"syncToFs")}async listen(t,s){let a=F(t);return e(this,p).has(a)||e(this,p).set(a,new Set),e(this,p).get(a).add(s),await this.exec(`LISTEN ${t}`),async()=>{await this.unlisten(a,s)}}async unlisten(t,s){var a,c;await this.waitReady,s?(a=e(this,p).get(t))==null||a.delete(s):e(this,p).delete(t),((c=e(this,p).get(t))==null?void 0:c.size)===0&&await this.exec(`UNLISTEN ${t}`)}onNotification(t){return e(this,k).add(t),()=>{e(this,k).delete(t)}}offNotification(t){e(this,k).delete(t)}async dumpDataDir(){return await r(this,n,o).call(this,"dumpDataDir")}onLeaderChange(t){return e(this,w).addEventListener("leader-change",t),()=>{e(this,w).removeEventListener("leader-change",t)}}offLeaderChange(t){e(this,w).removeEventListener("leader-change",t)}async _handleBlob(t){await r(this,n,o).call(this,"_handleBlob",t)}async _getWrittenBlob(){return await r(this,n,o).call(this,"_getWrittenBlob")}async _cleanupBlob(){await r(this,n,o).call(this,"_cleanupBlob")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(t){await r(this,n,o).call(this,"_acquireQueryLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseQueryLock")}}async _runExclusiveTransaction(t){await r(this,n,o).call(this,"_acquireTransactionLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseTransactionLock")}}};W=new WeakMap,T=new WeakMap,_=new WeakMap,P=new WeakMap,B=new WeakMap,w=new WeakMap,f=new WeakMap,v=new WeakMap,u=new WeakMap,D=new WeakMap,R=new WeakMap,$=new WeakMap,E=new WeakMap,g=new WeakMap,I=new WeakMap,p=new WeakMap,k=new WeakMap,G=new WeakMap,N=new WeakMap,n=new WeakSet,q=async function(y={}){for(let[l,L]of Object.entries(e(this,G))){if(L instanceof URL)throw new Error("URL extensions are not supported on the client side of a worker");{let d=await L.setup(this,{},!0);if(d.emscriptenOpts&&console.warn(`PGlite extension ${l} returned emscriptenOpts, these are not supported on the client side of a worker`),d.namespaceObj){let b=this;b[l]=d.namespaceObj}d.bundlePath&&console.warn(`PGlite extension ${l} returned bundlePath, this is not supported on the client side of a worker`),d.init&&await d.init(),d.close&&e(this,N).push(d.close)}}await e(this,R);let{extensions:t,...s}=y;e(this,u).postMessage({type:"init",options:s}),await e(this,$);let a=`pglite-tab-close:${e(this,f)}`;h(this,I,await H(a));let c=`pglite-broadcast:${e(this,D)}`;h(this,E,new BroadcastChannel(c));let m=`pglite-tab:${e(this,f)}`;h(this,g,new BroadcastChannel(m)),e(this,E).addEventListener("message",async l=>{l.data.type==="leader-here"?(h(this,v,!1),e(this,w).dispatchEvent(new Event("leader-change")),r(this,n,x).call(this)):l.data.type==="notify"&&r(this,n,C).call(this,l.data.channel,l.data.payload)}),e(this,g).addEventListener("message",async l=>{l.data.type==="connected"&&(h(this,v,!0),e(this,w).dispatchEvent(new Event("connected")),h(this,T,await r(this,n,o).call(this,"getDebugLevel")),h(this,_,!0))}),e(this,u).addEventListener("message",async l=>{l.data.type==="leader-now"&&(h(this,B,!0),e(this,w).dispatchEvent(new Event("leader-change")))}),r(this,n,x).call(this),this._initArrayTypes()},x=async function(){e(this,v)||(e(this,E).postMessage({type:"tab-here",id:e(this,f)}),setTimeout(()=>r(this,n,x).call(this),16))},o=async function(y,...t){let s=O(),a={type:"rpc-call",callId:s,method:y,args:t};return e(this,g).postMessage(a),await new Promise((c,m)=>{let l=b=>{if(b.data.callId!==s)return;d();let M=b.data;if(M.type==="rpc-return")c(M.result);else if(M.type==="rpc-error"){let S=new Error(M.error.message);Object.assign(S,M.error),m(S)}else m(new Error("Invalid message"))},L=()=>{d(),m(new z)},d=()=>{e(this,g).removeEventListener("message",l),e(this,w).removeEventListener("leader-change",L)};e(this,w).addEventListener("leader-change",L),e(this,g).addEventListener("message",l)})},C=function(y,t){let s=e(this,p).get(y);if(s)for(let a of s)queueMicrotask(()=>a(t));for(let a of e(this,k))queueMicrotask(()=>a(y,t))};var ne=Q,z=class extends Error{constructor(){super("Leader changed, pending operation in indeterminate state")}};async function H(y){let t;return await new Promise(s=>{navigator.locks.request(y,()=>new Promise(a=>{t=a,s()}))}),t}export{le as IdbFs,oe as PGLITE_UPDATE_EVENT,ce as PGlite,ne as PGliteWorker,de as live,we as usePGliteDB,pe as useSetPGliteDB};
2
- //# sourceMappingURL=index.DqaPdXs7.js.map
1
+ import{z as j,R as i,x as h,C as O,h as e,T as r,N as F,u as A}from"./useInitSentry.BsZC-0d6.js";import{e as le,P as oe,U as ce,j as de,a as we,b as pe}from"./useInitSentry.BsZC-0d6.js";import"react/jsx-runtime";import"./index.u4lctn3H.js";import"react";import"react-dom";import"./index.DoxG1d4A.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwfkDBue.js";import"./registerServiceWorker.BNf1b8wD.js";A();var W,T,_,P,B,w,f,v,u,D,R,$,E,g,I,p,k,G,N,n,q,x,o,C,Q=class U extends j{constructor(t,s){super(),i(this,n),i(this,W),i(this,T,0),i(this,_,!1),i(this,P,!1),i(this,B,!1),i(this,w,new EventTarget),i(this,f),i(this,v,!1),i(this,u),i(this,D),i(this,R),i(this,$),i(this,E),i(this,g),i(this,I),i(this,p,new Map),i(this,k,new Set),i(this,G),i(this,N,[]),h(this,u,t),h(this,f,O()),h(this,G,(s==null?void 0:s.extensions)??{}),h(this,R,new Promise(a=>{e(this,u).addEventListener("message",c=>{if(c.data.type==="here")a();else throw new Error("Invalid message")},{once:!0})})),h(this,$,new Promise(a=>{let c=m=>{m.data.type==="ready"&&(h(this,D,m.data.id),e(this,u).removeEventListener("message",c),a())};e(this,u).addEventListener("message",c)})),h(this,W,r(this,n,q).call(this,s))}static async create(t,s){let a=new U(t,s);return await e(a,W),a}get waitReady(){return new Promise(t=>{e(this,W).then(()=>{e(this,v)?t():t(new Promise(s=>{e(this,w).addEventListener("connected",()=>{s()})}))})})}get debug(){return e(this,T)}get ready(){return e(this,_)}get closed(){return e(this,P)}get isLeader(){return e(this,B)}async close(){var s,a;var t;e(this,P)||(h(this,P,!0),(s=e(this,E))==null||s.close(),(a=e(this,g))==null||a.close(),(t=e(this,I))==null||t.call(this),e(this,u).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(t){return await r(this,n,o).call(this,"execProtocolRaw",t)}async execProtocol(t){return await r(this,n,o).call(this,"execProtocol",t)}async syncToFs(){await r(this,n,o).call(this,"syncToFs")}async listen(t,s){let a=F(t);return e(this,p).has(a)||e(this,p).set(a,new Set),e(this,p).get(a).add(s),await this.exec(`LISTEN ${t}`),async()=>{await this.unlisten(a,s)}}async unlisten(t,s){var a,c;await this.waitReady,s?(a=e(this,p).get(t))==null||a.delete(s):e(this,p).delete(t),((c=e(this,p).get(t))==null?void 0:c.size)===0&&await this.exec(`UNLISTEN ${t}`)}onNotification(t){return e(this,k).add(t),()=>{e(this,k).delete(t)}}offNotification(t){e(this,k).delete(t)}async dumpDataDir(){return await r(this,n,o).call(this,"dumpDataDir")}onLeaderChange(t){return e(this,w).addEventListener("leader-change",t),()=>{e(this,w).removeEventListener("leader-change",t)}}offLeaderChange(t){e(this,w).removeEventListener("leader-change",t)}async _handleBlob(t){await r(this,n,o).call(this,"_handleBlob",t)}async _getWrittenBlob(){return await r(this,n,o).call(this,"_getWrittenBlob")}async _cleanupBlob(){await r(this,n,o).call(this,"_cleanupBlob")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(t){await r(this,n,o).call(this,"_acquireQueryLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseQueryLock")}}async _runExclusiveTransaction(t){await r(this,n,o).call(this,"_acquireTransactionLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseTransactionLock")}}};W=new WeakMap,T=new WeakMap,_=new WeakMap,P=new WeakMap,B=new WeakMap,w=new WeakMap,f=new WeakMap,v=new WeakMap,u=new WeakMap,D=new WeakMap,R=new WeakMap,$=new WeakMap,E=new WeakMap,g=new WeakMap,I=new WeakMap,p=new WeakMap,k=new WeakMap,G=new WeakMap,N=new WeakMap,n=new WeakSet,q=async function(y={}){for(let[l,L]of Object.entries(e(this,G))){if(L instanceof URL)throw new Error("URL extensions are not supported on the client side of a worker");{let d=await L.setup(this,{},!0);if(d.emscriptenOpts&&console.warn(`PGlite extension ${l} returned emscriptenOpts, these are not supported on the client side of a worker`),d.namespaceObj){let b=this;b[l]=d.namespaceObj}d.bundlePath&&console.warn(`PGlite extension ${l} returned bundlePath, this is not supported on the client side of a worker`),d.init&&await d.init(),d.close&&e(this,N).push(d.close)}}await e(this,R);let{extensions:t,...s}=y;e(this,u).postMessage({type:"init",options:s}),await e(this,$);let a=`pglite-tab-close:${e(this,f)}`;h(this,I,await H(a));let c=`pglite-broadcast:${e(this,D)}`;h(this,E,new BroadcastChannel(c));let m=`pglite-tab:${e(this,f)}`;h(this,g,new BroadcastChannel(m)),e(this,E).addEventListener("message",async l=>{l.data.type==="leader-here"?(h(this,v,!1),e(this,w).dispatchEvent(new Event("leader-change")),r(this,n,x).call(this)):l.data.type==="notify"&&r(this,n,C).call(this,l.data.channel,l.data.payload)}),e(this,g).addEventListener("message",async l=>{l.data.type==="connected"&&(h(this,v,!0),e(this,w).dispatchEvent(new Event("connected")),h(this,T,await r(this,n,o).call(this,"getDebugLevel")),h(this,_,!0))}),e(this,u).addEventListener("message",async l=>{l.data.type==="leader-now"&&(h(this,B,!0),e(this,w).dispatchEvent(new Event("leader-change")))}),r(this,n,x).call(this),this._initArrayTypes()},x=async function(){e(this,v)||(e(this,E).postMessage({type:"tab-here",id:e(this,f)}),setTimeout(()=>r(this,n,x).call(this),16))},o=async function(y,...t){let s=O(),a={type:"rpc-call",callId:s,method:y,args:t};return e(this,g).postMessage(a),await new Promise((c,m)=>{let l=b=>{if(b.data.callId!==s)return;d();let M=b.data;if(M.type==="rpc-return")c(M.result);else if(M.type==="rpc-error"){let S=new Error(M.error.message);Object.assign(S,M.error),m(S)}else m(new Error("Invalid message"))},L=()=>{d(),m(new z)},d=()=>{e(this,g).removeEventListener("message",l),e(this,w).removeEventListener("leader-change",L)};e(this,w).addEventListener("leader-change",L),e(this,g).addEventListener("message",l)})},C=function(y,t){let s=e(this,p).get(y);if(s)for(let a of s)queueMicrotask(()=>a(t));for(let a of e(this,k))queueMicrotask(()=>a(y,t))};var ne=Q,z=class extends Error{constructor(){super("Leader changed, pending operation in indeterminate state")}};async function H(y){let t;return await new Promise(s=>{navigator.locks.request(y,()=>new Promise(a=>{t=a,s()}))}),t}export{le as IdbFs,oe as PGLITE_UPDATE_EVENT,ce as PGlite,ne as PGliteWorker,de as live,we as usePGliteDB,pe as useSetPGliteDB};
2
+ //# sourceMappingURL=index.EpI4H1M9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.DqaPdXs7.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/worker/index.js"],"sourcesContent":["import{a as j}from\"../chunk-A7RFOIQ7.js\";import{u as N,x as z}from\"../chunk-EADU5A67.js\";import\"../chunk-STOZMFXW.js\";import{e as t,f as d,g as u,h as p,j as Q}from\"../chunk-BTBUZ646.js\";Q();var W,C,_,M,B,m,L,x,k,T,A,O,E,v,G,P,b,I,$,c,K,D,w,J,F=class F extends j{constructor(e,r){super();d(this,c);d(this,W);d(this,C,0);d(this,_,!1);d(this,M,!1);d(this,B,!1);d(this,m,new EventTarget);d(this,L);d(this,x,!1);d(this,k);d(this,T);d(this,A);d(this,O);d(this,E);d(this,v);d(this,G);d(this,P,new Map);d(this,b,new Set);d(this,I);d(this,$,[]);u(this,k,e),u(this,L,N()),u(this,I,r?.extensions??{}),u(this,A,new Promise(i=>{t(this,k).addEventListener(\"message\",s=>{if(s.data.type===\"here\")i();else throw new Error(\"Invalid message\")},{once:!0})})),u(this,O,new Promise(i=>{let s=o=>{o.data.type===\"ready\"&&(u(this,T,o.data.id),t(this,k).removeEventListener(\"message\",s),i())};t(this,k).addEventListener(\"message\",s)})),u(this,W,p(this,c,K).call(this,r))}static async create(e,r){let i=new F(e,r);return await t(i,W),i}get waitReady(){return new Promise(e=>{t(this,W).then(()=>{t(this,x)?e():e(new Promise(r=>{t(this,m).addEventListener(\"connected\",()=>{r()})}))})})}get debug(){return t(this,C)}get ready(){return t(this,_)}get closed(){return t(this,M)}get isLeader(){return t(this,B)}async close(){var e;t(this,M)||(u(this,M,!0),t(this,E)?.close(),t(this,v)?.close(),(e=t(this,G))==null||e.call(this),t(this,k).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(e){return await p(this,c,w).call(this,\"execProtocolRaw\",e)}async execProtocol(e){return await p(this,c,w).call(this,\"execProtocol\",e)}async syncToFs(){await p(this,c,w).call(this,\"syncToFs\")}async listen(e,r){let i=z(e);return t(this,P).has(i)||t(this,P).set(i,new Set),t(this,P).get(i).add(r),await this.exec(`LISTEN ${e}`),async()=>{await this.unlisten(i,r)}}async unlisten(e,r){await this.waitReady,r?t(this,P).get(e)?.delete(r):t(this,P).delete(e),t(this,P).get(e)?.size===0&&await this.exec(`UNLISTEN ${e}`)}onNotification(e){return t(this,b).add(e),()=>{t(this,b).delete(e)}}offNotification(e){t(this,b).delete(e)}async dumpDataDir(){return await p(this,c,w).call(this,\"dumpDataDir\")}onLeaderChange(e){return t(this,m).addEventListener(\"leader-change\",e),()=>{t(this,m).removeEventListener(\"leader-change\",e)}}offLeaderChange(e){t(this,m).removeEventListener(\"leader-change\",e)}async _handleBlob(e){await p(this,c,w).call(this,\"_handleBlob\",e)}async _getWrittenBlob(){return await p(this,c,w).call(this,\"_getWrittenBlob\")}async _cleanupBlob(){await p(this,c,w).call(this,\"_cleanupBlob\")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(e){await p(this,c,w).call(this,\"_acquireQueryLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseQueryLock\")}}async _runExclusiveTransaction(e){await p(this,c,w).call(this,\"_acquireTransactionLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseTransactionLock\")}}};W=new WeakMap,C=new WeakMap,_=new WeakMap,M=new WeakMap,B=new WeakMap,m=new WeakMap,L=new WeakMap,x=new WeakMap,k=new WeakMap,T=new WeakMap,A=new WeakMap,O=new WeakMap,E=new WeakMap,v=new WeakMap,G=new WeakMap,P=new WeakMap,b=new WeakMap,I=new WeakMap,$=new WeakMap,c=new WeakSet,K=async function(e={}){for(let[a,y]of Object.entries(t(this,I))){if(y instanceof URL)throw new Error(\"URL extensions are not supported on the client side of a worker\");{let l=await y.setup(this,{},!0);if(l.emscriptenOpts&&console.warn(`PGlite extension ${a} returned emscriptenOpts, these are not supported on the client side of a worker`),l.namespaceObj){let R=this;R[a]=l.namespaceObj}l.bundlePath&&console.warn(`PGlite extension ${a} returned bundlePath, this is not supported on the client side of a worker`),l.init&&await l.init(),l.close&&t(this,$).push(l.close)}}await t(this,A);let{extensions:r,...i}=e;t(this,k).postMessage({type:\"init\",options:i}),await t(this,O);let s=`pglite-tab-close:${t(this,L)}`;u(this,G,await q(s));let o=`pglite-broadcast:${t(this,T)}`;u(this,E,new BroadcastChannel(o));let h=`pglite-tab:${t(this,L)}`;u(this,v,new BroadcastChannel(h)),t(this,E).addEventListener(\"message\",async a=>{a.data.type===\"leader-here\"?(u(this,x,!1),t(this,m).dispatchEvent(new Event(\"leader-change\")),p(this,c,D).call(this)):a.data.type===\"notify\"&&p(this,c,J).call(this,a.data.channel,a.data.payload)}),t(this,v).addEventListener(\"message\",async a=>{a.data.type===\"connected\"&&(u(this,x,!0),t(this,m).dispatchEvent(new Event(\"connected\")),u(this,C,await p(this,c,w).call(this,\"getDebugLevel\")),u(this,_,!0))}),t(this,k).addEventListener(\"message\",async a=>{a.data.type===\"leader-now\"&&(u(this,B,!0),t(this,m).dispatchEvent(new Event(\"leader-change\")))}),p(this,c,D).call(this),this._initArrayTypes()},D=async function(){t(this,x)||(t(this,E).postMessage({type:\"tab-here\",id:t(this,L)}),setTimeout(()=>p(this,c,D).call(this),16))},w=async function(e,...r){let i=N(),s={type:\"rpc-call\",callId:i,method:e,args:r};return t(this,v).postMessage(s),await new Promise((o,h)=>{let a=R=>{if(R.data.callId!==i)return;l();let f=R.data;if(f.type===\"rpc-return\")o(f.result);else if(f.type===\"rpc-error\"){let S=new Error(f.error.message);Object.assign(S,f.error),h(S)}else h(new Error(\"Invalid message\"))},y=()=>{l(),h(new U)},l=()=>{t(this,v).removeEventListener(\"message\",a),t(this,m).removeEventListener(\"leader-change\",y)};t(this,m).addEventListener(\"leader-change\",y),t(this,v).addEventListener(\"message\",a)})},J=function(e,r){let i=t(this,P).get(e);if(i)for(let s of i)queueMicrotask(()=>s(r));for(let s of t(this,b))queueMicrotask(()=>s(e,r))};var H=F;async function se({init:g}){postMessage({type:\"here\"});let n=await new Promise(y=>{addEventListener(\"message\",l=>{l.data.type===\"init\"&&y(l.data.options)},{once:!0})}),e=n.id??`${import.meta.url}:${n.dataDir??\"\"}`;postMessage({type:\"ready\",id:e});let r=`pglite-election-lock:${e}`,i=`pglite-broadcast:${e}`,s=new BroadcastChannel(i),o=new Set;await q(r);let h=g(n);s.onmessage=async y=>{let l=y.data;switch(l.type){case\"tab-here\":V(l.id,await h,o);break}},s.postMessage({type:\"leader-here\",id:e}),postMessage({type:\"leader-now\"}),(await h).onNotification((y,l)=>{s.postMessage({type:\"notify\",channel:y,payload:l})})}function V(g,n,e){if(e.has(g))return;e.add(g);let r=`pglite-tab:${g}`,i=`pglite-tab-close:${g}`,s=new BroadcastChannel(r);navigator.locks.request(i,()=>new Promise(h=>{s.close(),e.delete(g),h()}));let o=X(g,n);s.addEventListener(\"message\",async h=>{let a=h.data;switch(a.type){case\"rpc-call\":{await n.waitReady;let{callId:y,method:l,args:R}=a;try{let f=await o[l](...R);s.postMessage({type:\"rpc-return\",callId:y,result:f})}catch(f){console.error(f),s.postMessage({type:\"rpc-error\",callId:y,error:{message:f.message}})}break}}}),s.postMessage({type:\"connected\"})}function X(g,n){let e=null,r=null,i=`pglite-tab-close:${g}`;return q(i).then(()=>{r&&n.exec(\"ROLLBACK\"),e?.(),r?.()}),{async getDebugLevel(){return n.debug},async close(){await n.close()},async execProtocol(s){let{messages:o,data:h}=await n.execProtocol(s);if(h.byteLength!==h.buffer.byteLength){let a=new ArrayBuffer(h.byteLength),y=new Uint8Array(a);return y.set(h),{messages:o,data:y}}else return{messages:o,data:h}},async execProtocolRaw(s){let o=await n.execProtocolRaw(s);if(o.byteLength!==o.buffer.byteLength){let h=new ArrayBuffer(o.byteLength),a=new Uint8Array(h);return a.set(o),a}else return o},async dumpDataDir(){return await n.dumpDataDir()},async syncToFs(){return await n.syncToFs()},async _handleBlob(s){return await n._handleBlob(s)},async _getWrittenBlob(){return await n._getWrittenBlob()},async _cleanupBlob(){return await n._cleanupBlob()},async _checkReady(){return await n._checkReady()},async _acquireQueryLock(){return new Promise(s=>{n._runExclusiveQuery(()=>new Promise(o=>{e=o,s()}))})},async _releaseQueryLock(){e?.(),e=null},async _acquireTransactionLock(){return new Promise(s=>{n._runExclusiveTransaction(()=>new Promise(o=>{r=o,s()}))})},async _releaseTransactionLock(){r?.(),r=null}}}var U=class extends Error{constructor(){super(\"Leader changed, pending operation in indeterminate state\")}};async function q(g){let n;return await new Promise(e=>{navigator.locks.request(g,()=>new Promise(r=>{n=r,e()}))}),n}export{U as LeaderChangedError,H as PGliteWorker,se as worker};\n//# sourceMappingURL=index.js.map"],"names":["Q","C","M","m","L","x","k","T","A","O","v","G","P","b","I","$","c","K","D","w","J","F","j","e","r","d","u","N","i","t","s","o","p","z","a","y","l","R","q","h","f","U","H","g","n"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.EpI4H1M9.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/worker/index.js"],"sourcesContent":["import{a as j}from\"../chunk-A7RFOIQ7.js\";import{u as N,x as z}from\"../chunk-EADU5A67.js\";import\"../chunk-STOZMFXW.js\";import{e as t,f as d,g as u,h as p,j as Q}from\"../chunk-BTBUZ646.js\";Q();var W,C,_,M,B,m,L,x,k,T,A,O,E,v,G,P,b,I,$,c,K,D,w,J,F=class F extends j{constructor(e,r){super();d(this,c);d(this,W);d(this,C,0);d(this,_,!1);d(this,M,!1);d(this,B,!1);d(this,m,new EventTarget);d(this,L);d(this,x,!1);d(this,k);d(this,T);d(this,A);d(this,O);d(this,E);d(this,v);d(this,G);d(this,P,new Map);d(this,b,new Set);d(this,I);d(this,$,[]);u(this,k,e),u(this,L,N()),u(this,I,r?.extensions??{}),u(this,A,new Promise(i=>{t(this,k).addEventListener(\"message\",s=>{if(s.data.type===\"here\")i();else throw new Error(\"Invalid message\")},{once:!0})})),u(this,O,new Promise(i=>{let s=o=>{o.data.type===\"ready\"&&(u(this,T,o.data.id),t(this,k).removeEventListener(\"message\",s),i())};t(this,k).addEventListener(\"message\",s)})),u(this,W,p(this,c,K).call(this,r))}static async create(e,r){let i=new F(e,r);return await t(i,W),i}get waitReady(){return new Promise(e=>{t(this,W).then(()=>{t(this,x)?e():e(new Promise(r=>{t(this,m).addEventListener(\"connected\",()=>{r()})}))})})}get debug(){return t(this,C)}get ready(){return t(this,_)}get closed(){return t(this,M)}get isLeader(){return t(this,B)}async close(){var e;t(this,M)||(u(this,M,!0),t(this,E)?.close(),t(this,v)?.close(),(e=t(this,G))==null||e.call(this),t(this,k).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(e){return await p(this,c,w).call(this,\"execProtocolRaw\",e)}async execProtocol(e){return await p(this,c,w).call(this,\"execProtocol\",e)}async syncToFs(){await p(this,c,w).call(this,\"syncToFs\")}async listen(e,r){let i=z(e);return t(this,P).has(i)||t(this,P).set(i,new Set),t(this,P).get(i).add(r),await this.exec(`LISTEN ${e}`),async()=>{await this.unlisten(i,r)}}async unlisten(e,r){await this.waitReady,r?t(this,P).get(e)?.delete(r):t(this,P).delete(e),t(this,P).get(e)?.size===0&&await this.exec(`UNLISTEN ${e}`)}onNotification(e){return t(this,b).add(e),()=>{t(this,b).delete(e)}}offNotification(e){t(this,b).delete(e)}async dumpDataDir(){return await p(this,c,w).call(this,\"dumpDataDir\")}onLeaderChange(e){return t(this,m).addEventListener(\"leader-change\",e),()=>{t(this,m).removeEventListener(\"leader-change\",e)}}offLeaderChange(e){t(this,m).removeEventListener(\"leader-change\",e)}async _handleBlob(e){await p(this,c,w).call(this,\"_handleBlob\",e)}async _getWrittenBlob(){return await p(this,c,w).call(this,\"_getWrittenBlob\")}async _cleanupBlob(){await p(this,c,w).call(this,\"_cleanupBlob\")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(e){await p(this,c,w).call(this,\"_acquireQueryLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseQueryLock\")}}async _runExclusiveTransaction(e){await p(this,c,w).call(this,\"_acquireTransactionLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseTransactionLock\")}}};W=new WeakMap,C=new WeakMap,_=new WeakMap,M=new WeakMap,B=new WeakMap,m=new WeakMap,L=new WeakMap,x=new WeakMap,k=new WeakMap,T=new WeakMap,A=new WeakMap,O=new WeakMap,E=new WeakMap,v=new WeakMap,G=new WeakMap,P=new WeakMap,b=new WeakMap,I=new WeakMap,$=new WeakMap,c=new WeakSet,K=async function(e={}){for(let[a,y]of Object.entries(t(this,I))){if(y instanceof URL)throw new Error(\"URL extensions are not supported on the client side of a worker\");{let l=await y.setup(this,{},!0);if(l.emscriptenOpts&&console.warn(`PGlite extension ${a} returned emscriptenOpts, these are not supported on the client side of a worker`),l.namespaceObj){let R=this;R[a]=l.namespaceObj}l.bundlePath&&console.warn(`PGlite extension ${a} returned bundlePath, this is not supported on the client side of a worker`),l.init&&await l.init(),l.close&&t(this,$).push(l.close)}}await t(this,A);let{extensions:r,...i}=e;t(this,k).postMessage({type:\"init\",options:i}),await t(this,O);let s=`pglite-tab-close:${t(this,L)}`;u(this,G,await q(s));let o=`pglite-broadcast:${t(this,T)}`;u(this,E,new BroadcastChannel(o));let h=`pglite-tab:${t(this,L)}`;u(this,v,new BroadcastChannel(h)),t(this,E).addEventListener(\"message\",async a=>{a.data.type===\"leader-here\"?(u(this,x,!1),t(this,m).dispatchEvent(new Event(\"leader-change\")),p(this,c,D).call(this)):a.data.type===\"notify\"&&p(this,c,J).call(this,a.data.channel,a.data.payload)}),t(this,v).addEventListener(\"message\",async a=>{a.data.type===\"connected\"&&(u(this,x,!0),t(this,m).dispatchEvent(new Event(\"connected\")),u(this,C,await p(this,c,w).call(this,\"getDebugLevel\")),u(this,_,!0))}),t(this,k).addEventListener(\"message\",async a=>{a.data.type===\"leader-now\"&&(u(this,B,!0),t(this,m).dispatchEvent(new Event(\"leader-change\")))}),p(this,c,D).call(this),this._initArrayTypes()},D=async function(){t(this,x)||(t(this,E).postMessage({type:\"tab-here\",id:t(this,L)}),setTimeout(()=>p(this,c,D).call(this),16))},w=async function(e,...r){let i=N(),s={type:\"rpc-call\",callId:i,method:e,args:r};return t(this,v).postMessage(s),await new Promise((o,h)=>{let a=R=>{if(R.data.callId!==i)return;l();let f=R.data;if(f.type===\"rpc-return\")o(f.result);else if(f.type===\"rpc-error\"){let S=new Error(f.error.message);Object.assign(S,f.error),h(S)}else h(new Error(\"Invalid message\"))},y=()=>{l(),h(new U)},l=()=>{t(this,v).removeEventListener(\"message\",a),t(this,m).removeEventListener(\"leader-change\",y)};t(this,m).addEventListener(\"leader-change\",y),t(this,v).addEventListener(\"message\",a)})},J=function(e,r){let i=t(this,P).get(e);if(i)for(let s of i)queueMicrotask(()=>s(r));for(let s of t(this,b))queueMicrotask(()=>s(e,r))};var H=F;async function se({init:g}){postMessage({type:\"here\"});let n=await new Promise(y=>{addEventListener(\"message\",l=>{l.data.type===\"init\"&&y(l.data.options)},{once:!0})}),e=n.id??`${import.meta.url}:${n.dataDir??\"\"}`;postMessage({type:\"ready\",id:e});let r=`pglite-election-lock:${e}`,i=`pglite-broadcast:${e}`,s=new BroadcastChannel(i),o=new Set;await q(r);let h=g(n);s.onmessage=async y=>{let l=y.data;switch(l.type){case\"tab-here\":V(l.id,await h,o);break}},s.postMessage({type:\"leader-here\",id:e}),postMessage({type:\"leader-now\"}),(await h).onNotification((y,l)=>{s.postMessage({type:\"notify\",channel:y,payload:l})})}function V(g,n,e){if(e.has(g))return;e.add(g);let r=`pglite-tab:${g}`,i=`pglite-tab-close:${g}`,s=new BroadcastChannel(r);navigator.locks.request(i,()=>new Promise(h=>{s.close(),e.delete(g),h()}));let o=X(g,n);s.addEventListener(\"message\",async h=>{let a=h.data;switch(a.type){case\"rpc-call\":{await n.waitReady;let{callId:y,method:l,args:R}=a;try{let f=await o[l](...R);s.postMessage({type:\"rpc-return\",callId:y,result:f})}catch(f){console.error(f),s.postMessage({type:\"rpc-error\",callId:y,error:{message:f.message}})}break}}}),s.postMessage({type:\"connected\"})}function X(g,n){let e=null,r=null,i=`pglite-tab-close:${g}`;return q(i).then(()=>{r&&n.exec(\"ROLLBACK\"),e?.(),r?.()}),{async getDebugLevel(){return n.debug},async close(){await n.close()},async execProtocol(s){let{messages:o,data:h}=await n.execProtocol(s);if(h.byteLength!==h.buffer.byteLength){let a=new ArrayBuffer(h.byteLength),y=new Uint8Array(a);return y.set(h),{messages:o,data:y}}else return{messages:o,data:h}},async execProtocolRaw(s){let o=await n.execProtocolRaw(s);if(o.byteLength!==o.buffer.byteLength){let h=new ArrayBuffer(o.byteLength),a=new Uint8Array(h);return a.set(o),a}else return o},async dumpDataDir(){return await n.dumpDataDir()},async syncToFs(){return await n.syncToFs()},async _handleBlob(s){return await n._handleBlob(s)},async _getWrittenBlob(){return await n._getWrittenBlob()},async _cleanupBlob(){return await n._cleanupBlob()},async _checkReady(){return await n._checkReady()},async _acquireQueryLock(){return new Promise(s=>{n._runExclusiveQuery(()=>new Promise(o=>{e=o,s()}))})},async _releaseQueryLock(){e?.(),e=null},async _acquireTransactionLock(){return new Promise(s=>{n._runExclusiveTransaction(()=>new Promise(o=>{r=o,s()}))})},async _releaseTransactionLock(){r?.(),r=null}}}var U=class extends Error{constructor(){super(\"Leader changed, pending operation in indeterminate state\")}};async function q(g){let n;return await new Promise(e=>{navigator.locks.request(g,()=>new Promise(r=>{n=r,e()}))}),n}export{U as LeaderChangedError,H as PGliteWorker,se as worker};\n//# sourceMappingURL=index.js.map"],"names":["Q","C","M","m","L","x","k","T","A","O","v","G","P","b","I","$","c","K","D","w","J","F","j","e","r","d","u","N","i","t","s","o","p","z","a","y","l","R","q","h","f","U","H","g","n"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- var v=Object.defineProperty;var _=(r,e,t)=>e in r?v(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var S=(r,e,t)=>_(r,typeof e!="symbol"?e+"":e,t);import{c as O}from"./index.u4lctn3H.js";import{A as n,D as I}from"./useInitSentry.DAHyudtD.js";import"react";import"react/jsx-runtime";import"react-dom";import"./index.DJX9_IxB.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwmKLuW0.js";import"./registerServiceWorker.DZCbK6MJ.js";class w{constructor(e,t=O(["processor","document-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/doc/${t.driveId}/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{driveId:s,documentId:f,branch:E,scope:a}=t,p=s===f?"DRIVE":"NODE",l=50;for(let o=0;o<t.operations.length;o+=l){const i=t.operations.slice(o,o+l),c=[];for(const d of i){const g=d.index,h={source:u,metric:"DocumentOperations",start:I.fromISO(d.timestamp),value:1,dimensions:{drive:n.fromString(`ph/doc/drive/${s}/${E}/${a}/${g}`),operation:n.fromString(`ph/doc/operation/${d.type}/${d.index}`),target:n.fromString(`ph/doc/target/${s}/${p}/${f}`)}};for(c.push(h);c.length>=l;){const y=c.splice(0,l);await this.analyticsStore.addSeriesValues(y)}}c.length>0&&await this.analyticsStore.addSeriesValues(c)}}}async onDisconnect(){}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const $=["ADD_FILE","ADD_FOLDER"],T=["COPY_NODE"],C=["UPDATE_FILE","UPDATE_NODE"],A=["MOVE_NODE"],N=["DELETE_NODE"],V=[...$,...T,...C,...A,...N];class b{constructor(e,t=O(["processor","drive-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/drive/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{documentId:s,branch:f,scope:E}=t,a=50;for(let p=0;p<t.operations.length;p+=a){const l=t.operations.slice(p,p+a),o=[];for(const i of l){const c=i.index,d=this.getActionType(i.type),g=V.includes(i.type)?"NODE":"DRIVE";let h=s;if(g==="NODE"){const m=i.input;h=m.id||m.targetId||m.srcFolder||s}const y={source:u,metric:"DriveOperations",start:I.fromISO(i.timestamp),value:1,dimensions:{drive:n.fromString(`ph/drive/${s}/${f}/${E}/${c}`),operation:n.fromString(`ph/drive/operation/${i.type}/${i.index}`),target:n.fromString(`ph/drive/target/${g}/${h}`),actionType:n.fromString(`ph/drive/actionType/${d}/${h}`)}};for(o.push(y);o.length>=a;){const m=o.splice(0,a);await this.analyticsStore.addSeriesValues(m)}}o.length>0&&await this.analyticsStore.addSeriesValues(o)}}}async onDisconnect(){}getActionType(e){return $.includes(e)?"CREATED":T.includes(e)?"DUPLICATED":N.includes(e)?"REMOVED":A.includes(e)?"MOVED":"UPDATED"}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const Y=r=>e=>[{processor:new b(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["powerhouse/document-drive"]}},{processor:new w(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{w as DocumentAnalyticsProcessor,b as DriveAnalyticsProcessor,Y as processorFactory};
2
- //# sourceMappingURL=index.DqtagVhW.js.map
1
+ var v=Object.defineProperty;var _=(r,e,t)=>e in r?v(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var S=(r,e,t)=>_(r,typeof e!="symbol"?e+"":e,t);import{c as O}from"./index.u4lctn3H.js";import{A as n,D as I}from"./useInitSentry.BsZC-0d6.js";import"react";import"react/jsx-runtime";import"react-dom";import"./index.DoxG1d4A.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwfkDBue.js";import"./registerServiceWorker.BNf1b8wD.js";class w{constructor(e,t=O(["processor","document-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/doc/${t.driveId}/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{driveId:s,documentId:f,branch:E,scope:a}=t,p=s===f?"DRIVE":"NODE",l=50;for(let o=0;o<t.operations.length;o+=l){const i=t.operations.slice(o,o+l),c=[];for(const d of i){const g=d.index,h={source:u,metric:"DocumentOperations",start:I.fromISO(d.timestamp),value:1,dimensions:{drive:n.fromString(`ph/doc/drive/${s}/${E}/${a}/${g}`),operation:n.fromString(`ph/doc/operation/${d.type}/${d.index}`),target:n.fromString(`ph/doc/target/${s}/${p}/${f}`)}};for(c.push(h);c.length>=l;){const y=c.splice(0,l);await this.analyticsStore.addSeriesValues(y)}}c.length>0&&await this.analyticsStore.addSeriesValues(c)}}}async onDisconnect(){}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const $=["ADD_FILE","ADD_FOLDER"],T=["COPY_NODE"],C=["UPDATE_FILE","UPDATE_NODE"],A=["MOVE_NODE"],N=["DELETE_NODE"],V=[...$,...T,...C,...A,...N];class b{constructor(e,t=O(["processor","drive-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/drive/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{documentId:s,branch:f,scope:E}=t,a=50;for(let p=0;p<t.operations.length;p+=a){const l=t.operations.slice(p,p+a),o=[];for(const i of l){const c=i.index,d=this.getActionType(i.type),g=V.includes(i.type)?"NODE":"DRIVE";let h=s;if(g==="NODE"){const m=i.input;h=m.id||m.targetId||m.srcFolder||s}const y={source:u,metric:"DriveOperations",start:I.fromISO(i.timestamp),value:1,dimensions:{drive:n.fromString(`ph/drive/${s}/${f}/${E}/${c}`),operation:n.fromString(`ph/drive/operation/${i.type}/${i.index}`),target:n.fromString(`ph/drive/target/${g}/${h}`),actionType:n.fromString(`ph/drive/actionType/${d}/${h}`)}};for(o.push(y);o.length>=a;){const m=o.splice(0,a);await this.analyticsStore.addSeriesValues(m)}}o.length>0&&await this.analyticsStore.addSeriesValues(o)}}}async onDisconnect(){}getActionType(e){return $.includes(e)?"CREATED":T.includes(e)?"DUPLICATED":N.includes(e)?"REMOVED":A.includes(e)?"MOVED":"UPDATED"}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const Y=r=>e=>[{processor:new b(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["powerhouse/document-drive"]}},{processor:new w(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{w as DocumentAnalyticsProcessor,b as DriveAnalyticsProcessor,Y as processorFactory};
2
+ //# sourceMappingURL=index.lZCfN3WH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.DqtagVhW.js","sources":["../../../../packages/common/dist/drive-analytics/processor/document-processor.js","../../../../packages/common/dist/drive-analytics/processor/drive-processor.js","../../../../packages/common/dist/drive-analytics/processor/index.js"],"sourcesContent":["import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nexport class DocumentAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"document-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/doc/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { driveId, documentId, branch, scope } = strand;\n const target = driveId === documentId ? \"DRIVE\" : \"NODE\";\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const seriesInput = {\n source,\n metric: \"DocumentOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/doc/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/doc/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/doc/target/${driveId}/${target}/${documentId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=document-processor.js.map","import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nconst CREATE_NODE_ACTIONS = [\"ADD_FILE\", \"ADD_FOLDER\"];\nconst DUPLICATE_NODE_ACTIONS = [\"COPY_NODE\"];\nconst UPDATE_NODE_ACTIONS = [\"UPDATE_FILE\", \"UPDATE_NODE\"];\nconst MOVE_NODE_ACTIONS = [\"MOVE_NODE\"];\nconst REMOVE_NODE_ACTIONS = [\"DELETE_NODE\"];\nconst NODE_ACTIONS = [\n ...CREATE_NODE_ACTIONS,\n ...DUPLICATE_NODE_ACTIONS,\n ...UPDATE_NODE_ACTIONS,\n ...MOVE_NODE_ACTIONS,\n ...REMOVE_NODE_ACTIONS,\n];\nexport class DriveAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"drive-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/drive/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { documentId: driveId, branch, scope } = strand;\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const actionType = this.getActionType(operation.type);\n const target = NODE_ACTIONS.includes(operation.type)\n ? \"NODE\"\n : \"DRIVE\";\n let targetId = driveId;\n if (target === \"NODE\") {\n const operationInput = operation.input;\n targetId =\n operationInput.id ||\n operationInput.targetId ||\n operationInput.srcFolder ||\n driveId;\n }\n const seriesInput = {\n source,\n metric: \"DriveOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/drive/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/drive/target/${target}/${targetId}`),\n actionType: AnalyticsPath.fromString(`ph/drive/actionType/${actionType}/${targetId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n getActionType(action) {\n if (CREATE_NODE_ACTIONS.includes(action)) {\n return \"CREATED\";\n }\n if (DUPLICATE_NODE_ACTIONS.includes(action)) {\n return \"DUPLICATED\";\n }\n if (REMOVE_NODE_ACTIONS.includes(action)) {\n return \"REMOVED\";\n }\n if (MOVE_NODE_ACTIONS.includes(action)) {\n return \"MOVED\";\n }\n return \"UPDATED\";\n }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=drive-processor.js.map","import { DocumentAnalyticsProcessor } from \"./document-processor.js\";\nimport { DriveAnalyticsProcessor } from \"./drive-processor.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DriveAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"powerhouse/document-drive\"],\n },\n },\n {\n processor: new DocumentAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\nexport * from \"./document-processor.js\";\nexport * from \"./drive-processor.js\";\n//# sourceMappingURL=index.js.map"],"names":["DocumentAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","driveId","documentId","branch","scope","target","CHUNK_SIZE","i","chunk","buffer","operation","revision","seriesInput","DateTime","batch","e","CREATE_NODE_ACTIONS","DUPLICATE_NODE_ACTIONS","UPDATE_NODE_ACTIONS","MOVE_NODE_ACTIONS","REMOVE_NODE_ACTIONS","NODE_ACTIONS","DriveAnalyticsProcessor","actionType","targetId","operationInput","action","processorFactory","module"],"mappings":"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"}
1
+ {"version":3,"file":"index.lZCfN3WH.js","sources":["../../../../packages/common/dist/drive-analytics/processor/document-processor.js","../../../../packages/common/dist/drive-analytics/processor/drive-processor.js","../../../../packages/common/dist/drive-analytics/processor/index.js"],"sourcesContent":["import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nexport class DocumentAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"document-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/doc/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { driveId, documentId, branch, scope } = strand;\n const target = driveId === documentId ? \"DRIVE\" : \"NODE\";\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const seriesInput = {\n source,\n metric: \"DocumentOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/doc/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/doc/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/doc/target/${driveId}/${target}/${documentId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=document-processor.js.map","import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nconst CREATE_NODE_ACTIONS = [\"ADD_FILE\", \"ADD_FOLDER\"];\nconst DUPLICATE_NODE_ACTIONS = [\"COPY_NODE\"];\nconst UPDATE_NODE_ACTIONS = [\"UPDATE_FILE\", \"UPDATE_NODE\"];\nconst MOVE_NODE_ACTIONS = [\"MOVE_NODE\"];\nconst REMOVE_NODE_ACTIONS = [\"DELETE_NODE\"];\nconst NODE_ACTIONS = [\n ...CREATE_NODE_ACTIONS,\n ...DUPLICATE_NODE_ACTIONS,\n ...UPDATE_NODE_ACTIONS,\n ...MOVE_NODE_ACTIONS,\n ...REMOVE_NODE_ACTIONS,\n];\nexport class DriveAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"drive-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/drive/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { documentId: driveId, branch, scope } = strand;\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const actionType = this.getActionType(operation.type);\n const target = NODE_ACTIONS.includes(operation.type)\n ? \"NODE\"\n : \"DRIVE\";\n let targetId = driveId;\n if (target === \"NODE\") {\n const operationInput = operation.input;\n targetId =\n operationInput.id ||\n operationInput.targetId ||\n operationInput.srcFolder ||\n driveId;\n }\n const seriesInput = {\n source,\n metric: \"DriveOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/drive/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/drive/target/${target}/${targetId}`),\n actionType: AnalyticsPath.fromString(`ph/drive/actionType/${actionType}/${targetId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n getActionType(action) {\n if (CREATE_NODE_ACTIONS.includes(action)) {\n return \"CREATED\";\n }\n if (DUPLICATE_NODE_ACTIONS.includes(action)) {\n return \"DUPLICATED\";\n }\n if (REMOVE_NODE_ACTIONS.includes(action)) {\n return \"REMOVED\";\n }\n if (MOVE_NODE_ACTIONS.includes(action)) {\n return \"MOVED\";\n }\n return \"UPDATED\";\n }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=drive-processor.js.map","import { DocumentAnalyticsProcessor } from \"./document-processor.js\";\nimport { DriveAnalyticsProcessor } from \"./drive-processor.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DriveAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"powerhouse/document-drive\"],\n },\n },\n {\n processor: new DocumentAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\nexport * from \"./document-processor.js\";\nexport * from \"./drive-processor.js\";\n//# sourceMappingURL=index.js.map"],"names":["DocumentAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","driveId","documentId","branch","scope","target","CHUNK_SIZE","i","chunk","buffer","operation","revision","seriesInput","DateTime","batch","e","CREATE_NODE_ACTIONS","DUPLICATE_NODE_ACTIONS","UPDATE_NODE_ACTIONS","MOVE_NODE_ACTIONS","REMOVE_NODE_ACTIONS","NODE_ACTIONS","DriveAnalyticsProcessor","actionType","targetId","operationInput","action","processorFactory","module"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var y=Object.defineProperty;var m=(r,t,e)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>m(r,typeof t!="symbol"?t+"":t,e);import{A as d,D as $}from"./useInitSentry.DAHyudtD.js";import{c as S,at as v}from"./index.u4lctn3H.js";import"react/jsx-runtime";import"./index.DJX9_IxB.js";import"react-dom/client";import"react";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwmKLuW0.js";import"react-dom";import"./registerServiceWorker.DZCbK6MJ.js";function w(r,t){const e=[],i=p(r,t,"state.global","global");e.push(...i);const o=e.filter(l=>l.type==="add").length,a=e.filter(l=>l.type==="remove").length,s={global:e.filter(l=>l.scope==="global")};return{totalChanges:e.length,additions:o,removals:a,changesByScope:s,changes:e}}function p(r,t,e,i){const o=[];if(Array.isArray(r)&&Array.isArray(t)){let n=0;for(;n<r.length;n++){const c=r[n];if(!t[n])o.push(...p(c,typeof c=="string"?"":null,`${e}[${n}]`,i));else{const f=p(c,t[n],`${e}[${n}]`,i);o.push(...f)}}for(;n<t.length;n++){const c=t[n];if(!r[n])o.push(...p(typeof c=="string"?"":null,c,`${e}[${n}]`,i));else{const f=p(r[n],c,`${e}[${n}]`,i);o.push(...f)}}return o}if(typeof r!="object"||typeof t!="object"||r===null||t===null){if(r!==t){if(typeof r=="string"&&typeof t=="string")return A(r,t,e,i);o.push({type:"remove",path:e,oldValue:r,scope:i}),o.push({type:"add",path:e,newValue:t,scope:i})}return o}const a=r,s=t,l=Object.keys(a),u=Object.keys(s);for(const n of l)n in s||o.push({type:"remove",path:`${e}.${n}`,oldValue:a[n],scope:i});for(const n of u)if(!(n in a))o.push({type:"add",path:`${e}.${n}`,newValue:s[n],scope:i});else if(a[n]!==s[n]){const c=p(a[n],s[n],`${e}.${n}`,i);o.push(...c)}return o}function A(r,t,e,i){const o=[],a=Math.max(r.length,t.length);for(let s=0;s<a;s++)s>=r.length?o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}):s>=t.length?o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}):r[s]!==t[s]&&(o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}),o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}));return o}class V{constructor(t,e=S(["processor","diff-analytics"])){g(this,"analyticsStore");g(this,"logger");this.analyticsStore=t,this.logger=e}async onStrands(t){if(t.length!==0)for(const e of t){if(e.operations.length===0)continue;const i=e.operations[0],o=d.fromString(`ph/diff/${e.driveId}/${e.documentId}/${e.branch}/${e.scope}`);i.index===0&&await this.clearSource(o);const a=50;for(let s=0;s<e.operations.length;s+=a){const l=e.operations.slice(s,s+a),u=[];for(const n of l){const f=(await v(async()=>w(n.previousState,n.state))).changes.map(h=>this.generateInput(e.driveId,e.documentId,e.branch,e.scope,n.index,h.type,1,o,n.timestamp,h.path));for(u.push(...f);u.length>=a;){const h=u.splice(0,a);await this.analyticsStore.addSeriesValues(h)}}u.length>0&&await this.analyticsStore.addSeriesValues(u)}}}async onDisconnect(){}async clearSource(t){try{await this.analyticsStore.clearSeriesBySource(t,!0)}catch(e){this.logger.error("Failed to clear source",e)}}generateInput(t,e,i,o,a,s,l,u,n,c){const f={},h=c.split("[")[0].replaceAll(".","/");return f.changes=d.fromString(`ph/diff/changes/${s}`),f.document=d.fromString(`ph/diff/document/${e}/${i}/${o}/${a}`),f.path=d.fromString(`ph/diff/path/${h}`),f.drive=d.fromString(`ph/diff/drive/${t}/${e}`),{dimensions:f,metric:"Count",start:$.fromISO(n),source:u,value:l}}}const T=r=>t=>[{processor:new V(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{T as processorFactory};
2
- //# sourceMappingURL=index.Beg62ngn.js.map
1
+ var y=Object.defineProperty;var m=(r,t,e)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>m(r,typeof t!="symbol"?t+"":t,e);import{A as d,D as $}from"./useInitSentry.BsZC-0d6.js";import{c as S,at as v}from"./index.u4lctn3H.js";import"react/jsx-runtime";import"./index.DoxG1d4A.js";import"react-dom/client";import"react";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwfkDBue.js";import"react-dom";import"./registerServiceWorker.BNf1b8wD.js";function w(r,t){const e=[],i=p(r,t,"state.global","global");e.push(...i);const o=e.filter(l=>l.type==="add").length,a=e.filter(l=>l.type==="remove").length,s={global:e.filter(l=>l.scope==="global")};return{totalChanges:e.length,additions:o,removals:a,changesByScope:s,changes:e}}function p(r,t,e,i){const o=[];if(Array.isArray(r)&&Array.isArray(t)){let n=0;for(;n<r.length;n++){const c=r[n];if(!t[n])o.push(...p(c,typeof c=="string"?"":null,`${e}[${n}]`,i));else{const f=p(c,t[n],`${e}[${n}]`,i);o.push(...f)}}for(;n<t.length;n++){const c=t[n];if(!r[n])o.push(...p(typeof c=="string"?"":null,c,`${e}[${n}]`,i));else{const f=p(r[n],c,`${e}[${n}]`,i);o.push(...f)}}return o}if(typeof r!="object"||typeof t!="object"||r===null||t===null){if(r!==t){if(typeof r=="string"&&typeof t=="string")return A(r,t,e,i);o.push({type:"remove",path:e,oldValue:r,scope:i}),o.push({type:"add",path:e,newValue:t,scope:i})}return o}const a=r,s=t,l=Object.keys(a),u=Object.keys(s);for(const n of l)n in s||o.push({type:"remove",path:`${e}.${n}`,oldValue:a[n],scope:i});for(const n of u)if(!(n in a))o.push({type:"add",path:`${e}.${n}`,newValue:s[n],scope:i});else if(a[n]!==s[n]){const c=p(a[n],s[n],`${e}.${n}`,i);o.push(...c)}return o}function A(r,t,e,i){const o=[],a=Math.max(r.length,t.length);for(let s=0;s<a;s++)s>=r.length?o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}):s>=t.length?o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}):r[s]!==t[s]&&(o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}),o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}));return o}class V{constructor(t,e=S(["processor","diff-analytics"])){g(this,"analyticsStore");g(this,"logger");this.analyticsStore=t,this.logger=e}async onStrands(t){if(t.length!==0)for(const e of t){if(e.operations.length===0)continue;const i=e.operations[0],o=d.fromString(`ph/diff/${e.driveId}/${e.documentId}/${e.branch}/${e.scope}`);i.index===0&&await this.clearSource(o);const a=50;for(let s=0;s<e.operations.length;s+=a){const l=e.operations.slice(s,s+a),u=[];for(const n of l){const f=(await v(async()=>w(n.previousState,n.state))).changes.map(h=>this.generateInput(e.driveId,e.documentId,e.branch,e.scope,n.index,h.type,1,o,n.timestamp,h.path));for(u.push(...f);u.length>=a;){const h=u.splice(0,a);await this.analyticsStore.addSeriesValues(h)}}u.length>0&&await this.analyticsStore.addSeriesValues(u)}}}async onDisconnect(){}async clearSource(t){try{await this.analyticsStore.clearSeriesBySource(t,!0)}catch(e){this.logger.error("Failed to clear source",e)}}generateInput(t,e,i,o,a,s,l,u,n,c){const f={},h=c.split("[")[0].replaceAll(".","/");return f.changes=d.fromString(`ph/diff/changes/${s}`),f.document=d.fromString(`ph/diff/document/${e}/${i}/${o}/${a}`),f.path=d.fromString(`ph/diff/path/${h}`),f.drive=d.fromString(`ph/diff/drive/${t}/${e}`),{dimensions:f,metric:"Count",start:$.fromISO(n),source:u,value:l}}}const T=r=>t=>[{processor:new V(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{T as processorFactory};
2
+ //# sourceMappingURL=index.wkpkULnU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.Beg62ngn.js","sources":["../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/lib/document-diff.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/diff-analytics/index.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/index.js"],"sourcesContent":["/**\n * Calculates the difference between two document states\n */\nexport function diffDocumentStates(doc1, doc2) {\n const changes = [];\n // Compare global state\n const globalChanges = diffStateObjects(doc1, doc2, \"state.global\", \"global\");\n changes.push(...globalChanges);\n // Count changes by type\n const additions = changes.filter((c) => c.type === \"add\").length;\n const removals = changes.filter((c) => c.type === \"remove\").length;\n // Group changes by scope\n const changesByScope = {\n global: changes.filter((c) => c.scope === \"global\"),\n };\n return {\n totalChanges: changes.length,\n additions,\n removals,\n changesByScope,\n changes,\n };\n}\n/**\n * Recursively compares two state objects and returns a list of changes\n */\nfunction diffStateObjects(obj1, obj2, path, scope) {\n const changes = [];\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n let index = 0;\n for (; index < obj1.length; index++) {\n const element = obj1[index];\n if (!obj2[index]) {\n changes.push(...diffStateObjects(element, typeof element === \"string\" ? \"\" : null, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(element, obj2[index], `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n for (; index < obj2.length; index++) {\n const element = obj2[index];\n if (!obj1[index]) {\n changes.push(...diffStateObjects(typeof element === \"string\" ? \"\" : null, element, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(obj1[index], element, `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n return changes;\n }\n // Handle primitive values\n if (typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null) {\n if (obj1 !== obj2) {\n // Special handling for strings to diff character by character\n if (typeof obj1 === \"string\" && typeof obj2 === \"string\") {\n return diffStateStrings(obj1, obj2, path, scope);\n }\n else {\n // For non-string primitives, treat a change as a remove + add\n changes.push({\n type: \"remove\",\n path,\n oldValue: obj1,\n scope,\n });\n changes.push({\n type: \"add\",\n path,\n newValue: obj2,\n scope,\n });\n }\n }\n return changes;\n }\n // Handle objects\n const obj1Record = obj1;\n const obj2Record = obj2;\n const obj1Keys = Object.keys(obj1Record);\n const obj2Keys = Object.keys(obj2Record);\n // First, check for removed keys\n for (const key of obj1Keys) {\n if (!(key in obj2Record)) {\n // Key was removed\n changes.push({\n type: \"remove\",\n path: `${path}.${key}`,\n oldValue: obj1Record[key],\n scope,\n });\n }\n }\n // Then, check for added keys and modified values\n for (const key of obj2Keys) {\n if (!(key in obj1Record)) {\n // Key was added\n changes.push({\n type: \"add\",\n path: `${path}.${key}`,\n newValue: obj2Record[key],\n scope,\n });\n }\n else if (obj1Record[key] !== obj2Record[key]) {\n // For object changes, recursively diff the objects\n const nestedChanges = diffStateObjects(obj1Record[key], obj2Record[key], `${path}.${key}`, scope);\n changes.push(...nestedChanges);\n }\n }\n return changes;\n}\n/**\n * Compares two strings character by character and returns a list of changes\n */\nfunction diffStateStrings(str1, str2, path, scope) {\n const changes = [];\n const maxLen = Math.max(str1.length, str2.length);\n for (let i = 0; i < maxLen; i++) {\n if (i >= str1.length) {\n // Addition of new character\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n else if (i >= str2.length) {\n // Removal of character\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n }\n else if (str1[i] !== str2[i]) {\n // Character changed\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n }\n return changes;\n}\n/**\n * Generates analytics data from a state diff summary\n */\nexport function generateStateAnalyticsData(diff) {\n return {\n totalChanges: diff.totalChanges,\n changesByType: {\n add: diff.additions,\n remove: diff.removals,\n },\n changesByScope: {\n global: diff.changesByScope.global.length,\n },\n changePaths: diff.changes.map((c) => c.path),\n };\n}\n","import { AnalyticsPath, } from \"@powerhousedao/analytics-engine-core\";\nimport { DateTime } from \"luxon\";\nimport { diffDocumentStates } from \"../../lib/document-diff.js\";\nimport { childLogger } from \"document-drive\";\nimport { runAsapAsync } from \"document-drive/utils/misc\";\nexport class DiffAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"diff-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/diff/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const diff = await runAsapAsync(async () => diffDocumentStates(operation.previousState, operation.state));\n const inputs = diff.changes.map((change) => this.generateInput(strand.driveId, strand.documentId, strand.branch, strand.scope, operation.index, change.type, 1, source, operation.timestamp, change.path));\n buffer.push(...inputs);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n // Flush any remaining inputs\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n generateInput(driveId, documentId, branch, scope, revision, type, value, source, timestamp, path) {\n const dimensions = {};\n const changePath = path.split(\"[\")[0].replaceAll(\".\", \"/\");\n dimensions.changes = AnalyticsPath.fromString(`ph/diff/changes/${type}`);\n dimensions.document = AnalyticsPath.fromString(`ph/diff/document/${documentId}/${branch}/${scope}/${revision}`);\n dimensions.path = AnalyticsPath.fromString(`ph/diff/path/${changePath}`);\n dimensions.drive = AnalyticsPath.fromString(`ph/diff/drive/${driveId}/${documentId}`);\n return {\n dimensions,\n metric: \"Count\",\n start: DateTime.fromISO(timestamp),\n source,\n value,\n };\n }\n}\n","/**\n * This is a scaffold file meant for customization.\n * Delete the file and run the code generator again to have it reset\n */\nimport { DiffAnalyticsProcessor } from \"./diff-analytics/index.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DiffAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\n"],"names":["diffDocumentStates","doc1","doc2","changes","globalChanges","diffStateObjects","additions","c","removals","changesByScope","obj1","obj2","path","scope","index","element","elementChanges","diffStateStrings","obj1Record","obj2Record","obj1Keys","obj2Keys","key","nestedChanges","str1","str2","maxLen","i","DiffAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","CHUNK_SIZE","chunk","buffer","operation","inputs","runAsapAsync","change","batch","driveId","documentId","branch","revision","type","value","timestamp","dimensions","changePath","DateTime","processorFactory","module"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"index.wkpkULnU.js","sources":["../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/lib/document-diff.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/diff-analytics/index.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/index.js"],"sourcesContent":["/**\n * Calculates the difference between two document states\n */\nexport function diffDocumentStates(doc1, doc2) {\n const changes = [];\n // Compare global state\n const globalChanges = diffStateObjects(doc1, doc2, \"state.global\", \"global\");\n changes.push(...globalChanges);\n // Count changes by type\n const additions = changes.filter((c) => c.type === \"add\").length;\n const removals = changes.filter((c) => c.type === \"remove\").length;\n // Group changes by scope\n const changesByScope = {\n global: changes.filter((c) => c.scope === \"global\"),\n };\n return {\n totalChanges: changes.length,\n additions,\n removals,\n changesByScope,\n changes,\n };\n}\n/**\n * Recursively compares two state objects and returns a list of changes\n */\nfunction diffStateObjects(obj1, obj2, path, scope) {\n const changes = [];\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n let index = 0;\n for (; index < obj1.length; index++) {\n const element = obj1[index];\n if (!obj2[index]) {\n changes.push(...diffStateObjects(element, typeof element === \"string\" ? \"\" : null, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(element, obj2[index], `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n for (; index < obj2.length; index++) {\n const element = obj2[index];\n if (!obj1[index]) {\n changes.push(...diffStateObjects(typeof element === \"string\" ? \"\" : null, element, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(obj1[index], element, `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n return changes;\n }\n // Handle primitive values\n if (typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null) {\n if (obj1 !== obj2) {\n // Special handling for strings to diff character by character\n if (typeof obj1 === \"string\" && typeof obj2 === \"string\") {\n return diffStateStrings(obj1, obj2, path, scope);\n }\n else {\n // For non-string primitives, treat a change as a remove + add\n changes.push({\n type: \"remove\",\n path,\n oldValue: obj1,\n scope,\n });\n changes.push({\n type: \"add\",\n path,\n newValue: obj2,\n scope,\n });\n }\n }\n return changes;\n }\n // Handle objects\n const obj1Record = obj1;\n const obj2Record = obj2;\n const obj1Keys = Object.keys(obj1Record);\n const obj2Keys = Object.keys(obj2Record);\n // First, check for removed keys\n for (const key of obj1Keys) {\n if (!(key in obj2Record)) {\n // Key was removed\n changes.push({\n type: \"remove\",\n path: `${path}.${key}`,\n oldValue: obj1Record[key],\n scope,\n });\n }\n }\n // Then, check for added keys and modified values\n for (const key of obj2Keys) {\n if (!(key in obj1Record)) {\n // Key was added\n changes.push({\n type: \"add\",\n path: `${path}.${key}`,\n newValue: obj2Record[key],\n scope,\n });\n }\n else if (obj1Record[key] !== obj2Record[key]) {\n // For object changes, recursively diff the objects\n const nestedChanges = diffStateObjects(obj1Record[key], obj2Record[key], `${path}.${key}`, scope);\n changes.push(...nestedChanges);\n }\n }\n return changes;\n}\n/**\n * Compares two strings character by character and returns a list of changes\n */\nfunction diffStateStrings(str1, str2, path, scope) {\n const changes = [];\n const maxLen = Math.max(str1.length, str2.length);\n for (let i = 0; i < maxLen; i++) {\n if (i >= str1.length) {\n // Addition of new character\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n else if (i >= str2.length) {\n // Removal of character\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n }\n else if (str1[i] !== str2[i]) {\n // Character changed\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n }\n return changes;\n}\n/**\n * Generates analytics data from a state diff summary\n */\nexport function generateStateAnalyticsData(diff) {\n return {\n totalChanges: diff.totalChanges,\n changesByType: {\n add: diff.additions,\n remove: diff.removals,\n },\n changesByScope: {\n global: diff.changesByScope.global.length,\n },\n changePaths: diff.changes.map((c) => c.path),\n };\n}\n","import { AnalyticsPath, } from \"@powerhousedao/analytics-engine-core\";\nimport { DateTime } from \"luxon\";\nimport { diffDocumentStates } from \"../../lib/document-diff.js\";\nimport { childLogger } from \"document-drive\";\nimport { runAsapAsync } from \"document-drive/utils/misc\";\nexport class DiffAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"diff-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/diff/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const diff = await runAsapAsync(async () => diffDocumentStates(operation.previousState, operation.state));\n const inputs = diff.changes.map((change) => this.generateInput(strand.driveId, strand.documentId, strand.branch, strand.scope, operation.index, change.type, 1, source, operation.timestamp, change.path));\n buffer.push(...inputs);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n // Flush any remaining inputs\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n generateInput(driveId, documentId, branch, scope, revision, type, value, source, timestamp, path) {\n const dimensions = {};\n const changePath = path.split(\"[\")[0].replaceAll(\".\", \"/\");\n dimensions.changes = AnalyticsPath.fromString(`ph/diff/changes/${type}`);\n dimensions.document = AnalyticsPath.fromString(`ph/diff/document/${documentId}/${branch}/${scope}/${revision}`);\n dimensions.path = AnalyticsPath.fromString(`ph/diff/path/${changePath}`);\n dimensions.drive = AnalyticsPath.fromString(`ph/diff/drive/${driveId}/${documentId}`);\n return {\n dimensions,\n metric: \"Count\",\n start: DateTime.fromISO(timestamp),\n source,\n value,\n };\n }\n}\n","/**\n * This is a scaffold file meant for customization.\n * Delete the file and run the code generator again to have it reset\n */\nimport { DiffAnalyticsProcessor } from \"./diff-analytics/index.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DiffAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\n"],"names":["diffDocumentStates","doc1","doc2","changes","globalChanges","diffStateObjects","additions","c","removals","changesByScope","obj1","obj2","path","scope","index","element","elementChanges","diffStateStrings","obj1Record","obj2Record","obj1Keys","obj2Keys","key","nestedChanges","str1","str2","maxLen","i","DiffAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","CHUNK_SIZE","chunk","buffer","operation","inputs","runAsapAsync","change","batch","driveId","documentId","branch","revision","type","value","timestamp","dimensions","changePath","DateTime","processorFactory","module"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.DJX9_IxB.js","./index.u4lctn3H.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
- import{_ as c}from"./index.u4lctn3H.js";import"react";import"react/jsx-runtime";import"react-dom";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))s(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c(()=>import("./index.DJX9_IxB.js").then(i=>i.bX),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
- //# sourceMappingURL=main.DTZCxlJU.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.DoxG1d4A.js","./index.u4lctn3H.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
+ import{_ as c}from"./index.u4lctn3H.js";import"react";import"react/jsx-runtime";import"react-dom";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))s(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c(()=>import("./index.DoxG1d4A.js").then(i=>i.bX),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
+ //# sourceMappingURL=main.C-z7q4Cv.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";8yBA8BA,OAAO,qBAAY,OAAAA,KAAA","names":["n"],"ignoreList":[],"sources":["../../src/renderer.ts"],"sourcesContent":["/**\n * This file will automatically be loaded by vite and run in the \"renderer\" context.\n * To learn more about the differences between the \"main\" and the \"renderer\" context in\n * Electron, visit:\n *\n * https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes\n *\n * By default, Node.js integration in this file is disabled. When enabling Node.js integration\n * in a renderer process, please be aware of potential security implications. You can read\n * more about security risks here:\n *\n * https://electronjs.org/docs/tutorial/security\n *\n * To enable Node.js integration in this file, open up `main.js` and enable the `nodeIntegration`\n * flag:\n *\n * ```\n * // Create the browser window.\n * mainWindow = new BrowserWindow({\n * width: 800,\n * height: 600,\n * webPreferences: {\n * nodeIntegration: true\n * }\n * });\n * ```\n */\n\n// splits app code into separate chunk to avoid circular dependencies\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nimport('./index.js');\n"],"file":"assets/main.DTZCxlJU.js"}
1
+ {"version":3,"mappings":";8yBA8BA,OAAO,qBAAY,OAAAA,KAAA","names":["n"],"ignoreList":[],"sources":["../../src/renderer.ts"],"sourcesContent":["/**\n * This file will automatically be loaded by vite and run in the \"renderer\" context.\n * To learn more about the differences between the \"main\" and the \"renderer\" context in\n * Electron, visit:\n *\n * https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes\n *\n * By default, Node.js integration in this file is disabled. When enabling Node.js integration\n * in a renderer process, please be aware of potential security implications. You can read\n * more about security risks here:\n *\n * https://electronjs.org/docs/tutorial/security\n *\n * To enable Node.js integration in this file, open up `main.js` and enable the `nodeIntegration`\n * flag:\n *\n * ```\n * // Create the browser window.\n * mainWindow = new BrowserWindow({\n * width: 800,\n * height: 600,\n * webPreferences: {\n * nodeIntegration: true\n * }\n * });\n * ```\n */\n\n// splits app code into separate chunk to avoid circular dependencies\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nimport('./index.js');\n"],"file":"assets/main.C-z7q4Cv.js"}
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.Czi0wE_6.js","./index.DJX9_IxB.js","./index.u4lctn3H.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.bF-gqvzp.js","./UpgradeDriveModal.BLXcEgmt.js","./CreateDocumentModal.Be8Yb4Tw.js","./AddDriveModal.Cg4TqLU6.js","./AddLocalDriveModal.D5a83v8s.js","./AddRemoteDriveModal.2QLzHCNz.js","./DriveSettingsModal.DltE5rSu.js","./SettingsModal.CZmfov8g.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.CjlFHIbF.js","./ConfirmationModal.CTmMlsXx.js","./DeleteDriveModal.D2WirfE-.js","./DebugSettingsModal.BYAH2kLg.js","./registerServiceWorker.DZCbK6MJ.js","./DisclaimerModal.cBHngnNt.js","./CookiesPolicyModal.C72UZ1KY.js","./Trans.GeuewYUs.js"])))=>i.map(i=>d[i]);
2
- import{jsxs as P,jsx as m}from"react/jsx-runtime";import h,{lazy as t,useContext as A,useState as a,useCallback as n,useMemo as R,Suspense as I}from"react";import{_ as o}from"./index.u4lctn3H.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.Czi0wE_6.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.BLXcEgmt.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.Be8Yb4Tw.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.Cg4TqLU6.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.D5a83v8s.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.2QLzHCNz.js"),__vite__mapDeps([11,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.DltE5rSu.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.CZmfov8g.js"),__vite__mapDeps([13,14,1,2,3,4,5,6,15]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.CTmMlsXx.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.D2WirfE-.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.BYAH2kLg.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.cBHngnNt.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.C72UZ1KY.js"),__vite__mapDeps([21,1,2,3,4,5,22]),import.meta.url).then(e=>({default:e.CookiesPolicyModal})))},u=h.createContext({showModal:()=>{},closeModal:()=>{}}),C=()=>A(u),x=e=>{const{children:s}=e,[p,c]=a(),[l,M]=a(),[D,d]=a(!1),i=n((E,f)=>{d(!0),c(f),M(E)},[]),r=n(()=>{d(!1)},[]),_=l?L[l]:null,v=R(()=>({showModal:i,closeModal:r}),[r,i]);return P(u.Provider,{value:v,children:[s,m(I,{name:"ModalManager",children:_&&m(_,{...p,open:D,onClose:r})})]})};export{u as ModalContext,x as ModalManager,C as useModal};
3
- //# sourceMappingURL=modal.B9PP9n2B.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.59EW1OYd.js","./index.DoxG1d4A.js","./index.u4lctn3H.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.1z5U6LVM.js","./UpgradeDriveModal.ooyxdViv.js","./CreateDocumentModal.hCyyznzw.js","./AddDriveModal.atIXkYDv.js","./AddLocalDriveModal.D5a83v8s.js","./AddRemoteDriveModal.2QLzHCNz.js","./DriveSettingsModal.G8tppGWb.js","./SettingsModal.CLpRdHfo.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.DmNu7Xm0.js","./ConfirmationModal.CTmMlsXx.js","./DeleteDriveModal.Ba1pkRrp.js","./DebugSettingsModal.CgAXBUpR.js","./registerServiceWorker.BNf1b8wD.js","./DisclaimerModal.CMaIiFx2.js","./CookiesPolicyModal.CSr2nTWu.js","./Trans.CBZW5Jpo.js"])))=>i.map(i=>d[i]);
2
+ import{jsxs as P,jsx as m}from"react/jsx-runtime";import h,{lazy as t,useContext as A,useState as a,useCallback as n,useMemo as R,Suspense as I}from"react";import{_ as o}from"./index.u4lctn3H.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.59EW1OYd.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.ooyxdViv.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.hCyyznzw.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.atIXkYDv.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.D5a83v8s.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.2QLzHCNz.js"),__vite__mapDeps([11,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.G8tppGWb.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.CLpRdHfo.js"),__vite__mapDeps([13,14,1,2,3,4,5,6,15]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.CTmMlsXx.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.Ba1pkRrp.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.CgAXBUpR.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.CMaIiFx2.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.CSr2nTWu.js"),__vite__mapDeps([21,1,2,3,4,5,22]),import.meta.url).then(e=>({default:e.CookiesPolicyModal})))},u=h.createContext({showModal:()=>{},closeModal:()=>{}}),C=()=>A(u),x=e=>{const{children:s}=e,[p,c]=a(),[l,M]=a(),[D,d]=a(!1),i=n((E,f)=>{d(!0),c(f),M(E)},[]),r=n(()=>{d(!1)},[]),_=l?L[l]:null,v=R(()=>({showModal:i,closeModal:r}),[r,i]);return P(u.Provider,{value:v,children:[s,m(I,{name:"ModalManager",children:_&&m(_,{...p,open:D,onClose:r})})]})};export{u as ModalContext,x as ModalManager,C as useModal};
3
+ //# sourceMappingURL=modal.BizsZF2D.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.B9PP9n2B.js"}
1
+ {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.BizsZF2D.js"}
@@ -1,2 +1,2 @@
1
- import{Component as w,createElement as v,createContext as b,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{w as E,G as g,Q as C,W as M,v as A}from"./index.DJX9_IxB.js";import{aG as y,x as m}from"./index.u4lctn3H.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as D}from"./modal.B9PP9n2B.js";import{h as B,d as T}from"./nodes.bF-gqvzp.js";const I=b(null),f={didCatch:!1,error:null};class G extends w{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=v(r,a);else if(n!==void 0)d=n;else throw o}return v(I.Provider,{value:{didCatch:i,error:o,resetErrorBoundary:this.resetErrorBoundary}},d)}}function x(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return s.length!==t.length||s.some((e,r)=>!Object.is(e,t[r]))}function R({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(y,{name:"Hdd",size:32}):h(y,{name:"Server",size:32})}function F(){const{showModal:s}=D(),{addDrive:t,addRemoteDrive:e}=g(),r=C(),n=M(),i=u(async a=>{try{const c=n.find(S=>S.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function H(){const{showModal:s}=D(),{deleteNode:t}=g(),e=A(),r=B(),n=T();return u(o=>{s("deleteItem",{id:o.id,onDelete:async d=>{if(!(e!=null&&e.header.id))return;d();const a=o.kind==="folder"?"notifications.deleteFolderSuccess":"notifications.fileDeleteSuccess";await t(e.header.id,o.id),n(r==null?void 0:r.id),m(l(a),{type:"connect-deleted"})}})},[t,e==null?void 0:e.header.id,r==null?void 0:r.id,n,s,l])}export{R as D,G as E,F as a,H as u};
2
- //# sourceMappingURL=modals.BVvUIuNm.js.map
1
+ import{Component as w,createElement as v,createContext as b,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{w as E,G as g,Q as C,W as M,v as A}from"./index.DoxG1d4A.js";import{aG as y,x as m}from"./index.u4lctn3H.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as D}from"./modal.BizsZF2D.js";import{h as B,d as T}from"./nodes.1z5U6LVM.js";const I=b(null),f={didCatch:!1,error:null};class G extends w{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=v(r,a);else if(n!==void 0)d=n;else throw o}return v(I.Provider,{value:{didCatch:i,error:o,resetErrorBoundary:this.resetErrorBoundary}},d)}}function x(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return s.length!==t.length||s.some((e,r)=>!Object.is(e,t[r]))}function R({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(y,{name:"Hdd",size:32}):h(y,{name:"Server",size:32})}function F(){const{showModal:s}=D(),{addDrive:t,addRemoteDrive:e}=g(),r=C(),n=M(),i=u(async a=>{try{const c=n.find(S=>S.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function H(){const{showModal:s}=D(),{deleteNode:t}=g(),e=A(),r=B(),n=T();return u(o=>{s("deleteItem",{id:o.id,onDelete:async d=>{if(!(e!=null&&e.header.id))return;d();const a=o.kind==="folder"?"notifications.deleteFolderSuccess":"notifications.fileDeleteSuccess";await t(e.header.id,o.id),n(r==null?void 0:r.id),m(l(a),{type:"connect-deleted"})}})},[t,e==null?void 0:e.header.id,r==null?void 0:r.id,n,s,l])}export{R as D,G as E,F as a,H as u};
2
+ //# sourceMappingURL=modals.Bh5aGAsh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modals.BVvUIuNm.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"modals.Bh5aGAsh.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{m as e,n as o,u as n}from"./useInitSentry.DAHyudtD.js";import"react/jsx-runtime";import"./index.u4lctn3H.js";import"react";import"react-dom";import"./index.DJX9_IxB.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwmKLuW0.js";import"./registerServiceWorker.DZCbK6MJ.js";n();var D=class extends e{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let s=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(s,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{D as NodeFS};
2
- //# sourceMappingURL=nodefs.DG9XiPrJ.js.map
1
+ import{m as e,n as o,u as n}from"./useInitSentry.BsZC-0d6.js";import"react/jsx-runtime";import"./index.u4lctn3H.js";import"react";import"react-dom";import"./index.DoxG1d4A.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BwfkDBue.js";import"./registerServiceWorker.BNf1b8wD.js";n();var D=class extends e{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let s=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(s,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{D as NodeFS};
2
+ //# sourceMappingURL=nodefs.DRM5jodc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodefs.DG9XiPrJ.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"sVAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQC,SAAU,CAAC,EAAEC,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,EAAEC,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAGA,EAAE,QAAQ,CAAA,EAAGC,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"nodefs.DRM5jodc.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"sVAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQC,SAAU,CAAC,EAAEC,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,EAAEC,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAGA,EAAE,QAAQ,CAAA,EAAGC,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{useCallback as p}from"react";import{a as i,bJ as F,bK as m,bL as h,bM as b,bN as c,bO as S,bP as v,v as D,bQ as a,bR as I,O as w,x as A}from"./index.DJX9_IxB.js";function l(){return i(F)}function y(){return i(m)}function s(){return i(S)}function B(){return p(n=>{h(n)},[])}function P(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function k(n){const e=P(n);return(e==null?void 0:e.parentFolder)??void 0}function C(n){const e=k(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function O(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return C(t)}function K(n){const e=s(),t=D();if(!e||!t)return[];const r=A(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function g(){return i(v)}function j(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return K(t)}function N(n){const e=s(),t=w();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function E(n){const e=N(n);return a(e.filter(t=>c(t)))}function J(n){const e=N(n);return a(e.filter(t=>I(t)))}function M(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);return t==null?void 0:t.name}function Q(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);if(t)return t.kind.toUpperCase()}export{J as a,f as b,j as c,B as d,l as e,k as f,C as g,O as h,g as i,y as j,M as k,Q as l,E as u};
2
- //# sourceMappingURL=nodes.bF-gqvzp.js.map
1
+ import{useCallback as p}from"react";import{a as i,bJ as F,bK as m,bL as h,bM as b,bN as c,bO as S,bP as v,v as D,bQ as a,bR as I,O as w,x as A}from"./index.DoxG1d4A.js";function l(){return i(F)}function y(){return i(m)}function s(){return i(S)}function B(){return p(n=>{h(n)},[])}function P(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function k(n){const e=P(n);return(e==null?void 0:e.parentFolder)??void 0}function C(n){const e=k(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function O(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return C(t)}function K(n){const e=s(),t=D();if(!e||!t)return[];const r=A(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function g(){return i(v)}function j(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return K(t)}function N(n){const e=s(),t=w();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function E(n){const e=N(n);return a(e.filter(t=>c(t)))}function J(n){const e=N(n);return a(e.filter(t=>I(t)))}function M(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);return t==null?void 0:t.name}function Q(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);if(t)return t.kind.toUpperCase()}export{J as a,f as b,j as c,B as d,l as e,k as f,C as g,O as h,g as i,y as j,M as k,Q as l,E as u};
2
+ //# sourceMappingURL=nodes.1z5U6LVM.js.map