@powerhousedao/connect 4.1.0-dev.14 → 4.1.0-dev.16
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.BS70zcOt.js → AddDriveModal.C78xJIE6.js} +2 -2
- package/dist/assets/{AddDriveModal.BS70zcOt.js.map → AddDriveModal.C78xJIE6.js.map} +1 -1
- package/dist/assets/{AddRemoteDriveModal.B4vRLfuY.js → AddRemoteDriveModal.DUTZ0PGy.js} +2 -2
- package/dist/assets/{AddRemoteDriveModal.B4vRLfuY.js.map → AddRemoteDriveModal.DUTZ0PGy.js.map} +1 -1
- package/dist/assets/{CookiesPolicyModal.BB5tPLL1.js → CookiesPolicyModal.BHUxTaxH.js} +2 -2
- package/dist/assets/{CookiesPolicyModal.BB5tPLL1.js.map → CookiesPolicyModal.BHUxTaxH.js.map} +1 -1
- package/dist/assets/{CreateDocumentModal.CH46uens.js → CreateDocumentModal.DRFY5t3i.js} +2 -2
- package/dist/assets/{CreateDocumentModal.CH46uens.js.map → CreateDocumentModal.DRFY5t3i.js.map} +1 -1
- package/dist/assets/{DebugSettingsModal.DrwrnsQg.js → DebugSettingsModal.GFH8Ege6.js} +2 -2
- package/dist/assets/{DebugSettingsModal.DrwrnsQg.js.map → DebugSettingsModal.GFH8Ege6.js.map} +1 -1
- package/dist/assets/{DeleteDriveModal.Ci2Tk1nU.js → DeleteDriveModal.CARJRM29.js} +2 -2
- package/dist/assets/{DeleteDriveModal.Ci2Tk1nU.js.map → DeleteDriveModal.CARJRM29.js.map} +1 -1
- package/dist/assets/{DeleteItemModal.DSTkzCfP.js → DeleteItemModal.CmM_OQSS.js} +2 -2
- package/dist/assets/{DeleteItemModal.DSTkzCfP.js.map → DeleteItemModal.CmM_OQSS.js.map} +1 -1
- package/dist/assets/{DisclaimerModal.C15wk_lm.js → DisclaimerModal.Dcu6bwDg.js} +2 -2
- package/dist/assets/{DisclaimerModal.C15wk_lm.js.map → DisclaimerModal.Dcu6bwDg.js.map} +1 -1
- package/dist/assets/{DriveSettingsModal.C-G7CykG.js → DriveSettingsModal.p3gFrpAn.js} +2 -2
- package/dist/assets/{DriveSettingsModal.C-G7CykG.js.map → DriveSettingsModal.p3gFrpAn.js.map} +1 -1
- package/dist/assets/{SettingsModal.wa7YqU2k.js → SettingsModal.NsJ4W7ns.js} +2 -2
- package/dist/assets/{SettingsModal.wa7YqU2k.js.map → SettingsModal.NsJ4W7ns.js.map} +1 -1
- package/dist/assets/{Trans.fzROOCo7.js → Trans.CsxaOVCy.js} +2 -2
- package/dist/assets/{Trans.fzROOCo7.js.map → Trans.CsxaOVCy.js.map} +1 -1
- package/dist/assets/{UpgradeDriveModal.CZjzdZUT.js → UpgradeDriveModal.DkFSsMeE.js} +2 -2
- package/dist/assets/{UpgradeDriveModal.CZjzdZUT.js.map → UpgradeDriveModal.DkFSsMeE.js.map} +1 -1
- package/dist/assets/{atlas-import.KoebOAIH.js → atlas-import.B7JVQP4Z.js} +2 -2
- package/dist/assets/{atlas-import.KoebOAIH.js.map → atlas-import.B7JVQP4Z.js.map} +1 -1
- package/dist/assets/{content.DOqiMQud.js → content.BxQL7Ob8.js} +3 -3
- package/dist/assets/{content.DOqiMQud.js.map → content.BxQL7Ob8.js.map} +1 -1
- package/dist/assets/{cookie-banner.BnV4V9SC.js → cookie-banner.oFy7CRff.js} +2 -2
- package/dist/assets/{cookie-banner.BnV4V9SC.js.map → cookie-banner.oFy7CRff.js.map} +1 -1
- package/dist/assets/{index.Ddrhov_Q.js → index.B9f4qGXM.js} +2 -2
- package/dist/assets/{index.Ddrhov_Q.js.map → index.B9f4qGXM.js.map} +1 -1
- package/dist/assets/{index.D0rNrBNg.js → index.BDz2ilct.js} +2 -2
- package/dist/assets/{index.D0rNrBNg.js.map → index.BDz2ilct.js.map} +1 -1
- package/dist/assets/{index.DD46OEj6.js → index.BGFmnc0C.js} +2 -2
- package/dist/assets/{index.DD46OEj6.js.map → index.BGFmnc0C.js.map} +1 -1
- package/dist/assets/{index.BrAiYFNe.js → index.Bj8Z6FnE.js} +2 -2
- package/dist/assets/{index.BrAiYFNe.js.map → index.Bj8Z6FnE.js.map} +1 -1
- package/dist/assets/{index.Cxw5H4RY.js → index.By8MjGVu.js} +2 -2
- package/dist/assets/{index.Cxw5H4RY.js.map → index.By8MjGVu.js.map} +1 -1
- package/dist/assets/{index.CYihR6D1.js → index.Do-2_IiE.js} +5 -5
- package/dist/assets/{index.CYihR6D1.js.map → index.Do-2_IiE.js.map} +1 -1
- package/dist/assets/{index.CFBhtw7k.js → index.Duk8Nie5.js} +2 -2
- package/dist/assets/{index.CFBhtw7k.js.map → index.Duk8Nie5.js.map} +1 -1
- package/dist/assets/{index.CGEMCdxE.js → index.gViumUV0.js} +2 -2
- package/dist/assets/{index.CGEMCdxE.js.map → index.gViumUV0.js.map} +1 -1
- package/dist/assets/{main.D9ohwghr.js → main.DD-YSFYv.js} +3 -3
- package/dist/assets/{main.D9ohwghr.js.map → main.DD-YSFYv.js.map} +1 -1
- package/dist/assets/{modal.B5QcwU3z.js → modal.C5DA2zIK.js} +3 -3
- package/dist/assets/{modal.B5QcwU3z.js.map → modal.C5DA2zIK.js.map} +1 -1
- package/dist/assets/{modals.CNMxXHX5.js → modals.CPWHVhqT.js} +2 -2
- package/dist/assets/{modals.CNMxXHX5.js.map → modals.CPWHVhqT.js.map} +1 -1
- package/dist/assets/{nodefs.D8koVME7.js → nodefs.DAQ1_Z-z.js} +2 -2
- package/dist/assets/{nodefs.D8koVME7.js.map → nodefs.DAQ1_Z-z.js.map} +1 -1
- package/dist/assets/{nodes.CzVpU5ay.js → nodes.CC3K6W9_.js} +2 -2
- package/dist/assets/{nodes.CzVpU5ay.js.map → nodes.CC3K6W9_.js.map} +1 -1
- package/dist/assets/{opfs-ahp.DtxBzzyG.js → opfs-ahp.CVazwwo1.js} +2 -2
- package/dist/assets/{opfs-ahp.DtxBzzyG.js.map → opfs-ahp.CVazwwo1.js.map} +1 -1
- package/dist/assets/{registerServiceWorker.DKuDmwXm.js → registerServiceWorker.C3qwvQPR.js} +2 -2
- package/dist/assets/{registerServiceWorker.DKuDmwXm.js.map → registerServiceWorker.C3qwvQPR.js.map} +1 -1
- package/dist/assets/{root.clzrzcwe.js → root.0pJinPCj.js} +2 -2
- package/dist/assets/{root.clzrzcwe.js.map → root.0pJinPCj.js.map} +1 -1
- package/dist/assets/{useAcceptedCookies.gs7EPZvN.js → useAcceptedCookies.EgV6ua5Z.js} +2 -2
- package/dist/assets/{useAcceptedCookies.gs7EPZvN.js.map → useAcceptedCookies.EgV6ua5Z.js.map} +1 -1
- package/dist/assets/useDefaultDocumentModelEditor.CFDMai8h.js +2 -0
- package/dist/assets/{useDefaultDocumentModelEditor.C3yx0NsG.js.map → useDefaultDocumentModelEditor.CFDMai8h.js.map} +1 -1
- package/dist/assets/{useInitSentry.BjNhCx3t.js → useInitSentry.Cqecb-c1.js} +6 -6
- package/dist/assets/{useInitSentry.BjNhCx3t.js.map → useInitSentry.Cqecb-c1.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/vite-envs.sh +1 -1
- package/package.json +11 -11
- package/dist/assets/useDefaultDocumentModelEditor.C3yx0NsG.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as y,jsx as o}from"react/jsx-runtime";import{u as b}from"./useAcceptedCookies.
|
|
2
|
-
//# sourceMappingURL=cookie-banner.
|
|
1
|
+
import{jsxs as y,jsx as o}from"react/jsx-runtime";import{u as b}from"./useAcceptedCookies.EgV6ua5Z.js";import{s as v,i as g,h as k,j as w}from"./index.Do-2_IiE.js";import{useSyncExternalStore as S}from"react";import{i as l}from"./i18next.CqOP20KE.js";import{useModal as C}from"./modal.C5DA2zIK.js";import{a6 as D}from"./index.CW6hXWch.js";import{T as B}from"./Trans.CsxaOVCy.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"react-dom";const x={type:"3rdParty",init(e){v(e.options.react),g(e)}},A=k.routerBasename,c=`${A}:display-cookie-banner`,n=new Set;let d=T();function T(){try{return localStorage.getItem(c)!=="false"}catch(e){return console.error(e),!0}}function a(){return d}function N(e){d=e,localStorage.setItem(c,JSON.stringify(e))}function E(e){return n.add(e),()=>n.delete(e)}const I=()=>[S(E,a,a),N],j={cancel:"Cancel",delete:"Delete",continue:"Continue",empty:"Empty",create:"Create",save:"Save",export:"Export",reload:"Reload",reloadConnect:"Click here to reload Connect"},P={placeholder:"Search Powerhouse",filterLabel:"File type"},F={sections:{folders:{title:"Folders",empty:"No folders 🗂️"},documents:{title:"Documents and files",empty:"No documents or files 📄"}}},O={options:{switchboardLink:"Switchboard Link"}},R={deleteItem:{folder:{header:"Delete “{{item}}” folder?",body:"Are you sure you want to delete this folder? All files and subfolders within it will be removed."},file:{header:"Delete “{{item}}” file?",body:"Are you sure you want to delete this file?"}},deleteDrive:{title:'Delete "{{label}}" drive?',body:"Are you sure you want to delete this drive? All files and subfolders within it will be removed. Do you want to proceed?",inputPlaceholder:"Enter drive name..."},upgradeDrive:{header:"Upgrade to cloud drive",body:"You are moving files from a private to a shared drive. These files will become accessible to others in the shared drive.Do you want to proceed?"},createDocument:{header:"Create a new document",placeholder:"Document name"},connectSettings:{title:"Settings",body:"These settings will apply to all drives.",clearStorage:{button:"Clear Storage",description:"Delete previous session data",confirmation:{title:"Clear Storage",body:"Are you sure you want to clear the storage? This will remove all previous session data.",clearButton:"Clear Storage"}},enabledDocumentTypes:{title:"Document Models",description:"Documents enabled",allSelected:"All documents are selected"}},exportDocumentWithErrors:{title:"Your document contains errors",body:"Your document contains structure errors. Do you want to export it anyway?"},disclaimer:{title:"Disclaimer",body:"All content provided herein our website, hyperlinked sites, associated applications, forums, blogs, social media accounts and other platforms (“Site”) is for your general information only, procured from third party sources. We make no warranties of any kind in relation to our content, including but not limited to accuracy and updatedness. No part of the content that we provide constitutes financial advice, legal advice or any other form of advice meant for your specific reliance for any purpose. Any use or reliance on our content is solely at your own risk and discretion. You should conduct your own research, review, analyse and verify our content before relying on them. Trading is a highly risky activity that can lead to major losses, please therefore consult your financial advisor before making any decision. No content on our Site is meant to be a solicitation or offer."},cookiesPolicy:{title:"Cookies Policy",body:"<subtitle>Use of Cookies and Similar Technologies</subtitle><p>The Site is using cookies. Cookies are small text files that are placed on your computer by websites that you visit. They are widely used in order to make websites work, or work more efficiently, as well as to provide information to the owners of the site. Cookies are typically stored on your computer´s hard drive.Information collected from cookies is used by us to evaluate the effectiveness of our Site and analyze trends. The information collected from cookies allows us to determine such things as which parts of the Site are most visited and difficulties our visitors may experience in accessing the SIte. With this knowledge, we can improve the quality of your experience on the Site by recognizing and delivering more of the most desired features and information, as well as by resolving access difficulties.</p><p>We use third party service providers, to assist us in better understanding the use of our Site. Our service providers will place cookies on the hard drive of your computer (or use similar technologies) and will receive information that we select that will educate us on such things as how visitors navigate around our Site. This information is aggregated to provide statistical data about our users browsing actions and patterns, and does not personally identify individuals. This information may include:</p><p>Computer or mobile device information, Website usage information, such as:<list></p><bullet>Page views,</bullet><bullet>Button clicks,</bullet><bullet>Input form changes (without the values being entered),</bullet><bullet>Errors.</bullet></list><p>Our service providers analyses this information and provides us with aggregate reports. The information and analysis provided by our service providers will be used to assist us in better understanding our visitors interests in our Site and how to better serve those interests. If you want to avoid using cookies altogether, you can disable cookies in your browser. However, disabling cookies might make it impossible for you to use certain features of the Site. Your use of the Site with a browser that is configured to accept cookies constitutes an acceptance of our and third-party cookies.</p>"}},W={deleteDriveSuccess:"Drive successfully deleted",deleteFolderSuccess:"Folder deleted",fileDeleteSuccess:"File deleted",addDriveSuccess:"New drive successfully added",driveSyncSuccess:"Drive synced successfully",driveSyncError:"Error synchronizing drive {{drive}}",driveSyncConflict:"Conflict error detected in {{drive}}",reloadApp:"It seems like you're running an outdated version of the app. Please reload Connect to get the latest version."},Y={cookiePolicy:"Cookie Policy",termsOfUse:"Terms of Use",disclaimer:"Disclaimer",builtWith:"Built with <icon /> Powerhouse"},L={message:"This website uses cookies for analytic purposes only. Cookies are anonymous and do not link to user data. We collect information to improve the user experience and validate UI changes. You can still use the page without cookies. For more information, please read our <a>cookies policy.</a>",accept:"Accept configured cookies",reject:"Reject all cookies",cookies:{functional:"Functional cookies",analytics:"Analytics cookies"}},U={common:j,searchbar:P,folderView:F,files:O,modals:R,notifications:W,footer:Y,cookieBanner:L},z={en:{code:"en",name:"English",translation:U}};l.use(x).init({resources:z,fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1}}).catch(e=>{console.error(e)});const K=(e,i)=>e.some(t=>t.id===i&&t.value),oe=()=>{const{t:e}=w(void 0,{useSuspense:!0,i18n:l}),{showModal:i}=C(),[t,s]=I(),[,r]=b(),u=[{id:"analytics-cookie",label:e("cookieBanner.cookies.analytics"),value:!0}],m=p=>{s(!1),K(p,"analytics-cookie")&&r(h=>({...h,analytics:!0}))},f=()=>{s(!1),r(()=>({analytics:!1,functional:!1,marketing:!1}))};return t?y("div",{className:"absolute inset-0 z-[10000] backdrop-blur-sm",children:[o("div",{className:"absolute inset-0 bg-black opacity-15"}),o("div",{className:"absolute inset-x-0 bottom-0 flex justify-center bg-white px-10 pb-16 pt-10 shadow-lg",children:o(D,{className:"max-w-[1024px] ",cookies:u,onSubmit:m,onReject:f,submitLabel:e("cookieBanner.accept"),rejectLabel:e("cookieBanner.reject"),children:o("p",{className:"font-semibold text-gray-500",children:o(B,{i18nKey:"cookieBanner.message",components:{a:o("a",{onClick:()=>i("cookiesPolicy",{}),className:"cursor-pointer text-gray-900 hover:underline"},"cookieBanner.message-link")}},"cookieBanner.message")})})})]}):null};export{oe as CookieBanner};
|
|
2
|
+
//# sourceMappingURL=cookie-banner.oFy7CRff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-banner.
|
|
1
|
+
{"version":3,"file":"cookie-banner.oFy7CRff.js","sources":["../../../../node_modules/.pnpm/react-i18next@13.5.0_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/initReactI18next.js","../../src/hooks/useCookiebanner.ts","../../src/i18n/index.ts","../../src/components/cookie-banner.tsx"],"sourcesContent":["import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import connectConfig from '#connect-config';\nimport { useSyncExternalStore } from 'react';\n\nconst namespace = connectConfig.routerBasename;\n\nexport const COOKIE_BANNER_KEY_STORAGE = `${namespace}:display-cookie-banner`;\n\nconst listeners = new Set<() => void>();\n\nlet bannerShown = getInitial();\n\nfunction getInitial(): boolean {\n try {\n const value = localStorage.getItem(COOKIE_BANNER_KEY_STORAGE);\n return value !== 'false';\n } catch (error) {\n console.error(error);\n return true;\n }\n}\n\nfunction getCookieBannerState(): boolean {\n return bannerShown;\n}\n\nfunction setCookieBannerState(state: boolean) {\n bannerShown = state;\n localStorage.setItem(COOKIE_BANNER_KEY_STORAGE, JSON.stringify(state));\n}\n\nfunction subscribe(fn: () => void) {\n listeners.add(fn);\n return () => listeners.delete(fn);\n}\n\nexport const useCookieBanner = () => {\n const cookieBannerShown = useSyncExternalStore(\n subscribe,\n getCookieBannerState,\n getCookieBannerState,\n );\n return [cookieBannerShown, setCookieBannerState] as const;\n};\n","import i18n, { type Resource } from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './locales/en.json' with { type: 'json' };\n\nconst resources: Resource = {\n en: {\n code: 'en',\n name: 'English',\n translation: translationEN,\n },\n};\n\ni18n.use(initReactI18next)\n .init({\n resources,\n fallbackLng: 'en',\n debug: false,\n interpolation: {\n escapeValue: false,\n },\n })\n .catch((e: unknown) => {\n console.error(e);\n });\n\nexport default i18n;\n","import {\n type CookieInput,\n CookieBanner as PHCookieBanner,\n} from '@powerhousedao/design-system';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useAcceptedCookies } from '../hooks/useAcceptedCookies.js';\nimport { useCookieBanner } from '../hooks/useCookiebanner.js';\nimport i18n from '../i18n';\nimport { useModal } from './modal/index.js';\n\nconst isCookieAccepted = (cookies: CookieInput[], id: string) => {\n return cookies.some(cookie => cookie.id === id && cookie.value);\n};\n\nexport const CookieBanner = () => {\n const { t } = useTranslation(undefined, {\n useSuspense: true,\n i18n,\n });\n const { showModal } = useModal();\n const [showBanner, setShowBanner] = useCookieBanner();\n const [, setAcceptedCookies] = useAcceptedCookies();\n\n const cookiesInput: CookieInput[] = [\n {\n id: 'analytics-cookie',\n label: t('cookieBanner.cookies.analytics'),\n value: true,\n },\n ];\n\n const handleAccept = (cookies: CookieInput[]) => {\n setShowBanner(false);\n\n if (isCookieAccepted(cookies, 'analytics-cookie')) {\n setAcceptedCookies(acceptedCookies => ({\n ...acceptedCookies,\n analytics: true,\n }));\n }\n };\n\n const handleReject = () => {\n setShowBanner(false);\n setAcceptedCookies(() => ({\n analytics: false,\n functional: false,\n marketing: false,\n }));\n };\n\n if (!showBanner) {\n return null;\n }\n\n return (\n <div className=\"absolute inset-0 z-[10000] backdrop-blur-sm\">\n <div className=\"absolute inset-0 bg-black opacity-15\" />\n <div className=\"absolute inset-x-0 bottom-0 flex justify-center bg-white px-10 pb-16 pt-10 shadow-lg\">\n <PHCookieBanner\n className=\"max-w-[1024px] \"\n cookies={cookiesInput}\n onSubmit={handleAccept}\n onReject={handleReject}\n submitLabel={t('cookieBanner.accept')}\n rejectLabel={t('cookieBanner.reject')}\n >\n <p className=\"font-semibold text-gray-500\">\n <Trans\n key={'cookieBanner.message'}\n i18nKey=\"cookieBanner.message\"\n components={{\n a: (\n <a\n onClick={() =>\n showModal('cookiesPolicy', {})\n }\n key={'cookieBanner.message-link'}\n className=\"cursor-pointer text-gray-900 hover:underline\"\n />\n ),\n }}\n />\n </p>\n </PHCookieBanner>\n </div>\n </div>\n );\n};\n"],"names":["initReactI18next","instance","setDefaults","setI18n","namespace","connectConfig","COOKIE_BANNER_KEY_STORAGE","listeners","bannerShown","getInitial","error","getCookieBannerState","setCookieBannerState","state","subscribe","fn","useCookieBanner","useSyncExternalStore","resources","translationEN","i18n","isCookieAccepted","cookies","id","cookie","CookieBanner","t","useTranslation","showModal","useModal","showBanner","setShowBanner","setAcceptedCookies","useAcceptedCookies","cookiesInput","handleAccept","acceptedCookies","handleReject","jsxs","jsx","PHCookieBanner","Trans"],"mappings":"8dAEO,MAAMA,EAAmB,CAC9B,KAAM,WACN,KAAKC,EAAU,CACbC,EAAYD,EAAS,QAAQ,KAAK,EAClCE,EAAQF,CAAQ,CACpB,CACA,ECLMG,EAAYC,EAAc,eAEnBC,EAA4B,GAAGF,CAAS,yBAE/CG,MAAgB,IAEtB,IAAIC,EAAcC,EAAA,EAElB,SAASA,GAAsB,CAC3B,GAAI,CAEA,OADc,aAAa,QAAQH,CAAyB,IAC3C,OAAA,OACZI,EAAO,CACZ,eAAQ,MAAMA,CAAK,EACZ,EAAA,CAEf,CAEA,SAASC,GAAgC,CACrC,OAAOH,CACX,CAEA,SAASI,EAAqBC,EAAgB,CAC1CL,EAAcK,EACd,aAAa,QAAQP,EAA2B,KAAK,UAAUO,CAAK,CAAC,CACzE,CAEA,SAASC,EAAUC,EAAgB,CAC/B,OAAAR,EAAU,IAAIQ,CAAE,EACT,IAAMR,EAAU,OAAOQ,CAAE,CACpC,CAEO,MAAMC,EAAkB,IAMpB,CALmBC,EACtBH,EACAH,EACAA,CAAA,EAEuBC,CAAoB,47LCpC7CM,EAAsB,CACxB,GAAI,CACA,KAAM,KACN,KAAM,UACN,YAAaC,CAAA,CAErB,EAEAC,EAAK,IAAIpB,CAAgB,EACpB,KAAK,CACF,UAAAkB,EACA,YAAa,KACb,MAAO,GACP,cAAe,CACX,YAAa,EAAA,CAErB,CAAC,EACA,MAAO,GAAe,CACnB,QAAQ,MAAM,CAAC,CACnB,CAAC,ECdL,MAAMG,EAAmB,CAACC,EAAwBC,IACvCD,EAAQ,KAAKE,GAAUA,EAAO,KAAOD,GAAMC,EAAO,KAAK,EAGrDC,GAAe,IAAM,CAC9B,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAe,OAAW,CACpC,YAAa,GAAA,KACbP,CAAA,CACH,EACK,CAAE,UAAAQ,CAAA,EAAcC,EAAA,EAChB,CAACC,EAAYC,CAAa,EAAIf,EAAA,EAC9B,CAAA,CAAGgB,CAAkB,EAAIC,EAAA,EAEzBC,EAA8B,CAChC,CACI,GAAI,mBACJ,MAAOR,EAAE,gCAAgC,EACzC,MAAO,EAAA,CACX,EAGES,EAAgBb,GAA2B,CAC7CS,EAAc,EAAK,EAEfV,EAAiBC,EAAS,kBAAkB,GAC5CU,EAAmBI,IAAoB,CACnC,GAAGA,EACH,UAAW,EAAA,EACb,CACN,EAGEC,EAAe,IAAM,CACvBN,EAAc,EAAK,EACnBC,EAAmB,KAAO,CACtB,UAAW,GACX,WAAY,GACZ,UAAW,EAAA,EACb,CAAA,EAGN,OAAKF,EAKDQ,EAAC,MAAA,CAAI,UAAU,8CACX,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAU,sCAAA,CAAuC,EACtDA,EAAC,MAAA,CAAI,UAAU,uFACX,SAAAA,EAACC,EAAA,CACG,UAAU,kBACV,QAASN,EACT,SAAUC,EACV,SAAUE,EACV,YAAaX,EAAE,qBAAqB,EACpC,YAAaA,EAAE,qBAAqB,EAEpC,SAAAa,EAAC,IAAA,CAAE,UAAU,8BACT,SAAAA,EAACE,EAAA,CAEG,QAAQ,uBACR,WAAY,CACR,EACIF,EAAC,IAAA,CACG,QAAS,IACLX,EAAU,gBAAiB,EAAE,EAGjC,UAAU,8CAAA,EADL,2BAAA,CAET,CAER,EAZK,sBAAA,CAaT,CACJ,CAAA,CAAA,CACJ,CACJ,CAAA,EACJ,EAlCO,IAoCf","x_google_ignoreList":[0]}
|
|
@@ -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{a8 as L,a9 as B,aa as C,ab as U,ac as k,ad as x,ae as T,af as j,ag as D,ah as _}from"./index.CW6hXWch.js";import{h as P,R as $,p as S,n as A,o as J}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{a8 as L,a9 as B,aa as C,ab as U,ac as k,ad as x,ae as T,af as j,ag as D,ah as _}from"./index.CW6hXWch.js";import{h as P,R as $,p as S,n as A,o as J}from"./index.Do-2_IiE.js";const K=[U,k,x,T,j,D];function z(r){return K.find(t=>t.id===r)}let E=C({chain:U,batch:{multicall:!0},transport:_()});function F(r){var e;if(((e=E.chain)==null?void 0:e.id)===r)return;const t=z(r);if(!t)throw new Error(`Invalid chain id: ${r}`);E=C({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 B(E,{name:s});n&&(e.avatarUrl=n)}}catch(s){console.error(s)}return e};function O(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,I,f,v;class H{constructor(t,e){c(this,f);c(this,u);c(this,I);d(this,u,t),d(this,I,e)}get(t){return a(this,u).get(i(this,f,v).call(this,t))}set(t,e){return a(this,u).set(i(this,f,v).call(this,t),e)}delete(t){return a(this,u).delete(i(this,f,v).call(this,t))}}u=new WeakMap,I=new WeakMap,f=new WeakSet,v=function(t){return`${a(this,I)}:${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,`${P.routerBasename}:${t}`)}}function Q(r){return new y(new q("renown"),r)}var w,g,m,p,o,l,W;class y{constructor(t,e,s=$){c(this,o);c(this,w);c(this,g);c(this,m);c(this,p,new EventTarget);d(this,g,t),d(this,m,e),d(this,w,s),this.user&&this.login(this.user.did).catch(()=>{})}get user(){return a(this,g).get("user")}set connectId(t){d(this,m,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=O(t),s=await i(this,o,W).call(this,e.address,e.chainId,a(this,m));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(S.error),i(this,o,l).call(this,n),n}catch(e){throw S.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)}}}w=new WeakMap,g=new WeakMap,m=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,w))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,w)),h=await fetch(n,{method:"GET"});if(h.ok)return(await h.json()).credential;throw new Error("Failed to get credential")};const Z=Object.freeze(Object.defineProperty({__proto__:null,RENOWN_CHAIN_ID:J,RENOWN_NETWORK_ID:A,RENOWN_URL:$,Renown:y,initRenownBrowser:Q,parsePkhDid:O},Symbol.toStringTag,{value:"Module"}));export{H as B,y as R,G as a,Z as b,z as g,Q as i,O as p};
|
|
2
|
+
//# sourceMappingURL=index.B9f4qGXM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.Ddrhov_Q.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.B9f4qGXM.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":"8iBAYA,MAAMA,EAAgB,CAACC,EAASC,EAASC,EAAQC,EAAUC,EAAMC,CAAQ,EAElE,SAASC,EAASC,EAA+B,CACpD,OAAOR,EAAc,KAAKS,GAASA,EAAM,KAAOD,CAAE,CAUtD,CAEA,IAAIE,EAAuBC,EAAmB,CAC1C,MAAOV,EACP,MAAO,CACH,UAAW,EAAA,EAEf,UAAWW,EAAA,CACf,CAAC,EAED,SAASC,EAAYC,EAAiB,OAClC,KAAIC,EAAAL,EAAO,QAAP,YAAAK,EAAc,MAAOD,EACrB,OAGJ,MAAML,EAAQF,EAASO,CAAO,EAC9B,GAAI,CAACL,EACD,MAAM,IAAI,MAAM,qBAAqBK,CAAO,EAAE,EAGlDJ,EAASC,EAAmB,CACxB,MAAAF,EACA,MAAO,CACH,UAAW,EAAA,EAEf,UAAWG,EAAA,CAAK,CACnB,CACL,CAOO,MAAMI,EAAa,MACtBC,EACAH,IACmB,CACnB,MAAMI,EAAkB,CAAA,EACxB,GAAI,CACAL,EAAYC,CAAO,EACnB,MAAMK,EAAO,MAAMC,EAAWV,EAAQ,CAAE,QAAAO,EAAS,EACjD,GAAIE,EAAM,CACND,EAAO,KAAOC,EAEd,MAAME,EAAY,MAAMC,EAAaZ,EAAQ,CAAE,KAAAS,EAAM,EACjDE,IACAH,EAAO,UAAYG,EACvB,CACJ,OACKE,EAAG,CACR,QAAQ,MAAMA,CAAC,CAAA,CAEnB,OAAOL,CACX,ECzEO,SAASM,EAAYC,EAAqB,CAC7C,MAAMC,EAAQD,EAAI,MAAM,GAAG,EAC3B,GAAI,CAACA,EAAI,WAAW,UAAU,GAAKC,EAAM,SAAW,EAChD,MAAM,IAAI,MAAM,iBAAiB,EAErC,KAAM,GAAKC,EAAWC,EAAYX,CAAO,EAAIS,EAE7C,GAAI,CAACT,EAAQ,WAAW,IAAI,EACxB,MAAM,IAAI,MAAM,oBAAoBA,CAAO,EAAE,EAGjD,MAAMH,EAAU,OAAOc,CAAU,EACjC,GAAI,MAAMd,CAAO,EACb,MAAM,IAAI,MAAM,qBAAqBc,CAAU,EAAE,EAGrD,MAAO,CACH,QAAAd,EACA,UAAAa,EACA,QAAAV,CAAA,CAER,aCnBO,MAAMY,CAGb,CAIc,YAAYC,EAAoBC,EAAmB,CAP1DC,EAAA,KAAAC,GAIHD,EAAA,KAAAE,GACAF,EAAA,KAAAG,GAGIC,EAAA,KAAKF,EAASJ,GACdM,EAAA,KAAKD,EAAaJ,EAAA,CAOtB,IAAyBM,EAAkB,CACvC,OAAOC,EAAA,KAAKJ,GAAO,IAAIK,EAAA,KAAKN,EAAAO,GAAL,UAAeH,EAAI,CAAA,CAE9C,IAAyBA,EAAUI,EAAkC,CACjE,OAAOH,EAAA,KAAKJ,GAAO,IAAIK,EAAA,KAAKN,EAAAO,GAAL,UAAeH,GAAMI,CAAK,CAAA,CAErD,OAA4BJ,EAAgB,CACxC,OAAOC,EAAA,KAAKJ,GAAO,OAAOK,EAAA,KAAKN,EAAAO,GAAL,UAAeH,EAAI,CAAA,CAErD,CArBIH,EAAA,YACAC,EAAA,YALGF,EAAA,YAYHO,WAA+BH,EAAe,CAC1C,MAAO,GAAGC,EAAA,KAAKH,EAAU,IAAIE,EAAI,UAAU,EAAA,EClBnD,MAAMP,EAAkB,CACpB,IAAK,SAA8BO,EAAmB,CAClD,MAAMI,EAAQ,aAAa,QAAQJ,CAAG,EACtC,GAAII,EACA,OAAO,KAAK,MAAMA,CAAK,CAEpB,EAEX,IAAK,SAA8BJ,EAAUI,EAAuB,CAChE,OAAOA,EACD,aAAa,QAAQJ,EAAK,KAAK,UAAUI,CAAK,CAAC,EAC/C,aAAa,WAAWJ,CAAG,CAAA,EAErC,OAAQ,SAA8BA,EAAgB,CAClD,OAAO,aAAa,WAAWA,CAAG,CAAA,CAE1C,EAEO,MAAMK,UAEHb,CAAe,CACrB,YAAYE,EAAmB,CAC3B,MACID,EACA,GAAGa,EAAc,cAAc,IAAIZ,CAAS,EAAA,CAChD,CAER,CC3BO,SAASa,EAAkBC,EAAmB,CACjD,OAAO,IAAIC,EAAO,IAAIJ,EAAe,QAAQ,EAAGG,CAAS,CAC7D,mBCgBO,MAAMC,CAAO,CAMhB,YAAYhB,EAAiBe,EAAmBE,EAAUC,EAAY,CANnEhB,EAAA,KAAAiB,GACHjB,EAAA,KAAAkB,GACAlB,EAAA,KAAAE,GACAF,EAAA,KAAAmB,GACAnB,EAAA,KAAAoB,EAAgB,IAAI,aAGhBhB,EAAA,KAAKF,EAASJ,GACdM,EAAA,KAAKe,EAAaN,GAClBT,EAAA,KAAKc,EAAWH,GAEZ,KAAK,MACL,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,IAAA,EAAY,CAChD,CAGJ,IAAI,MAAO,CACP,OAAOT,EAAA,KAAKJ,GAAO,IAAI,MAAM,CAAA,CAWjC,IAAI,UAAUW,EAAmB,CAC7BT,EAAA,KAAKe,EAAaN,GAClB,MAAMQ,EAAO,KAAK,KAElBd,EAAA,KAAKU,EAAAK,GAAL,UAAiB,QAGbD,GACA,KAAK,MAAMA,EAAK,GAAG,EAAE,MAAM9B,GAAK,CAC5B,QAAQ,IAAI,gCAAiCA,CAAC,CAAA,CACjD,CACL,CAGJ,MAAM,MAAME,EAA4B,CACpC,GAAI,CACA,MAAMP,EAASM,EAAYC,CAAG,EAExB8B,EAAa,MAAMhB,EAAA,KAAKU,EAAAO,GAAL,UACrBtC,EAAO,QACPA,EAAO,QACPoB,EAAA,KAAKa,IAET,GAAI,CAACI,EACD,MAAAhB,EAAA,KAAKU,EAAAK,GAAL,UAAiB,QACX,IAAI,MAAM,sBAAsB,EAE1C,MAAMD,EAAa,CACf,GAAGnC,EACH,IAAAO,EACA,WAAA8B,CAAA,EAGJ,OAAAvC,EAAWqC,EAAK,QAASA,EAAK,OAAO,EAChC,KAAKI,GAAO,SAEL1C,EAAA,KAAK,OAAL,YAAAA,EAAW,WAAYsC,EAAK,SAC5B,KAAK,KAAK,UAAYA,EAAK,SAE3Bd,EAAA,KAAKU,EAAAK,GAAL,UAAiB,CAAE,GAAG,KAAK,KAAM,IAAAG,GACrC,CACH,EACA,MAAMC,EAAO,KAAK,EAEvBnB,EAAA,KAAKU,EAAAK,GAAL,UAAiBD,GACVA,CAAA,OACFM,EAAO,CACZ,MAAAD,EAAO,MAAMC,CAAK,EAClBpB,EAAA,KAAKU,EAAAK,GAAL,UAAiB,QACXK,CAAA,CACV,CAGJ,QAAS,CACLpB,EAAA,KAAKU,EAAAK,GAAL,UAAiB,OAAS,CAG9B,GAAGM,EAAeC,EAAgC,CAC9C,MAAMC,EAAkBvC,GAAyB,CAC7CsC,EAAStC,EAAE,MAAM,CAAA,EAGrB,OAAAe,EAAA,KAAKc,GAAc,iBAAiBQ,EAAOE,CAAa,EACjD,IAAM,CACTxB,EAAA,KAAKc,GAAc,oBAAoBQ,EAAOE,CAAa,CAAA,CAC/D,CA2BR,CAvHIZ,EAAA,YACAhB,EAAA,YACAiB,EAAA,YACAC,EAAA,YAJGH,EAAA,YAoBHK,WAAYD,EAAwB,CAEhCA,EAAOf,EAAA,KAAKJ,GAAO,IAAI,OAAQmB,CAAI,EAAIf,EAAA,KAAKJ,GAAO,OAAO,MAAM,EAChEI,EAAA,KAAKc,GAAc,cACf,IAAI,YAAY,OAAQ,CAAE,OAAQC,EAAM,CAAA,CAC5C,EAuEEG,EAAA,eACFvC,EACAH,EACA+B,EACmD,CACnD,GAAI,CAACP,EAAA,KAAKY,GACN,MAAM,IAAI,MAAM,uBAAuB,EAE3C,MAAMa,EAAM,IAAI,IACZ,gCAAgC,mBAAmB9C,CAAO,CAAC,YAAY,mBAAmBH,CAAO,CAAC,cAAc,mBAAmB+B,CAAS,CAAC,GAC7IP,EAAA,KAAKY,EAAA,EAEHc,EAAW,MAAM,MAAMD,EAAK,CAC9B,OAAQ,KAAA,CACX,EACD,GAAIC,EAAS,GAIT,OAHgB,MAAMA,EAAS,KAAA,GAGjB,WAEd,MAAM,IAAI,MAAM,0BAA0B,CAC9C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var y=Object.defineProperty;var m=(r,t,e)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>m(r,typeof t!="symbol"?t+"":t,e);import{A as d,D as $}from"./useInitSentry.
|
|
2
|
-
//# sourceMappingURL=index.
|
|
1
|
+
var y=Object.defineProperty;var m=(r,t,e)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>m(r,typeof t!="symbol"?t+"":t,e);import{A as d,D as $}from"./useInitSentry.Cqecb-c1.js";import{c as S,q as v}from"./index.Do-2_IiE.js";import"react/jsx-runtime";import"./index.CW6hXWch.js";import"react";import"react-dom";import"./useAcceptedCookies.EgV6ua5Z.js";import"./registerServiceWorker.C3qwvQPR.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";function w(r,t){const e=[],i=p(r,t,"state.global","global");e.push(...i);const o=e.filter(l=>l.type==="add").length,a=e.filter(l=>l.type==="remove").length,s={global:e.filter(l=>l.scope==="global")};return{totalChanges:e.length,additions:o,removals:a,changesByScope:s,changes:e}}function p(r,t,e,i){const o=[];if(Array.isArray(r)&&Array.isArray(t)){let n=0;for(;n<r.length;n++){const c=r[n];if(!t[n])o.push(...p(c,typeof c=="string"?"":null,`${e}[${n}]`,i));else{const f=p(c,t[n],`${e}[${n}]`,i);o.push(...f)}}for(;n<t.length;n++){const c=t[n];if(!r[n])o.push(...p(typeof c=="string"?"":null,c,`${e}[${n}]`,i));else{const f=p(r[n],c,`${e}[${n}]`,i);o.push(...f)}}return o}if(typeof r!="object"||typeof t!="object"||r===null||t===null){if(r!==t){if(typeof r=="string"&&typeof t=="string")return A(r,t,e,i);o.push({type:"remove",path:e,oldValue:r,scope:i}),o.push({type:"add",path:e,newValue:t,scope:i})}return o}const a=r,s=t,l=Object.keys(a),u=Object.keys(s);for(const n of l)n in s||o.push({type:"remove",path:`${e}.${n}`,oldValue:a[n],scope:i});for(const n of u)if(!(n in a))o.push({type:"add",path:`${e}.${n}`,newValue:s[n],scope:i});else if(a[n]!==s[n]){const c=p(a[n],s[n],`${e}.${n}`,i);o.push(...c)}return o}function A(r,t,e,i){const o=[],a=Math.max(r.length,t.length);for(let s=0;s<a;s++)s>=r.length?o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}):s>=t.length?o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}):r[s]!==t[s]&&(o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}),o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}));return o}class V{constructor(t,e=S(["processor","diff-analytics"])){g(this,"analyticsStore");g(this,"logger");this.analyticsStore=t,this.logger=e}async onStrands(t){if(t.length!==0)for(const e of t){if(e.operations.length===0)continue;const i=e.operations[0],o=d.fromString(`ph/diff/${e.driveId}/${e.documentId}/${e.branch}/${e.scope}`);i.index===0&&await this.clearSource(o);const a=50;for(let s=0;s<e.operations.length;s+=a){const l=e.operations.slice(s,s+a),u=[];for(const n of l){const f=(await v(async()=>w(n.previousState,n.state))).changes.map(h=>this.generateInput(e.driveId,e.documentId,e.branch,e.scope,n.index,h.type,1,o,n.timestamp,h.path));for(u.push(...f);u.length>=a;){const h=u.splice(0,a);await this.analyticsStore.addSeriesValues(h)}}u.length>0&&await this.analyticsStore.addSeriesValues(u)}}}async onDisconnect(){}async clearSource(t){try{await this.analyticsStore.clearSeriesBySource(t,!0)}catch(e){this.logger.error("Failed to clear source",e)}}generateInput(t,e,i,o,a,s,l,u,n,c){const f={},h=c.split("[")[0].replaceAll(".","/");return f.changes=d.fromString(`ph/diff/changes/${s}`),f.document=d.fromString(`ph/diff/document/${e}/${i}/${o}/${a}`),f.path=d.fromString(`ph/diff/path/${h}`),f.drive=d.fromString(`ph/diff/drive/${t}/${e}`),{dimensions:f,metric:"Count",start:$.fromISO(n),source:u,value:l}}}const T=r=>t=>[{processor:new V(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{T as processorFactory};
|
|
2
|
+
//# sourceMappingURL=index.BDz2ilct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.D0rNrBNg.js","sources":["../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/lib/document-diff.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/diff-analytics/index.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/index.js"],"sourcesContent":["/**\n * Calculates the difference between two document states\n */\nexport function diffDocumentStates(doc1, doc2) {\n const changes = [];\n // Compare global state\n const globalChanges = diffStateObjects(doc1, doc2, \"state.global\", \"global\");\n changes.push(...globalChanges);\n // Count changes by type\n const additions = changes.filter((c) => c.type === \"add\").length;\n const removals = changes.filter((c) => c.type === \"remove\").length;\n // Group changes by scope\n const changesByScope = {\n global: changes.filter((c) => c.scope === \"global\"),\n };\n return {\n totalChanges: changes.length,\n additions,\n removals,\n changesByScope,\n changes,\n };\n}\n/**\n * Recursively compares two state objects and returns a list of changes\n */\nfunction diffStateObjects(obj1, obj2, path, scope) {\n const changes = [];\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n let index = 0;\n for (; index < obj1.length; index++) {\n const element = obj1[index];\n if (!obj2[index]) {\n changes.push(...diffStateObjects(element, typeof element === \"string\" ? \"\" : null, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(element, obj2[index], `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n for (; index < obj2.length; index++) {\n const element = obj2[index];\n if (!obj1[index]) {\n changes.push(...diffStateObjects(typeof element === \"string\" ? \"\" : null, element, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(obj1[index], element, `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n return changes;\n }\n // Handle primitive values\n if (typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null) {\n if (obj1 !== obj2) {\n // Special handling for strings to diff character by character\n if (typeof obj1 === \"string\" && typeof obj2 === \"string\") {\n return diffStateStrings(obj1, obj2, path, scope);\n }\n else {\n // For non-string primitives, treat a change as a remove + add\n changes.push({\n type: \"remove\",\n path,\n oldValue: obj1,\n scope,\n });\n changes.push({\n type: \"add\",\n path,\n newValue: obj2,\n scope,\n });\n }\n }\n return changes;\n }\n // Handle objects\n const obj1Record = obj1;\n const obj2Record = obj2;\n const obj1Keys = Object.keys(obj1Record);\n const obj2Keys = Object.keys(obj2Record);\n // First, check for removed keys\n for (const key of obj1Keys) {\n if (!(key in obj2Record)) {\n // Key was removed\n changes.push({\n type: \"remove\",\n path: `${path}.${key}`,\n oldValue: obj1Record[key],\n scope,\n });\n }\n }\n // Then, check for added keys and modified values\n for (const key of obj2Keys) {\n if (!(key in obj1Record)) {\n // Key was added\n changes.push({\n type: \"add\",\n path: `${path}.${key}`,\n newValue: obj2Record[key],\n scope,\n });\n }\n else if (obj1Record[key] !== obj2Record[key]) {\n // For object changes, recursively diff the objects\n const nestedChanges = diffStateObjects(obj1Record[key], obj2Record[key], `${path}.${key}`, scope);\n changes.push(...nestedChanges);\n }\n }\n return changes;\n}\n/**\n * Compares two strings character by character and returns a list of changes\n */\nfunction diffStateStrings(str1, str2, path, scope) {\n const changes = [];\n const maxLen = Math.max(str1.length, str2.length);\n for (let i = 0; i < maxLen; i++) {\n if (i >= str1.length) {\n // Addition of new character\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n else if (i >= str2.length) {\n // Removal of character\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n }\n else if (str1[i] !== str2[i]) {\n // Character changed\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n }\n return changes;\n}\n/**\n * Generates analytics data from a state diff summary\n */\nexport function generateStateAnalyticsData(diff) {\n return {\n totalChanges: diff.totalChanges,\n changesByType: {\n add: diff.additions,\n remove: diff.removals,\n },\n changesByScope: {\n global: diff.changesByScope.global.length,\n },\n changePaths: diff.changes.map((c) => c.path),\n };\n}\n","import { AnalyticsPath, } from \"@powerhousedao/analytics-engine-core\";\nimport { DateTime } from \"luxon\";\nimport { diffDocumentStates } from \"../../lib/document-diff.js\";\nimport { childLogger } from \"document-drive\";\nimport { runAsapAsync } from \"document-drive/utils/misc\";\nexport class DiffAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"diff-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/diff/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const diff = await runAsapAsync(async () => diffDocumentStates(operation.previousState, operation.state));\n const inputs = diff.changes.map((change) => this.generateInput(strand.driveId, strand.documentId, strand.branch, strand.scope, operation.index, change.type, 1, source, operation.timestamp, change.path));\n buffer.push(...inputs);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n // Flush any remaining inputs\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n generateInput(driveId, documentId, branch, scope, revision, type, value, source, timestamp, path) {\n const dimensions = {};\n const changePath = path.split(\"[\")[0].replaceAll(\".\", \"/\");\n dimensions.changes = AnalyticsPath.fromString(`ph/diff/changes/${type}`);\n dimensions.document = AnalyticsPath.fromString(`ph/diff/document/${documentId}/${branch}/${scope}/${revision}`);\n dimensions.path = AnalyticsPath.fromString(`ph/diff/path/${changePath}`);\n dimensions.drive = AnalyticsPath.fromString(`ph/diff/drive/${driveId}/${documentId}`);\n return {\n dimensions,\n metric: \"Count\",\n start: DateTime.fromISO(timestamp),\n source,\n value,\n };\n }\n}\n","/**\n * This is a scaffold file meant for customization.\n * Delete the file and run the code generator again to have it reset\n */\nimport { DiffAnalyticsProcessor } from \"./diff-analytics/index.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DiffAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\n"],"names":["diffDocumentStates","doc1","doc2","changes","globalChanges","diffStateObjects","additions","c","removals","changesByScope","obj1","obj2","path","scope","index","element","elementChanges","diffStateStrings","obj1Record","obj2Record","obj1Keys","obj2Keys","key","nestedChanges","str1","str2","maxLen","i","DiffAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","CHUNK_SIZE","chunk","buffer","operation","inputs","runAsapAsync","change","batch","driveId","documentId","branch","revision","type","value","timestamp","dimensions","changePath","DateTime","processorFactory","module"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.BDz2ilct.js","sources":["../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/lib/document-diff.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/diff-analytics/index.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/index.js"],"sourcesContent":["/**\n * Calculates the difference between two document states\n */\nexport function diffDocumentStates(doc1, doc2) {\n const changes = [];\n // Compare global state\n const globalChanges = diffStateObjects(doc1, doc2, \"state.global\", \"global\");\n changes.push(...globalChanges);\n // Count changes by type\n const additions = changes.filter((c) => c.type === \"add\").length;\n const removals = changes.filter((c) => c.type === \"remove\").length;\n // Group changes by scope\n const changesByScope = {\n global: changes.filter((c) => c.scope === \"global\"),\n };\n return {\n totalChanges: changes.length,\n additions,\n removals,\n changesByScope,\n changes,\n };\n}\n/**\n * Recursively compares two state objects and returns a list of changes\n */\nfunction diffStateObjects(obj1, obj2, path, scope) {\n const changes = [];\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n let index = 0;\n for (; index < obj1.length; index++) {\n const element = obj1[index];\n if (!obj2[index]) {\n changes.push(...diffStateObjects(element, typeof element === \"string\" ? \"\" : null, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(element, obj2[index], `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n for (; index < obj2.length; index++) {\n const element = obj2[index];\n if (!obj1[index]) {\n changes.push(...diffStateObjects(typeof element === \"string\" ? \"\" : null, element, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(obj1[index], element, `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n return changes;\n }\n // Handle primitive values\n if (typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null) {\n if (obj1 !== obj2) {\n // Special handling for strings to diff character by character\n if (typeof obj1 === \"string\" && typeof obj2 === \"string\") {\n return diffStateStrings(obj1, obj2, path, scope);\n }\n else {\n // For non-string primitives, treat a change as a remove + add\n changes.push({\n type: \"remove\",\n path,\n oldValue: obj1,\n scope,\n });\n changes.push({\n type: \"add\",\n path,\n newValue: obj2,\n scope,\n });\n }\n }\n return changes;\n }\n // Handle objects\n const obj1Record = obj1;\n const obj2Record = obj2;\n const obj1Keys = Object.keys(obj1Record);\n const obj2Keys = Object.keys(obj2Record);\n // First, check for removed keys\n for (const key of obj1Keys) {\n if (!(key in obj2Record)) {\n // Key was removed\n changes.push({\n type: \"remove\",\n path: `${path}.${key}`,\n oldValue: obj1Record[key],\n scope,\n });\n }\n }\n // Then, check for added keys and modified values\n for (const key of obj2Keys) {\n if (!(key in obj1Record)) {\n // Key was added\n changes.push({\n type: \"add\",\n path: `${path}.${key}`,\n newValue: obj2Record[key],\n scope,\n });\n }\n else if (obj1Record[key] !== obj2Record[key]) {\n // For object changes, recursively diff the objects\n const nestedChanges = diffStateObjects(obj1Record[key], obj2Record[key], `${path}.${key}`, scope);\n changes.push(...nestedChanges);\n }\n }\n return changes;\n}\n/**\n * Compares two strings character by character and returns a list of changes\n */\nfunction diffStateStrings(str1, str2, path, scope) {\n const changes = [];\n const maxLen = Math.max(str1.length, str2.length);\n for (let i = 0; i < maxLen; i++) {\n if (i >= str1.length) {\n // Addition of new character\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n else if (i >= str2.length) {\n // Removal of character\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n }\n else if (str1[i] !== str2[i]) {\n // Character changed\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n }\n return changes;\n}\n/**\n * Generates analytics data from a state diff summary\n */\nexport function generateStateAnalyticsData(diff) {\n return {\n totalChanges: diff.totalChanges,\n changesByType: {\n add: diff.additions,\n remove: diff.removals,\n },\n changesByScope: {\n global: diff.changesByScope.global.length,\n },\n changePaths: diff.changes.map((c) => c.path),\n };\n}\n","import { AnalyticsPath, } from \"@powerhousedao/analytics-engine-core\";\nimport { DateTime } from \"luxon\";\nimport { diffDocumentStates } from \"../../lib/document-diff.js\";\nimport { childLogger } from \"document-drive\";\nimport { runAsapAsync } from \"document-drive/utils/misc\";\nexport class DiffAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"diff-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/diff/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const diff = await runAsapAsync(async () => diffDocumentStates(operation.previousState, operation.state));\n const inputs = diff.changes.map((change) => this.generateInput(strand.driveId, strand.documentId, strand.branch, strand.scope, operation.index, change.type, 1, source, operation.timestamp, change.path));\n buffer.push(...inputs);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n // Flush any remaining inputs\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n generateInput(driveId, documentId, branch, scope, revision, type, value, source, timestamp, path) {\n const dimensions = {};\n const changePath = path.split(\"[\")[0].replaceAll(\".\", \"/\");\n dimensions.changes = AnalyticsPath.fromString(`ph/diff/changes/${type}`);\n dimensions.document = AnalyticsPath.fromString(`ph/diff/document/${documentId}/${branch}/${scope}/${revision}`);\n dimensions.path = AnalyticsPath.fromString(`ph/diff/path/${changePath}`);\n dimensions.drive = AnalyticsPath.fromString(`ph/diff/drive/${driveId}/${documentId}`);\n return {\n dimensions,\n metric: \"Count\",\n start: DateTime.fromISO(timestamp),\n source,\n value,\n };\n }\n}\n","/**\n * This is a scaffold file meant for customization.\n * Delete the file and run the code generator again to have it reset\n */\nimport { DiffAnalyticsProcessor } from \"./diff-analytics/index.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DiffAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\n"],"names":["diffDocumentStates","doc1","doc2","changes","globalChanges","diffStateObjects","additions","c","removals","changesByScope","obj1","obj2","path","scope","index","element","elementChanges","diffStateStrings","obj1Record","obj2Record","obj1Keys","obj2Keys","key","nestedChanges","str1","str2","maxLen","i","DiffAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","CHUNK_SIZE","chunk","buffer","operation","inputs","runAsapAsync","change","batch","driveId","documentId","branch","revision","type","value","timestamp","dimensions","changePath","DateTime","processorFactory","module"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{z as j,R as i,x as h,C as O,h as e,T as r,N as F,u as A}from"./useInitSentry.
|
|
2
|
-
//# sourceMappingURL=index.
|
|
1
|
+
import{z as j,R as i,x as h,C as O,h as e,T as r,N as F,u as A}from"./useInitSentry.Cqecb-c1.js";import{e as le,P as oe,U as ce,j as de,a as we,b as pe}from"./useInitSentry.Cqecb-c1.js";import"react/jsx-runtime";import"./index.CW6hXWch.js";import"react";import"react-dom";import"./index.Do-2_IiE.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.EgV6ua5Z.js";import"./registerServiceWorker.C3qwvQPR.js";A();var W,T,_,P,B,w,f,v,u,D,R,$,E,g,I,p,k,G,N,n,q,x,o,C,Q=class U extends j{constructor(t,s){super(),i(this,n),i(this,W),i(this,T,0),i(this,_,!1),i(this,P,!1),i(this,B,!1),i(this,w,new EventTarget),i(this,f),i(this,v,!1),i(this,u),i(this,D),i(this,R),i(this,$),i(this,E),i(this,g),i(this,I),i(this,p,new Map),i(this,k,new Set),i(this,G),i(this,N,[]),h(this,u,t),h(this,f,O()),h(this,G,(s==null?void 0:s.extensions)??{}),h(this,R,new Promise(a=>{e(this,u).addEventListener("message",c=>{if(c.data.type==="here")a();else throw new Error("Invalid message")},{once:!0})})),h(this,$,new Promise(a=>{let c=m=>{m.data.type==="ready"&&(h(this,D,m.data.id),e(this,u).removeEventListener("message",c),a())};e(this,u).addEventListener("message",c)})),h(this,W,r(this,n,q).call(this,s))}static async create(t,s){let a=new U(t,s);return await e(a,W),a}get waitReady(){return new Promise(t=>{e(this,W).then(()=>{e(this,v)?t():t(new Promise(s=>{e(this,w).addEventListener("connected",()=>{s()})}))})})}get debug(){return e(this,T)}get ready(){return e(this,_)}get closed(){return e(this,P)}get isLeader(){return e(this,B)}async close(){var s,a;var t;e(this,P)||(h(this,P,!0),(s=e(this,E))==null||s.close(),(a=e(this,g))==null||a.close(),(t=e(this,I))==null||t.call(this),e(this,u).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(t){return await r(this,n,o).call(this,"execProtocolRaw",t)}async execProtocol(t){return await r(this,n,o).call(this,"execProtocol",t)}async syncToFs(){await r(this,n,o).call(this,"syncToFs")}async listen(t,s){let a=F(t);return e(this,p).has(a)||e(this,p).set(a,new Set),e(this,p).get(a).add(s),await this.exec(`LISTEN ${t}`),async()=>{await this.unlisten(a,s)}}async unlisten(t,s){var a,c;await this.waitReady,s?(a=e(this,p).get(t))==null||a.delete(s):e(this,p).delete(t),((c=e(this,p).get(t))==null?void 0:c.size)===0&&await this.exec(`UNLISTEN ${t}`)}onNotification(t){return e(this,k).add(t),()=>{e(this,k).delete(t)}}offNotification(t){e(this,k).delete(t)}async dumpDataDir(){return await r(this,n,o).call(this,"dumpDataDir")}onLeaderChange(t){return e(this,w).addEventListener("leader-change",t),()=>{e(this,w).removeEventListener("leader-change",t)}}offLeaderChange(t){e(this,w).removeEventListener("leader-change",t)}async _handleBlob(t){await r(this,n,o).call(this,"_handleBlob",t)}async _getWrittenBlob(){return await r(this,n,o).call(this,"_getWrittenBlob")}async _cleanupBlob(){await r(this,n,o).call(this,"_cleanupBlob")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(t){await r(this,n,o).call(this,"_acquireQueryLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseQueryLock")}}async _runExclusiveTransaction(t){await r(this,n,o).call(this,"_acquireTransactionLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseTransactionLock")}}};W=new WeakMap,T=new WeakMap,_=new WeakMap,P=new WeakMap,B=new WeakMap,w=new WeakMap,f=new WeakMap,v=new WeakMap,u=new WeakMap,D=new WeakMap,R=new WeakMap,$=new WeakMap,E=new WeakMap,g=new WeakMap,I=new WeakMap,p=new WeakMap,k=new WeakMap,G=new WeakMap,N=new WeakMap,n=new WeakSet,q=async function(y={}){for(let[l,L]of Object.entries(e(this,G))){if(L instanceof URL)throw new Error("URL extensions are not supported on the client side of a worker");{let d=await L.setup(this,{},!0);if(d.emscriptenOpts&&console.warn(`PGlite extension ${l} returned emscriptenOpts, these are not supported on the client side of a worker`),d.namespaceObj){let b=this;b[l]=d.namespaceObj}d.bundlePath&&console.warn(`PGlite extension ${l} returned bundlePath, this is not supported on the client side of a worker`),d.init&&await d.init(),d.close&&e(this,N).push(d.close)}}await e(this,R);let{extensions:t,...s}=y;e(this,u).postMessage({type:"init",options:s}),await e(this,$);let a=`pglite-tab-close:${e(this,f)}`;h(this,I,await H(a));let c=`pglite-broadcast:${e(this,D)}`;h(this,E,new BroadcastChannel(c));let m=`pglite-tab:${e(this,f)}`;h(this,g,new BroadcastChannel(m)),e(this,E).addEventListener("message",async l=>{l.data.type==="leader-here"?(h(this,v,!1),e(this,w).dispatchEvent(new Event("leader-change")),r(this,n,x).call(this)):l.data.type==="notify"&&r(this,n,C).call(this,l.data.channel,l.data.payload)}),e(this,g).addEventListener("message",async l=>{l.data.type==="connected"&&(h(this,v,!0),e(this,w).dispatchEvent(new Event("connected")),h(this,T,await r(this,n,o).call(this,"getDebugLevel")),h(this,_,!0))}),e(this,u).addEventListener("message",async l=>{l.data.type==="leader-now"&&(h(this,B,!0),e(this,w).dispatchEvent(new Event("leader-change")))}),r(this,n,x).call(this),this._initArrayTypes()},x=async function(){e(this,v)||(e(this,E).postMessage({type:"tab-here",id:e(this,f)}),setTimeout(()=>r(this,n,x).call(this),16))},o=async function(y,...t){let s=O(),a={type:"rpc-call",callId:s,method:y,args:t};return e(this,g).postMessage(a),await new Promise((c,m)=>{let l=b=>{if(b.data.callId!==s)return;d();let M=b.data;if(M.type==="rpc-return")c(M.result);else if(M.type==="rpc-error"){let S=new Error(M.error.message);Object.assign(S,M.error),m(S)}else m(new Error("Invalid message"))},L=()=>{d(),m(new z)},d=()=>{e(this,g).removeEventListener("message",l),e(this,w).removeEventListener("leader-change",L)};e(this,w).addEventListener("leader-change",L),e(this,g).addEventListener("message",l)})},C=function(y,t){let s=e(this,p).get(y);if(s)for(let a of s)queueMicrotask(()=>a(t));for(let a of e(this,k))queueMicrotask(()=>a(y,t))};var ne=Q,z=class extends Error{constructor(){super("Leader changed, pending operation in indeterminate state")}};async function H(y){let t;return await new Promise(s=>{navigator.locks.request(y,()=>new Promise(a=>{t=a,s()}))}),t}export{le as IdbFs,oe as PGLITE_UPDATE_EVENT,ce as PGlite,ne as PGliteWorker,de as live,we as usePGliteDB,pe as useSetPGliteDB};
|
|
2
|
+
//# sourceMappingURL=index.BGFmnc0C.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.DD46OEj6.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/worker/index.js"],"sourcesContent":["import{a as j}from\"../chunk-A7RFOIQ7.js\";import{u as N,x as z}from\"../chunk-EADU5A67.js\";import\"../chunk-STOZMFXW.js\";import{e as t,f as d,g as u,h as p,j as Q}from\"../chunk-BTBUZ646.js\";Q();var W,C,_,M,B,m,L,x,k,T,A,O,E,v,G,P,b,I,$,c,K,D,w,J,F=class F extends j{constructor(e,r){super();d(this,c);d(this,W);d(this,C,0);d(this,_,!1);d(this,M,!1);d(this,B,!1);d(this,m,new EventTarget);d(this,L);d(this,x,!1);d(this,k);d(this,T);d(this,A);d(this,O);d(this,E);d(this,v);d(this,G);d(this,P,new Map);d(this,b,new Set);d(this,I);d(this,$,[]);u(this,k,e),u(this,L,N()),u(this,I,r?.extensions??{}),u(this,A,new Promise(i=>{t(this,k).addEventListener(\"message\",s=>{if(s.data.type===\"here\")i();else throw new Error(\"Invalid message\")},{once:!0})})),u(this,O,new Promise(i=>{let s=o=>{o.data.type===\"ready\"&&(u(this,T,o.data.id),t(this,k).removeEventListener(\"message\",s),i())};t(this,k).addEventListener(\"message\",s)})),u(this,W,p(this,c,K).call(this,r))}static async create(e,r){let i=new F(e,r);return await t(i,W),i}get waitReady(){return new Promise(e=>{t(this,W).then(()=>{t(this,x)?e():e(new Promise(r=>{t(this,m).addEventListener(\"connected\",()=>{r()})}))})})}get debug(){return t(this,C)}get ready(){return t(this,_)}get closed(){return t(this,M)}get isLeader(){return t(this,B)}async close(){var e;t(this,M)||(u(this,M,!0),t(this,E)?.close(),t(this,v)?.close(),(e=t(this,G))==null||e.call(this),t(this,k).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(e){return await p(this,c,w).call(this,\"execProtocolRaw\",e)}async execProtocol(e){return await p(this,c,w).call(this,\"execProtocol\",e)}async syncToFs(){await p(this,c,w).call(this,\"syncToFs\")}async listen(e,r){let i=z(e);return t(this,P).has(i)||t(this,P).set(i,new Set),t(this,P).get(i).add(r),await this.exec(`LISTEN ${e}`),async()=>{await this.unlisten(i,r)}}async unlisten(e,r){await this.waitReady,r?t(this,P).get(e)?.delete(r):t(this,P).delete(e),t(this,P).get(e)?.size===0&&await this.exec(`UNLISTEN ${e}`)}onNotification(e){return t(this,b).add(e),()=>{t(this,b).delete(e)}}offNotification(e){t(this,b).delete(e)}async dumpDataDir(){return await p(this,c,w).call(this,\"dumpDataDir\")}onLeaderChange(e){return t(this,m).addEventListener(\"leader-change\",e),()=>{t(this,m).removeEventListener(\"leader-change\",e)}}offLeaderChange(e){t(this,m).removeEventListener(\"leader-change\",e)}async _handleBlob(e){await p(this,c,w).call(this,\"_handleBlob\",e)}async _getWrittenBlob(){return await p(this,c,w).call(this,\"_getWrittenBlob\")}async _cleanupBlob(){await p(this,c,w).call(this,\"_cleanupBlob\")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(e){await p(this,c,w).call(this,\"_acquireQueryLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseQueryLock\")}}async _runExclusiveTransaction(e){await p(this,c,w).call(this,\"_acquireTransactionLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseTransactionLock\")}}};W=new WeakMap,C=new WeakMap,_=new WeakMap,M=new WeakMap,B=new WeakMap,m=new WeakMap,L=new WeakMap,x=new WeakMap,k=new WeakMap,T=new WeakMap,A=new WeakMap,O=new WeakMap,E=new WeakMap,v=new WeakMap,G=new WeakMap,P=new WeakMap,b=new WeakMap,I=new WeakMap,$=new WeakMap,c=new WeakSet,K=async function(e={}){for(let[a,y]of Object.entries(t(this,I))){if(y instanceof URL)throw new Error(\"URL extensions are not supported on the client side of a worker\");{let l=await y.setup(this,{},!0);if(l.emscriptenOpts&&console.warn(`PGlite extension ${a} returned emscriptenOpts, these are not supported on the client side of a worker`),l.namespaceObj){let R=this;R[a]=l.namespaceObj}l.bundlePath&&console.warn(`PGlite extension ${a} returned bundlePath, this is not supported on the client side of a worker`),l.init&&await l.init(),l.close&&t(this,$).push(l.close)}}await t(this,A);let{extensions:r,...i}=e;t(this,k).postMessage({type:\"init\",options:i}),await t(this,O);let s=`pglite-tab-close:${t(this,L)}`;u(this,G,await q(s));let o=`pglite-broadcast:${t(this,T)}`;u(this,E,new BroadcastChannel(o));let h=`pglite-tab:${t(this,L)}`;u(this,v,new BroadcastChannel(h)),t(this,E).addEventListener(\"message\",async a=>{a.data.type===\"leader-here\"?(u(this,x,!1),t(this,m).dispatchEvent(new Event(\"leader-change\")),p(this,c,D).call(this)):a.data.type===\"notify\"&&p(this,c,J).call(this,a.data.channel,a.data.payload)}),t(this,v).addEventListener(\"message\",async a=>{a.data.type===\"connected\"&&(u(this,x,!0),t(this,m).dispatchEvent(new Event(\"connected\")),u(this,C,await p(this,c,w).call(this,\"getDebugLevel\")),u(this,_,!0))}),t(this,k).addEventListener(\"message\",async a=>{a.data.type===\"leader-now\"&&(u(this,B,!0),t(this,m).dispatchEvent(new Event(\"leader-change\")))}),p(this,c,D).call(this),this._initArrayTypes()},D=async function(){t(this,x)||(t(this,E).postMessage({type:\"tab-here\",id:t(this,L)}),setTimeout(()=>p(this,c,D).call(this),16))},w=async function(e,...r){let i=N(),s={type:\"rpc-call\",callId:i,method:e,args:r};return t(this,v).postMessage(s),await new Promise((o,h)=>{let a=R=>{if(R.data.callId!==i)return;l();let f=R.data;if(f.type===\"rpc-return\")o(f.result);else if(f.type===\"rpc-error\"){let S=new Error(f.error.message);Object.assign(S,f.error),h(S)}else h(new Error(\"Invalid message\"))},y=()=>{l(),h(new U)},l=()=>{t(this,v).removeEventListener(\"message\",a),t(this,m).removeEventListener(\"leader-change\",y)};t(this,m).addEventListener(\"leader-change\",y),t(this,v).addEventListener(\"message\",a)})},J=function(e,r){let i=t(this,P).get(e);if(i)for(let s of i)queueMicrotask(()=>s(r));for(let s of t(this,b))queueMicrotask(()=>s(e,r))};var H=F;async function se({init:g}){postMessage({type:\"here\"});let n=await new Promise(y=>{addEventListener(\"message\",l=>{l.data.type===\"init\"&&y(l.data.options)},{once:!0})}),e=n.id??`${import.meta.url}:${n.dataDir??\"\"}`;postMessage({type:\"ready\",id:e});let r=`pglite-election-lock:${e}`,i=`pglite-broadcast:${e}`,s=new BroadcastChannel(i),o=new Set;await q(r);let h=g(n);s.onmessage=async y=>{let l=y.data;switch(l.type){case\"tab-here\":V(l.id,await h,o);break}},s.postMessage({type:\"leader-here\",id:e}),postMessage({type:\"leader-now\"}),(await h).onNotification((y,l)=>{s.postMessage({type:\"notify\",channel:y,payload:l})})}function V(g,n,e){if(e.has(g))return;e.add(g);let r=`pglite-tab:${g}`,i=`pglite-tab-close:${g}`,s=new BroadcastChannel(r);navigator.locks.request(i,()=>new Promise(h=>{s.close(),e.delete(g),h()}));let o=X(g,n);s.addEventListener(\"message\",async h=>{let a=h.data;switch(a.type){case\"rpc-call\":{await n.waitReady;let{callId:y,method:l,args:R}=a;try{let f=await o[l](...R);s.postMessage({type:\"rpc-return\",callId:y,result:f})}catch(f){console.error(f),s.postMessage({type:\"rpc-error\",callId:y,error:{message:f.message}})}break}}}),s.postMessage({type:\"connected\"})}function X(g,n){let e=null,r=null,i=`pglite-tab-close:${g}`;return q(i).then(()=>{r&&n.exec(\"ROLLBACK\"),e?.(),r?.()}),{async getDebugLevel(){return n.debug},async close(){await n.close()},async execProtocol(s){let{messages:o,data:h}=await n.execProtocol(s);if(h.byteLength!==h.buffer.byteLength){let a=new ArrayBuffer(h.byteLength),y=new Uint8Array(a);return y.set(h),{messages:o,data:y}}else return{messages:o,data:h}},async execProtocolRaw(s){let o=await n.execProtocolRaw(s);if(o.byteLength!==o.buffer.byteLength){let h=new ArrayBuffer(o.byteLength),a=new Uint8Array(h);return a.set(o),a}else return o},async dumpDataDir(){return await n.dumpDataDir()},async syncToFs(){return await n.syncToFs()},async _handleBlob(s){return await n._handleBlob(s)},async _getWrittenBlob(){return await n._getWrittenBlob()},async _cleanupBlob(){return await n._cleanupBlob()},async _checkReady(){return await n._checkReady()},async _acquireQueryLock(){return new Promise(s=>{n._runExclusiveQuery(()=>new Promise(o=>{e=o,s()}))})},async _releaseQueryLock(){e?.(),e=null},async _acquireTransactionLock(){return new Promise(s=>{n._runExclusiveTransaction(()=>new Promise(o=>{r=o,s()}))})},async _releaseTransactionLock(){r?.(),r=null}}}var U=class extends Error{constructor(){super(\"Leader changed, pending operation in indeterminate state\")}};async function q(g){let n;return await new Promise(e=>{navigator.locks.request(g,()=>new Promise(r=>{n=r,e()}))}),n}export{U as LeaderChangedError,H as PGliteWorker,se as worker};\n//# sourceMappingURL=index.js.map"],"names":["Q","C","M","m","L","x","k","T","A","O","v","G","P","b","I","$","c","K","D","w","J","F","j","e","r","d","u","N","i","t","s","o","p","z","a","y","l","R","q","h","f","U","H","g","n"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.BGFmnc0C.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/worker/index.js"],"sourcesContent":["import{a as j}from\"../chunk-A7RFOIQ7.js\";import{u as N,x as z}from\"../chunk-EADU5A67.js\";import\"../chunk-STOZMFXW.js\";import{e as t,f as d,g as u,h as p,j as Q}from\"../chunk-BTBUZ646.js\";Q();var W,C,_,M,B,m,L,x,k,T,A,O,E,v,G,P,b,I,$,c,K,D,w,J,F=class F extends j{constructor(e,r){super();d(this,c);d(this,W);d(this,C,0);d(this,_,!1);d(this,M,!1);d(this,B,!1);d(this,m,new EventTarget);d(this,L);d(this,x,!1);d(this,k);d(this,T);d(this,A);d(this,O);d(this,E);d(this,v);d(this,G);d(this,P,new Map);d(this,b,new Set);d(this,I);d(this,$,[]);u(this,k,e),u(this,L,N()),u(this,I,r?.extensions??{}),u(this,A,new Promise(i=>{t(this,k).addEventListener(\"message\",s=>{if(s.data.type===\"here\")i();else throw new Error(\"Invalid message\")},{once:!0})})),u(this,O,new Promise(i=>{let s=o=>{o.data.type===\"ready\"&&(u(this,T,o.data.id),t(this,k).removeEventListener(\"message\",s),i())};t(this,k).addEventListener(\"message\",s)})),u(this,W,p(this,c,K).call(this,r))}static async create(e,r){let i=new F(e,r);return await t(i,W),i}get waitReady(){return new Promise(e=>{t(this,W).then(()=>{t(this,x)?e():e(new Promise(r=>{t(this,m).addEventListener(\"connected\",()=>{r()})}))})})}get debug(){return t(this,C)}get ready(){return t(this,_)}get closed(){return t(this,M)}get isLeader(){return t(this,B)}async close(){var e;t(this,M)||(u(this,M,!0),t(this,E)?.close(),t(this,v)?.close(),(e=t(this,G))==null||e.call(this),t(this,k).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(e){return await p(this,c,w).call(this,\"execProtocolRaw\",e)}async execProtocol(e){return await p(this,c,w).call(this,\"execProtocol\",e)}async syncToFs(){await p(this,c,w).call(this,\"syncToFs\")}async listen(e,r){let i=z(e);return t(this,P).has(i)||t(this,P).set(i,new Set),t(this,P).get(i).add(r),await this.exec(`LISTEN ${e}`),async()=>{await this.unlisten(i,r)}}async unlisten(e,r){await this.waitReady,r?t(this,P).get(e)?.delete(r):t(this,P).delete(e),t(this,P).get(e)?.size===0&&await this.exec(`UNLISTEN ${e}`)}onNotification(e){return t(this,b).add(e),()=>{t(this,b).delete(e)}}offNotification(e){t(this,b).delete(e)}async dumpDataDir(){return await p(this,c,w).call(this,\"dumpDataDir\")}onLeaderChange(e){return t(this,m).addEventListener(\"leader-change\",e),()=>{t(this,m).removeEventListener(\"leader-change\",e)}}offLeaderChange(e){t(this,m).removeEventListener(\"leader-change\",e)}async _handleBlob(e){await p(this,c,w).call(this,\"_handleBlob\",e)}async _getWrittenBlob(){return await p(this,c,w).call(this,\"_getWrittenBlob\")}async _cleanupBlob(){await p(this,c,w).call(this,\"_cleanupBlob\")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(e){await p(this,c,w).call(this,\"_acquireQueryLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseQueryLock\")}}async _runExclusiveTransaction(e){await p(this,c,w).call(this,\"_acquireTransactionLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseTransactionLock\")}}};W=new WeakMap,C=new WeakMap,_=new WeakMap,M=new WeakMap,B=new WeakMap,m=new WeakMap,L=new WeakMap,x=new WeakMap,k=new WeakMap,T=new WeakMap,A=new WeakMap,O=new WeakMap,E=new WeakMap,v=new WeakMap,G=new WeakMap,P=new WeakMap,b=new WeakMap,I=new WeakMap,$=new WeakMap,c=new WeakSet,K=async function(e={}){for(let[a,y]of Object.entries(t(this,I))){if(y instanceof URL)throw new Error(\"URL extensions are not supported on the client side of a worker\");{let l=await y.setup(this,{},!0);if(l.emscriptenOpts&&console.warn(`PGlite extension ${a} returned emscriptenOpts, these are not supported on the client side of a worker`),l.namespaceObj){let R=this;R[a]=l.namespaceObj}l.bundlePath&&console.warn(`PGlite extension ${a} returned bundlePath, this is not supported on the client side of a worker`),l.init&&await l.init(),l.close&&t(this,$).push(l.close)}}await t(this,A);let{extensions:r,...i}=e;t(this,k).postMessage({type:\"init\",options:i}),await t(this,O);let s=`pglite-tab-close:${t(this,L)}`;u(this,G,await q(s));let o=`pglite-broadcast:${t(this,T)}`;u(this,E,new BroadcastChannel(o));let h=`pglite-tab:${t(this,L)}`;u(this,v,new BroadcastChannel(h)),t(this,E).addEventListener(\"message\",async a=>{a.data.type===\"leader-here\"?(u(this,x,!1),t(this,m).dispatchEvent(new Event(\"leader-change\")),p(this,c,D).call(this)):a.data.type===\"notify\"&&p(this,c,J).call(this,a.data.channel,a.data.payload)}),t(this,v).addEventListener(\"message\",async a=>{a.data.type===\"connected\"&&(u(this,x,!0),t(this,m).dispatchEvent(new Event(\"connected\")),u(this,C,await p(this,c,w).call(this,\"getDebugLevel\")),u(this,_,!0))}),t(this,k).addEventListener(\"message\",async a=>{a.data.type===\"leader-now\"&&(u(this,B,!0),t(this,m).dispatchEvent(new Event(\"leader-change\")))}),p(this,c,D).call(this),this._initArrayTypes()},D=async function(){t(this,x)||(t(this,E).postMessage({type:\"tab-here\",id:t(this,L)}),setTimeout(()=>p(this,c,D).call(this),16))},w=async function(e,...r){let i=N(),s={type:\"rpc-call\",callId:i,method:e,args:r};return t(this,v).postMessage(s),await new Promise((o,h)=>{let a=R=>{if(R.data.callId!==i)return;l();let f=R.data;if(f.type===\"rpc-return\")o(f.result);else if(f.type===\"rpc-error\"){let S=new Error(f.error.message);Object.assign(S,f.error),h(S)}else h(new Error(\"Invalid message\"))},y=()=>{l(),h(new U)},l=()=>{t(this,v).removeEventListener(\"message\",a),t(this,m).removeEventListener(\"leader-change\",y)};t(this,m).addEventListener(\"leader-change\",y),t(this,v).addEventListener(\"message\",a)})},J=function(e,r){let i=t(this,P).get(e);if(i)for(let s of i)queueMicrotask(()=>s(r));for(let s of t(this,b))queueMicrotask(()=>s(e,r))};var H=F;async function se({init:g}){postMessage({type:\"here\"});let n=await new Promise(y=>{addEventListener(\"message\",l=>{l.data.type===\"init\"&&y(l.data.options)},{once:!0})}),e=n.id??`${import.meta.url}:${n.dataDir??\"\"}`;postMessage({type:\"ready\",id:e});let r=`pglite-election-lock:${e}`,i=`pglite-broadcast:${e}`,s=new BroadcastChannel(i),o=new Set;await q(r);let h=g(n);s.onmessage=async y=>{let l=y.data;switch(l.type){case\"tab-here\":V(l.id,await h,o);break}},s.postMessage({type:\"leader-here\",id:e}),postMessage({type:\"leader-now\"}),(await h).onNotification((y,l)=>{s.postMessage({type:\"notify\",channel:y,payload:l})})}function V(g,n,e){if(e.has(g))return;e.add(g);let r=`pglite-tab:${g}`,i=`pglite-tab-close:${g}`,s=new BroadcastChannel(r);navigator.locks.request(i,()=>new Promise(h=>{s.close(),e.delete(g),h()}));let o=X(g,n);s.addEventListener(\"message\",async h=>{let a=h.data;switch(a.type){case\"rpc-call\":{await n.waitReady;let{callId:y,method:l,args:R}=a;try{let f=await o[l](...R);s.postMessage({type:\"rpc-return\",callId:y,result:f})}catch(f){console.error(f),s.postMessage({type:\"rpc-error\",callId:y,error:{message:f.message}})}break}}}),s.postMessage({type:\"connected\"})}function X(g,n){let e=null,r=null,i=`pglite-tab-close:${g}`;return q(i).then(()=>{r&&n.exec(\"ROLLBACK\"),e?.(),r?.()}),{async getDebugLevel(){return n.debug},async close(){await n.close()},async execProtocol(s){let{messages:o,data:h}=await n.execProtocol(s);if(h.byteLength!==h.buffer.byteLength){let a=new ArrayBuffer(h.byteLength),y=new Uint8Array(a);return y.set(h),{messages:o,data:y}}else return{messages:o,data:h}},async execProtocolRaw(s){let o=await n.execProtocolRaw(s);if(o.byteLength!==o.buffer.byteLength){let h=new ArrayBuffer(o.byteLength),a=new Uint8Array(h);return a.set(o),a}else return o},async dumpDataDir(){return await n.dumpDataDir()},async syncToFs(){return await n.syncToFs()},async _handleBlob(s){return await n._handleBlob(s)},async _getWrittenBlob(){return await n._getWrittenBlob()},async _cleanupBlob(){return await n._cleanupBlob()},async _checkReady(){return await n._checkReady()},async _acquireQueryLock(){return new Promise(s=>{n._runExclusiveQuery(()=>new Promise(o=>{e=o,s()}))})},async _releaseQueryLock(){e?.(),e=null},async _acquireTransactionLock(){return new Promise(s=>{n._runExclusiveTransaction(()=>new Promise(o=>{r=o,s()}))})},async _releaseTransactionLock(){r?.(),r=null}}}var U=class extends Error{constructor(){super(\"Leader changed, pending operation in indeterminate state\")}};async function q(g){let n;return await new Promise(e=>{navigator.locks.request(g,()=>new Promise(r=>{n=r,e()}))}),n}export{U as LeaderChangedError,H as PGliteWorker,se as worker};\n//# sourceMappingURL=index.js.map"],"names":["Q","C","M","m","L","x","k","T","A","O","v","G","P","b","I","$","c","K","D","w","J","F","j","e","r","d","u","N","i","t","s","o","p","z","a","y","l","R","q","h","f","U","H","g","n"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as Y,jsxs as Me}from"react/jsx-runtime";import*as Gt from"react";import Pu,{useState as Ms,useEffect as en,createContext as Z_,useContext as Y_,forwardRef as fh,useRef as Nt,useCallback as ve,useImperativeHandle as wb,useId as dh,memo as xb,useMemo as to}from"react";import{ar as z_,a_ as K_,o as Ci,a$ as ii,s as Ie,b0 as X_,b1 as kb,b as Ib,b2 as J_,d as eN,b3 as tN,w as Ln,b4 as Vf,b5 as jc,b6 as Rb,g as nN,b7 as iN,b8 as rN,l as sN,b9 as oN,ba as aN,bb as lN,bc as uN,bd as cN,be as fN,bf as dN,p as hN,bg as pN,bh as mN,bi as Db,bj as Cb,bk as Pb,bl as Ep,bm as gN,bn as vN,bo as yN,bp as bN,bq as ON,br as Ap,bs as SN,q as Gc,bt as TN,bu as EN,bv as AN,bw as _N,bx as NN,by as wN,bz as xN,bA as kN,bB as IN,bC as RN,bD as DN}from"./index.CW6hXWch.js";import{c2 as Mb,c3 as ie,c4 as On,c5 as Su,c6 as En,c7 as bc,c8 as Ht,c9 as tn,ca as Oc,cb as Lr,cc as Ls,cd as CN,ce as z,cf as PN,cg as MN,ch as Lb,ci as $b,cj as LN,ck as Qb,cl as _p,cm as Oi,cn as Np,co as wp,cp as xp,cq as $N,cr as ui,cs as Cn,ct as QN,cu as $r,cv as $s,cw as ot,cx as Qs,cy as hh,cz as Fb,cA as Vb,cB as Bb,cC as Ub,cD as Bf,cE as FN,cF as Mu,cG as VN,cH as ph,cI as mh,cJ as qb,cK as jb,cL as BN,cM as Uf,cN as qf,cO as jf,cP as gs,cQ as UN,cR as Gb,cS as qN,cT as jN,cU as it,cV as GN,cW as HN,cX as WN}from"./index.
|
|
1
|
+
import{jsx as Y,jsxs as Me}from"react/jsx-runtime";import*as Gt from"react";import Pu,{useState as Ms,useEffect as en,createContext as Z_,useContext as Y_,forwardRef as fh,useRef as Nt,useCallback as ve,useImperativeHandle as wb,useId as dh,memo as xb,useMemo as to}from"react";import{ar as z_,a_ as K_,o as Ci,a$ as ii,s as Ie,b0 as X_,b1 as kb,b as Ib,b2 as J_,d as eN,b3 as tN,w as Ln,b4 as Vf,b5 as jc,b6 as Rb,g as nN,b7 as iN,b8 as rN,l as sN,b9 as oN,ba as aN,bb as lN,bc as uN,bd as cN,be as fN,bf as dN,p as hN,bg as pN,bh as mN,bi as Db,bj as Cb,bk as Pb,bl as Ep,bm as gN,bn as vN,bo as yN,bp as bN,bq as ON,br as Ap,bs as SN,q as Gc,bt as TN,bu as EN,bv as AN,bw as _N,bx as NN,by as wN,bz as xN,bA as kN,bB as IN,bC as RN,bD as DN}from"./index.CW6hXWch.js";import{c2 as Mb,c3 as ie,c4 as On,c5 as Su,c6 as En,c7 as bc,c8 as Ht,c9 as tn,ca as Oc,cb as Lr,cc as Ls,cd as CN,ce as z,cf as PN,cg as MN,ch as Lb,ci as $b,cj as LN,ck as Qb,cl as _p,cm as Oi,cn as Np,co as wp,cp as xp,cq as $N,cr as ui,cs as Cn,ct as QN,cu as $r,cv as $s,cw as ot,cx as Qs,cy as hh,cz as Fb,cA as Vb,cB as Bb,cC as Ub,cD as Bf,cE as FN,cF as Mu,cG as VN,cH as ph,cI as mh,cJ as qb,cK as jb,cL as BN,cM as Uf,cN as qf,cO as jf,cP as gs,cQ as UN,cR as Gb,cS as qN,cT as jN,cU as it,cV as GN,cW as HN,cX as WN}from"./index.Do-2_IiE.js";import"react-dom";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";const ZN=Object.freeze({major:16,minor:11,patch:0,preReleaseTag:null});function YN(n){return n instanceof Error?n:new zN(n)}class zN extends Error{constructor(e){super("Unexpected error value: "+Mb(e)),this.name="NonErrorThrown",this.thrownValue=e}}function KN(n,e,t){var i;const r=YN(n);return XN(r)?r:new ie(r.message,{nodes:(i=r.nodes)!==null&&i!==void 0?i:e,source:r.source,positions:r.positions,path:t,originalError:r})}function XN(n){return Array.isArray(n.path)}function JN(n){return{Field(e){const t=n.getFieldDef(),i=t==null?void 0:t.deprecationReason;if(t&&i!=null){const r=n.getParentType();r!=null||Su(!1),n.reportError(new ie(`The field ${r.name}.${t.name} is deprecated. ${i}`,{nodes:e}))}},Argument(e){const t=n.getArgument(),i=t==null?void 0:t.deprecationReason;if(t&&i!=null){const r=n.getDirective();if(r!=null)n.reportError(new ie(`Directive "@${r.name}" argument "${t.name}" is deprecated. ${i}`,{nodes:e}));else{const s=n.getParentType(),o=n.getFieldDef();s!=null&&o!=null||Su(!1),n.reportError(new ie(`Field "${s.name}.${o.name}" argument "${t.name}" is deprecated. ${i}`,{nodes:e}))}}},ObjectField(e){const t=On(n.getParentInputType());if(En(t)){const i=t.getFields()[e.name.value],r=i==null?void 0:i.deprecationReason;r!=null&&n.reportError(new ie(`The input field ${t.name}.${i.name} is deprecated. ${r}`,{nodes:e}))}},EnumValue(e){const t=n.getEnumValue(),i=t==null?void 0:t.deprecationReason;if(t&&i!=null){const r=On(n.getInputType());r!=null||Su(!1),n.reportError(new ie(`The enum value "${r.name}.${t.name}" is deprecated. ${i}`,{nodes:e}))}}}}function gh(n){return tw(n,e=>!Lb(e),ew)}function ew(n){return!$b(n)&&!LN(n)}function tw(n,e,t){const i=n.getDirectives().filter(e),r=Object.values(n.getTypeMap()).filter(t);return[nw(n),...i.map(s=>fw(s)),...r.map(s=>rw(s))].filter(Boolean).join(`
|
|
2
2
|
|
|
3
3
|
`)}function nw(n){if(n.description==null&&iw(n))return;const e=[],t=n.getQueryType();t&&e.push(` query: ${t.name}`);const i=n.getMutationType();i&&e.push(` mutation: ${i.name}`);const r=n.getSubscriptionType();return r&&e.push(` subscription: ${r.name}`),Wt(n)+`schema {
|
|
4
4
|
${e.join(`
|
|
@@ -111,4 +111,4 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
|
|
|
111
111
|
"errors editor"
|
|
112
112
|
`,gridTemplateRows:"auto 1fr"},children:[Me("div",{className:"flex flex-col gap-2",style:{gridArea:"left"},children:[Y(HS,{operation:e,onAddOperationAndInitialSchema:s,updateOperationName:o,deleteOperation:a,module:t,allOperationNames:i}),Y(MQ,{operation:e,focusOnMount:e.id===r,setOperationDescription:u})]}),Y("div",{className:"relative top-8",style:{gridArea:"editor"},children:Y(ah,{doc:e.schema??"",updateDocumentInModel:h,customLinter:p})}),Me("div",{style:{gridArea:"errors"},children:[Y("h3",{className:"my-2 text-sm font-medium text-gray-700",children:"Reducer Exceptions"}),Y(LQ,{operation:e,addOperationError:f,deleteOperationError:c,setOperationErrorName:d})]})]})}function VQ({module:n,allOperations:e,shouldFocusNewOperation:t,updateOperationName:i,deleteOperation:r,addOperationAndInitialSchema:s,addOperationError:o,deleteOperationError:a,setOperationErrorName:l,updateOperationSchema:u,setOperationDescription:f}){const[c,d]=Ms(null),h=dh(),p=e.map(g=>g.name).filter(g=>g!==null),m=ve(async(g,v)=>{const y=await s(g,v);return y&&d(y),y},[s,d]);return Me("div",{children:[n.operations.map(g=>Y("div",{children:Y(FQ,{operation:g,module:n,lastCreatedOperationId:c,allOperationNames:p,addOperationError:o,deleteOperationError:a,setOperationErrorName:l,onAddOperationAndInitialSchema:m,updateOperationName:i,deleteOperation:r,updateOperationSchema:u,setOperationDescription:f})},g.id)),Y("div",{className:"mt-6 w-1/2 pr-6",children:Y(HS,{onAddOperationAndInitialSchema:m,updateOperationName:i,deleteOperation:r,module:n,allOperationNames:p,focusOnMount:t},h)})]})}function Eb(n){const{module:e,modules:t,allOperations:i,lastCreatedModuleId:r,onAddModule:s,updateModuleName:o,deleteModule:a,updateOperationName:l,deleteOperation:u,addOperationAndInitialSchema:f,updateOperationSchema:c,setOperationDescription:d,addOperationError:h,deleteOperationError:p,setOperationErrorName:m}=n;return Me("div",{className:"relative rounded-3xl bg-gray-100 p-6",children:[Me("div",{className:"mb-2 w-1/2 pr-6",children:[Y(IR,{modules:t,module:e,onAddModule:s,updateModuleName:o}),!!e&&Y("button",{"aria-label":"Delete module",tabIndex:-1,className:"absolute right-1 top-1 p-2 text-gray-800 transition-colors hover:text-gray-500",onClick:()=>{a(e.id)},children:Y("svg",{className:"size-6",viewBox:"0 0 24 24",fill:"currentcolor",children:Y("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.9993 8.51506L15.4844 7L11.9994 10.4852L8.51497 7.00057L7 8.51562L10.4844 12.0003L7.00056 15.4843L8.51552 16.9994L11.9994 13.5153L15.4838 17L16.9988 15.4849L13.5144 12.0003L16.9993 8.51506Z"})})})]}),!!e&&Y(VQ,{module:e,allOperations:i,shouldFocusNewOperation:e.id===r,updateOperationName:l,deleteOperation:u,addOperationAndInitialSchema:f,updateOperationSchema:c,setOperationDescription:d,addOperationError:h,deleteOperationError:p,setOperationErrorName:m})]})}function BQ({modules:n,allOperations:e,addModule:t,updateModuleName:i,deleteModule:r,updateOperationName:s,deleteOperation:o,addOperationAndInitialSchema:a,updateOperationSchema:l,setOperationDescription:u,addOperationError:f,deleteOperationError:c,setOperationErrorName:d}){const[h,p]=Ms(null),m=Nt(null),g=ve(async v=>{var O;const y=await t(v);return y&&(p(y),(O=m.current)==null||O.focus()),y},[t,p]);return Me("div",{className:"flex flex-col gap-2",children:[n.map(v=>Y(Eb,{module:v,modules:n,allOperations:e,lastCreatedModuleId:h,onAddModule:g,updateModuleName:i,deleteModule:r,updateOperationName:s,deleteOperation:o,addOperationAndInitialSchema:a,updateOperationSchema:l,setOperationDescription:u,addOperationError:f,deleteOperationError:c,setOperationErrorName:d},v.id)),Y(Eb,{modules:n,allOperations:e,lastCreatedModuleId:h,onAddModule:g,updateModuleName:i,deleteModule:r,updateOperationName:s,deleteOperation:o,addOperationAndInitialSchema:a,updateOperationSchema:l,setOperationDescription:u,addOperationError:f,deleteOperationError:c,setOperationErrorName:d},"add-module"),Y("div",{ref:m,tabIndex:0,className:"size-0 overflow-hidden","aria-hidden":"true"})]})}const lh=fh((n,e)=>{const{className:t,...i}=n;return Y("button",{ref:e,...i,className:Yt("h-10 whitespace-nowrap rounded-md border border-gray-200 bg-gray-50 px-4 py-2 text-sm font-medium text-gray-800 transition-colors hover:bg-gray-100 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",t)})}),UQ=Yh({String:Q.string,Number:Q.number,"True False":Q.bool,PropertyName:Q.propertyName,Null:Q.null,", :":Q.separator,"[ ]":Q.squareBracket,"{ }":Q.brace}),qQ=ks.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[UQ],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),jQ=()=>n=>{try{JSON.parse(n.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const t=GQ(e,n.state.doc);return[{from:t,message:e.message,severity:"error",to:t}]}return[]};function GQ(n,e){let t;return(t=n.message.match(/at position (\d+)/))?Math.min(+t[1],e.length):(t=n.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+t[1]).from+ +t[2]-1,e.length):0}const S_=Is.define({name:"json",parser:qQ.configure({props:[Xh.add({Object:my({except:/^\s*\}/}),Array:my({except:/^\s*\]/})}),ep.add({"Object Array":GE})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function HQ(){return new UE(S_)}const WQ=xb(function(e){const{doc:t,readonly:i=!1,updateDocumentInModel:r}=e,{editorRef:s,viewRef:o,updateListenerCompartment:a,focusHandlerCompartment:l,pasteHandlerCompartment:u,timeoutRef:f}=h_();return en(()=>{o.current||(o.current=new ne({state:Ee.create({doc:t,extensions:[...v_,wc.of(y_),oA,S_,HQ(),Uh(jQ()),a.current.of(yp(i,f,r)),l.current.of(bp(i,f,r)),u.current.of(Op(i,f,r)),Ee.readOnly.of(i)]}),parent:s.current}),kr(o.current))},[]),p_(o),m_(o.current,i,f,r,{updateListener:a.current,focusHandler:l.current,pasteHandler:u.current}),g_(o.current,t),Y("div",{ref:s})}),ZQ=mN,T_=Gt.forwardRef(({className:n,...e},t)=>Y(Db,{ref:t,className:Yt("flex items-center justify-center rounded-xl bg-slate-50 p-1 shadow-[inset_0px_0px_2px_rgba(255,255,255,0.50)]",n),...e}));T_.displayName=Db.displayName;const uh=Gt.forwardRef(({className:n,...e},t)=>Y(Cb,{ref:t,className:Yt("flex w-full items-center justify-center whitespace-nowrap rounded-lg p-1 text-sm text-gray-500 transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-gray-50 data-[state=active]:text-gray-800 data-[state=active]:shadow-[0px_16px_16px_-4px_rgba(0,0,0,0.10)]",n),...e}));uh.displayName=Cb.displayName;const ch=Gt.forwardRef(({className:n,...e},t)=>Y(Pb,{ref:t,className:Yt("",n),...e}));ch.displayName=Pb.displayName;function Ab({modelName:n,stateSchema:e,initialValue:t,setStateSchema:i,setInitialState:r,scope:s}){const o=nS(),[a,l]=Ms(!1),u=ve(p=>$Q(p,n,s),[n,s]),f=ve(()=>{l(p=>!p)},[]),c=ve(p=>i(p,s),[i,s]),d=ve(p=>r(p,s),[r,s]),h=ve(()=>{const p=t||"{}",m=nn(o);if(!m)return;const g=nn(e);if(!g)return;const v=iS(n,s);if(!v)return;const y=g.definitions.find(S=>S.kind===z.OBJECT_TYPE_DEFINITION&&S.name.value===v);if(!y||y.kind!==z.OBJECT_TYPE_DEFINITION)return;const O=lk({sharedSchemaDocumentNode:m,stateTypeDefinitionNode:y,existingValue:p});r(O,s)},[o,t,r,s]);return Me("div",{className:"grid grid-cols-2 gap-4",children:[Me("div",{children:[Me("h3",{className:"mb-2 text-lg capitalize",children:[s," state schema"]}),Me(lh,{onClick:f,className:"mb-2 flex w-fit items-center gap-2",children:[a?"Hide":"Show"," standard library",Y("svg",{className:Yt("inline-block transition-transform",a?"rotate-180":"rotate-0"),xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:Y("path",{d:"M11.9883 6.01172C11.4363 6.01172 10.9883 6.45972 10.9883 7.01172V13.0117H6.98828L11.9883 18.0117L16.9883 13.0117H12.9883V7.01172C12.9883 6.45972 12.5403 6.01172 11.9883 6.01172Z",fill:"black"})})]}),a&&Y(ah,{doc:bh,readonly:!0}),Y(ah,{doc:e,updateDocumentInModel:c,customLinter:u})]}),Me("div",{children:[Me("div",{className:"flex flex-col items-end",children:[Me("h3",{className:"mb-2 text-right text-lg capitalize",children:[s," state initial value"]}),Me(lh,{onClick:h,className:"mb-2 flex w-fit items-center gap-2",children:["Sync with schema"," ",Y("svg",{className:"inline-block",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:Y("path",{d:"M8.00521 1.99219C6.63588 1.99219 5.32788 2.45152 4.27588 3.28419C3.98721 3.51219 3.94321 3.93285 4.17188 4.22151C4.40054 4.51018 4.82055 4.55418 5.10921 4.32552C5.92721 3.67819 6.93921 3.32552 8.00521 3.32552C10.5825 3.32552 12.6719 5.41485 12.6719 7.99218H11.3385L13.3385 10.6588L15.3385 7.99218H14.0052C14.0052 4.67818 11.3192 1.99219 8.00521 1.99219ZM2.67188 5.32552L0.671875 7.99218H2.00521C2.00521 11.3062 4.69121 13.9922 8.00521 13.9922C9.37521 13.9922 10.6825 13.5335 11.7345 12.7002C12.0232 12.4722 12.0672 12.0515 11.8385 11.7628C11.6099 11.4742 11.1899 11.4302 10.9012 11.6588C10.0825 12.3068 9.07188 12.6588 8.00521 12.6588C5.42788 12.6588 3.33854 10.5695 3.33854 7.99218H4.67188L2.67188 5.32552Z",fill:"#343839"})})]})]}),Y(WQ,{doc:t,updateDocumentInModel:d})]})]})}function YQ({modelName:n,globalStateSchema:e,localStateSchema:t,globalStateInitialValue:i,localStateInitialValue:r,setStateSchema:s,setInitialState:o}){const a=ve(()=>{const l=Oh(n,"local");s(l,"local"),o("","local")},[n,s,o]);return Me(ZQ,{className:"pb-8",activationMode:"manual",defaultValue:"global",children:[Y("div",{className:"my-6",children:Me(T_,{className:"mx-auto flex max-w-sm",children:[Y(uh,{value:"global",children:"Global"}),Y(uh,{value:"local",children:"Local"})]})}),Y(ch,{value:"global",tabIndex:-1,children:Y(Ab,{modelName:n,stateSchema:e,initialValue:i,setStateSchema:s,setInitialState:o,scope:"global"})}),Y(ch,{value:"local",tabIndex:-1,children:t?Y(Ab,{modelName:n,stateSchema:t,initialValue:r,setStateSchema:s,setInitialState:o,scope:"local"}):Me("div",{className:"",children:[Y("h3",{className:"mb-2 text-lg capitalize",children:"local state schema"}),Y(lh,{onClick:a,children:"Add local state"})]})})]})}function zQ(n){const{document:e,documentNodeName:t,dispatch:i}=n,{name:r,id:s,extension:o,description:a,author:{name:l,website:u}}=to(()=>e.state.global,[e.state.global]),{state:{global:{schema:f,initialValue:c},local:{schema:d,initialValue:h}},modules:p}=to(()=>e.state.global.specifications[0],[e.state.global.specifications[0]]),m=to(()=>p.flatMap(B=>B.operations),[p]),g=Nt(!r&&!!t&&m.length===0);en(()=>{!g.current||!t||(i(Ep({name:t})),lS({modelName:t,setStateSchema:(B,ee)=>{i(Ap({schema:B,scope:ee}))}}),g.current=!1)},[t]);const v=to(()=>m.flatMap(B=>B.schema??[]).join(`
|
|
113
113
|
`),[m]),y=ve(B=>{ct(B,s)||i(gN({id:B}))},[s]),O=ve(B=>{ct(B,a)||i(vN({description:B}))},[a]),S=ve(B=>{ct(B,o)||i(yN({extension:B}))},[o]),b=ve(B=>{ct(B,r)||i(Ep({name:B}))},[r]),T=ve(B=>{ct(B,l)||i(bN({authorName:B}))},[l]),w=ve(B=>{ct(B,u??"")||i(ON({authorWebsite:B}))},[u]),C=ve((B,ee)=>{ct(B,ee==="global"?f:d)||i(Ap({schema:B,scope:ee}))},[f,d]),D=ve((B,ee)=>{ct(B,ee==="global"?c:h)||i(SN({initialValue:B,scope:ee}))},[c,h]),k=ve(B=>new Promise(ee=>{try{if(p.some(pe=>ct(pe.name,B))){ee(void 0);return}const re=Gc();i(TN({id:re,name:B})),ee(re)}catch(re){console.error("Failed to add module:",re),ee(void 0)}}),[p]),$=ve((B,ee)=>{p.some(re=>ct(re.name,ee))||i(EN({id:B,name:ee}))},[p]),A=ve(B=>i(AN({id:B})),[]),_=ve((B,ee)=>new Promise(re=>{var pe;try{if((((pe=p.find(Ue=>Ue.id===B))==null?void 0:pe.operations.map(Ue=>Ue.name).filter(Boolean))??[]).some(Ue=>ct(Ue,ee))){re(void 0);return}const Le=Gc();i(_N({id:Le,moduleId:B,name:ee})),re(Le)}catch(xe){console.error("Failed to add operation:",xe),re(void 0)}}),[p]),I=ve((B,ee)=>{const re=p.find(xe=>xe.operations.some(Le=>Le.id===B));((re==null?void 0:re.operations.map(xe=>xe.name).filter(Boolean))??[]).some(xe=>ct(xe,ee))||i(NN({id:B,name:ee}))},[p]),R=ve((B,ee)=>{const re=m.find(pe=>pe.id===B);re!=null&&re.schema&&ct(ee,re.schema)||i(wN({id:B,schema:ee}))},[m]),F=ve((B,ee)=>{var pe;const re=((pe=m.find(xe=>xe.id===B))==null?void 0:pe.description)??"";ct(re,ee)||i(xN({id:B,description:ee}))},[m]),U=ve(B=>i(kN({id:B})),[]),X=ve((B,ee)=>new Promise(re=>{try{const pe=m.find(Ue=>Ue.id===B);if(((pe==null?void 0:pe.errors.map(Ue=>Ue.name).filter(Boolean))??[]).some(Ue=>ct(Ue,ee))){re(void 0);return}const Le=Gc();i(IN({id:Le,operationId:B,errorName:ee})),re(Le)}catch(pe){console.error("Failed to add operation error:",pe),re(void 0)}}),[m]),te=ve(B=>i(RN({id:B})),[]),ue=ve((B,ee,re)=>{const pe=m.find(Le=>Le.id===B);((pe==null?void 0:pe.errors.map(Le=>Le.name).filter(Boolean))??[]).some(Le=>ct(Le,re))||i(DN({id:ee,errorName:re}))},[m]),fe=ve(async(B,ee)=>{try{const re=await _(B,ee);if(!re)return;try{return R(re,ok(ee)),re}catch(pe){console.error("Failed to update operation schema:",pe);return}}catch(re){console.error("Failed to add operation and schema:",re);return}},[_,R]);return Y("main",{className:"min-h-dvh bg-gray-50",children:Y(sk,{globalStateSchemaSdl:f,localStateSchemaSdl:d,operationSchemasSdl:v,children:Me("div",{className:"mx-auto max-w-6xl px-4 pt-8",children:[Y(ER,{name:r,documentType:s,extension:o,description:a,authorName:l,authorWebsite:u??"",globalStateSchema:f,localStateSchema:d,setModelId:y,setModelDescription:O,setModelExtension:S,setModelName:b,setAuthorName:T,setAuthorWebsite:w,setStateSchema:C}),Y(kp,{}),Me("div",{children:[Y(YQ,{modelName:r,globalStateSchema:f,globalStateInitialValue:c,localStateSchema:d,localStateInitialValue:h,setStateSchema:C,setInitialState:D}),Y(kp,{}),Y("h3",{className:"mb-6 text-lg",children:"Global Operations"}),Y(BQ,{modules:p,allOperations:m,addModule:k,updateModuleName:$,deleteModule:A,updateOperationName:I,updateOperationSchema:R,setOperationDescription:F,deleteOperation:U,addOperationError:X,deleteOperationError:te,setOperationErrorName:ue,addOperationAndInitialSchema:fe})]})]})})})}const dF={Component:zQ,documentTypes:["powerhouse/document-model"],config:{id:"document-model-editor-v2",disableExternalControls:!0,documentToolbarEnabled:!0,timelineEnabled:!0}};export{zQ as DocumentModelEditor,dF as documentModelEditorModule};
|
|
114
|
-
//# sourceMappingURL=index.
|
|
114
|
+
//# sourceMappingURL=index.Bj8Z6FnE.js.map
|