@powerhousedao/reactor-browser 6.0.0-dev.23 → 6.0.0-dev.230
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/README.md +6 -3
- package/dist/client-DfoxBz8A.js +862 -0
- package/dist/client-DfoxBz8A.js.map +1 -0
- package/dist/client-DhQo2Vi9.d.ts +804 -0
- package/dist/client-DhQo2Vi9.d.ts.map +1 -0
- package/dist/document-by-id-CDLUqru5.js +441 -0
- package/dist/document-by-id-CDLUqru5.js.map +1 -0
- package/dist/index-Ce4S7Kk1.d.ts +726 -0
- package/dist/index-Ce4S7Kk1.d.ts.map +1 -0
- package/dist/index-DgwLcoI3.d.ts +343 -0
- package/dist/index-DgwLcoI3.d.ts.map +1 -0
- package/dist/index.d.ts +1507 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3249 -0
- package/dist/index.js.map +1 -0
- package/dist/make-ph-event-functions-Cr4GqOTT.js +57 -0
- package/dist/make-ph-event-functions-Cr4GqOTT.js.map +1 -0
- package/dist/relational-jwreqDwz.js +123 -0
- package/dist/relational-jwreqDwz.js.map +1 -0
- package/dist/renown-CV_45Xc1.js +1014 -0
- package/dist/renown-CV_45Xc1.js.map +1 -0
- package/dist/src/analytics/index.d.ts +112 -2
- package/dist/src/analytics/index.d.ts.map +1 -1
- package/dist/src/analytics/index.js +342 -2
- package/dist/src/analytics/index.js.map +1 -1
- package/dist/src/graphql/client.d.ts +2 -0
- package/dist/src/graphql/client.js +2 -0
- package/dist/src/relational/index.d.ts +2 -3
- package/dist/src/relational/index.js +2 -3
- package/dist/src/renown/index.d.ts +2 -3
- package/dist/src/renown/index.js +2 -3
- package/dist/types-BmR60pPN.d.ts +22 -0
- package/dist/types-BmR60pPN.d.ts.map +1 -0
- package/package.json +58 -48
- package/dist/src/actions/dispatch.d.ts +0 -18
- package/dist/src/actions/dispatch.d.ts.map +0 -1
- package/dist/src/actions/dispatch.js +0 -47
- package/dist/src/actions/dispatch.js.map +0 -1
- package/dist/src/actions/document.d.ts +0 -20
- package/dist/src/actions/document.d.ts.map +0 -1
- package/dist/src/actions/document.js +0 -711
- package/dist/src/actions/document.js.map +0 -1
- package/dist/src/actions/drive.d.ts +0 -12
- package/dist/src/actions/drive.d.ts.map +0 -1
- package/dist/src/actions/drive.js +0 -256
- package/dist/src/actions/drive.js.map +0 -1
- package/dist/src/actions/index.d.ts +0 -4
- package/dist/src/actions/index.d.ts.map +0 -1
- package/dist/src/actions/index.js +0 -4
- package/dist/src/actions/index.js.map +0 -1
- package/dist/src/actions/queue.d.ts +0 -10
- package/dist/src/actions/queue.d.ts.map +0 -1
- package/dist/src/actions/queue.js +0 -160
- package/dist/src/actions/queue.js.map +0 -1
- package/dist/src/actions/sign.d.ts +0 -5
- package/dist/src/actions/sign.d.ts.map +0 -1
- package/dist/src/actions/sign.js +0 -71
- package/dist/src/actions/sign.js.map +0 -1
- package/dist/src/analytics/context.d.ts +0 -33
- package/dist/src/analytics/context.d.ts.map +0 -1
- package/dist/src/analytics/context.js +0 -148
- package/dist/src/analytics/context.js.map +0 -1
- package/dist/src/analytics/hooks/analytics-query.d.ts +0 -31
- package/dist/src/analytics/hooks/analytics-query.d.ts.map +0 -1
- package/dist/src/analytics/hooks/analytics-query.js +0 -157
- package/dist/src/analytics/hooks/analytics-query.js.map +0 -1
- package/dist/src/analytics/hooks/document-timeline.d.ts +0 -19
- package/dist/src/analytics/hooks/document-timeline.d.ts.map +0 -1
- package/dist/src/analytics/hooks/document-timeline.js +0 -10
- package/dist/src/analytics/hooks/document-timeline.js.map +0 -1
- package/dist/src/analytics/hooks/index.d.ts +0 -4
- package/dist/src/analytics/hooks/index.d.ts.map +0 -1
- package/dist/src/analytics/hooks/index.js +0 -4
- package/dist/src/analytics/hooks/index.js.map +0 -1
- package/dist/src/analytics/hooks/timeline-items.d.ts +0 -25
- package/dist/src/analytics/hooks/timeline-items.d.ts.map +0 -1
- package/dist/src/analytics/hooks/timeline-items.js +0 -104
- package/dist/src/analytics/hooks/timeline-items.js.map +0 -1
- package/dist/src/analytics/store/browser.d.ts +0 -2
- package/dist/src/analytics/store/browser.d.ts.map +0 -1
- package/dist/src/analytics/store/browser.js +0 -2
- package/dist/src/analytics/store/browser.js.map +0 -1
- package/dist/src/analytics/store/memory.d.ts +0 -2
- package/dist/src/analytics/store/memory.d.ts.map +0 -1
- package/dist/src/analytics/store/memory.js +0 -2
- package/dist/src/analytics/store/memory.js.map +0 -1
- package/dist/src/analytics/types.d.ts +0 -9
- package/dist/src/analytics/types.d.ts.map +0 -1
- package/dist/src/analytics/types.js +0 -2
- package/dist/src/analytics/types.js.map +0 -1
- package/dist/src/analytics.d.ts +0 -3
- package/dist/src/analytics.d.ts.map +0 -1
- package/dist/src/analytics.js +0 -3
- package/dist/src/analytics.js.map +0 -1
- package/dist/src/connect.d.ts +0 -2
- package/dist/src/connect.d.ts.map +0 -1
- package/dist/src/connect.js +0 -2
- package/dist/src/connect.js.map +0 -1
- package/dist/src/constants.d.ts +0 -3
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js +0 -3
- package/dist/src/constants.js.map +0 -1
- package/dist/src/context/index.d.ts +0 -2
- package/dist/src/context/index.d.ts.map +0 -1
- package/dist/src/context/index.js +0 -2
- package/dist/src/context/index.js.map +0 -1
- package/dist/src/context/read-mode.d.ts +0 -14
- package/dist/src/context/read-mode.d.ts.map +0 -1
- package/dist/src/context/read-mode.js +0 -177
- package/dist/src/context/read-mode.js.map +0 -1
- package/dist/src/document-cache.d.ts +0 -17
- package/dist/src/document-cache.d.ts.map +0 -1
- package/dist/src/document-cache.js +0 -143
- package/dist/src/document-cache.js.map +0 -1
- package/dist/src/document-model.d.ts +0 -4
- package/dist/src/document-model.d.ts.map +0 -1
- package/dist/src/document-model.js +0 -6
- package/dist/src/document-model.js.map +0 -1
- package/dist/src/errors.d.ts +0 -16
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js +0 -27
- package/dist/src/errors.js.map +0 -1
- package/dist/src/global/core.d.ts +0 -5
- package/dist/src/global/core.d.ts.map +0 -1
- package/dist/src/global/core.js +0 -22
- package/dist/src/global/core.js.map +0 -1
- package/dist/src/global/index.d.ts +0 -2
- package/dist/src/global/index.d.ts.map +0 -1
- package/dist/src/global/index.js +0 -2
- package/dist/src/global/index.js.map +0 -1
- package/dist/src/global/types.d.ts +0 -17
- package/dist/src/global/types.d.ts.map +0 -1
- package/dist/src/global/types.js +0 -2
- package/dist/src/global/types.js.map +0 -1
- package/dist/src/hooks/add-ph-event-handlers.d.ts +0 -2
- package/dist/src/hooks/add-ph-event-handlers.d.ts.map +0 -1
- package/dist/src/hooks/add-ph-event-handlers.js +0 -109
- package/dist/src/hooks/add-ph-event-handlers.js.map +0 -1
- package/dist/src/hooks/allowed-document-model-modules.d.ts +0 -2
- package/dist/src/hooks/allowed-document-model-modules.d.ts.map +0 -1
- package/dist/src/hooks/allowed-document-model-modules.js +0 -10
- package/dist/src/hooks/allowed-document-model-modules.js.map +0 -1
- package/dist/src/hooks/child-nodes.d.ts +0 -4
- package/dist/src/hooks/child-nodes.d.ts.map +0 -1
- package/dist/src/hooks/child-nodes.js +0 -15
- package/dist/src/hooks/child-nodes.js.map +0 -1
- package/dist/src/hooks/config/connect.d.ts +0 -96
- package/dist/src/hooks/config/connect.d.ts.map +0 -1
- package/dist/src/hooks/config/connect.js +0 -210
- package/dist/src/hooks/config/connect.js.map +0 -1
- package/dist/src/hooks/config/editor.d.ts +0 -32
- package/dist/src/hooks/config/editor.d.ts.map +0 -1
- package/dist/src/hooks/config/editor.js +0 -43
- package/dist/src/hooks/config/editor.js.map +0 -1
- package/dist/src/hooks/config/set-config-by-key.d.ts +0 -5
- package/dist/src/hooks/config/set-config-by-key.d.ts.map +0 -1
- package/dist/src/hooks/config/set-config-by-key.js +0 -15
- package/dist/src/hooks/config/set-config-by-key.js.map +0 -1
- package/dist/src/hooks/config/set-config-by-object.d.ts +0 -31
- package/dist/src/hooks/config/set-config-by-object.d.ts.map +0 -1
- package/dist/src/hooks/config/set-config-by-object.js +0 -84
- package/dist/src/hooks/config/set-config-by-object.js.map +0 -1
- package/dist/src/hooks/config/use-value-by-key.d.ts +0 -13
- package/dist/src/hooks/config/use-value-by-key.d.ts.map +0 -1
- package/dist/src/hooks/config/use-value-by-key.js +0 -23
- package/dist/src/hooks/config/use-value-by-key.js.map +0 -1
- package/dist/src/hooks/config/utils.d.ts +0 -3
- package/dist/src/hooks/config/utils.d.ts.map +0 -1
- package/dist/src/hooks/config/utils.js +0 -6
- package/dist/src/hooks/config/utils.js.map +0 -1
- package/dist/src/hooks/connect.d.ts +0 -16
- package/dist/src/hooks/connect.d.ts.map +0 -1
- package/dist/src/hooks/connect.js +0 -16
- package/dist/src/hooks/connect.js.map +0 -1
- package/dist/src/hooks/crypto.d.ts +0 -9
- package/dist/src/hooks/crypto.d.ts.map +0 -1
- package/dist/src/hooks/crypto.js +0 -13
- package/dist/src/hooks/crypto.js.map +0 -1
- package/dist/src/hooks/did.d.ts +0 -2
- package/dist/src/hooks/did.d.ts.map +0 -1
- package/dist/src/hooks/did.js +0 -3
- package/dist/src/hooks/did.js.map +0 -1
- package/dist/src/hooks/dispatch.d.ts +0 -9
- package/dist/src/hooks/dispatch.d.ts.map +0 -1
- package/dist/src/hooks/dispatch.js +0 -20
- package/dist/src/hooks/dispatch.js.map +0 -1
- package/dist/src/hooks/document-by-id.d.ts +0 -6
- package/dist/src/hooks/document-by-id.d.ts.map +0 -1
- package/dist/src/hooks/document-by-id.js +0 -13
- package/dist/src/hooks/document-by-id.js.map +0 -1
- package/dist/src/hooks/document-cache.d.ts +0 -76
- package/dist/src/hooks/document-cache.d.ts.map +0 -1
- package/dist/src/hooks/document-cache.js +0 -124
- package/dist/src/hooks/document-cache.js.map +0 -1
- package/dist/src/hooks/document-model-modules.d.ts +0 -4
- package/dist/src/hooks/document-model-modules.d.ts.map +0 -1
- package/dist/src/hooks/document-model-modules.js +0 -10
- package/dist/src/hooks/document-model-modules.js.map +0 -1
- package/dist/src/hooks/document-of-type.d.ts +0 -5
- package/dist/src/hooks/document-of-type.d.ts.map +0 -1
- package/dist/src/hooks/document-of-type.js +0 -22
- package/dist/src/hooks/document-of-type.js.map +0 -1
- package/dist/src/hooks/document-types.d.ts +0 -7
- package/dist/src/hooks/document-types.d.ts.map +0 -1
- package/dist/src/hooks/document-types.js +0 -13
- package/dist/src/hooks/document-types.js.map +0 -1
- package/dist/src/hooks/drive-by-id.d.ts +0 -4
- package/dist/src/hooks/drive-by-id.d.ts.map +0 -1
- package/dist/src/hooks/drive-by-id.js +0 -12
- package/dist/src/hooks/drive-by-id.js.map +0 -1
- package/dist/src/hooks/drives.d.ts +0 -9
- package/dist/src/hooks/drives.d.ts.map +0 -1
- package/dist/src/hooks/drives.js +0 -9
- package/dist/src/hooks/drives.js.map +0 -1
- package/dist/src/hooks/editor-modules.d.ts +0 -9
- package/dist/src/hooks/editor-modules.d.ts.map +0 -1
- package/dist/src/hooks/editor-modules.js +0 -43
- package/dist/src/hooks/editor-modules.js.map +0 -1
- package/dist/src/hooks/features.d.ts +0 -5
- package/dist/src/hooks/features.d.ts.map +0 -1
- package/dist/src/hooks/features.js +0 -6
- package/dist/src/hooks/features.js.map +0 -1
- package/dist/src/hooks/folder-by-id.d.ts +0 -3
- package/dist/src/hooks/folder-by-id.d.ts.map +0 -1
- package/dist/src/hooks/folder-by-id.js +0 -6
- package/dist/src/hooks/folder-by-id.js.map +0 -1
- package/dist/src/hooks/import-script-modules.d.ts +0 -3
- package/dist/src/hooks/import-script-modules.d.ts.map +0 -1
- package/dist/src/hooks/import-script-modules.js +0 -6
- package/dist/src/hooks/import-script-modules.js.map +0 -1
- package/dist/src/hooks/index.d.ts +0 -41
- package/dist/src/hooks/index.d.ts.map +0 -1
- package/dist/src/hooks/index.js +0 -41
- package/dist/src/hooks/index.js.map +0 -1
- package/dist/src/hooks/items-in-selected-drive.d.ts +0 -13
- package/dist/src/hooks/items-in-selected-drive.d.ts.map +0 -1
- package/dist/src/hooks/items-in-selected-drive.js +0 -35
- package/dist/src/hooks/items-in-selected-drive.js.map +0 -1
- package/dist/src/hooks/items-in-selected-folder.d.ts +0 -11
- package/dist/src/hooks/items-in-selected-folder.d.ts.map +0 -1
- package/dist/src/hooks/items-in-selected-folder.js +0 -33
- package/dist/src/hooks/items-in-selected-folder.js.map +0 -1
- package/dist/src/hooks/loading.d.ts +0 -2
- package/dist/src/hooks/loading.d.ts.map +0 -1
- package/dist/src/hooks/loading.js +0 -3
- package/dist/src/hooks/loading.js.map +0 -1
- package/dist/src/hooks/login-status.d.ts +0 -2
- package/dist/src/hooks/login-status.d.ts.map +0 -1
- package/dist/src/hooks/login-status.js +0 -3
- package/dist/src/hooks/login-status.js.map +0 -1
- package/dist/src/hooks/make-ph-event-functions.d.ts +0 -7
- package/dist/src/hooks/make-ph-event-functions.d.ts.map +0 -1
- package/dist/src/hooks/make-ph-event-functions.js +0 -46
- package/dist/src/hooks/make-ph-event-functions.js.map +0 -1
- package/dist/src/hooks/modals.d.ts +0 -17
- package/dist/src/hooks/modals.d.ts.map +0 -1
- package/dist/src/hooks/modals.js +0 -26
- package/dist/src/hooks/modals.js.map +0 -1
- package/dist/src/hooks/node-actions.d.ts +0 -12
- package/dist/src/hooks/node-actions.d.ts.map +0 -1
- package/dist/src/hooks/node-actions.js +0 -108
- package/dist/src/hooks/node-actions.js.map +0 -1
- package/dist/src/hooks/node-by-id.d.ts +0 -4
- package/dist/src/hooks/node-by-id.d.ts.map +0 -1
- package/dist/src/hooks/node-by-id.js +0 -7
- package/dist/src/hooks/node-by-id.js.map +0 -1
- package/dist/src/hooks/node-path.d.ts +0 -6
- package/dist/src/hooks/node-path.d.ts.map +0 -1
- package/dist/src/hooks/node-path.js +0 -23
- package/dist/src/hooks/node-path.js.map +0 -1
- package/dist/src/hooks/parent-folder.d.ts +0 -4
- package/dist/src/hooks/parent-folder.d.ts.map +0 -1
- package/dist/src/hooks/parent-folder.js +0 -13
- package/dist/src/hooks/parent-folder.js.map +0 -1
- package/dist/src/hooks/processor-manager.d.ts +0 -9
- package/dist/src/hooks/processor-manager.d.ts.map +0 -1
- package/dist/src/hooks/processor-manager.js +0 -9
- package/dist/src/hooks/processor-manager.js.map +0 -1
- package/dist/src/hooks/processor-modules.d.ts +0 -4
- package/dist/src/hooks/processor-modules.d.ts.map +0 -1
- package/dist/src/hooks/processor-modules.js +0 -12
- package/dist/src/hooks/processor-modules.js.map +0 -1
- package/dist/src/hooks/reactor.d.ts +0 -42
- package/dist/src/hooks/reactor.d.ts.map +0 -1
- package/dist/src/hooks/reactor.js +0 -44
- package/dist/src/hooks/reactor.js.map +0 -1
- package/dist/src/hooks/renown.d.ts +0 -8
- package/dist/src/hooks/renown.d.ts.map +0 -1
- package/dist/src/hooks/renown.js +0 -9
- package/dist/src/hooks/renown.js.map +0 -1
- package/dist/src/hooks/revision-history.d.ts +0 -11
- package/dist/src/hooks/revision-history.d.ts.map +0 -1
- package/dist/src/hooks/revision-history.js +0 -17
- package/dist/src/hooks/revision-history.js.map +0 -1
- package/dist/src/hooks/selected-document.d.ts +0 -12
- package/dist/src/hooks/selected-document.d.ts.map +0 -1
- package/dist/src/hooks/selected-document.js +0 -35
- package/dist/src/hooks/selected-document.js.map +0 -1
- package/dist/src/hooks/selected-drive.d.ts +0 -13
- package/dist/src/hooks/selected-drive.d.ts.map +0 -1
- package/dist/src/hooks/selected-drive.js +0 -63
- package/dist/src/hooks/selected-drive.js.map +0 -1
- package/dist/src/hooks/selected-folder.d.ts +0 -4
- package/dist/src/hooks/selected-folder.d.ts.map +0 -1
- package/dist/src/hooks/selected-folder.js +0 -10
- package/dist/src/hooks/selected-folder.js.map +0 -1
- package/dist/src/hooks/selected-node.d.ts +0 -9
- package/dist/src/hooks/selected-node.d.ts.map +0 -1
- package/dist/src/hooks/selected-node.js +0 -54
- package/dist/src/hooks/selected-node.js.map +0 -1
- package/dist/src/hooks/selected-timeline-item.d.ts +0 -7
- package/dist/src/hooks/selected-timeline-item.d.ts.map +0 -1
- package/dist/src/hooks/selected-timeline-item.js +0 -9
- package/dist/src/hooks/selected-timeline-item.js.map +0 -1
- package/dist/src/hooks/subgraph-modules.d.ts +0 -3
- package/dist/src/hooks/subgraph-modules.d.ts.map +0 -1
- package/dist/src/hooks/subgraph-modules.js +0 -6
- package/dist/src/hooks/subgraph-modules.js.map +0 -1
- package/dist/src/hooks/supported-document-types.d.ts +0 -3
- package/dist/src/hooks/supported-document-types.d.ts.map +0 -1
- package/dist/src/hooks/supported-document-types.js +0 -7
- package/dist/src/hooks/supported-document-types.js.map +0 -1
- package/dist/src/hooks/timeline-revision.d.ts +0 -7
- package/dist/src/hooks/timeline-revision.d.ts.map +0 -1
- package/dist/src/hooks/timeline-revision.js +0 -9
- package/dist/src/hooks/timeline-revision.js.map +0 -1
- package/dist/src/hooks/toast.d.ts +0 -7
- package/dist/src/hooks/toast.d.ts.map +0 -1
- package/dist/src/hooks/toast.js +0 -9
- package/dist/src/hooks/toast.js.map +0 -1
- package/dist/src/hooks/use-feature-flags.d.ts +0 -36
- package/dist/src/hooks/use-feature-flags.d.ts.map +0 -1
- package/dist/src/hooks/use-feature-flags.js +0 -73
- package/dist/src/hooks/use-feature-flags.js.map +0 -1
- package/dist/src/hooks/use-get-switchboard-link.d.ts +0 -14
- package/dist/src/hooks/use-get-switchboard-link.d.ts.map +0 -1
- package/dist/src/hooks/use-get-switchboard-link.js +0 -38
- package/dist/src/hooks/use-get-switchboard-link.js.map +0 -1
- package/dist/src/hooks/use-on-drop-file.d.ts +0 -3
- package/dist/src/hooks/use-on-drop-file.d.ts.map +0 -1
- package/dist/src/hooks/use-on-drop-file.js +0 -21
- package/dist/src/hooks/use-on-drop-file.js.map +0 -1
- package/dist/src/hooks/user-permissions.d.ts +0 -5
- package/dist/src/hooks/user-permissions.d.ts.map +0 -1
- package/dist/src/hooks/user-permissions.js +0 -17
- package/dist/src/hooks/user-permissions.js.map +0 -1
- package/dist/src/hooks/user.d.ts +0 -8
- package/dist/src/hooks/user.d.ts.map +0 -1
- package/dist/src/hooks/user.js +0 -9
- package/dist/src/hooks/user.js.map +0 -1
- package/dist/src/hooks/vetra-packages.d.ts +0 -8
- package/dist/src/hooks/vetra-packages.d.ts.map +0 -1
- package/dist/src/hooks/vetra-packages.js +0 -17
- package/dist/src/hooks/vetra-packages.js.map +0 -1
- package/dist/src/index.d.ts +0 -15
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -15
- package/dist/src/index.js.map +0 -1
- package/dist/src/pglite/drop.d.ts +0 -3
- package/dist/src/pglite/drop.d.ts.map +0 -1
- package/dist/src/pglite/drop.js +0 -19
- package/dist/src/pglite/drop.js.map +0 -1
- package/dist/src/pglite/hooks/index.d.ts +0 -2
- package/dist/src/pglite/hooks/index.d.ts.map +0 -1
- package/dist/src/pglite/hooks/index.js +0 -2
- package/dist/src/pglite/hooks/index.js.map +0 -1
- package/dist/src/pglite/hooks/usePGlite.d.ts +0 -11
- package/dist/src/pglite/hooks/usePGlite.d.ts.map +0 -1
- package/dist/src/pglite/hooks/usePGlite.js +0 -37
- package/dist/src/pglite/hooks/usePGlite.js.map +0 -1
- package/dist/src/pglite/index.d.ts +0 -3
- package/dist/src/pglite/index.d.ts.map +0 -1
- package/dist/src/pglite/index.js +0 -3
- package/dist/src/pglite/index.js.map +0 -1
- package/dist/src/reactor-client-document-cache.d.ts +0 -31
- package/dist/src/reactor-client-document-cache.d.ts.map +0 -1
- package/dist/src/reactor-client-document-cache.js +0 -142
- package/dist/src/reactor-client-document-cache.js.map +0 -1
- package/dist/src/reactor.d.ts +0 -18
- package/dist/src/reactor.d.ts.map +0 -1
- package/dist/src/reactor.js +0 -162
- package/dist/src/reactor.js.map +0 -1
- package/dist/src/relational/hooks/index.d.ts +0 -3
- package/dist/src/relational/hooks/index.d.ts.map +0 -1
- package/dist/src/relational/hooks/index.js +0 -3
- package/dist/src/relational/hooks/index.js.map +0 -1
- package/dist/src/relational/hooks/useRelationalDb.d.ts +0 -12
- package/dist/src/relational/hooks/useRelationalDb.d.ts.map +0 -1
- package/dist/src/relational/hooks/useRelationalDb.js +0 -36
- package/dist/src/relational/hooks/useRelationalDb.js.map +0 -1
- package/dist/src/relational/hooks/useRelationalQuery.d.ts +0 -15
- package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +0 -1
- package/dist/src/relational/hooks/useRelationalQuery.js +0 -76
- package/dist/src/relational/hooks/useRelationalQuery.js.map +0 -1
- package/dist/src/relational/index.d.ts.map +0 -1
- package/dist/src/relational/index.js.map +0 -1
- package/dist/src/relational/utils/createProcessorQuery.d.ts +0 -17
- package/dist/src/relational/utils/createProcessorQuery.d.ts.map +0 -1
- package/dist/src/relational/utils/createProcessorQuery.js +0 -24
- package/dist/src/relational/utils/createProcessorQuery.js.map +0 -1
- package/dist/src/relational/utils/index.d.ts +0 -2
- package/dist/src/relational/utils/index.d.ts.map +0 -1
- package/dist/src/relational/utils/index.js +0 -2
- package/dist/src/relational/utils/index.js.map +0 -1
- package/dist/src/renown/constants.d.ts +0 -130
- package/dist/src/renown/constants.d.ts.map +0 -1
- package/dist/src/renown/constants.js +0 -40
- package/dist/src/renown/constants.js.map +0 -1
- package/dist/src/renown/index.d.ts.map +0 -1
- package/dist/src/renown/index.js.map +0 -1
- package/dist/src/renown/utils.d.ts +0 -6
- package/dist/src/renown/utils.d.ts.map +0 -1
- package/dist/src/renown/utils.js +0 -56
- package/dist/src/renown/utils.js.map +0 -1
- package/dist/src/storage/index.d.ts +0 -2
- package/dist/src/storage/index.d.ts.map +0 -1
- package/dist/src/storage/index.js +0 -2
- package/dist/src/storage/index.js.map +0 -1
- package/dist/src/storage/types.d.ts +0 -6
- package/dist/src/storage/types.d.ts.map +0 -1
- package/dist/src/storage/types.js +0 -2
- package/dist/src/storage/types.js.map +0 -1
- package/dist/src/types/config.d.ts +0 -96
- package/dist/src/types/config.d.ts.map +0 -1
- package/dist/src/types/config.js +0 -2
- package/dist/src/types/config.js.map +0 -1
- package/dist/src/types/documents.d.ts +0 -26
- package/dist/src/types/documents.d.ts.map +0 -1
- package/dist/src/types/documents.js +0 -2
- package/dist/src/types/documents.js.map +0 -1
- package/dist/src/types/global.d.ts +0 -56
- package/dist/src/types/global.d.ts.map +0 -1
- package/dist/src/types/global.js +0 -2
- package/dist/src/types/global.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -10
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -2
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/modals.d.ts +0 -34
- package/dist/src/types/modals.d.ts.map +0 -1
- package/dist/src/types/modals.js +0 -2
- package/dist/src/types/modals.js.map +0 -1
- package/dist/src/types/reactor.d.ts +0 -2
- package/dist/src/types/reactor.d.ts.map +0 -1
- package/dist/src/types/reactor.js +0 -2
- package/dist/src/types/reactor.js.map +0 -1
- package/dist/src/types/timeline.d.ts +0 -24
- package/dist/src/types/timeline.d.ts.map +0 -1
- package/dist/src/types/timeline.js +0 -2
- package/dist/src/types/timeline.js.map +0 -1
- package/dist/src/types/toast.d.ts +0 -9
- package/dist/src/types/toast.d.ts.map +0 -1
- package/dist/src/types/toast.js +0 -2
- package/dist/src/types/toast.js.map +0 -1
- package/dist/src/types/upload.d.ts +0 -16
- package/dist/src/types/upload.d.ts.map +0 -1
- package/dist/src/types/upload.js +0 -2
- package/dist/src/types/upload.js.map +0 -1
- package/dist/src/types/vetra.d.ts +0 -60
- package/dist/src/types/vetra.d.ts.map +0 -1
- package/dist/src/types/vetra.js +0 -2
- package/dist/src/types/vetra.js.map +0 -1
- package/dist/src/utils/documents.d.ts +0 -2
- package/dist/src/utils/documents.d.ts.map +0 -1
- package/dist/src/utils/documents.js +0 -20
- package/dist/src/utils/documents.js.map +0 -1
- package/dist/src/utils/drive-url.d.ts +0 -2
- package/dist/src/utils/drive-url.d.ts.map +0 -1
- package/dist/src/utils/drive-url.js +0 -3
- package/dist/src/utils/drive-url.js.map +0 -1
- package/dist/src/utils/drives.d.ts +0 -36
- package/dist/src/utils/drives.d.ts.map +0 -1
- package/dist/src/utils/drives.js +0 -142
- package/dist/src/utils/drives.js.map +0 -1
- package/dist/src/utils/export-document.d.ts +0 -3
- package/dist/src/utils/export-document.d.ts.map +0 -1
- package/dist/src/utils/export-document.js +0 -18
- package/dist/src/utils/export-document.js.map +0 -1
- package/dist/src/utils/get-revision-from-date.d.ts +0 -3
- package/dist/src/utils/get-revision-from-date.d.ts.map +0 -1
- package/dist/src/utils/get-revision-from-date.js +0 -10
- package/dist/src/utils/get-revision-from-date.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -12
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -12
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/nodes.d.ts +0 -8
- package/dist/src/utils/nodes.d.ts.map +0 -1
- package/dist/src/utils/nodes.js +0 -17
- package/dist/src/utils/nodes.js.map +0 -1
- package/dist/src/utils/switchboard.d.ts +0 -7
- package/dist/src/utils/switchboard.d.ts.map +0 -1
- package/dist/src/utils/switchboard.js +0 -76
- package/dist/src/utils/switchboard.js.map +0 -1
- package/dist/src/utils/url.d.ts +0 -29
- package/dist/src/utils/url.d.ts.map +0 -1
- package/dist/src/utils/url.js +0 -77
- package/dist/src/utils/url.js.map +0 -1
- package/dist/src/utils/user.d.ts +0 -5
- package/dist/src/utils/user.d.ts.map +0 -1
- package/dist/src/utils/user.js +0 -15
- package/dist/src/utils/user.js.map +0 -1
- package/dist/src/utils/validate-document.d.ts +0 -3
- package/dist/src/utils/validate-document.d.ts.map +0 -1
- package/dist/src/utils/validate-document.js +0 -38
- package/dist/src/utils/validate-document.js.map +0 -1
- package/dist/src/utils/vetra.d.ts +0 -7
- package/dist/src/utils/vetra.d.ts.map +0 -1
- package/dist/src/utils/vetra.js +0 -86
- package/dist/src/utils/vetra.js.map +0 -1
- package/dist/test/analytics.test.d.ts +0 -2
- package/dist/test/analytics.test.d.ts.map +0 -1
- package/dist/test/analytics.test.js +0 -263
- package/dist/test/analytics.test.js.map +0 -1
- package/dist/test/document-cache.test.d.ts +0 -2
- package/dist/test/document-cache.test.d.ts.map +0 -1
- package/dist/test/document-cache.test.js +0 -457
- package/dist/test/document-cache.test.js.map +0 -1
- package/dist/test/drop.test.d.ts +0 -2
- package/dist/test/drop.test.d.ts.map +0 -1
- package/dist/test/drop.test.js +0 -86
- package/dist/test/drop.test.js.map +0 -1
- package/dist/test/getSwitchboardUrl.test.d.ts +0 -2
- package/dist/test/getSwitchboardUrl.test.d.ts.map +0 -1
- package/dist/test/getSwitchboardUrl.test.js +0 -107
- package/dist/test/getSwitchboardUrl.test.js.map +0 -1
- package/dist/test/hooks/document-cache.test.d.ts +0 -2
- package/dist/test/hooks/document-cache.test.d.ts.map +0 -1
- package/dist/test/hooks/document-cache.test.js +0 -642
- package/dist/test/hooks/document-cache.test.js.map +0 -1
- package/dist/test/reactor.test.d.ts +0 -2
- package/dist/test/reactor.test.d.ts.map +0 -1
- package/dist/test/reactor.test.js +0 -26
- package/dist/test/reactor.test.js.map +0 -1
- package/dist/test/switchboard.test.d.ts +0 -2
- package/dist/test/switchboard.test.d.ts.map +0 -1
- package/dist/test/switchboard.test.js +0 -27
- package/dist/test/switchboard.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -24
- package/dist/vitest.config.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useSyncExternalStore } from "react";
|
|
2
|
+
import { capitalCase } from "change-case";
|
|
3
|
+
//#region src/hooks/make-ph-event-functions.ts
|
|
4
|
+
const isServer = typeof window === "undefined";
|
|
5
|
+
function makePHEventFunctions(key) {
|
|
6
|
+
const setEventName = `ph:set${capitalCase(key)}`;
|
|
7
|
+
const updateEventName = `ph:${key}Updated`;
|
|
8
|
+
function setValue(value) {
|
|
9
|
+
if (isServer) return;
|
|
10
|
+
const event = new CustomEvent(setEventName, { detail: { [key]: value } });
|
|
11
|
+
window.dispatchEvent(event);
|
|
12
|
+
}
|
|
13
|
+
function dispatchUpdatedEvent() {
|
|
14
|
+
if (isServer) return;
|
|
15
|
+
const event = new CustomEvent(updateEventName);
|
|
16
|
+
window.dispatchEvent(event);
|
|
17
|
+
}
|
|
18
|
+
function handleSetValueEvent(event) {
|
|
19
|
+
if (isServer) return;
|
|
20
|
+
const value = event.detail[key];
|
|
21
|
+
if (!window.ph) window.ph = {};
|
|
22
|
+
window.ph[key] = value;
|
|
23
|
+
dispatchUpdatedEvent();
|
|
24
|
+
}
|
|
25
|
+
function addEventHandler() {
|
|
26
|
+
if (isServer) return;
|
|
27
|
+
window.addEventListener(setEventName, handleSetValueEvent);
|
|
28
|
+
}
|
|
29
|
+
function subscribeToValue(onStoreChange) {
|
|
30
|
+
if (isServer) return () => {};
|
|
31
|
+
window.addEventListener(updateEventName, onStoreChange);
|
|
32
|
+
return () => {
|
|
33
|
+
window.removeEventListener(updateEventName, onStoreChange);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function getSnapshot() {
|
|
37
|
+
if (isServer) return;
|
|
38
|
+
if (!window.ph) {
|
|
39
|
+
console.warn(`ph global store is not initialized. Did you call set${capitalCase(key)}?`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return window.ph[key];
|
|
43
|
+
}
|
|
44
|
+
function getServerSnapshot() {}
|
|
45
|
+
function useValue() {
|
|
46
|
+
return useSyncExternalStore(subscribeToValue, getSnapshot, getServerSnapshot);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
useValue,
|
|
50
|
+
setValue,
|
|
51
|
+
addEventHandler
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { makePHEventFunctions as t };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=make-ph-event-functions-Cr4GqOTT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-ph-event-functions-Cr4GqOTT.js","names":[],"sources":["../src/hooks/make-ph-event-functions.ts"],"sourcesContent":["import type {\n PHGlobal,\n PHGlobalKey,\n SetEvent,\n} from \"@powerhousedao/reactor-browser\";\nimport { capitalCase } from \"change-case\";\nimport { useSyncExternalStore } from \"react\";\n\n// guard condition for server side rendering\nconst isServer = typeof window === \"undefined\";\n\nexport function makePHEventFunctions<TKey extends PHGlobalKey>(key: TKey) {\n const setEventName = `ph:set${capitalCase(key)}` as const;\n const updateEventName = `ph:${key}Updated` as const;\n\n function setValue(value: PHGlobal[TKey] | undefined) {\n if (isServer) {\n return;\n }\n const event = new CustomEvent(setEventName, {\n detail: { [key]: value },\n });\n window.dispatchEvent(event);\n }\n\n function dispatchUpdatedEvent() {\n if (isServer) {\n return;\n }\n const event = new CustomEvent(updateEventName);\n window.dispatchEvent(event);\n }\n\n function handleSetValueEvent(event: SetEvent<TKey>) {\n if (isServer) {\n return;\n }\n const value = event.detail[key];\n if (!window.ph) {\n window.ph = {};\n }\n window.ph[key] = value;\n dispatchUpdatedEvent();\n }\n\n function addEventHandler() {\n if (isServer) {\n return;\n }\n window.addEventListener(setEventName, handleSetValueEvent as EventListener);\n }\n\n function subscribeToValue(onStoreChange: () => void) {\n if (isServer) return () => {};\n window.addEventListener(updateEventName, onStoreChange);\n return () => {\n window.removeEventListener(updateEventName, onStoreChange);\n };\n }\n\n function getSnapshot() {\n if (isServer) {\n return undefined;\n }\n if (!window.ph) {\n console.warn(\n `ph global store is not initialized. Did you call set${capitalCase(key)}?`,\n );\n return undefined;\n }\n return window.ph[key];\n }\n\n function getServerSnapshot() {\n return undefined;\n }\n\n function useValue() {\n return useSyncExternalStore(\n subscribeToValue,\n getSnapshot,\n getServerSnapshot,\n );\n }\n\n return {\n useValue,\n setValue,\n addEventHandler,\n };\n}\n"],"mappings":";;;AASA,MAAM,WAAW,OAAO,WAAW;AAEnC,SAAgB,qBAA+C,KAAW;CACxE,MAAM,eAAe,SAAS,YAAY,IAAI;CAC9C,MAAM,kBAAkB,MAAM,IAAI;CAElC,SAAS,SAAS,OAAmC;AACnD,MAAI,SACF;EAEF,MAAM,QAAQ,IAAI,YAAY,cAAc,EAC1C,QAAQ,GAAG,MAAM,OAAO,EACzB,CAAC;AACF,SAAO,cAAc,MAAM;;CAG7B,SAAS,uBAAuB;AAC9B,MAAI,SACF;EAEF,MAAM,QAAQ,IAAI,YAAY,gBAAgB;AAC9C,SAAO,cAAc,MAAM;;CAG7B,SAAS,oBAAoB,OAAuB;AAClD,MAAI,SACF;EAEF,MAAM,QAAQ,MAAM,OAAO;AAC3B,MAAI,CAAC,OAAO,GACV,QAAO,KAAK,EAAE;AAEhB,SAAO,GAAG,OAAO;AACjB,wBAAsB;;CAGxB,SAAS,kBAAkB;AACzB,MAAI,SACF;AAEF,SAAO,iBAAiB,cAAc,oBAAqC;;CAG7E,SAAS,iBAAiB,eAA2B;AACnD,MAAI,SAAU,cAAa;AAC3B,SAAO,iBAAiB,iBAAiB,cAAc;AACvD,eAAa;AACX,UAAO,oBAAoB,iBAAiB,cAAc;;;CAI9D,SAAS,cAAc;AACrB,MAAI,SACF;AAEF,MAAI,CAAC,OAAO,IAAI;AACd,WAAQ,KACN,uDAAuD,YAAY,IAAI,CAAC,GACzE;AACD;;AAEF,SAAO,OAAO,GAAG;;CAGnB,SAAS,oBAAoB;CAI7B,SAAS,WAAW;AAClB,SAAO,qBACL,kBACA,aACA,kBACD;;AAGH,QAAO;EACL;EACA;EACA;EACD"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { createRelationalDb } from "@powerhousedao/reactor";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { Kysely } from "kysely";
|
|
4
|
+
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
5
|
+
import deepEqual from "lodash.isequal";
|
|
6
|
+
//#region src/pglite/usePGlite.ts
|
|
7
|
+
const PGLITE_UPDATE_EVENT = "ph:pglite-update";
|
|
8
|
+
const defaultPGliteState = {
|
|
9
|
+
db: null,
|
|
10
|
+
isLoading: true,
|
|
11
|
+
error: null
|
|
12
|
+
};
|
|
13
|
+
const usePGliteDB = () => {
|
|
14
|
+
const [state, setState] = useState(() => window.powerhouse?.pglite ?? defaultPGliteState);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const handlePgliteUpdate = () => setState(window.powerhouse?.pglite ?? defaultPGliteState);
|
|
17
|
+
window.addEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);
|
|
18
|
+
return () => window.removeEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);
|
|
19
|
+
}, []);
|
|
20
|
+
return state;
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/relational/hooks/useRelationalDb.ts
|
|
24
|
+
function createRelationalDbWithLive(pgliteInstance) {
|
|
25
|
+
const relationalDBWithLive = createRelationalDb(new Kysely({ dialect: new PGliteDialect(pgliteInstance) }));
|
|
26
|
+
relationalDBWithLive.live = pgliteInstance.live;
|
|
27
|
+
return relationalDBWithLive;
|
|
28
|
+
}
|
|
29
|
+
const useRelationalDb = () => {
|
|
30
|
+
const pglite = usePGliteDB();
|
|
31
|
+
return useMemo(() => {
|
|
32
|
+
if (!pglite.db || pglite.isLoading || pglite.error) return {
|
|
33
|
+
db: null,
|
|
34
|
+
isLoading: pglite.isLoading,
|
|
35
|
+
error: pglite.error
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
db: createRelationalDbWithLive(pglite.db),
|
|
39
|
+
isLoading: false,
|
|
40
|
+
error: null
|
|
41
|
+
};
|
|
42
|
+
}, [pglite]);
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/relational/hooks/useRelationalQuery.ts
|
|
46
|
+
const MAX_RETRIES = 5;
|
|
47
|
+
const RETRY_DELAY = 200;
|
|
48
|
+
const isRelationNotExistError = (error) => {
|
|
49
|
+
const errorMessage = error instanceof Error ? error.message : typeof error === "string" ? error : String(error);
|
|
50
|
+
return errorMessage.toLowerCase().includes("relation") && errorMessage.toLowerCase().includes("does not exist");
|
|
51
|
+
};
|
|
52
|
+
function useRelationalQuery(ProcessorClass, driveId, queryCallback, parameters, options) {
|
|
53
|
+
const [result, setResult] = useState(null);
|
|
54
|
+
const [queryLoading, setQueryLoading] = useState(true);
|
|
55
|
+
const [error, setError] = useState(void 0);
|
|
56
|
+
const retryCount = useRef(0);
|
|
57
|
+
const retryTimeoutRef = useRef(null);
|
|
58
|
+
const relationalDb = useRelationalDb();
|
|
59
|
+
const executeLiveQuery = async (sql, queryParameters, retryAttempt = 0) => {
|
|
60
|
+
if (!relationalDb.db) return null;
|
|
61
|
+
try {
|
|
62
|
+
return await relationalDb.db.live.query(sql, queryParameters ? [...queryParameters] : [], (result) => {
|
|
63
|
+
setResult(result);
|
|
64
|
+
setQueryLoading(false);
|
|
65
|
+
retryCount.current = 0;
|
|
66
|
+
});
|
|
67
|
+
} catch (err) {
|
|
68
|
+
if (isRelationNotExistError(err) && retryAttempt < MAX_RETRIES) return new Promise((resolve) => {
|
|
69
|
+
retryTimeoutRef.current = setTimeout(() => {
|
|
70
|
+
resolve(executeLiveQuery(sql, queryParameters, retryAttempt + 1));
|
|
71
|
+
}, RETRY_DELAY);
|
|
72
|
+
});
|
|
73
|
+
setQueryLoading(false);
|
|
74
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
setError(void 0);
|
|
80
|
+
setQueryLoading(true);
|
|
81
|
+
retryCount.current = 0;
|
|
82
|
+
if (!relationalDb.db) return;
|
|
83
|
+
const { sql, parameters: queryParameters } = queryCallback(ProcessorClass.query(driveId, relationalDb.db), parameters);
|
|
84
|
+
const liveQueryPromise = executeLiveQuery(sql, queryParameters);
|
|
85
|
+
return () => {
|
|
86
|
+
if (retryTimeoutRef.current) clearTimeout(retryTimeoutRef.current);
|
|
87
|
+
liveQueryPromise.then((live) => {
|
|
88
|
+
if (live?.unsubscribe) live.unsubscribe();
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
}, [
|
|
92
|
+
relationalDb.db,
|
|
93
|
+
ProcessorClass,
|
|
94
|
+
driveId,
|
|
95
|
+
queryCallback,
|
|
96
|
+
parameters
|
|
97
|
+
]);
|
|
98
|
+
return {
|
|
99
|
+
isLoading: relationalDb.isLoading || queryLoading,
|
|
100
|
+
error: error || relationalDb.error,
|
|
101
|
+
result
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/relational/utils/createProcessorQuery.ts
|
|
106
|
+
function useStableParams(params) {
|
|
107
|
+
const prevParamsRef = useRef(null);
|
|
108
|
+
return useMemo(() => {
|
|
109
|
+
if (!deepEqual(prevParamsRef.current, params)) prevParamsRef.current = params;
|
|
110
|
+
return prevParamsRef.current;
|
|
111
|
+
}, [params]);
|
|
112
|
+
}
|
|
113
|
+
function createProcessorQuery(ProcessorClass) {
|
|
114
|
+
function useQuery(driveId, queryCallback, parameters, options) {
|
|
115
|
+
const stableParams = useStableParams(parameters);
|
|
116
|
+
return useRelationalQuery(ProcessorClass, driveId, useCallback(queryCallback, [stableParams]), stableParams, options);
|
|
117
|
+
}
|
|
118
|
+
return useQuery;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { useRelationalQuery as n, useRelationalDb as r, createProcessorQuery as t };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=relational-jwreqDwz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relational-jwreqDwz.js","names":[],"sources":["../src/pglite/usePGlite.ts","../src/relational/hooks/useRelationalDb.ts","../src/relational/hooks/useRelationalQuery.ts","../src/relational/utils/createProcessorQuery.ts"],"sourcesContent":["import type { PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { useEffect, useState } from \"react\";\n\nexport const PGLITE_UPDATE_EVENT = \"ph:pglite-update\";\n\nexport interface PGliteState {\n db: PGliteWithLive | null;\n isLoading: boolean;\n error: Error | null;\n}\n\nconst defaultPGliteState: PGliteState = {\n db: null,\n isLoading: true,\n error: null,\n};\n\nexport const usePGliteDB = () => {\n const [state, setState] = useState<PGliteState>(\n () => window.powerhouse?.pglite ?? defaultPGliteState,\n );\n\n useEffect(() => {\n const handlePgliteUpdate = () =>\n setState(window.powerhouse?.pglite ?? defaultPGliteState);\n\n window.addEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);\n\n return () =>\n window.removeEventListener(PGLITE_UPDATE_EVENT, handlePgliteUpdate);\n }, []);\n\n return state;\n};\n\nexport const useSetPGliteDB = () => {\n const setPGliteState = (pglite: Partial<PGliteState>) => {\n const currentPowerhouse = window.powerhouse ?? {};\n const currentPGliteState = window.powerhouse?.pglite ?? defaultPGliteState;\n\n window.powerhouse = {\n ...currentPowerhouse,\n pglite: {\n ...currentPGliteState,\n ...pglite,\n },\n };\n window.dispatchEvent(new CustomEvent(PGLITE_UPDATE_EVENT));\n };\n\n return setPGliteState;\n};\n\nexport const usePGlite = () => {\n const pglite = usePGliteDB();\n const setPGlite = useSetPGliteDB();\n\n return [pglite, setPGlite];\n};\n","import type { PGlite } from \"@electric-sql/pglite\";\nimport type { LiveNamespace, PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { createRelationalDb } from \"@powerhousedao/reactor\";\nimport type { IRelationalDb as IRelationalDbCore } from \"@powerhousedao/shared/processors\";\nimport { Kysely } from \"kysely\";\nimport { PGliteDialect } from \"kysely-pglite-dialect\";\nimport { useMemo } from \"react\";\nimport { usePGliteDB } from \"../../pglite/usePGlite.js\";\n\n// Type for Relational DB instance enhanced with live capabilities\nexport type RelationalDbWithLive<Schema> = IRelationalDbCore<Schema> & {\n live: LiveNamespace;\n};\n\ninterface IRelationalDbState<Schema> {\n db: RelationalDbWithLive<Schema> | null;\n isLoading: boolean;\n error: Error | null;\n}\n\n// Custom initializer that creates enhanced Kysely instance with live capabilities\nfunction createRelationalDbWithLive<Schema>(\n pgliteInstance: PGliteWithLive,\n): RelationalDbWithLive<Schema> {\n const baseDb = new Kysely<Schema>({\n dialect: new PGliteDialect(pgliteInstance as unknown as PGlite),\n });\n const relationalDb = createRelationalDb(baseDb);\n\n // Inject the live namespace with proper typing\n const relationalDBWithLive =\n relationalDb as unknown as RelationalDbWithLive<Schema>;\n relationalDBWithLive.live = pgliteInstance.live;\n\n return relationalDBWithLive;\n}\n\nexport const useRelationalDb = <Schema>(): IRelationalDbState<Schema> => {\n const pglite = usePGliteDB();\n\n const relationalDb = useMemo<IRelationalDbState<Schema>>(() => {\n if (!pglite.db || pglite.isLoading || pglite.error) {\n return {\n db: null,\n isLoading: pglite.isLoading,\n error: pglite.error,\n };\n }\n\n const db = createRelationalDbWithLive<Schema>(pglite.db);\n\n return {\n db,\n isLoading: false,\n error: null,\n };\n }, [pglite]);\n\n return relationalDb;\n};\n","import type { LiveQueryResults } from \"@electric-sql/pglite/live\";\nimport type {\n IRelationalQueryBuilder,\n RelationalDbProcessorClass,\n} from \"@powerhousedao/shared/processors\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useRelationalDb } from \"./useRelationalDb.js\";\n\nexport type QueryCallbackReturnType = {\n sql: string;\n parameters?: readonly unknown[];\n};\n\nexport type useRelationalQueryOptions = {\n // Whether to hash the namespace to avoid namespace size limit. True by default\n hashNamespace?: boolean;\n};\n\nconst MAX_RETRIES = 5;\nconst RETRY_DELAY = 200;\n\nconst isRelationNotExistError = (error: unknown): boolean => {\n const errorMessage =\n error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : String(error);\n\n return (\n errorMessage.toLowerCase().includes(\"relation\") &&\n errorMessage.toLowerCase().includes(\"does not exist\")\n );\n};\n\ntype LiveQueryType = {\n unsubscribe: () => void;\n};\n\nexport function useRelationalQuery<Schema, T = unknown, TParams = undefined>(\n ProcessorClass: RelationalDbProcessorClass<Schema>,\n driveId: string,\n queryCallback: (\n db: IRelationalQueryBuilder<Schema>,\n parameters?: TParams,\n ) => QueryCallbackReturnType,\n parameters?: TParams,\n options?: useRelationalQueryOptions,\n) {\n const [result, setResult] = useState<LiveQueryResults<T> | null>(null);\n const [queryLoading, setQueryLoading] = useState(true);\n const [error, setError] = useState<Error | undefined>(undefined);\n const retryCount = useRef(0);\n const retryTimeoutRef = useRef<NodeJS.Timeout>(null);\n\n const relationalDb = useRelationalDb<Schema>();\n\n const executeLiveQuery = async (\n sql: string,\n queryParameters: readonly unknown[] | undefined,\n retryAttempt = 0,\n ): Promise<LiveQueryType | null> => {\n if (!relationalDb.db) {\n return null;\n }\n\n try {\n const live = await relationalDb.db.live.query<T>(\n sql,\n queryParameters ? [...queryParameters] : [],\n (result) => {\n setResult(result);\n setQueryLoading(false);\n retryCount.current = 0; // Reset retry count on success\n },\n );\n\n return live as LiveQueryType;\n } catch (err: unknown) {\n if (isRelationNotExistError(err) && retryAttempt < MAX_RETRIES) {\n return new Promise((resolve) => {\n retryTimeoutRef.current = setTimeout(() => {\n resolve(executeLiveQuery(sql, queryParameters, retryAttempt + 1));\n }, RETRY_DELAY);\n });\n }\n\n setQueryLoading(false);\n setError(err instanceof Error ? err : new Error(String(err)));\n return null;\n }\n };\n\n useEffect(() => {\n setError(undefined);\n setQueryLoading(true);\n retryCount.current = 0;\n\n if (!relationalDb.db) {\n return;\n }\n\n // Use the processor helper to obtain a typed namespaced query builder\n const db = ProcessorClass.query(driveId, relationalDb.db);\n\n const compiledQuery = queryCallback(db, parameters);\n const { sql, parameters: queryParameters } = compiledQuery;\n\n const liveQueryPromise = executeLiveQuery(sql, queryParameters);\n\n return () => {\n if (retryTimeoutRef.current) {\n clearTimeout(retryTimeoutRef.current);\n }\n void liveQueryPromise.then((live) => {\n if (live?.unsubscribe) {\n live.unsubscribe();\n }\n });\n };\n }, [relationalDb.db, ProcessorClass, driveId, queryCallback, parameters]);\n\n return {\n isLoading: relationalDb.isLoading || queryLoading,\n error: error || relationalDb.error,\n result,\n } as const;\n}\n","import type { LiveQueryResults } from \"@electric-sql/pglite/live\";\nimport type {\n QueryCallbackReturnType,\n useRelationalQueryOptions,\n} from \"@powerhousedao/reactor-browser\";\nimport type {\n IRelationalQueryBuilder,\n RelationalDbProcessorClass,\n} from \"@powerhousedao/shared/processors\";\nimport type { CompiledQuery } from \"kysely\";\nimport deepEqual from \"lodash.isequal\";\nimport { useCallback, useMemo, useRef } from \"react\";\nimport { useRelationalQuery } from \"../hooks/useRelationalQuery.js\";\n\n// Custom hook for parameter memoization\nfunction useStableParams<T>(params: T): T {\n const prevParamsRef = useRef<T>(null);\n\n return useMemo(() => {\n if (!deepEqual(prevParamsRef.current, params)) {\n prevParamsRef.current = params;\n }\n return prevParamsRef.current as T;\n }, [params]);\n}\n\nexport function createProcessorQuery<TSchema>(\n ProcessorClass: RelationalDbProcessorClass<TSchema>,\n) {\n // Overload for queries without parameters\n function useQuery<\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n };\n\n // Overload for queries with parameters\n function useQuery<\n TParams,\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n parameters: TParams,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n parameters: TParams,\n options?: useRelationalQueryOptions,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n };\n\n function useQuery<\n TParams,\n TQueryBuilder extends (\n db: IRelationalQueryBuilder<TSchema>,\n parameters?: TParams,\n ) => QueryCallbackReturnType,\n >(\n driveId: string,\n queryCallback: TQueryBuilder,\n parameters?: TParams,\n options?: useRelationalQueryOptions,\n ): {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any\n > | null;\n } {\n type InferredResult =\n ReturnType<TQueryBuilder> extends CompiledQuery<infer R> ? R : any;\n\n // Automatically memoize parameters using deep comparison\n const stableParams = useStableParams(parameters);\n\n // Memoize the callback to prevent infinite loops, updating when parameters change\n const memoizedCallback = useCallback(queryCallback, [stableParams]);\n\n return useRelationalQuery<TSchema, InferredResult, TParams>(\n ProcessorClass,\n driveId,\n memoizedCallback,\n stableParams,\n options,\n ) as {\n isLoading: boolean;\n error: Error | null;\n result: LiveQueryResults<InferredResult> | null;\n };\n }\n\n return useQuery;\n}\n"],"mappings":"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"}
|