@powerhousedao/connect 3.3.0-dev.3 → 3.3.0-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AddDriveModal.BWLDv9-A.js → AddDriveModal.8O_YoVfP.js} +2 -2
- package/dist/assets/{AddDriveModal.BWLDv9-A.js.map → AddDriveModal.8O_YoVfP.js.map} +1 -1
- package/dist/assets/{AddLocalDriveModal.BJL0ePdk.js → AddLocalDriveModal.BAkHn56-.js} +2 -2
- package/dist/assets/{AddLocalDriveModal.BJL0ePdk.js.map → AddLocalDriveModal.BAkHn56-.js.map} +1 -1
- package/dist/assets/{AddRemoteDriveModal.DLdo_wgd.js → AddRemoteDriveModal.BeBjr_Gc.js} +2 -2
- package/dist/assets/{AddRemoteDriveModal.DLdo_wgd.js.map → AddRemoteDriveModal.BeBjr_Gc.js.map} +1 -1
- package/dist/assets/{ConfirmationModal.BVWHyq8I.js → ConfirmationModal.C1UZuSFY.js} +2 -2
- package/dist/assets/{ConfirmationModal.BVWHyq8I.js.map → ConfirmationModal.C1UZuSFY.js.map} +1 -1
- package/dist/assets/{CookiesPolicyModal.DTMmXTXa.js → CookiesPolicyModal.B-ZxNrOu.js} +2 -2
- package/dist/assets/{CookiesPolicyModal.DTMmXTXa.js.map → CookiesPolicyModal.B-ZxNrOu.js.map} +1 -1
- package/dist/assets/{CreateDocumentModal.CKf9_npU.js → CreateDocumentModal.D03XttbJ.js} +2 -2
- package/dist/assets/{CreateDocumentModal.CKf9_npU.js.map → CreateDocumentModal.D03XttbJ.js.map} +1 -1
- package/dist/assets/{DebugSettingsModal.DXakhKUJ.js → DebugSettingsModal.B3EmFTjS.js} +2 -2
- package/dist/assets/{DebugSettingsModal.DXakhKUJ.js.map → DebugSettingsModal.B3EmFTjS.js.map} +1 -1
- package/dist/assets/{DeleteDriveModal.Bbpouoff.js → DeleteDriveModal.D8Ch4AyV.js} +2 -2
- package/dist/assets/{DeleteDriveModal.Bbpouoff.js.map → DeleteDriveModal.D8Ch4AyV.js.map} +1 -1
- package/dist/assets/{DeleteItemModal.De0DPxV8.js → DeleteItemModal.DqemXyAD.js} +2 -2
- package/dist/assets/{DeleteItemModal.De0DPxV8.js.map → DeleteItemModal.DqemXyAD.js.map} +1 -1
- package/dist/assets/{DisclaimerModal.BiQFbwZ6.js → DisclaimerModal.Cz1xkiPi.js} +2 -2
- package/dist/assets/{DisclaimerModal.BiQFbwZ6.js.map → DisclaimerModal.Cz1xkiPi.js.map} +1 -1
- package/dist/assets/{DriveSettingsModal.DF2Lz9YO.js → DriveSettingsModal.BS8aHEgW.js} +2 -2
- package/dist/assets/{DriveSettingsModal.DF2Lz9YO.js.map → DriveSettingsModal.BS8aHEgW.js.map} +1 -1
- package/dist/assets/{SettingsModal.0rI7lRqF.js → SettingsModal.BShwuWMu.js} +2 -2
- package/dist/assets/{SettingsModal.0rI7lRqF.js.map → SettingsModal.BShwuWMu.js.map} +1 -1
- package/dist/assets/{Trans.9WMVTRYl.js → Trans.LIVu639i.js} +2 -2
- package/dist/assets/{Trans.9WMVTRYl.js.map → Trans.LIVu639i.js.map} +1 -1
- package/dist/assets/{UpgradeDriveModal.Dglc4A67.js → UpgradeDriveModal.CNx8GF4J.js} +2 -2
- package/dist/assets/{UpgradeDriveModal.Dglc4A67.js.map → UpgradeDriveModal.CNx8GF4J.js.map} +1 -1
- package/dist/assets/app-skeleton.js +1 -1
- package/dist/assets/{app.Brcw_g_p.js → app.CTsJJoBZ.js} +5 -5
- package/dist/assets/app.CTsJJoBZ.js.map +1 -0
- package/dist/assets/{atlas-import.CjA9uDEt.js → atlas-import.CLaCnlbK.js} +2 -2
- package/dist/assets/{atlas-import.CjA9uDEt.js.map → atlas-import.CLaCnlbK.js.map} +1 -1
- package/dist/assets/{connect.config._A2guXhv.js → connect.config.QPxkaHWU.js} +2 -2
- package/dist/assets/{connect.config._A2guXhv.js.map → connect.config.QPxkaHWU.js.map} +1 -1
- package/dist/assets/{content.mtsZfVv6.js → content.BB8Vj1Mk.js} +3 -3
- package/dist/assets/{content.mtsZfVv6.js.map → content.BB8Vj1Mk.js.map} +1 -1
- package/dist/assets/{cookie-banner.7WqE8VdG.js → cookie-banner.B4LAsOjf.js} +2 -2
- package/dist/assets/{cookie-banner.7WqE8VdG.js.map → cookie-banner.B4LAsOjf.js.map} +1 -1
- package/dist/assets/{home.CHwcgR2d.js → home.B-eOkfL9.js} +2 -2
- package/dist/assets/{home.CHwcgR2d.js.map → home.B-eOkfL9.js.map} +1 -1
- package/dist/assets/{index.UWl3P2EU.js → index.BHO_3xz1.js} +2 -2
- package/dist/assets/{index.UWl3P2EU.js.map → index.BHO_3xz1.js.map} +1 -1
- package/dist/assets/{index.BGemDCBc.js → index.BcBVmRI8.js} +3 -3
- package/dist/assets/{index.BGemDCBc.js.map → index.BcBVmRI8.js.map} +1 -1
- package/dist/assets/{index.BvX7i3ya.js → index.CXsbRPj_.js} +2 -2
- package/dist/assets/{index.BvX7i3ya.js.map → index.CXsbRPj_.js.map} +1 -1
- package/dist/assets/{index.Dwexo_zk.js → index.DD-XJyzV.js} +3 -3
- package/dist/assets/{index.Dwexo_zk.js.map → index.DD-XJyzV.js.map} +1 -1
- package/dist/assets/{index.DWdwQnZG.js → index.DVyS-CEH.js} +2 -2
- package/dist/assets/{index.DWdwQnZG.js.map → index.DVyS-CEH.js.map} +1 -1
- package/dist/assets/{index.Q6GFaI_V.js → index.Dox9k2m2.js} +2 -2
- package/dist/assets/{index.Q6GFaI_V.js.map → index.Dox9k2m2.js.map} +1 -1
- package/dist/assets/{index.C_GzfUCS.js → index.IOLzgUZt.js} +2 -2
- package/dist/assets/{index.C_GzfUCS.js.map → index.IOLzgUZt.js.map} +1 -1
- package/dist/assets/{index.DE5r83gK.js → index.Zdmh9O8T.js} +2 -2
- package/dist/assets/{index.DE5r83gK.js.map → index.Zdmh9O8T.js.map} +1 -1
- package/dist/assets/{main.DaM0PlWx.js → main.Cd2dhgIr.js} +3 -3
- package/dist/assets/{main.DaM0PlWx.js.map → main.Cd2dhgIr.js.map} +1 -1
- package/dist/assets/{modal.BFkV0xND.js → modal.BvtSJIvz.js} +3 -3
- package/dist/assets/{modal.BFkV0xND.js.map → modal.BvtSJIvz.js.map} +1 -1
- package/dist/assets/{modals.B3lvHv29.js → modals.Di_yfGYo.js} +2 -2
- package/dist/assets/{modals.B3lvHv29.js.map → modals.Di_yfGYo.js.map} +1 -1
- package/dist/assets/{nodefs.DfCwvm03.js → nodefs.Dt53RQvO.js} +2 -2
- package/dist/assets/{nodefs.DfCwvm03.js.map → nodefs.Dt53RQvO.js.map} +1 -1
- package/dist/assets/{opfs-ahp.DhpsuWfZ.js → opfs-ahp.CO8kl4hl.js} +2 -2
- package/dist/assets/{opfs-ahp.DhpsuWfZ.js.map → opfs-ahp.CO8kl4hl.js.map} +1 -1
- package/dist/assets/{react-error-boundary.esm.BdKfLyaR.js → react-error-boundary.esm.DHp-mKwc.js} +2 -2
- package/dist/assets/{react-error-boundary.esm.BdKfLyaR.js.map → react-error-boundary.esm.DHp-mKwc.js.map} +1 -1
- package/dist/assets/{registerServiceWorker.w3jaNxQm.js → registerServiceWorker.D6gJtVm6.js} +2 -2
- package/dist/assets/{registerServiceWorker.w3jaNxQm.js.map → registerServiceWorker.D6gJtVm6.js.map} +1 -1
- package/dist/assets/{root.C9pGPT_U.js → root.B0MB5MLe.js} +2 -2
- package/dist/assets/{root.C9pGPT_U.js.map → root.B0MB5MLe.js.map} +1 -1
- package/dist/assets/{toast.CJBPfWGX.js → toast.BwLkWP-U.js} +2 -2
- package/dist/assets/{toast.CJBPfWGX.js.map → toast.BwLkWP-U.js.map} +1 -1
- package/dist/assets/{useAcceptedCookies.B2E2vhVo.js → useAcceptedCookies.Buwp7LOR.js} +2 -2
- package/dist/assets/{useAcceptedCookies.B2E2vhVo.js.map → useAcceptedCookies.Buwp7LOR.js.map} +1 -1
- package/dist/assets/useConnectConfig.6WMomTcV.js +2 -0
- package/dist/assets/{useConnectConfig.CwkmyF48.js.map → useConnectConfig.6WMomTcV.js.map} +1 -1
- package/dist/assets/useDefaultDocumentModelEditor.DdcMIW4a.js +2 -0
- package/dist/assets/{useDefaultDocumentModelEditor.DcbpTZSv.js.map → useDefaultDocumentModelEditor.DdcMIW4a.js.map} +1 -1
- package/dist/assets/{useDocumentDriveServer.ArDMFxnb.js → useDocumentDriveServer.KfZLuxGa.js} +2 -2
- package/dist/assets/{useDocumentDriveServer.ArDMFxnb.js.map → useDocumentDriveServer.KfZLuxGa.js.map} +1 -1
- package/dist/assets/{useFeatureFlags.BTVpX3W5.js → useFeatureFlags.BsV79IJF.js} +2 -2
- package/dist/assets/{useFeatureFlags.BTVpX3W5.js.map → useFeatureFlags.BsV79IJF.js.map} +1 -1
- package/dist/assets/{user.DBQJIPxu.js → user.Bc_RsKKN.js} +4 -4
- package/dist/assets/{user.DBQJIPxu.js.map → user.Bc_RsKKN.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/vite-envs.sh +1 -1
- package/package.json +9 -9
- package/dist/assets/app.Brcw_g_p.js.map +0 -1
- package/dist/assets/useConnectConfig.CwkmyF48.js +0 -2
- package/dist/assets/useDefaultDocumentModelEditor.DcbpTZSv.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var b=r=>{throw TypeError(r)};var R=(r,t,e)=>t.has(r)||b("Cannot "+e);var a=(r,t,e)=>(R(r,t,"read from private field"),e?e.call(r):t.get(r)),c=(r,t,e)=>t.has(r)?b("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),d=(r,t,e,s)=>(R(r,t,"write to private field"),s?s.call(r,e):t.set(r,e),e),i=(r,t,e)=>(R(r,t,"access private method"),e);import{ar as L,as as k,at as S,au as U,av as x,aw as B,ax as T,ay as j,az as A,aA as _,m as C}from"./index.
|
|
2
|
-
//# sourceMappingURL=index.
|
|
1
|
+
var b=r=>{throw TypeError(r)};var R=(r,t,e)=>t.has(r)||b("Cannot "+e);var a=(r,t,e)=>(R(r,t,"read from private field"),e?e.call(r):t.get(r)),c=(r,t,e)=>t.has(r)?b("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),d=(r,t,e,s)=>(R(r,t,"write to private field"),s?s.call(r,e):t.set(r,e),e),i=(r,t,e)=>(R(r,t,"access private method"),e);import{ar as L,as as k,at as S,au as U,av as x,aw as B,ax as T,ay as j,az as A,aA as _,m as C}from"./index.BcBVmRI8.js";import{R as $,k as D,l as P}from"./useFeatureFlags.BsV79IJF.js";import{c as z}from"./connect.config.QPxkaHWU.js";const J=[U,x,B,T,j,A];function K(r){return J.find(t=>t.id===r)}let E=S({chain:U,batch:{multicall:!0},transport:_()});function F(r){var e;if(((e=E.chain)==null?void 0:e.id)===r)return;const t=K(r);if(!t)throw new Error(`Invalid chain id: ${r}`);E=S({chain:t,batch:{multicall:!0},transport:_()})}const G=async(r,t)=>{const e={};try{F(t);const s=await L(E,{address:r});if(s){e.name=s;const n=await k(E,{name:s});n&&(e.avatarUrl=n)}}catch(s){console.error(s)}return e};function y(r){const t=r.split(":");if(!r.startsWith("did:pkh:")||t.length!==5)throw new Error("Invalid pkh did");const[,,e,s,n]=t;if(!n.startsWith("0x"))throw new Error(`Invalid address: ${n}`);const h=Number(s);if(isNaN(h))throw new Error(`Invalid chain id: ${s}`);return{chainId:h,networkId:e,address:n}}var u,v,f,I;class H{constructor(t,e){c(this,f);c(this,u);c(this,v);d(this,u,t),d(this,v,e)}get(t){return a(this,u).get(i(this,f,I).call(this,t))}set(t,e){return a(this,u).set(i(this,f,I).call(this,t),e)}delete(t){return a(this,u).delete(i(this,f,I).call(this,t))}}u=new WeakMap,v=new WeakMap,f=new WeakSet,I=function(t){return`${a(this,v)}:${t.toString()}`};const M={get:function(r){const t=localStorage.getItem(r);if(t)return JSON.parse(t)},set:function(r,t){return t?localStorage.setItem(r,JSON.stringify(t)):localStorage.removeItem(r)},delete:function(r){return localStorage.removeItem(r)}};class q extends H{constructor(t){super(M,`${z.routerBasename}:${t}`)}}function Q(r){return new O(new q("renown"),r)}var m,g,w,p,o,l,W;class O{constructor(t,e,s=$){c(this,o);c(this,m);c(this,g);c(this,w);c(this,p,new EventTarget);d(this,g,t),d(this,w,e),d(this,m,s),this.user&&this.login(this.user.did).catch(()=>{})}get user(){return a(this,g).get("user")}set connectId(t){d(this,w,t);const e=this.user;i(this,o,l).call(this,void 0),e&&this.login(e.did).catch(s=>{console.log("User no longer authenticated:",s)})}async login(t){try{const e=y(t),s=await i(this,o,W).call(this,e.address,e.chainId,a(this,w));if(!s)throw i(this,o,l).call(this,void 0),new Error("Credential not found");const n={...e,did:t,credential:s};return G(n.address,n.chainId).then(h=>{var N;((N=this.user)==null?void 0:N.address)===n.address&&this.user.chainId===n.chainId&&i(this,o,l).call(this,{...this.user,ens:h})}).catch(C.error),i(this,o,l).call(this,n),n}catch(e){throw C.error(e),i(this,o,l).call(this,void 0),e}}logout(){i(this,o,l).call(this,void 0)}on(t,e){const s=n=>{e(n.detail)};return a(this,p).addEventListener(t,s),()=>{a(this,p).removeEventListener(t,s)}}}m=new WeakMap,g=new WeakMap,w=new WeakMap,p=new WeakMap,o=new WeakSet,l=function(t){t?a(this,g).set("user",t):a(this,g).delete("user"),a(this,p).dispatchEvent(new CustomEvent("user",{detail:t}))},W=async function(t,e,s){if(!a(this,m))throw new Error("RENOWN_URL is not set");const n=new URL(`/api/auth/credential?address=${encodeURIComponent(t)}&chainId=${encodeURIComponent(e)}&connectId=${encodeURIComponent(s)}`,a(this,m)),h=await fetch(n,{method:"GET"});if(h.ok)return(await h.json()).credential;throw new Error("Failed to get credential")};const tt=Object.freeze(Object.defineProperty({__proto__:null,RENOWN_CHAIN_ID:P,RENOWN_NETWORK_ID:D,RENOWN_URL:$,Renown:O,initRenownBrowser:Q,parsePkhDid:y},Symbol.toStringTag,{value:"Module"}));export{H as B,O as R,G as a,tt as b,K as g,Q as i,y as p};
|
|
2
|
+
//# sourceMappingURL=index.Zdmh9O8T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.DE5r83gK.js","sources":["../../src/services/viem.ts","../../src/services/renown/utils.ts","../../src/services/storage/index.ts","../../src/services/storage/browser.ts","../../src/services/renown/browser.ts","../../src/services/renown/index.ts"],"sourcesContent":["import { createPublicClient, http, type PublicClient } from 'viem';\nimport { getEnsAvatar, getEnsName } from 'viem/actions';\nimport {\n arbitrum,\n base,\n type Chain,\n goerli,\n mainnet,\n optimism,\n sepolia,\n} from 'viem/chains';\n\nconst defaultChains = [mainnet, sepolia, goerli, arbitrum, base, optimism];\n\nexport function getChain(id: number): Chain | undefined {\n return defaultChains.find(chain => chain.id === id);\n // TODO: allow loading extra chains at build time\n // const chains = await import('viem/chains');\n // return Object.values(chains).find(\n // x =>\n // typeof x === 'object' &&\n // x !== null &&\n // 'id' in x &&\n // (x as Chain).id === id,\n // ) as Chain | undefined;\n}\n\nlet client: PublicClient = createPublicClient({\n chain: mainnet,\n batch: {\n multicall: true,\n },\n transport: http(),\n});\n\nfunction updateChain(chainId: number) {\n if (client.chain?.id === chainId) {\n return;\n }\n\n const chain = getChain(chainId);\n if (!chain) {\n throw new Error(`Invalid chain id: ${chainId}`);\n }\n\n client = createPublicClient({\n chain,\n batch: {\n multicall: true,\n },\n transport: http(),\n });\n}\n\nexport type ENSInfo = {\n name?: string;\n avatarUrl?: string;\n};\n\nexport const getEnsInfo = async (\n address: `0x${string}`,\n chainId: number,\n): Promise<ENSInfo> => {\n const result: ENSInfo = {};\n try {\n updateChain(chainId);\n const name = await getEnsName(client, { address });\n if (name) {\n result.name = name;\n\n const avatarUrl = await getEnsAvatar(client, { name });\n if (avatarUrl) {\n result.avatarUrl = avatarUrl;\n }\n }\n } catch (e) {\n console.error(e);\n }\n return result;\n};\n","export type PKHDid = {\n networkId: string;\n chainId: number;\n address: `0x${string}`;\n};\n\nexport function parsePkhDid(did: string): PKHDid {\n const parts = did.split(':');\n if (!did.startsWith('did:pkh:') || parts.length !== 5) {\n throw new Error('Invalid pkh did');\n }\n const [, , networkId, chainIdStr, address] = parts;\n\n if (!address.startsWith('0x')) {\n throw new Error(`Invalid address: ${address}`);\n }\n\n const chainId = Number(chainIdStr);\n if (isNaN(chainId)) {\n throw new Error(`Invalid chain id: ${chainIdStr}`);\n }\n\n return {\n chainId,\n networkId,\n address: address as PKHDid['address'],\n };\n}\n","export interface IStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> {\n get<Key extends keyof T>(key: Key): T[Key];\n set<Key extends keyof T>(key: Key, value?: T[Key]): void;\n delete<Key extends keyof T>(key: Key): void;\n}\n\nexport class BaseStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> implements IStorage<T>\n{\n #store: IStorage<T>;\n #namespace: string;\n\n protected constructor(store: IStorage<T>, namespace: string) {\n this.#store = store;\n this.#namespace = namespace;\n }\n\n #buildKey<Key extends keyof T>(key: Key): Key {\n return `${this.#namespace}:${key.toString()}` as Key;\n }\n\n get<Key extends keyof T>(key: Key): T[Key] {\n return this.#store.get(this.#buildKey(key));\n }\n set<Key extends keyof T>(key: Key, value?: T[Key] | undefined): void {\n return this.#store.set(this.#buildKey(key), value);\n }\n delete<Key extends keyof T>(key: Key): void {\n return this.#store.delete(this.#buildKey(key));\n }\n}\n","import connectConfig from '#connect-config';\nimport { BaseStorage, type IStorage } from './index.js';\n\nconst store: IStorage = {\n get: function <Key extends string>(key: Key): unknown {\n const value = localStorage.getItem(key);\n if (value) {\n return JSON.parse(value);\n }\n return undefined;\n },\n set: function <Key extends string>(key: Key, value?: unknown): void {\n return value\n ? localStorage.setItem(key, JSON.stringify(value))\n : localStorage.removeItem(key);\n },\n delete: function <Key extends string>(key: Key): void {\n return localStorage.removeItem(key);\n },\n};\n\nexport class BrowserStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> extends BaseStorage<T> {\n constructor(namespace: string) {\n super(\n store as IStorage<T>,\n `${connectConfig.routerBasename}:${namespace}`,\n );\n }\n}\n","import { Renown } from './index.js';\nimport { BrowserStorage } from '../storage/browser.js';\n\nexport function initRenownBrowser(connectId: string) {\n return new Renown(new BrowserStorage('renown'), connectId);\n}\n","import { logger } from 'document-drive';\nimport type { IStorage } from '../storage/index.js';\nimport { getEnsInfo } from '../viem.js';\nimport { RENOWN_URL } from './constants.js';\nimport {\n type PowerhouseVerifiableCredential,\n type RenownStorage,\n type User,\n} from './types.js';\nimport { parsePkhDid } from './utils.js';\n\nexport * from './browser.js';\nexport * from './constants.js';\nexport * from './types.js';\nexport type {\n PowerhouseVerifiableCredential,\n Unsubscribe,\n User,\n} from './types.js';\nexport * from './utils.js';\n\nexport class Renown {\n #baseUrl: string;\n #store: RenownStorage;\n #connectId: string;\n #eventEmitter = new EventTarget();\n\n constructor(store: IStorage, connectId: string, baseUrl = RENOWN_URL) {\n this.#store = store as RenownStorage;\n this.#connectId = connectId;\n this.#baseUrl = baseUrl;\n\n if (this.user) {\n this.login(this.user.did).catch(() => void 0);\n }\n }\n\n get user() {\n return this.#store.get('user');\n }\n\n #updateUser(user: User | undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n user ? this.#store.set('user', user) : this.#store.delete('user');\n this.#eventEmitter.dispatchEvent(\n new CustomEvent('user', { detail: user }),\n );\n }\n\n set connectId(connectId: string) {\n this.#connectId = connectId;\n const user = this.user;\n\n this.#updateUser(undefined);\n\n // tries to login with new connectId\n if (user) {\n this.login(user.did).catch(e => {\n console.log('User no longer authenticated:', e);\n });\n }\n }\n\n async login(did: string): Promise<User> {\n try {\n const result = parsePkhDid(did);\n\n const credential = await this.#getCredential(\n result.address,\n result.chainId,\n this.#connectId,\n );\n if (!credential) {\n this.#updateUser(undefined);\n throw new Error('Credential not found');\n }\n const user: User = {\n ...result,\n did,\n credential,\n };\n\n getEnsInfo(user.address, user.chainId)\n .then(ens => {\n if (\n this.user?.address === user.address &&\n this.user.chainId === user.chainId\n ) {\n this.#updateUser({ ...this.user, ens });\n }\n })\n .catch(logger.error);\n\n this.#updateUser(user);\n return user;\n } catch (error) {\n logger.error(error);\n this.#updateUser(undefined);\n throw error;\n }\n }\n\n logout() {\n this.#updateUser(undefined);\n }\n\n on(event: 'user', listener: (user: User) => void) {\n const eventListener = ((e: CustomEvent<User>) => {\n listener(e.detail);\n }) as EventListener;\n\n this.#eventEmitter.addEventListener(event, eventListener);\n return () => {\n this.#eventEmitter.removeEventListener(event, eventListener);\n };\n }\n\n async #getCredential(\n address: string,\n chainId: number,\n connectId: string,\n ): Promise<PowerhouseVerifiableCredential | undefined> {\n if (!this.#baseUrl) {\n throw new Error('RENOWN_URL is not set');\n }\n const url = new URL(\n `/api/auth/credential?address=${encodeURIComponent(address)}&chainId=${encodeURIComponent(chainId)}&connectId=${encodeURIComponent(connectId)}`,\n this.#baseUrl,\n );\n const response = await fetch(url, {\n method: 'GET',\n });\n if (response.ok) {\n const result = (await response.json()) as {\n credential: PowerhouseVerifiableCredential;\n };\n return result.credential;\n } else {\n throw new Error('Failed to get credential');\n }\n }\n}\n"],"names":["defaultChains","mainnet","sepolia","goerli","arbitrum","base","optimism","getChain","id","chain","client","createPublicClient","http","updateChain","chainId","_a","getEnsInfo","address","result","name","getEnsName","avatarUrl","getEnsAvatar","e","parsePkhDid","did","parts","networkId","chainIdStr","BaseStorage","store","namespace","__privateAdd","_BaseStorage_instances","_store","_namespace","__privateSet","key","__privateGet","__privateMethod","buildKey_fn","value","BrowserStorage","connectConfig","initRenownBrowser","connectId","Renown","baseUrl","RENOWN_URL","_Renown_instances","_baseUrl","_connectId","_eventEmitter","user","updateUser_fn","credential","getCredential_fn","ens","logger","error","event","listener","eventListener","url","response"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.Zdmh9O8T.js","sources":["../../src/services/viem.ts","../../src/services/renown/utils.ts","../../src/services/storage/index.ts","../../src/services/storage/browser.ts","../../src/services/renown/browser.ts","../../src/services/renown/index.ts"],"sourcesContent":["import { createPublicClient, http, type PublicClient } from 'viem';\nimport { getEnsAvatar, getEnsName } from 'viem/actions';\nimport {\n arbitrum,\n base,\n type Chain,\n goerli,\n mainnet,\n optimism,\n sepolia,\n} from 'viem/chains';\n\nconst defaultChains = [mainnet, sepolia, goerli, arbitrum, base, optimism];\n\nexport function getChain(id: number): Chain | undefined {\n return defaultChains.find(chain => chain.id === id);\n // TODO: allow loading extra chains at build time\n // const chains = await import('viem/chains');\n // return Object.values(chains).find(\n // x =>\n // typeof x === 'object' &&\n // x !== null &&\n // 'id' in x &&\n // (x as Chain).id === id,\n // ) as Chain | undefined;\n}\n\nlet client: PublicClient = createPublicClient({\n chain: mainnet,\n batch: {\n multicall: true,\n },\n transport: http(),\n});\n\nfunction updateChain(chainId: number) {\n if (client.chain?.id === chainId) {\n return;\n }\n\n const chain = getChain(chainId);\n if (!chain) {\n throw new Error(`Invalid chain id: ${chainId}`);\n }\n\n client = createPublicClient({\n chain,\n batch: {\n multicall: true,\n },\n transport: http(),\n });\n}\n\nexport type ENSInfo = {\n name?: string;\n avatarUrl?: string;\n};\n\nexport const getEnsInfo = async (\n address: `0x${string}`,\n chainId: number,\n): Promise<ENSInfo> => {\n const result: ENSInfo = {};\n try {\n updateChain(chainId);\n const name = await getEnsName(client, { address });\n if (name) {\n result.name = name;\n\n const avatarUrl = await getEnsAvatar(client, { name });\n if (avatarUrl) {\n result.avatarUrl = avatarUrl;\n }\n }\n } catch (e) {\n console.error(e);\n }\n return result;\n};\n","export type PKHDid = {\n networkId: string;\n chainId: number;\n address: `0x${string}`;\n};\n\nexport function parsePkhDid(did: string): PKHDid {\n const parts = did.split(':');\n if (!did.startsWith('did:pkh:') || parts.length !== 5) {\n throw new Error('Invalid pkh did');\n }\n const [, , networkId, chainIdStr, address] = parts;\n\n if (!address.startsWith('0x')) {\n throw new Error(`Invalid address: ${address}`);\n }\n\n const chainId = Number(chainIdStr);\n if (isNaN(chainId)) {\n throw new Error(`Invalid chain id: ${chainIdStr}`);\n }\n\n return {\n chainId,\n networkId,\n address: address as PKHDid['address'],\n };\n}\n","export interface IStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> {\n get<Key extends keyof T>(key: Key): T[Key];\n set<Key extends keyof T>(key: Key, value?: T[Key]): void;\n delete<Key extends keyof T>(key: Key): void;\n}\n\nexport class BaseStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> implements IStorage<T>\n{\n #store: IStorage<T>;\n #namespace: string;\n\n protected constructor(store: IStorage<T>, namespace: string) {\n this.#store = store;\n this.#namespace = namespace;\n }\n\n #buildKey<Key extends keyof T>(key: Key): Key {\n return `${this.#namespace}:${key.toString()}` as Key;\n }\n\n get<Key extends keyof T>(key: Key): T[Key] {\n return this.#store.get(this.#buildKey(key));\n }\n set<Key extends keyof T>(key: Key, value?: T[Key] | undefined): void {\n return this.#store.set(this.#buildKey(key), value);\n }\n delete<Key extends keyof T>(key: Key): void {\n return this.#store.delete(this.#buildKey(key));\n }\n}\n","import connectConfig from '#connect-config';\nimport { BaseStorage, type IStorage } from './index.js';\n\nconst store: IStorage = {\n get: function <Key extends string>(key: Key): unknown {\n const value = localStorage.getItem(key);\n if (value) {\n return JSON.parse(value);\n }\n return undefined;\n },\n set: function <Key extends string>(key: Key, value?: unknown): void {\n return value\n ? localStorage.setItem(key, JSON.stringify(value))\n : localStorage.removeItem(key);\n },\n delete: function <Key extends string>(key: Key): void {\n return localStorage.removeItem(key);\n },\n};\n\nexport class BrowserStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> extends BaseStorage<T> {\n constructor(namespace: string) {\n super(\n store as IStorage<T>,\n `${connectConfig.routerBasename}:${namespace}`,\n );\n }\n}\n","import { Renown } from './index.js';\nimport { BrowserStorage } from '../storage/browser.js';\n\nexport function initRenownBrowser(connectId: string) {\n return new Renown(new BrowserStorage('renown'), connectId);\n}\n","import { logger } from 'document-drive';\nimport type { IStorage } from '../storage/index.js';\nimport { getEnsInfo } from '../viem.js';\nimport { RENOWN_URL } from './constants.js';\nimport {\n type PowerhouseVerifiableCredential,\n type RenownStorage,\n type User,\n} from './types.js';\nimport { parsePkhDid } from './utils.js';\n\nexport * from './browser.js';\nexport * from './constants.js';\nexport * from './types.js';\nexport type {\n PowerhouseVerifiableCredential,\n Unsubscribe,\n User,\n} from './types.js';\nexport * from './utils.js';\n\nexport class Renown {\n #baseUrl: string;\n #store: RenownStorage;\n #connectId: string;\n #eventEmitter = new EventTarget();\n\n constructor(store: IStorage, connectId: string, baseUrl = RENOWN_URL) {\n this.#store = store as RenownStorage;\n this.#connectId = connectId;\n this.#baseUrl = baseUrl;\n\n if (this.user) {\n this.login(this.user.did).catch(() => void 0);\n }\n }\n\n get user() {\n return this.#store.get('user');\n }\n\n #updateUser(user: User | undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n user ? this.#store.set('user', user) : this.#store.delete('user');\n this.#eventEmitter.dispatchEvent(\n new CustomEvent('user', { detail: user }),\n );\n }\n\n set connectId(connectId: string) {\n this.#connectId = connectId;\n const user = this.user;\n\n this.#updateUser(undefined);\n\n // tries to login with new connectId\n if (user) {\n this.login(user.did).catch(e => {\n console.log('User no longer authenticated:', e);\n });\n }\n }\n\n async login(did: string): Promise<User> {\n try {\n const result = parsePkhDid(did);\n\n const credential = await this.#getCredential(\n result.address,\n result.chainId,\n this.#connectId,\n );\n if (!credential) {\n this.#updateUser(undefined);\n throw new Error('Credential not found');\n }\n const user: User = {\n ...result,\n did,\n credential,\n };\n\n getEnsInfo(user.address, user.chainId)\n .then(ens => {\n if (\n this.user?.address === user.address &&\n this.user.chainId === user.chainId\n ) {\n this.#updateUser({ ...this.user, ens });\n }\n })\n .catch(logger.error);\n\n this.#updateUser(user);\n return user;\n } catch (error) {\n logger.error(error);\n this.#updateUser(undefined);\n throw error;\n }\n }\n\n logout() {\n this.#updateUser(undefined);\n }\n\n on(event: 'user', listener: (user: User) => void) {\n const eventListener = ((e: CustomEvent<User>) => {\n listener(e.detail);\n }) as EventListener;\n\n this.#eventEmitter.addEventListener(event, eventListener);\n return () => {\n this.#eventEmitter.removeEventListener(event, eventListener);\n };\n }\n\n async #getCredential(\n address: string,\n chainId: number,\n connectId: string,\n ): Promise<PowerhouseVerifiableCredential | undefined> {\n if (!this.#baseUrl) {\n throw new Error('RENOWN_URL is not set');\n }\n const url = new URL(\n `/api/auth/credential?address=${encodeURIComponent(address)}&chainId=${encodeURIComponent(chainId)}&connectId=${encodeURIComponent(connectId)}`,\n this.#baseUrl,\n );\n const response = await fetch(url, {\n method: 'GET',\n });\n if (response.ok) {\n const result = (await response.json()) as {\n credential: PowerhouseVerifiableCredential;\n };\n return result.credential;\n } else {\n throw new Error('Failed to get credential');\n }\n }\n}\n"],"names":["defaultChains","mainnet","sepolia","goerli","arbitrum","base","optimism","getChain","id","chain","client","createPublicClient","http","updateChain","chainId","_a","getEnsInfo","address","result","name","getEnsName","avatarUrl","getEnsAvatar","e","parsePkhDid","did","parts","networkId","chainIdStr","BaseStorage","store","namespace","__privateAdd","_BaseStorage_instances","_store","_namespace","__privateSet","key","__privateGet","__privateMethod","buildKey_fn","value","BrowserStorage","connectConfig","initRenownBrowser","connectId","Renown","baseUrl","RENOWN_URL","_Renown_instances","_baseUrl","_connectId","_eventEmitter","user","updateUser_fn","credential","getCredential_fn","ens","logger","error","event","listener","eventListener","url","response"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.
|
|
2
|
-
import{_ as c}from"./index.
|
|
3
|
-
//# sourceMappingURL=main.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.DD-XJyzV.js","./index.BcBVmRI8.js","./app-skeleton.js","./browser.BkwNmV2Z.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as c}from"./index.BcBVmRI8.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.DD-XJyzV.js").then(i=>i.i),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
|
|
3
|
+
//# sourceMappingURL=main.Cd2dhgIr.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.
|
|
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.Cd2dhgIr.js"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.
|
|
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.
|
|
3
|
-
//# sourceMappingURL=modal.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.DqemXyAD.js","./useTranslation.BpVv6XIW.js","./index.BcBVmRI8.js","./UpgradeDriveModal.CNx8GF4J.js","./CreateDocumentModal.D03XttbJ.js","./useDocumentDriveServer.KfZLuxGa.js","./user.Bc_RsKKN.js","./connect.config.QPxkaHWU.js","./browser.BkwNmV2Z.js","./index.DD-XJyzV.js","./app-skeleton.js","./index-B7k827uL.css","./useFeatureFlags.BsV79IJF.js","./slug.C6xW_7Wm.js","./AddDriveModal.8O_YoVfP.js","./AddLocalDriveModal.BAkHn56-.js","./AddRemoteDriveModal.BeBjr_Gc.js","./DriveSettingsModal.BS8aHEgW.js","./SettingsModal.BShwuWMu.js","./i18next.CqOP20KE.js","./useConnectConfig.6WMomTcV.js","./index.CAUjMUXb.js","./useDefaultDocumentModelEditor.DdcMIW4a.js","./ConfirmationModal.C1UZuSFY.js","./DeleteDriveModal.D8Ch4AyV.js","./DebugSettingsModal.B3EmFTjS.js","./registerServiceWorker.D6gJtVm6.js","./DisclaimerModal.Cz1xkiPi.js","./CookiesPolicyModal.B-ZxNrOu.js","./Trans.LIVu639i.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.BcBVmRI8.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.DqemXyAD.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.CNx8GF4J.js"),__vite__mapDeps([3,1,2]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.D03XttbJ.js"),__vite__mapDeps([4,2,5,6,7,8,9,10,11,12,13]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.8O_YoVfP.js"),__vite__mapDeps([14,2,6,7,8,9,10,11]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.BAkHn56-.js"),__vite__mapDeps([15,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.BeBjr_Gc.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.BS8aHEgW.js"),__vite__mapDeps([17,2]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.BShwuWMu.js"),__vite__mapDeps([18,19,7,2,8,20,1,21,5,6,9,10,11,12,22]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.C1UZuSFY.js"),__vite__mapDeps([23,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.D8Ch4AyV.js"),__vite__mapDeps([24,1,2]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.B3EmFTjS.js"),__vite__mapDeps([25,20,7,2,8,26,5,6,9,10,11,12]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.Cz1xkiPi.js"),__vite__mapDeps([27,1,2]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.B-ZxNrOu.js"),__vite__mapDeps([28,1,29,2]),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.BvtSJIvz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,4CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,4CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,gEAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,yDAAE,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,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,4EAAE,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,6CAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,oEAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,6CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,gDAAE,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.
|
|
1
|
+
{"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,4CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,4CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,gEAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,yDAAE,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,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,4EAAE,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,6CAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,oEAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,6CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,gDAAE,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.BvtSJIvz.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as v}from"./i18next.CqOP20KE.js";import{useCallback as S}from"react";import{u as b}from"./useDocumentDriveServer.
|
|
2
|
-
//# sourceMappingURL=modals.
|
|
1
|
+
import{t as v}from"./i18next.CqOP20KE.js";import{useCallback as S}from"react";import{u as b}from"./useDocumentDriveServer.KfZLuxGa.js";import{m as C}from"./slug.C6xW_7Wm.js";import{aj as T,ae as A,ai as N,J as D,af as M,v as U,ak as I}from"./index.BcBVmRI8.js";import{g as F}from"./user.Bc_RsKKN.js";import{useModal as L}from"./modal.BvtSJIvz.js";function E(){const{getSyncStatus:c}=b();return S(async s=>{const a="readContext"in s,{name:h,icon:d}=s.state.global,{id:t,slug:l}=s.header,{sharingType:u,availableOffline:o}=a?{sharingType:T,availableOffline:!1}:s.state.local,n=u==null?void 0:u.toUpperCase(),r=n==="PRIVATE"?A:n,p=a?void 0:await c(t,r),f=p==="INITIAL_SYNC"?"SYNCING":p,m={id:t,name:h,slug:l||null,kind:N,children:[],nodeMap:{},sharingType:r,syncStatus:f,availableOffline:o,icon:d,parentFolder:null,driveId:t},w=s.state.global.nodes.map(e=>{const i={...e,slug:C(e.name),driveId:t,parentFolder:e.parentFolder||t,kind:e.kind.toUpperCase(),syncStatus:f,sharingType:r};if(i.kind===N)throw new Error("Drive nodes should not be nested");return i.kind===D?i:{...i,children:[]}});for(const e of w)m.nodeMap[e.id]=e;for await(const e of w){if(e.kind===D){const g=a?void 0:await c(e.synchronizationUnits[0].syncId,r),k=g==="INITIAL_SYNC"?"SYNCING":g;e.syncStatus=k}if(e.parentFolder===t){m.children.push(e);continue}const i=m.nodeMap[e.parentFolder];if(i.kind===D)throw new Error(`Parent node ${e.parentFolder} is a file, not a folder`);i.children.push(e),e.syncStatus!==M&&(i.syncStatus=e.syncStatus)}return m},[c])}function G(){const{showModal:c}=L(),{addDrive:y,addRemoteDrive:s}=b(),{setSelectedNode:a}=U(),h=F(),d=E(),t=S(async o=>{try{const n=h.find(f=>f.id===o.appId),r=await y({id:"",slug:"",global:{name:o.name,icon:null},local:{availableOffline:o.availableOffline,sharingType:o.sharingType.toLowerCase(),listeners:[],triggers:[]}},n==null?void 0:n.driveEditor);I(v("notifications.addDriveSuccess"),{type:"connect-success"});const p=await d(r);a(p)}catch(n){console.error(n)}},[y,d,a,v]),l=S(async o=>{try{const n=await s(o.url,{sharingType:o.sharingType,availableOffline:o.availableOffline,listeners:[{block:!0,callInfo:{data:o.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});I(v("notifications.addDriveSuccess"),{type:"connect-success"});const r=await d(n);a(r)}catch(n){console.error(n)}},[s,d,a,v]);return S(()=>c("addDriveModal",{onAddLocalDrive:t,onAddRemoteDrive:l}),[t,l,c])}export{E as a,G as u};
|
|
2
|
+
//# sourceMappingURL=modals.Di_yfGYo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modals.B3lvHv29.js","sources":["../../src/hooks/useUiNodes.ts","../../src/hooks/modals.ts"],"sourcesContent":["import { makeNodeSlugFromNodeName } from '#utils';\nimport {\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n type SharingType,\n SUCCESS,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { type DocumentDriveDocument, type ReadDrive } from 'document-drive';\nimport { useCallback, useMemo } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport function useMakeUiDriveNode() {\n const { getSyncStatus } = useDocumentDriveServer();\n const makeUiDriveNode = useCallback(\n async (drive: DocumentDriveDocument | ReadDrive) => {\n const isReadDrive = 'readContext' in drive;\n const { name, icon } = drive.state.global;\n const { id, slug } = drive.header;\n const { sharingType: _sharingType, availableOffline } = !isReadDrive\n ? drive.state.local\n : { sharingType: PUBLIC, availableOffline: false };\n const __sharingType = _sharingType?.toUpperCase();\n const sharingType = (\n __sharingType === 'PRIVATE' ? LOCAL : __sharingType\n ) as SharingType;\n const driveSyncStatus = !isReadDrive\n ? await getSyncStatus(id, sharingType)\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedDriveSyncStatus =\n driveSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : driveSyncStatus;\n\n const driveNode: UiDriveNode = {\n id,\n name,\n slug: slug || null,\n kind: DRIVE,\n children: [],\n nodeMap: {},\n sharingType,\n syncStatus: normalizedDriveSyncStatus,\n availableOffline,\n icon,\n parentFolder: null,\n driveId: id,\n };\n\n const nodes = drive.state.global.nodes.map(n => {\n const node = {\n ...n,\n slug: makeNodeSlugFromNodeName(n.name),\n driveId: id,\n parentFolder: n.parentFolder || id,\n kind: n.kind.toUpperCase(),\n syncStatus: normalizedDriveSyncStatus,\n sharingType,\n };\n\n if (node.kind === DRIVE) {\n throw new Error('Drive nodes should not be nested');\n }\n\n if (node.kind === FILE) {\n return node as UiFileNode;\n }\n\n return {\n ...node,\n children: [],\n } as UiFolderNode;\n });\n\n for (const node of nodes) {\n driveNode.nodeMap[node.id] = node;\n }\n\n // eslint-disable-next-line @typescript-eslint/await-thenable\n for await (const node of nodes) {\n if (node.kind === FILE) {\n const fileSyncStatus = !isReadDrive\n ? await getSyncStatus(\n node.synchronizationUnits[0].syncId,\n sharingType,\n )\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedFileSyncStatus =\n fileSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : fileSyncStatus;\n\n node.syncStatus = normalizedFileSyncStatus;\n }\n\n if (node.parentFolder === id) {\n driveNode.children.push(node);\n continue;\n }\n const parent = driveNode.nodeMap[node.parentFolder];\n\n if (parent.kind === FILE) {\n throw new Error(\n `Parent node ${node.parentFolder} is a file, not a folder`,\n );\n }\n\n parent.children.push(node);\n\n if (node.syncStatus !== SUCCESS) {\n parent.syncStatus = node.syncStatus;\n }\n }\n\n return driveNode;\n },\n [getSyncStatus],\n );\n\n return makeUiDriveNode;\n}\n\nexport function useDebugHandlers() {\n const { removeTrigger, addTrigger, registerNewPullResponderTrigger } =\n useDocumentDriveServer();\n\n const onAddTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n const pullResponderTrigger = await registerNewPullResponderTrigger(\n uiNodeDriveId,\n url,\n { pullInterval: 6000 },\n );\n await addTrigger(uiNodeDriveId, pullResponderTrigger);\n },\n [addTrigger, registerNewPullResponderTrigger],\n );\n\n const onRemoveTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const triggerId = window.prompt('triggerId:');\n\n if (triggerId) {\n await removeTrigger(uiNodeDriveId, triggerId);\n }\n },\n [removeTrigger],\n );\n\n const onAddInvalidTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n await addTrigger(uiNodeDriveId, {\n id: 'some-invalid-id',\n type: 'PullResponder',\n data: {\n interval: '3000',\n listenerId: 'invalid-listener-id',\n url,\n },\n });\n },\n [addTrigger],\n );\n\n return {\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n };\n}\n\nexport function useUiNodes() {\n const { selectedParentNode, setSelectedNode } = useUiNodesContext();\n const { addFolder, addFile, renameNode, copyNode, moveNode } =\n useDocumentDriveServer();\n\n const onAddFile = useCallback(\n async (file: File, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add file to a file');\n }\n\n const fileName = file.name.replace(/\\.zip$/gim, '');\n\n return await addFile(\n file,\n parentNode.driveId,\n fileName,\n parentNode.id,\n );\n },\n [addFile],\n );\n\n const onAddFolder = useCallback(\n async (name: string, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add folder to a file');\n }\n return await addFolder(parentNode.driveId, name, parentNode.id);\n },\n [addFolder],\n );\n\n const onRenameNode = useCallback(\n async (name: string, uiNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error(\n 'Drive can only be renamed from the drive settings modal',\n );\n }\n return await renameNode(uiNode.driveId, uiNode.id, name);\n },\n [renameNode],\n );\n\n const onCopyNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, targetNode);\n },\n [copyNode],\n );\n\n const onMoveNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be moved');\n }\n\n await moveNode(uiNode, targetNode);\n },\n [moveNode],\n );\n\n const onDuplicateNode = useCallback(\n async (uiNode: UiNode) => {\n if (!selectedParentNode) return;\n\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, selectedParentNode);\n },\n [copyNode, selectedParentNode],\n );\n\n const onAddAndSelectNewFolder = useCallback(\n async (name: string) => {\n if (!name || !selectedParentNode) return;\n\n const newFolder = await onAddFolder(name, selectedParentNode);\n\n setSelectedNode({\n ...newFolder,\n kind: FOLDER,\n slug: makeNodeSlugFromNodeName(newFolder.name),\n parentFolder: selectedParentNode.id,\n syncStatus: selectedParentNode.syncStatus,\n driveId: selectedParentNode.driveId,\n sharingType: selectedParentNode.sharingType,\n children: [],\n });\n },\n [onAddFolder, selectedParentNode, setSelectedNode],\n );\n\n return useMemo(\n () => ({\n onAddFile,\n onAddFolder,\n onRenameNode,\n onCopyNode,\n onMoveNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n }),\n [\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n ],\n );\n}\n\nexport type TUiNodes = ReturnType<typeof useUiNodes>;\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n} from '@powerhousedao/design-system';\nimport {\n FOLDER,\n useUiNodesContext,\n type SharingType,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n} from '@powerhousedao/reactor-browser';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\nimport { useMakeUiDriveNode } from './useUiNodes';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const { setSelectedNode } = useUiNodesContext();\n const apps = useApps();\n const makeUiDriveNode = useMakeUiDriveNode();\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 const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, makeUiDriveNode, setSelectedNode, 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 const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, makeUiDriveNode, setSelectedNode, 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 { driveNodes, setSelectedNode } = useUiNodesContext();\n const onRenameDrive = useCallback(\n async (uiDriveNode: UiDriveNode, newName: string) => {\n await renameDrive(uiDriveNode.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (uiDriveNode: UiDriveNode, newSharingType: SharingType) => {\n await setDriveSharingType(uiDriveNode.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (uiDriveNode: UiDriveNode, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(uiDriveNode.id, newAvailableOffline);\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('deleteDriveModal', {\n uiDriveNode,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(uiDriveNode.id);\n\n setSelectedNode(driveNodes[0]);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, driveNodes, setSelectedNode, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('driveSettings', {\n uiDriveNode,\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 { setSelectedNode, getParentNode } = useUiNodesContext();\n const { deleteNode } = useDocumentDriveServer();\n const showDeleteNodeModal = useCallback(\n (uiNode: UiFileNode | UiFolderNode) => {\n showModal('deleteItem', {\n uiNode,\n onDelete: async closeModal => {\n closeModal();\n\n const i18nKey =\n uiNode.kind === FOLDER\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n const parentNode = getParentNode(uiNode);\n\n await deleteNode(uiNode.driveId, uiNode.id);\n\n setSelectedNode(parentNode);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [deleteNode, getParentNode, setSelectedNode, showModal, t],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["useMakeUiDriveNode","getSyncStatus","useDocumentDriveServer","useCallback","drive","isReadDrive","name","icon","id","slug","_sharingType","availableOffline","PUBLIC","__sharingType","sharingType","LOCAL","driveSyncStatus","normalizedDriveSyncStatus","driveNode","DRIVE","nodes","n","node","makeNodeSlugFromNodeName","FILE","fileSyncStatus","normalizedFileSyncStatus","parent","SUCCESS","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","setSelectedNode","useUiNodesContext","apps","useApps","makeUiDriveNode","onAddLocalDrive","data","app","a","newDrive","toast","t","newDriveNode","e","onAddRemoteDrive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modals.Di_yfGYo.js","sources":["../../src/hooks/useUiNodes.ts","../../src/hooks/modals.ts"],"sourcesContent":["import { makeNodeSlugFromNodeName } from '#utils';\nimport {\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n type SharingType,\n SUCCESS,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { type DocumentDriveDocument, type ReadDrive } from 'document-drive';\nimport { useCallback, useMemo } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport function useMakeUiDriveNode() {\n const { getSyncStatus } = useDocumentDriveServer();\n const makeUiDriveNode = useCallback(\n async (drive: DocumentDriveDocument | ReadDrive) => {\n const isReadDrive = 'readContext' in drive;\n const { name, icon } = drive.state.global;\n const { id, slug } = drive.header;\n const { sharingType: _sharingType, availableOffline } = !isReadDrive\n ? drive.state.local\n : { sharingType: PUBLIC, availableOffline: false };\n const __sharingType = _sharingType?.toUpperCase();\n const sharingType = (\n __sharingType === 'PRIVATE' ? LOCAL : __sharingType\n ) as SharingType;\n const driveSyncStatus = !isReadDrive\n ? await getSyncStatus(id, sharingType)\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedDriveSyncStatus =\n driveSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : driveSyncStatus;\n\n const driveNode: UiDriveNode = {\n id,\n name,\n slug: slug || null,\n kind: DRIVE,\n children: [],\n nodeMap: {},\n sharingType,\n syncStatus: normalizedDriveSyncStatus,\n availableOffline,\n icon,\n parentFolder: null,\n driveId: id,\n };\n\n const nodes = drive.state.global.nodes.map(n => {\n const node = {\n ...n,\n slug: makeNodeSlugFromNodeName(n.name),\n driveId: id,\n parentFolder: n.parentFolder || id,\n kind: n.kind.toUpperCase(),\n syncStatus: normalizedDriveSyncStatus,\n sharingType,\n };\n\n if (node.kind === DRIVE) {\n throw new Error('Drive nodes should not be nested');\n }\n\n if (node.kind === FILE) {\n return node as UiFileNode;\n }\n\n return {\n ...node,\n children: [],\n } as UiFolderNode;\n });\n\n for (const node of nodes) {\n driveNode.nodeMap[node.id] = node;\n }\n\n // eslint-disable-next-line @typescript-eslint/await-thenable\n for await (const node of nodes) {\n if (node.kind === FILE) {\n const fileSyncStatus = !isReadDrive\n ? await getSyncStatus(\n node.synchronizationUnits[0].syncId,\n sharingType,\n )\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedFileSyncStatus =\n fileSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : fileSyncStatus;\n\n node.syncStatus = normalizedFileSyncStatus;\n }\n\n if (node.parentFolder === id) {\n driveNode.children.push(node);\n continue;\n }\n const parent = driveNode.nodeMap[node.parentFolder];\n\n if (parent.kind === FILE) {\n throw new Error(\n `Parent node ${node.parentFolder} is a file, not a folder`,\n );\n }\n\n parent.children.push(node);\n\n if (node.syncStatus !== SUCCESS) {\n parent.syncStatus = node.syncStatus;\n }\n }\n\n return driveNode;\n },\n [getSyncStatus],\n );\n\n return makeUiDriveNode;\n}\n\nexport function useDebugHandlers() {\n const { removeTrigger, addTrigger, registerNewPullResponderTrigger } =\n useDocumentDriveServer();\n\n const onAddTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n const pullResponderTrigger = await registerNewPullResponderTrigger(\n uiNodeDriveId,\n url,\n { pullInterval: 6000 },\n );\n await addTrigger(uiNodeDriveId, pullResponderTrigger);\n },\n [addTrigger, registerNewPullResponderTrigger],\n );\n\n const onRemoveTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const triggerId = window.prompt('triggerId:');\n\n if (triggerId) {\n await removeTrigger(uiNodeDriveId, triggerId);\n }\n },\n [removeTrigger],\n );\n\n const onAddInvalidTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n await addTrigger(uiNodeDriveId, {\n id: 'some-invalid-id',\n type: 'PullResponder',\n data: {\n interval: '3000',\n listenerId: 'invalid-listener-id',\n url,\n },\n });\n },\n [addTrigger],\n );\n\n return {\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n };\n}\n\nexport function useUiNodes() {\n const { selectedParentNode, setSelectedNode } = useUiNodesContext();\n const { addFolder, addFile, renameNode, copyNode, moveNode } =\n useDocumentDriveServer();\n\n const onAddFile = useCallback(\n async (file: File, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add file to a file');\n }\n\n const fileName = file.name.replace(/\\.zip$/gim, '');\n\n return await addFile(\n file,\n parentNode.driveId,\n fileName,\n parentNode.id,\n );\n },\n [addFile],\n );\n\n const onAddFolder = useCallback(\n async (name: string, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add folder to a file');\n }\n return await addFolder(parentNode.driveId, name, parentNode.id);\n },\n [addFolder],\n );\n\n const onRenameNode = useCallback(\n async (name: string, uiNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error(\n 'Drive can only be renamed from the drive settings modal',\n );\n }\n return await renameNode(uiNode.driveId, uiNode.id, name);\n },\n [renameNode],\n );\n\n const onCopyNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, targetNode);\n },\n [copyNode],\n );\n\n const onMoveNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be moved');\n }\n\n await moveNode(uiNode, targetNode);\n },\n [moveNode],\n );\n\n const onDuplicateNode = useCallback(\n async (uiNode: UiNode) => {\n if (!selectedParentNode) return;\n\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, selectedParentNode);\n },\n [copyNode, selectedParentNode],\n );\n\n const onAddAndSelectNewFolder = useCallback(\n async (name: string) => {\n if (!name || !selectedParentNode) return;\n\n const newFolder = await onAddFolder(name, selectedParentNode);\n\n setSelectedNode({\n ...newFolder,\n kind: FOLDER,\n slug: makeNodeSlugFromNodeName(newFolder.name),\n parentFolder: selectedParentNode.id,\n syncStatus: selectedParentNode.syncStatus,\n driveId: selectedParentNode.driveId,\n sharingType: selectedParentNode.sharingType,\n children: [],\n });\n },\n [onAddFolder, selectedParentNode, setSelectedNode],\n );\n\n return useMemo(\n () => ({\n onAddFile,\n onAddFolder,\n onRenameNode,\n onCopyNode,\n onMoveNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n }),\n [\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n ],\n );\n}\n\nexport type TUiNodes = ReturnType<typeof useUiNodes>;\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n} from '@powerhousedao/design-system';\nimport {\n FOLDER,\n useUiNodesContext,\n type SharingType,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n} from '@powerhousedao/reactor-browser';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\nimport { useMakeUiDriveNode } from './useUiNodes';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const { setSelectedNode } = useUiNodesContext();\n const apps = useApps();\n const makeUiDriveNode = useMakeUiDriveNode();\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 const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, makeUiDriveNode, setSelectedNode, 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 const newDriveNode = await makeUiDriveNode(newDrive);\n\n setSelectedNode(newDriveNode);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, makeUiDriveNode, setSelectedNode, 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 { driveNodes, setSelectedNode } = useUiNodesContext();\n const onRenameDrive = useCallback(\n async (uiDriveNode: UiDriveNode, newName: string) => {\n await renameDrive(uiDriveNode.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (uiDriveNode: UiDriveNode, newSharingType: SharingType) => {\n await setDriveSharingType(uiDriveNode.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (uiDriveNode: UiDriveNode, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(uiDriveNode.id, newAvailableOffline);\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('deleteDriveModal', {\n uiDriveNode,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(uiDriveNode.id);\n\n setSelectedNode(driveNodes[0]);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, driveNodes, setSelectedNode, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('driveSettings', {\n uiDriveNode,\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 { setSelectedNode, getParentNode } = useUiNodesContext();\n const { deleteNode } = useDocumentDriveServer();\n const showDeleteNodeModal = useCallback(\n (uiNode: UiFileNode | UiFolderNode) => {\n showModal('deleteItem', {\n uiNode,\n onDelete: async closeModal => {\n closeModal();\n\n const i18nKey =\n uiNode.kind === FOLDER\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n const parentNode = getParentNode(uiNode);\n\n await deleteNode(uiNode.driveId, uiNode.id);\n\n setSelectedNode(parentNode);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [deleteNode, getParentNode, setSelectedNode, showModal, t],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["useMakeUiDriveNode","getSyncStatus","useDocumentDriveServer","useCallback","drive","isReadDrive","name","icon","id","slug","_sharingType","availableOffline","PUBLIC","__sharingType","sharingType","LOCAL","driveSyncStatus","normalizedDriveSyncStatus","driveNode","DRIVE","nodes","n","node","makeNodeSlugFromNodeName","FILE","fileSyncStatus","normalizedFileSyncStatus","parent","SUCCESS","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","setSelectedNode","useUiNodesContext","apps","useApps","makeUiDriveNode","onAddLocalDrive","data","app","a","newDrive","toast","t","newDriveNode","e","onAddRemoteDrive"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aC as o,aD as s,aE as n}from"./index.
|
|
2
|
-
//# sourceMappingURL=nodefs.
|
|
1
|
+
import{aC as o,aD as s,aE as n}from"./index.BcBVmRI8.js";import"react";import"react/jsx-runtime";import"react-dom";n();var m=class extends o{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 e=i.FS.filesystems.NODEFS;i.FS.mkdir(s),i.FS.mount(e,{root:this.rootDir},s)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};
|
|
2
|
+
//# sourceMappingURL=nodefs.Dt53RQvO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodefs.
|
|
1
|
+
{"version":3,"file":"nodefs.Dt53RQvO.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","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"mHAAyFA,EAAC,EAAkD,IAAC,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,4 +1,4 @@
|
|
|
1
|
-
import{aF as H,aG as m,aH as o,aI as a,aJ as A,aE as C,aK as P,aL as $}from"./index.
|
|
1
|
+
import{aF as H,aG as m,aH as o,aI as a,aJ as A,aE as C,aK as P,aL as $}from"./index.BcBVmRI8.js";import"react";import"react/jsx-runtime";import"react-dom";C();var B="state.txt",L="data",x={DIR:16384,FILE:32768},T,I,F,_,w,k,y,j,N,O,S,l,v,E,M,g,f,D,R,W,K=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:s=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,F),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,N,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=s}async init(t,e){return await o(this,l,v).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of a(this,y).values())t.close();a(this,w).flush(),a(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,s=[];for(let i=0;i<e;i++)s.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await a(this,F).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();a(this,k).set(r,c),a(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)s.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=a(this,k).get(r);(d=a(this,y).get(r))==null||d.close(),await a(this,F).removeEntry(c.name),a(this,k).delete(r),a(this,y).delete(r),h()}));await Promise.all(s)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));a(this,w).truncate(0),a(this,w).write(t,{at:0}),a(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of a(this,S))try{t.flush()}catch{}a(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let s=o(this,l,f).call(this,t);s.mode=e}close(t){let e=o(this,l,D).call(this,t);a(this,N).delete(t),a(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),s=e.type==="file"?a(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:s,blksize:i,blocks:Math.ceil(s/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=[],r=this.state.root;for(let d of s){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||x.DIR,children:{}};r.children[i]=c}open(t,e,s){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,R).call(this);return a(this,N).set(i,t),a(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,s,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return a(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,s,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,s=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(s&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];a(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),s=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,s))throw new p("ENOENT","No such file or directory");let h=i.children[s];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[s]}truncate(t,e=0){let s=o(this,l,f).call(this,t);if(s.type!=="file")throw new p("EISDIR","Is a directory");let i=a(this,y).get(s.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),a(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=a(this,y).get(r.backingFilename);c==null||c.truncate(0),a(this,S).add(c),a(this,O).has(t)&&(a(this,N).delete(a(this,O).get(t)),a(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,s){o(this,l,E).call(this,{opp:"utimes",args:[t,e,s]},()=>{this._utimesState(t,e,s)})}_utimesState(t,e,s){let i=o(this,l,f).call(this,t);i.lastModified=s}writeFile(t,e,s){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(s==null?void 0:s.mode)||x.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=a(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&a(this,S).add(d))}_createFileNodeState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let s=o(this,l,f).call(this,t);s.lastModified=e}write(t,e,s,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=a(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,s,i),{at:h});return r.startsWith("/pg_wal")&&a(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,F=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,N=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,v=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,W).call(this,this.dataDir,{create:!0})),P(this,F,await o(this,l,W).call(this,L,{from:a(this,I),create:!0})),P(this,_,await a(this,I).getFileHandle(B,{create:!0})),P(this,w,await a(this,_).createSyncAccessHandle());let t=new ArrayBuffer(a(this,w).getSize());a(this,w).read(t,{at:0});let e,s=new TextDecoder().decode(t).split(`
|
|
2
2
|
`),i=!1;try{e=JSON.parse(s[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:x.DIR,children:{}},pool:[]},a(this,w).truncate(0),a(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=s.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(b){console.warn("Error applying OPFS AHP WAL entry",n,b)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await a(this,F).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();a(this,k).set(n.backingFilename,u),a(this,y).set(n.backingFilename,b)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{a(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await a(this,F).getFileHandle(n),z=await b.createSyncAccessHandle();a(this,k).set(n,b),a(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},E=function(t,e){let s=o(this,l,M).call(this,t);try{e()}catch(i){throw a(this,w).truncate(s),i}},M=function(t){let e=JSON.stringify(t),s=new TextEncoder().encode(`
|
|
3
3
|
${e}`),i=a(this,w).getSize();return a(this,w).write(s,{at:i}),a(this,S).add(a(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let s=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of s){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=a(this,N).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},R=function(){let t=++$(this,j)._;for(;a(this,N).has(t);)$(this,j)._++;return t},W=async function(t,e){let s=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||a(this,T);for(let h of s)i=await i.getDirectoryHandle(h,{create:e==null?void 0:e.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{K as OpfsAhpFS};
|
|
4
|
-
//# sourceMappingURL=opfs-ahp.
|
|
4
|
+
//# sourceMappingURL=opfs-ahp.CO8kl4hl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opfs-ahp.DhpsuWfZ.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js"],"sourcesContent":["import{f as B,g as z}from\"../chunk-WGR4JCLS.js\";import{e as s,f as g,g as E,h as r,i as _,j as R}from\"../chunk-BTBUZ646.js\";R();var $=\"state.txt\",G=\"data\",T={DIR:16384,FILE:32768},H,v,F,M,y,b,m,x,P,D,S,n,C,O,k,w,f,I,W,j,L=class extends B{constructor(e,{initialPoolSize:t=1e3,maintainedPoolSize:o=100,debug:i=!1}={}){super(e,{debug:i});g(this,n);g(this,H);g(this,v);g(this,F);g(this,M);g(this,y);g(this,b,new Map);g(this,m,new Map);g(this,x,0);g(this,P,new Map);g(this,D,new Map);this.lastCheckpoint=0;this.checkpointInterval=1e3*60;this.poolCounter=0;g(this,S,new Set);this.initialPoolSize=t,this.maintainedPoolSize=o}async init(e,t){return await r(this,n,C).call(this),super.init(e,t)}async syncToFs(e=!1){await this.maybeCheckpointState(),await this.maintainPool(),e||this.flush()}async closeFs(){for(let e of s(this,m).values())e.close();s(this,y).flush(),s(this,y).close(),this.pg.Module.FS.quit()}async maintainPool(e){e=e||this.maintainedPoolSize;let t=e-this.state.pool.length,o=[];for(let i=0;i<t;i++)o.push(new Promise(async c=>{++this.poolCounter;let a=`${(Date.now()-1704063600).toString(16).padStart(8,\"0\")}-${this.poolCounter.toString(16).padStart(8,\"0\")}`,h=await s(this,F).getFileHandle(a,{create:!0}),d=await h.createSyncAccessHandle();s(this,b).set(a,h),s(this,m).set(a,d),r(this,n,k).call(this,{opp:\"createPoolFile\",args:[a]}),this.state.pool.push(a),c()}));for(let i=0;i>t;i--)o.push(new Promise(async c=>{let a=this.state.pool.pop();r(this,n,k).call(this,{opp:\"deletePoolFile\",args:[a]});let h=s(this,b).get(a);s(this,m).get(a)?.close(),await s(this,F).removeEntry(h.name),s(this,b).delete(a),s(this,m).delete(a),c()}));await Promise.all(o)}_createPoolFileState(e){this.state.pool.push(e)}_deletePoolFileState(e){let t=this.state.pool.indexOf(e);t>-1&&this.state.pool.splice(t,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let e=new TextEncoder().encode(JSON.stringify(this.state));s(this,y).truncate(0),s(this,y).write(e,{at:0}),s(this,y).flush(),this.lastCheckpoint=Date.now()}flush(){for(let e of s(this,S))try{e.flush()}catch{}s(this,S).clear()}chmod(e,t){r(this,n,O).call(this,{opp:\"chmod\",args:[e,t]},()=>{this._chmodState(e,t)})}_chmodState(e,t){let o=r(this,n,f).call(this,e);o.mode=t}close(e){let t=r(this,n,I).call(this,e);s(this,P).delete(e),s(this,D).delete(t)}fstat(e){let t=r(this,n,I).call(this,e);return this.lstat(t)}lstat(e){let t=r(this,n,f).call(this,e),o=t.type===\"file\"?s(this,m).get(t.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:t.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,blksize:i,blocks:Math.ceil(o/i),atime:t.lastModified,mtime:t.lastModified,ctime:t.lastModified}}mkdir(e,t){r(this,n,O).call(this,{opp:\"mkdir\",args:[e,t]},()=>{this._mkdirState(e,t)})}_mkdirState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=[],a=this.state.root;for(let d of o){if(c.push(e),!Object.prototype.hasOwnProperty.call(a.children,d))if(t?.recursive)this.mkdir(c.join(\"/\"));else throw new p(\"ENOENT\",\"No such file or directory\");if(a.children[d].type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");a=a.children[d]}if(Object.prototype.hasOwnProperty.call(a.children,i))throw new p(\"EEXIST\",\"File exists\");let h={type:\"directory\",lastModified:Date.now(),mode:t?.mode||T.DIR,children:{}};a.children[i]=h}open(e,t,o){if(r(this,n,f).call(this,e).type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let c=r(this,n,W).call(this);return s(this,P).set(c,e),s(this,D).set(e,c),c}readdir(e){let t=r(this,n,f).call(this,e);if(t.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");return Object.keys(t.children)}read(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");return s(this,m).get(h.backingFilename).read(new Uint8Array(t.buffer,o,i),{at:c})}rename(e,t){r(this,n,O).call(this,{opp:\"rename\",args:[e,t]},()=>{this._renameState(e,t,!0)})}_renameState(e,t,o=!1){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(a.children,c))throw new p(\"ENOENT\",\"No such file or directory\");let h=r(this,n,w).call(this,t),d=h.pop(),l=r(this,n,f).call(this,h.join(\"/\"));if(o&&Object.prototype.hasOwnProperty.call(l.children,d)){let u=l.children[d];s(this,m).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}l.children[d]=a.children[c],delete a.children[c]}rmdir(e){r(this,n,O).call(this,{opp:\"rmdir\",args:[e]},()=>{this._rmdirState(e)})}_rmdirState(e){let t=r(this,n,w).call(this,e),o=t.pop(),i=r(this,n,f).call(this,t.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(i.children,o))throw new p(\"ENOENT\",\"No such file or directory\");let c=i.children[o];if(c.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(Object.keys(c.children).length>0)throw new p(\"ENOTEMPTY\",\"Directory not empty\");delete i.children[o]}truncate(e,t=0){let o=r(this,n,f).call(this,e);if(o.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let i=s(this,m).get(o.backingFilename);if(!i)throw new p(\"ENOENT\",\"No such file or directory\");i.truncate(t),s(this,S).add(i)}unlink(e){r(this,n,O).call(this,{opp:\"unlink\",args:[e]},()=>{this._unlinkState(e,!0)})}_unlinkState(e,t=!1){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(c.children,i))throw new p(\"ENOENT\",\"No such file or directory\");let a=c.children[i];if(a.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");if(delete c.children[i],t){let h=s(this,m).get(a.backingFilename);h?.truncate(0),s(this,S).add(h),s(this,D).has(e)&&(s(this,P).delete(s(this,D).get(e)),s(this,D).delete(e))}this.state.pool.push(a.backingFilename)}utimes(e,t,o){r(this,n,O).call(this,{opp:\"utimes\",args:[e,t,o]},()=>{this._utimesState(e,t,o)})}_utimesState(e,t,o){let i=r(this,n,f).call(this,e);i.lastModified=o}writeFile(e,t,o){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(Object.prototype.hasOwnProperty.call(a.children,c)){let l=a.children[c];l.lastModified=Date.now(),r(this,n,k).call(this,{opp:\"setLastModified\",args:[e,l.lastModified]})}else{if(this.state.pool.length===0)throw new Error(\"No more file handles available in the pool\");let l={type:\"file\",lastModified:Date.now(),mode:o?.mode||T.FILE,backingFilename:this.state.pool.pop()};a.children[c]=l,r(this,n,k).call(this,{opp:\"createFileNode\",args:[e,l]})}let h=a.children[c],d=s(this,m).get(h.backingFilename);t.length>0&&(d.write(typeof t==\"string\"?new TextEncoder().encode(t):new Uint8Array(t),{at:0}),e.startsWith(\"/pg_wal\")&&s(this,S).add(d))}_createFileNodeState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));c.children[i]=t;let a=this.state.pool.indexOf(t.backingFilename);return a>-1&&this.state.pool.splice(a,1),t}_setLastModifiedState(e,t){let o=r(this,n,f).call(this,e);o.lastModified=t}write(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let d=s(this,m).get(h.backingFilename);if(!d)throw new p(\"EBADF\",\"Bad file descriptor\");let l=d.write(new Uint8Array(t,o,i),{at:c});return a.startsWith(\"/pg_wal\")&&s(this,S).add(d),l}};H=new WeakMap,v=new WeakMap,F=new WeakMap,M=new WeakMap,y=new WeakMap,b=new WeakMap,m=new WeakMap,x=new WeakMap,P=new WeakMap,D=new WeakMap,S=new WeakMap,n=new WeakSet,C=async function(){E(this,H,await navigator.storage.getDirectory()),E(this,v,await r(this,n,j).call(this,this.dataDir,{create:!0})),E(this,F,await r(this,n,j).call(this,G,{from:s(this,v),create:!0})),E(this,M,await s(this,v).getFileHandle($,{create:!0})),E(this,y,await s(this,M).createSyncAccessHandle());let e=new ArrayBuffer(s(this,y).getSize());s(this,y).read(e,{at:0});let t,o=new TextDecoder().decode(e).split(`\n`),i=!1;try{t=JSON.parse(o[0])}catch{t={root:{type:\"directory\",lastModified:Date.now(),mode:T.DIR,children:{}},pool:[]},s(this,y).truncate(0),s(this,y).write(new TextEncoder().encode(JSON.stringify(t)),{at:0}),i=!0}this.state=t;let c=o.slice(1).filter(Boolean).map(l=>JSON.parse(l));for(let l of c){let u=`_${l.opp}State`;if(typeof this[u]==\"function\")try{this[u].bind(this)(...l.args)}catch(N){console.warn(\"Error applying OPFS AHP WAL entry\",l,N)}}let a=[],h=async l=>{if(l.type===\"file\")try{let u=await s(this,F).getFileHandle(l.backingFilename),N=await u.createSyncAccessHandle();s(this,b).set(l.backingFilename,u),s(this,m).set(l.backingFilename,N)}catch(u){console.error(\"Error opening file handle for node\",l,u)}else for(let u of Object.values(l.children))a.push(h(u))};await h(this.state.root);let d=[];for(let l of this.state.pool)d.push(new Promise(async u=>{s(this,b).has(l)&&console.warn(\"File handle already exists for pool file\",l);let N=await s(this,F).getFileHandle(l),U=await N.createSyncAccessHandle();s(this,b).set(l,N),s(this,m).set(l,U),u()}));await Promise.all([...a,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},O=function(e,t){let o=r(this,n,k).call(this,e);try{t()}catch(i){throw s(this,y).truncate(o),i}},k=function(e){let t=JSON.stringify(e),o=new TextEncoder().encode(`\n${t}`),i=s(this,y).getSize();return s(this,y).write(o,{at:i}),s(this,S).add(s(this,y)),i},w=function(e){return e.split(\"/\").filter(Boolean)},f=function(e,t){let o=r(this,n,w).call(this,e),i=t||this.state.root;for(let c of o){if(i.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(!Object.prototype.hasOwnProperty.call(i.children,c))throw new p(\"ENOENT\",\"No such file or directory\");i=i.children[c]}return i},I=function(e){let t=s(this,P).get(e);if(!t)throw new p(\"EBADF\",\"Bad file descriptor\");return t},W=function(){let e=++_(this,x)._;for(;s(this,P).has(e);)_(this,x)._++;return e},j=async function(e,t){let o=r(this,n,w).call(this,e),i=t?.from||s(this,H);for(let c of o)i=await i.getDirectoryHandle(c,{create:t?.create});return i};var p=class extends Error{constructor(A,e){super(e),typeof A==\"number\"?this.code=A:typeof A==\"string\"&&(this.code=z[A])}};export{L as OpfsAhpFS};\n//# sourceMappingURL=opfs-ahp.js.map"],"names":["R","$","G","T","H","v","M","y","b","m","x","P","D","n","C","O","k","w","I","W","j","L","B","e","t","o","g","r","s","c","a","h","l","E","N","U","_","A","z"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"opfs-ahp.CO8kl4hl.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js"],"sourcesContent":["import{f as B,g as z}from\"../chunk-WGR4JCLS.js\";import{e as s,f as g,g as E,h as r,i as _,j as R}from\"../chunk-BTBUZ646.js\";R();var $=\"state.txt\",G=\"data\",T={DIR:16384,FILE:32768},H,v,F,M,y,b,m,x,P,D,S,n,C,O,k,w,f,I,W,j,L=class extends B{constructor(e,{initialPoolSize:t=1e3,maintainedPoolSize:o=100,debug:i=!1}={}){super(e,{debug:i});g(this,n);g(this,H);g(this,v);g(this,F);g(this,M);g(this,y);g(this,b,new Map);g(this,m,new Map);g(this,x,0);g(this,P,new Map);g(this,D,new Map);this.lastCheckpoint=0;this.checkpointInterval=1e3*60;this.poolCounter=0;g(this,S,new Set);this.initialPoolSize=t,this.maintainedPoolSize=o}async init(e,t){return await r(this,n,C).call(this),super.init(e,t)}async syncToFs(e=!1){await this.maybeCheckpointState(),await this.maintainPool(),e||this.flush()}async closeFs(){for(let e of s(this,m).values())e.close();s(this,y).flush(),s(this,y).close(),this.pg.Module.FS.quit()}async maintainPool(e){e=e||this.maintainedPoolSize;let t=e-this.state.pool.length,o=[];for(let i=0;i<t;i++)o.push(new Promise(async c=>{++this.poolCounter;let a=`${(Date.now()-1704063600).toString(16).padStart(8,\"0\")}-${this.poolCounter.toString(16).padStart(8,\"0\")}`,h=await s(this,F).getFileHandle(a,{create:!0}),d=await h.createSyncAccessHandle();s(this,b).set(a,h),s(this,m).set(a,d),r(this,n,k).call(this,{opp:\"createPoolFile\",args:[a]}),this.state.pool.push(a),c()}));for(let i=0;i>t;i--)o.push(new Promise(async c=>{let a=this.state.pool.pop();r(this,n,k).call(this,{opp:\"deletePoolFile\",args:[a]});let h=s(this,b).get(a);s(this,m).get(a)?.close(),await s(this,F).removeEntry(h.name),s(this,b).delete(a),s(this,m).delete(a),c()}));await Promise.all(o)}_createPoolFileState(e){this.state.pool.push(e)}_deletePoolFileState(e){let t=this.state.pool.indexOf(e);t>-1&&this.state.pool.splice(t,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let e=new TextEncoder().encode(JSON.stringify(this.state));s(this,y).truncate(0),s(this,y).write(e,{at:0}),s(this,y).flush(),this.lastCheckpoint=Date.now()}flush(){for(let e of s(this,S))try{e.flush()}catch{}s(this,S).clear()}chmod(e,t){r(this,n,O).call(this,{opp:\"chmod\",args:[e,t]},()=>{this._chmodState(e,t)})}_chmodState(e,t){let o=r(this,n,f).call(this,e);o.mode=t}close(e){let t=r(this,n,I).call(this,e);s(this,P).delete(e),s(this,D).delete(t)}fstat(e){let t=r(this,n,I).call(this,e);return this.lstat(t)}lstat(e){let t=r(this,n,f).call(this,e),o=t.type===\"file\"?s(this,m).get(t.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:t.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,blksize:i,blocks:Math.ceil(o/i),atime:t.lastModified,mtime:t.lastModified,ctime:t.lastModified}}mkdir(e,t){r(this,n,O).call(this,{opp:\"mkdir\",args:[e,t]},()=>{this._mkdirState(e,t)})}_mkdirState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=[],a=this.state.root;for(let d of o){if(c.push(e),!Object.prototype.hasOwnProperty.call(a.children,d))if(t?.recursive)this.mkdir(c.join(\"/\"));else throw new p(\"ENOENT\",\"No such file or directory\");if(a.children[d].type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");a=a.children[d]}if(Object.prototype.hasOwnProperty.call(a.children,i))throw new p(\"EEXIST\",\"File exists\");let h={type:\"directory\",lastModified:Date.now(),mode:t?.mode||T.DIR,children:{}};a.children[i]=h}open(e,t,o){if(r(this,n,f).call(this,e).type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let c=r(this,n,W).call(this);return s(this,P).set(c,e),s(this,D).set(e,c),c}readdir(e){let t=r(this,n,f).call(this,e);if(t.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");return Object.keys(t.children)}read(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");return s(this,m).get(h.backingFilename).read(new Uint8Array(t.buffer,o,i),{at:c})}rename(e,t){r(this,n,O).call(this,{opp:\"rename\",args:[e,t]},()=>{this._renameState(e,t,!0)})}_renameState(e,t,o=!1){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(a.children,c))throw new p(\"ENOENT\",\"No such file or directory\");let h=r(this,n,w).call(this,t),d=h.pop(),l=r(this,n,f).call(this,h.join(\"/\"));if(o&&Object.prototype.hasOwnProperty.call(l.children,d)){let u=l.children[d];s(this,m).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}l.children[d]=a.children[c],delete a.children[c]}rmdir(e){r(this,n,O).call(this,{opp:\"rmdir\",args:[e]},()=>{this._rmdirState(e)})}_rmdirState(e){let t=r(this,n,w).call(this,e),o=t.pop(),i=r(this,n,f).call(this,t.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(i.children,o))throw new p(\"ENOENT\",\"No such file or directory\");let c=i.children[o];if(c.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(Object.keys(c.children).length>0)throw new p(\"ENOTEMPTY\",\"Directory not empty\");delete i.children[o]}truncate(e,t=0){let o=r(this,n,f).call(this,e);if(o.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let i=s(this,m).get(o.backingFilename);if(!i)throw new p(\"ENOENT\",\"No such file or directory\");i.truncate(t),s(this,S).add(i)}unlink(e){r(this,n,O).call(this,{opp:\"unlink\",args:[e]},()=>{this._unlinkState(e,!0)})}_unlinkState(e,t=!1){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(c.children,i))throw new p(\"ENOENT\",\"No such file or directory\");let a=c.children[i];if(a.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");if(delete c.children[i],t){let h=s(this,m).get(a.backingFilename);h?.truncate(0),s(this,S).add(h),s(this,D).has(e)&&(s(this,P).delete(s(this,D).get(e)),s(this,D).delete(e))}this.state.pool.push(a.backingFilename)}utimes(e,t,o){r(this,n,O).call(this,{opp:\"utimes\",args:[e,t,o]},()=>{this._utimesState(e,t,o)})}_utimesState(e,t,o){let i=r(this,n,f).call(this,e);i.lastModified=o}writeFile(e,t,o){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(Object.prototype.hasOwnProperty.call(a.children,c)){let l=a.children[c];l.lastModified=Date.now(),r(this,n,k).call(this,{opp:\"setLastModified\",args:[e,l.lastModified]})}else{if(this.state.pool.length===0)throw new Error(\"No more file handles available in the pool\");let l={type:\"file\",lastModified:Date.now(),mode:o?.mode||T.FILE,backingFilename:this.state.pool.pop()};a.children[c]=l,r(this,n,k).call(this,{opp:\"createFileNode\",args:[e,l]})}let h=a.children[c],d=s(this,m).get(h.backingFilename);t.length>0&&(d.write(typeof t==\"string\"?new TextEncoder().encode(t):new Uint8Array(t),{at:0}),e.startsWith(\"/pg_wal\")&&s(this,S).add(d))}_createFileNodeState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));c.children[i]=t;let a=this.state.pool.indexOf(t.backingFilename);return a>-1&&this.state.pool.splice(a,1),t}_setLastModifiedState(e,t){let o=r(this,n,f).call(this,e);o.lastModified=t}write(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let d=s(this,m).get(h.backingFilename);if(!d)throw new p(\"EBADF\",\"Bad file descriptor\");let l=d.write(new Uint8Array(t,o,i),{at:c});return a.startsWith(\"/pg_wal\")&&s(this,S).add(d),l}};H=new WeakMap,v=new WeakMap,F=new WeakMap,M=new WeakMap,y=new WeakMap,b=new WeakMap,m=new WeakMap,x=new WeakMap,P=new WeakMap,D=new WeakMap,S=new WeakMap,n=new WeakSet,C=async function(){E(this,H,await navigator.storage.getDirectory()),E(this,v,await r(this,n,j).call(this,this.dataDir,{create:!0})),E(this,F,await r(this,n,j).call(this,G,{from:s(this,v),create:!0})),E(this,M,await s(this,v).getFileHandle($,{create:!0})),E(this,y,await s(this,M).createSyncAccessHandle());let e=new ArrayBuffer(s(this,y).getSize());s(this,y).read(e,{at:0});let t,o=new TextDecoder().decode(e).split(`\n`),i=!1;try{t=JSON.parse(o[0])}catch{t={root:{type:\"directory\",lastModified:Date.now(),mode:T.DIR,children:{}},pool:[]},s(this,y).truncate(0),s(this,y).write(new TextEncoder().encode(JSON.stringify(t)),{at:0}),i=!0}this.state=t;let c=o.slice(1).filter(Boolean).map(l=>JSON.parse(l));for(let l of c){let u=`_${l.opp}State`;if(typeof this[u]==\"function\")try{this[u].bind(this)(...l.args)}catch(N){console.warn(\"Error applying OPFS AHP WAL entry\",l,N)}}let a=[],h=async l=>{if(l.type===\"file\")try{let u=await s(this,F).getFileHandle(l.backingFilename),N=await u.createSyncAccessHandle();s(this,b).set(l.backingFilename,u),s(this,m).set(l.backingFilename,N)}catch(u){console.error(\"Error opening file handle for node\",l,u)}else for(let u of Object.values(l.children))a.push(h(u))};await h(this.state.root);let d=[];for(let l of this.state.pool)d.push(new Promise(async u=>{s(this,b).has(l)&&console.warn(\"File handle already exists for pool file\",l);let N=await s(this,F).getFileHandle(l),U=await N.createSyncAccessHandle();s(this,b).set(l,N),s(this,m).set(l,U),u()}));await Promise.all([...a,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},O=function(e,t){let o=r(this,n,k).call(this,e);try{t()}catch(i){throw s(this,y).truncate(o),i}},k=function(e){let t=JSON.stringify(e),o=new TextEncoder().encode(`\n${t}`),i=s(this,y).getSize();return s(this,y).write(o,{at:i}),s(this,S).add(s(this,y)),i},w=function(e){return e.split(\"/\").filter(Boolean)},f=function(e,t){let o=r(this,n,w).call(this,e),i=t||this.state.root;for(let c of o){if(i.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(!Object.prototype.hasOwnProperty.call(i.children,c))throw new p(\"ENOENT\",\"No such file or directory\");i=i.children[c]}return i},I=function(e){let t=s(this,P).get(e);if(!t)throw new p(\"EBADF\",\"Bad file descriptor\");return t},W=function(){let e=++_(this,x)._;for(;s(this,P).has(e);)_(this,x)._++;return e},j=async function(e,t){let o=r(this,n,w).call(this,e),i=t?.from||s(this,H);for(let c of o)i=await i.getDirectoryHandle(c,{create:t?.create});return i};var p=class extends Error{constructor(A,e){super(e),typeof A==\"number\"?this.code=A:typeof A==\"string\"&&(this.code=z[A])}};export{L as OpfsAhpFS};\n//# sourceMappingURL=opfs-ahp.js.map"],"names":["R","$","G","T","H","v","M","y","b","m","x","P","D","n","C","O","k","w","I","W","j","L","B","e","t","o","g","r","s","c","a","h","l","E","N","U","_","A","z"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/assets/{react-error-boundary.esm.BdKfLyaR.js → react-error-boundary.esm.DHp-mKwc.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{al as c,am as g,an as p}from"./index.
|
|
1
|
+
import{al as c,am as g,an as p}from"./index.BcBVmRI8.js";import{Component as h,createElement as l,createContext as m}from"react";async function C(n,r){if(!n)return;const t=n.split("/");t.pop(),t.pop(),t.push("drives");const e=t.join("/");return(await(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:`
|
|
2
2
|
query getDriveIdBySlug($slug: String!) {
|
|
3
3
|
driveIdBySlug(slug: $slug)
|
|
4
4
|
}
|
|
@@ -16,4 +16,4 @@ import{al as c,am as g,an as p}from"./index.BGemDCBc.js";import{Component as h,c
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
}`}function S(n,r,t){const e=y(n),o=v(t),s={documentId:r,driveId:e};return g.compressToEncodedURIComponent(JSON.stringify({document:o.trim(),variables:JSON.stringify(s,null,2)}))}function I(n,r,t){const e=f(n),o=c(t.name),s=S(n,r,t);return`${e}/${o}?explorerURLState=${s}`}const b=m(null),u={didCatch:!1,error:null};class w extends h{constructor(r){super(r),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=u}static getDerivedStateFromError(r){return{didCatch:!0,error:r}}resetErrorBoundary(){const{error:r}=this.state;if(r!==null){for(var t,e,o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];(t=(e=this.props).onReset)===null||t===void 0||t.call(e,{args:s,reason:"imperative-api"}),this.setState(u)}}componentDidCatch(r,t){var e,o;(e=(o=this.props).onError)===null||e===void 0||e.call(o,r,t)}componentDidUpdate(r,t){const{didCatch:e}=this.state,{resetKeys:o}=this.props;if(e&&t.error!==null&&E(r.resetKeys,o)){var s,a;(s=(a=this.props).onReset)===null||s===void 0||s.call(a,{next:o,prev:r.resetKeys,reason:"keys"}),this.setState(u)}}render(){const{children:r,fallbackRender:t,FallbackComponent:e,fallback:o}=this.props,{didCatch:s,error:a}=this.state;let i=r;if(s){const d={error:a,resetErrorBoundary:this.resetErrorBoundary};if(typeof t=="function")i=t(d);else if(e)i=l(e,d);else if(o!==void 0)i=o;else throw a}return l(b.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},i)}}function E(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return n.length!==r.length||n.some((t,e)=>!Object.is(t,r[e]))}export{w as E,I as b,C as g};
|
|
19
|
-
//# sourceMappingURL=react-error-boundary.esm.
|
|
19
|
+
//# sourceMappingURL=react-error-boundary.esm.DHp-mKwc.js.map
|