@powerhousedao/reactor-browser 5.2.0-staging.8 → 5.3.0-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +17 -3
  2. package/dist/src/actions/dispatch.d.ts +2 -2
  3. package/dist/src/actions/dispatch.d.ts.map +1 -1
  4. package/dist/src/actions/dispatch.js +4 -1
  5. package/dist/src/actions/dispatch.js.map +1 -1
  6. package/dist/src/actions/document.d.ts.map +1 -1
  7. package/dist/src/actions/document.js +23 -26
  8. package/dist/src/actions/document.js.map +1 -1
  9. package/dist/src/document-cache.d.ts +17 -0
  10. package/dist/src/document-cache.d.ts.map +1 -0
  11. package/dist/src/document-cache.js +143 -0
  12. package/dist/src/document-cache.js.map +1 -0
  13. package/dist/src/errors.js +1 -1
  14. package/dist/src/errors.js.map +1 -1
  15. package/dist/src/hooks/add-ph-event-handlers.d.ts.map +1 -1
  16. package/dist/src/hooks/add-ph-event-handlers.js +2 -0
  17. package/dist/src/hooks/add-ph-event-handlers.js.map +1 -1
  18. package/dist/src/hooks/dispatch.d.ts +1 -1
  19. package/dist/src/hooks/dispatch.d.ts.map +1 -1
  20. package/dist/src/hooks/dispatch.js +2 -2
  21. package/dist/src/hooks/dispatch.js.map +1 -1
  22. package/dist/src/hooks/document-by-id.d.ts +1 -1
  23. package/dist/src/hooks/document-by-id.d.ts.map +1 -1
  24. package/dist/src/hooks/document-by-id.js +3 -3
  25. package/dist/src/hooks/document-by-id.js.map +1 -1
  26. package/dist/src/hooks/document-cache.d.ts +19 -3
  27. package/dist/src/hooks/document-cache.d.ts.map +1 -1
  28. package/dist/src/hooks/document-cache.js +41 -14
  29. package/dist/src/hooks/document-cache.js.map +1 -1
  30. package/dist/src/hooks/index.d.ts +5 -4
  31. package/dist/src/hooks/index.d.ts.map +1 -1
  32. package/dist/src/hooks/index.js +5 -4
  33. package/dist/src/hooks/index.js.map +1 -1
  34. package/dist/src/hooks/selected-document.d.ts +3 -1
  35. package/dist/src/hooks/selected-document.d.ts.map +1 -1
  36. package/dist/src/hooks/selected-document.js +9 -0
  37. package/dist/src/hooks/selected-document.js.map +1 -1
  38. package/dist/src/hooks/toast.d.ts +7 -0
  39. package/dist/src/hooks/toast.d.ts.map +1 -0
  40. package/dist/src/hooks/toast.js +9 -0
  41. package/dist/src/hooks/toast.js.map +1 -0
  42. package/dist/src/hooks/vetra-packages.d.ts.map +1 -1
  43. package/dist/src/hooks/vetra-packages.js +3 -1
  44. package/dist/src/hooks/vetra-packages.js.map +1 -1
  45. package/dist/src/index.d.ts +2 -0
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +2 -0
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/pglite/drop.d.ts +1 -1
  50. package/dist/src/pglite/drop.d.ts.map +1 -1
  51. package/dist/src/pglite/drop.js +3 -2
  52. package/dist/src/pglite/drop.js.map +1 -1
  53. package/dist/src/reactor-client-document-cache.d.ts +31 -0
  54. package/dist/src/reactor-client-document-cache.d.ts.map +1 -0
  55. package/dist/src/reactor-client-document-cache.js +142 -0
  56. package/dist/src/reactor-client-document-cache.js.map +1 -0
  57. package/dist/src/reactor.d.ts +0 -3
  58. package/dist/src/reactor.d.ts.map +1 -1
  59. package/dist/src/reactor.js +0 -56
  60. package/dist/src/reactor.js.map +1 -1
  61. package/dist/src/renown/utils.d.ts.map +1 -1
  62. package/dist/src/renown/utils.js +1 -1
  63. package/dist/src/renown/utils.js.map +1 -1
  64. package/dist/src/types/documents.d.ts +10 -5
  65. package/dist/src/types/documents.d.ts.map +1 -1
  66. package/dist/src/types/global.d.ts +2 -0
  67. package/dist/src/types/global.d.ts.map +1 -1
  68. package/dist/src/types/index.d.ts +1 -0
  69. package/dist/src/types/index.d.ts.map +1 -1
  70. package/dist/src/types/toast.d.ts +9 -0
  71. package/dist/src/types/toast.d.ts.map +1 -0
  72. package/dist/src/types/toast.js +2 -0
  73. package/dist/src/types/toast.js.map +1 -0
  74. package/dist/test/document-cache.test.d.ts +2 -0
  75. package/dist/test/document-cache.test.d.ts.map +1 -0
  76. package/dist/test/document-cache.test.js +457 -0
  77. package/dist/test/document-cache.test.js.map +1 -0
  78. package/dist/test/drop.test.js +7 -9
  79. package/dist/test/drop.test.js.map +1 -1
  80. package/dist/test/getSwitchboardUrl.test.js +3 -1
  81. package/dist/test/getSwitchboardUrl.test.js.map +1 -1
  82. package/dist/test/hooks/document-cache.test.d.ts +2 -0
  83. package/dist/test/hooks/document-cache.test.d.ts.map +1 -0
  84. package/dist/test/hooks/document-cache.test.js +642 -0
  85. package/dist/test/hooks/document-cache.test.js.map +1 -0
  86. package/dist/test/switchboard.test.js +4 -2
  87. package/dist/test/switchboard.test.js.map +1 -1
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +8 -8
@@ -1,13 +1,13 @@
1
1
  import { useDispatch } from "./dispatch.js";
2
- import { useGetDocument, useGetDocuments } from "./document-cache.js";
2
+ import { useDocument, useDocuments } from "./document-cache.js";
3
3
  /** Returns a document by id. */
4
4
  export function useDocumentById(id) {
5
- const document = useGetDocument(id);
5
+ const document = useDocument(id);
6
6
  const [, dispatch] = useDispatch(document);
7
7
  return [document, dispatch];
8
8
  }
9
9
  /** Returns documents by ids. */
10
10
  export function useDocumentsByIds(ids) {
11
- return useGetDocuments(ids);
11
+ return useDocuments(ids);
12
12
  }
13
13
  //# sourceMappingURL=document-by-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-by-id.js","sourceRoot":"","sources":["../../../src/hooks/document-by-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,UAAU,eAAe,CAAC,EAA6B;IAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAqB,QAAQ,CAAC,CAAC;IAC/D,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvC,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAAC,GAAgC;IAChE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"document-by-id.js","sourceRoot":"","sources":["../../../src/hooks/document-by-id.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhE,gCAAgC;AAChC,MAAM,UAAU,eAAe,CAAC,EAA6B;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAqB,QAAQ,CAAC,CAAC;IAC/D,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvC,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAAC,GAAgC;IAChE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
@@ -13,14 +13,30 @@ export declare const addDocumentCacheEventHandler: () => void;
13
13
  * @param id - The document ID to retrieve, or null/undefined to skip retrieval
14
14
  * @returns The document if found, or undefined if id is null/undefined
15
15
  */
16
- export declare function useGetDocument(id: string | null | undefined): PHDocument | undefined;
16
+ export declare function useDocument(id: string | null | undefined): PHDocument | undefined;
17
17
  /**
18
18
  * Retrieves multiple documents from the reactor using React Suspense.
19
19
  * This hook will suspend rendering while any of the documents are loading.
20
+ *
21
+ * Uses getBatch from the document cache which handles promise caching internally,
22
+ * ensuring stable references for useSyncExternalStore.
23
+ *
20
24
  * @param ids - Array of document IDs to retrieve, or null/undefined to skip retrieval
21
- * @returns An array of documents if found, or undefined if ids is null/undefined
25
+ * @returns An array of documents if found, or empty array if ids is null/undefined
22
26
  */
23
- export declare function useGetDocuments(ids: string[] | null | undefined): PHDocument[];
27
+ export declare function useDocuments(ids: string[] | null | undefined): PHDocument[];
28
+ /**
29
+ * Returns a function to retrieve a document from the cache.
30
+ * The returned function fetches and returns a document by ID.
31
+ * @returns A function that takes a document ID and returns a Promise of the document
32
+ */
33
+ export declare function useGetDocument(): (id: string) => Promise<PHDocument>;
34
+ /**
35
+ * Returns a function to retrieve multiple documents from the cache.
36
+ * The returned function fetches and returns documents by their IDs.
37
+ * @returns A function that takes an array of document IDs and returns a Promise of the documents
38
+ */
39
+ export declare function useGetDocuments(): (ids: string[]) => Promise<PHDocument[]>;
24
40
  /**
25
41
  * Retrieves a document from the reactor without suspending rendering.
26
42
  * Returns the current state of the document loading operation.
@@ -1 +1 @@
1
- {"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../../src/hooks/document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK7E,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAC7B,CAAC;AAElC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAC7B,CAAC;AAElC,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,YACD,CAAC;AAkCzC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,0BAO3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,gBAW/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;EAgBhE"}
1
+ {"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../../src/hooks/document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK7E,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAC7B,CAAC;AAElC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAC7B,CAAC;AAElC,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,YACD,CAAC;AAkCzC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,0BAOxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,gBAa5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,SAIrB,MAAM,yBAQd;AAED;;;;GAIG;AACH,wBAAgB,eAAe,UAIrB,MAAM,EAAE,2BAQjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;EAgBhE"}
@@ -1,5 +1,5 @@
1
- import { use, useSyncExternalStore } from "react";
2
- import { readPromiseState } from "../reactor.js";
1
+ import { use, useCallback, useSyncExternalStore } from "react";
2
+ import { readPromiseState } from "../document-cache.js";
3
3
  import { makePHEventFunctions } from "./make-ph-event-functions.js";
4
4
  const documentEventFunctions = makePHEventFunctions("documentCache");
5
5
  /** Returns all documents in the reactor. */
@@ -45,7 +45,7 @@ function getDocumentQueryState(promise) {
45
45
  * @param id - The document ID to retrieve, or null/undefined to skip retrieval
46
46
  * @returns The document if found, or undefined if id is null/undefined
47
47
  */
48
- export function useGetDocument(id) {
48
+ export function useDocument(id) {
49
49
  const documentCache = useDocumentCache();
50
50
  const document = useSyncExternalStore((cb) => (id && documentCache ? documentCache.subscribe(id, cb) : () => { }), () => (id ? documentCache?.get(id) : undefined));
51
51
  return document ? use(document) : undefined;
@@ -53,20 +53,47 @@ export function useGetDocument(id) {
53
53
  /**
54
54
  * Retrieves multiple documents from the reactor using React Suspense.
55
55
  * This hook will suspend rendering while any of the documents are loading.
56
+ *
57
+ * Uses getBatch from the document cache which handles promise caching internally,
58
+ * ensuring stable references for useSyncExternalStore.
59
+ *
56
60
  * @param ids - Array of document IDs to retrieve, or null/undefined to skip retrieval
57
- * @returns An array of documents if found, or undefined if ids is null/undefined
61
+ * @returns An array of documents if found, or empty array if ids is null/undefined
58
62
  */
59
- export function useGetDocuments(ids) {
63
+ export function useDocuments(ids) {
60
64
  const documentCache = useDocumentCache();
61
- if (!ids || !documentCache) {
62
- return [];
63
- }
64
- const documents = [];
65
- for (const id of ids) {
66
- const doc = use(documentCache.get(id));
67
- documents.push(doc);
68
- }
69
- return documents;
65
+ const documents = useSyncExternalStore((cb) => ids?.length && documentCache
66
+ ? documentCache.subscribe(ids, cb)
67
+ : () => { }, () => ids?.length && documentCache ? documentCache.getBatch(ids) : undefined);
68
+ return documents ? use(documents) : [];
69
+ }
70
+ /**
71
+ * Returns a function to retrieve a document from the cache.
72
+ * The returned function fetches and returns a document by ID.
73
+ * @returns A function that takes a document ID and returns a Promise of the document
74
+ */
75
+ export function useGetDocument() {
76
+ const documentCache = useDocumentCache();
77
+ return useCallback((id) => {
78
+ if (!documentCache) {
79
+ return Promise.reject(new Error("Document cache not initialized"));
80
+ }
81
+ return documentCache.get(id);
82
+ }, [documentCache]);
83
+ }
84
+ /**
85
+ * Returns a function to retrieve multiple documents from the cache.
86
+ * The returned function fetches and returns documents by their IDs.
87
+ * @returns A function that takes an array of document IDs and returns a Promise of the documents
88
+ */
89
+ export function useGetDocuments() {
90
+ const documentCache = useDocumentCache();
91
+ return useCallback((ids) => {
92
+ if (!documentCache) {
93
+ return Promise.reject(new Error("Document cache not initialized"));
94
+ }
95
+ return documentCache.getBatch(ids);
96
+ }, [documentCache]);
70
97
  }
71
98
  /**
72
99
  * Retrieves a document from the reactor without suspending rendering.
@@ -1 +1 @@
1
- {"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../../src/hooks/document-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../../src/hooks/document-cache.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export { useAllowedDocumentTypes, useIsDragAndDropEnabled, useIsExternalControls
4
4
  export { setPHDocumentEditorConfigByKey, setPHDriveEditorConfigByKey, } from "./config/set-config-by-key.js";
5
5
  export { setPHDocumentEditorConfig, setPHDriveEditorConfig, setPHGlobalConfig, useSetPHDocumentEditorConfig, useSetPHDriveEditorConfig, } from "./config/set-config-by-object.js";
6
6
  export { usePHDocumentEditorConfigByKey, usePHDriveEditorConfigByKey, } from "./config/use-value-by-key.js";
7
- export { useDocumentById } from "./document-by-id.js";
8
- export { useDocumentCache, useGetDocument, useGetDocumentAsync, useGetDocuments, } from "./document-cache.js";
7
+ export { useDocumentById, useDocumentsByIds } from "./document-by-id.js";
8
+ export { useDocument, useDocumentCache, useDocuments, useGetDocument, useGetDocumentAsync, useGetDocuments, } from "./document-cache.js";
9
9
  export { useDocumentModelModuleById, useDocumentModelModules, } from "./document-model-modules.js";
10
10
  export { useDocumentOfType } from "./document-of-type.js";
11
11
  export { useDocumentTypes } from "./document-types.js";
@@ -13,7 +13,6 @@ export { useDriveById } from "./drive-by-id.js";
13
13
  export { useDrives } from "./drives.js";
14
14
  export { useDefaultDriveEditorModule, useDriveEditorModuleById, useDriveEditorModules, useEditorModuleById, useEditorModules, useEditorModulesForDocumentType, useFallbackEditorModule, } from "./editor-modules.js";
15
15
  export { addFeaturesEventHandler, setFeatures, useFeatures, } from "./features.js";
16
- export { isChannelSyncEnabledSync, isInspectorEnabledSync, isLegacyReadEnabledSync, isLegacyWriteEnabledSync, useChannelSyncEnabled, useInspectorEnabled, useLegacyReadEnabled, useLegacyWriteEnabled, } from "./use-feature-flags.js";
17
16
  export { useFolderById } from "./folder-by-id.js";
18
17
  export { useImportScriptModules } from "./import-script-modules.js";
19
18
  export { useDocumentsInSelectedDrive, useDocumentTypesInSelectedDrive, useFileNodesInSelectedDrive, useFolderNodesInSelectedDrive, useNodesInSelectedDrive, } from "./items-in-selected-drive.js";
@@ -25,7 +24,7 @@ export { useNodePathById, useSelectedNodePath } from "./node-path.js";
25
24
  export { useNodeParentFolderById, useParentFolderForSelectedNode, } from "./parent-folder.js";
26
25
  export { useProcessorModules, useProcessors } from "./processor-modules.js";
27
26
  export { hideRevisionHistory, setRevisionHistoryVisible, showRevisionHistory, useRevisionHistoryVisible, } from "./revision-history.js";
28
- export { useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, } from "./selected-document.js";
27
+ export { useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, useSelectedDocumentSafe, } from "./selected-document.js";
29
28
  export { setSelectedDrive, useSelectedDrive, useSelectedDriveId, useSelectedDriveSafe, } from "./selected-drive.js";
30
29
  export { useSelectedFolder } from "./selected-folder.js";
31
30
  export { setSelectedNode, useSelectedNode } from "./selected-node.js";
@@ -33,6 +32,8 @@ export { setSelectedTimelineItem, useSelectedTimelineItem, } from "./selected-ti
33
32
  export { useSubgraphModules } from "./subgraph-modules.js";
34
33
  export { useSupportedDocumentTypesInReactor } from "./supported-document-types.js";
35
34
  export { setSelectedTimelineRevision, useSelectedTimelineRevision, } from "./timeline-revision.js";
35
+ export { setPHToast, usePHToast } from "./toast.js";
36
+ export { isChannelSyncEnabledSync, isInspectorEnabledSync, isLegacyReadEnabledSync, isLegacyWriteEnabledSync, useChannelSyncEnabled, useInspectorEnabled, useLegacyReadEnabled, useLegacyWriteEnabled, } from "./use-feature-flags.js";
36
37
  export { useGetSwitchboardLink } from "./use-get-switchboard-link.js";
37
38
  export { useOnDropFile } from "./use-on-drop-file.js";
38
39
  export { useUserPermissions } from "./user-permissions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export { useAllowedDocumentTypes, useIsDragAndDropEnabled, useIsExternalControls
4
4
  export { setPHDocumentEditorConfigByKey, setPHDriveEditorConfigByKey, } from "./config/set-config-by-key.js";
5
5
  export { setPHDocumentEditorConfig, setPHDriveEditorConfig, setPHGlobalConfig, useSetPHDocumentEditorConfig, useSetPHDriveEditorConfig, } from "./config/set-config-by-object.js";
6
6
  export { usePHDocumentEditorConfigByKey, usePHDriveEditorConfigByKey, } from "./config/use-value-by-key.js";
7
- export { useDocumentById } from "./document-by-id.js";
8
- export { useDocumentCache, useGetDocument, useGetDocumentAsync, useGetDocuments, } from "./document-cache.js";
7
+ export { useDocumentById, useDocumentsByIds } from "./document-by-id.js";
8
+ export { useDocument, useDocumentCache, useDocuments, useGetDocument, useGetDocumentAsync, useGetDocuments, } from "./document-cache.js";
9
9
  export { useDocumentModelModuleById, useDocumentModelModules, } from "./document-model-modules.js";
10
10
  export { useDocumentOfType } from "./document-of-type.js";
11
11
  export { useDocumentTypes } from "./document-types.js";
@@ -13,7 +13,6 @@ export { useDriveById } from "./drive-by-id.js";
13
13
  export { useDrives } from "./drives.js";
14
14
  export { useDefaultDriveEditorModule, useDriveEditorModuleById, useDriveEditorModules, useEditorModuleById, useEditorModules, useEditorModulesForDocumentType, useFallbackEditorModule, } from "./editor-modules.js";
15
15
  export { addFeaturesEventHandler, setFeatures, useFeatures, } from "./features.js";
16
- export { isChannelSyncEnabledSync, isInspectorEnabledSync, isLegacyReadEnabledSync, isLegacyWriteEnabledSync, useChannelSyncEnabled, useInspectorEnabled, useLegacyReadEnabled, useLegacyWriteEnabled, } from "./use-feature-flags.js";
17
16
  export { useFolderById } from "./folder-by-id.js";
18
17
  export { useImportScriptModules } from "./import-script-modules.js";
19
18
  export { useDocumentsInSelectedDrive, useDocumentTypesInSelectedDrive, useFileNodesInSelectedDrive, useFolderNodesInSelectedDrive, useNodesInSelectedDrive, } from "./items-in-selected-drive.js";
@@ -25,7 +24,7 @@ export { useNodePathById, useSelectedNodePath } from "./node-path.js";
25
24
  export { useNodeParentFolderById, useParentFolderForSelectedNode, } from "./parent-folder.js";
26
25
  export { useProcessorModules, useProcessors } from "./processor-modules.js";
27
26
  export { hideRevisionHistory, setRevisionHistoryVisible, showRevisionHistory, useRevisionHistoryVisible, } from "./revision-history.js";
28
- export { useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, } from "./selected-document.js";
27
+ export { useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, useSelectedDocumentSafe, } from "./selected-document.js";
29
28
  export { setSelectedDrive, useSelectedDrive, useSelectedDriveId, useSelectedDriveSafe, } from "./selected-drive.js";
30
29
  export { useSelectedFolder } from "./selected-folder.js";
31
30
  export { setSelectedNode, useSelectedNode } from "./selected-node.js";
@@ -33,6 +32,8 @@ export { setSelectedTimelineItem, useSelectedTimelineItem, } from "./selected-ti
33
32
  export { useSubgraphModules } from "./subgraph-modules.js";
34
33
  export { useSupportedDocumentTypesInReactor } from "./supported-document-types.js";
35
34
  export { setSelectedTimelineRevision, useSelectedTimelineRevision, } from "./timeline-revision.js";
35
+ export { setPHToast, usePHToast } from "./toast.js";
36
+ export { isChannelSyncEnabledSync, isInspectorEnabledSync, isLegacyReadEnabledSync, isLegacyWriteEnabledSync, useChannelSyncEnabled, useInspectorEnabled, useLegacyReadEnabled, useLegacyWriteEnabled, } from "./use-feature-flags.js";
36
37
  export { useGetSwitchboardLink } from "./use-get-switchboard-link.js";
37
38
  export { useOnDropFile } from "./use-on-drop-file.js";
38
39
  export { useUserPermissions } from "./user-permissions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import type { Action, PHDocument } from "document-model";
3
3
  /** Returns the selected document id */
4
4
  export declare function useSelectedDocumentId(): string | undefined;
5
5
  /** Returns the selected document. */
6
- export declare function useSelectedDocument(): readonly [PHDocument | undefined, (actionOrActions: Action | Action[] | undefined, onErrors?: ((errors: Error[]) => void) | undefined) => void];
6
+ export declare function useSelectedDocument(): readonly [PHDocument, (actionOrActions: Action | Action[] | undefined, onErrors?: ((errors: Error[]) => void) | undefined, onSuccess?: ((result: PHDocument) => void) | undefined) => void];
7
+ /** Returns the selected document. */
8
+ export declare function useSelectedDocumentSafe(): readonly [PHDocument | undefined, (actionOrActions: Action | Action[] | undefined, onErrors?: ((errors: Error[]) => void) | undefined, onSuccess?: ((result: PHDocument) => void) | undefined) => void];
7
9
  /** Returns the selected document of a specific type, throws an error if the found document has a different type */
8
10
  export declare function useSelectedDocumentOfType(documentType: null | undefined): never[];
9
11
  export declare function useSelectedDocumentOfType<TDocument extends PHDocument, TAction extends Action>(documentType: string): [TDocument, DocumentDispatch<TAction>];
@@ -1 +1 @@
1
- {"version":3,"file":"selected-document.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMzD,uCAAuC;AACvC,wBAAgB,qBAAqB,uBAGpC;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,oJAGlC;AAED,mHAAmH;AACnH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,IAAI,GAAG,SAAS,GAC7B,KAAK,EAAE,CAAC;AACX,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,UAAU,EAC5B,OAAO,SAAS,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"selected-document.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMzD,uCAAuC;AACvC,wBAAgB,qBAAqB,uBAGpC;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,gMAOlC;AAED,qCAAqC;AACrC,wBAAgB,uBAAuB,4MAGtC;AAED,mHAAmH;AACnH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,IAAI,GAAG,SAAS,GAC7B,KAAK,EAAE,CAAC;AACX,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,UAAU,EAC5B,OAAO,SAAS,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -10,6 +10,15 @@ export function useSelectedDocumentId() {
10
10
  }
11
11
  /** Returns the selected document. */
12
12
  export function useSelectedDocument() {
13
+ const selectedDocumentId = useSelectedDocumentId();
14
+ const [document, dispatch] = useDocumentById(selectedDocumentId);
15
+ if (!document) {
16
+ throw new NoSelectedDocumentError();
17
+ }
18
+ return [document, dispatch];
19
+ }
20
+ /** Returns the selected document. */
21
+ export function useSelectedDocumentSafe() {
13
22
  const selectedDocumentId = useSelectedDocumentId();
14
23
  return useDocumentById(selectedDocumentId);
15
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selected-document.js","sourceRoot":"","sources":["../../../src/hooks/selected-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,uCAAuC;AACvC,MAAM,UAAU,qBAAqB;IACnC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,mBAAmB;IACjC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAUD,MAAM,UAAU,yBAAyB,CAIvC,YAAuC;IAEvC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAE3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,uBAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,iBAAiB,CAAqB,UAAU,EAAE,YAAY,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"selected-document.js","sourceRoot":"","sources":["../../../src/hooks/selected-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,uCAAuC;AACvC,MAAM,UAAU,qBAAqB;IACnC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,mBAAmB;IACjC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,uBAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,uBAAuB;IACrC,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAUD,MAAM,UAAU,yBAAyB,CAIvC,YAAuC;IAEvC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAE3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,uBAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,iBAAiB,CAAqB,UAAU,EAAE,YAAY,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Returns the toast function */
2
+ export declare const usePHToast: () => import("../index.js").PHToastFn | undefined;
3
+ /** Sets the toast function */
4
+ export declare const setPHToast: (value: import("../index.js").PHToastFn | undefined) => void;
5
+ /** Adds an event handler for the toast */
6
+ export declare const addToastEventHandler: () => void;
7
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/hooks/toast.ts"],"names":[],"mappings":"AAIA,iCAAiC;AACjC,eAAO,MAAM,UAAU,mDAA+B,CAAC;AAEvD,8BAA8B;AAC9B,eAAO,MAAM,UAAU,8DAA+B,CAAC;AAEvD,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,YAAsC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { makePHEventFunctions } from "./make-ph-event-functions.js";
2
+ const toastEventFunctions = makePHEventFunctions("toast");
3
+ /** Returns the toast function */
4
+ export const usePHToast = toastEventFunctions.useValue;
5
+ /** Sets the toast function */
6
+ export const setPHToast = toastEventFunctions.setValue;
7
+ /** Adds an event handler for the toast */
8
+ export const addToastEventHandler = toastEventFunctions.addEventHandler;
9
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../src/hooks/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE1D,iCAAiC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC;AAEvD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vetra-packages.d.ts","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,kCAAsC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,4BAA4B,YACG,CAAC;AAE7C,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,QAQzE"}
1
+ {"version":3,"file":"vetra-packages.d.ts","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,kCAAsC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,4BAA4B,YACG,CAAC;AAE7C,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,QAQzE"}
@@ -10,6 +10,8 @@ export function setVetraPackages(vetraPackages) {
10
10
  const documentModelModules = vetraPackages
11
11
  ?.flatMap((pkg) => pkg.modules.documentModelModules)
12
12
  .filter((module) => module !== undefined);
13
- window.ph?.legacyReactor?.setDocumentModelModules(documentModelModules);
13
+ if (documentModelModules) {
14
+ window.ph?.legacyReactor?.setDocumentModelModules(documentModelModules);
15
+ }
14
16
  }
15
17
  //# sourceMappingURL=vetra-packages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vetra-packages.js","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,QAAQ,CAAC;AAEpE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,0BAA0B,CAAC,eAAe,CAAC;AAE7C,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,aAAyC;IACxE,0BAA0B,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,aAAa;QACxC,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC;SACnD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAC/C,oBAAwD,CACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vetra-packages.js","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,QAAQ,CAAC;AAEpE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,0BAA0B,CAAC,eAAe,CAAC;AAE7C,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,aAAyC;IACxE,0BAA0B,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,aAAa;QACxC,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC;SACnD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC5C,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export * from "./actions/index.js";
2
2
  export * from "./constants.js";
3
3
  export * from "./context/index.js";
4
+ export * from "./document-cache.js";
5
+ export * from "./reactor-client-document-cache.js";
4
6
  export * from "./document-model.js";
5
7
  export * from "./global/index.js";
6
8
  export * from "./hooks/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./actions/index.js";
2
2
  export * from "./constants.js";
3
3
  export * from "./context/index.js";
4
+ export * from "./document-cache.js";
5
+ export * from "./reactor-client-document-cache.js";
4
6
  export * from "./document-model.js";
5
7
  export * from "./global/index.js";
6
8
  export * from "./hooks/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { PGlite } from "@electric-sql/pglite";
2
- export declare function dropAllTables(pg: PGlite): Promise<void>;
2
+ export declare function dropAllTables(pg: PGlite, schema?: string): Promise<void>;
3
3
  //# sourceMappingURL=drop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../src/pglite/drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7D"}
1
+ {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../src/pglite/drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -1,8 +1,9 @@
1
- export async function dropAllTables(pg) {
1
+ import { REACTOR_SCHEMA } from "@powerhousedao/reactor";
2
+ export async function dropAllTables(pg, schema = REACTOR_SCHEMA) {
2
3
  await pg.exec(`
3
4
  DO $$
4
5
  DECLARE
5
- _schemaname text := 'public';
6
+ _schemaname text := '${schema}';
6
7
  _tablename text;
7
8
  BEGIN
8
9
  FOR _tablename IN SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = _schemaname LOOP
@@ -1 +1 @@
1
- {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../src/pglite/drop.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAU;IAC5C,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;CAcf,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../src/pglite/drop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,SAAiB,cAAc;IAE/B,MAAM,EAAE,CAAC,IAAI,CAAC;;;2BAGW,MAAM;;;;;;;;;;;CAWhC,CAAC,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type IReactorClient } from "@powerhousedao/reactor";
2
+ import type { PHDocument } from "document-model";
3
+ import type { IDocumentCache } from "./types/documents.js";
4
+ /**
5
+ * Document cache implementation that uses the new ReactorClient API.
6
+ *
7
+ * This cache subscribes to document change events via IReactorClient.subscribe()
8
+ * and automatically updates the cache when documents are created, updated, or deleted.
9
+ *
10
+ * Use this implementation when FEATURE_LEGACY_READ_ENABLED is false.
11
+ */
12
+ export declare class ReactorClientDocumentCache implements IDocumentCache {
13
+ private client;
14
+ private documents;
15
+ private batchPromises;
16
+ private listeners;
17
+ private unsubscribe;
18
+ constructor(client: IReactorClient);
19
+ private handleDocumentChange;
20
+ private handleDocumentDeleted;
21
+ private handleDocumentUpdated;
22
+ private invalidateBatchesContaining;
23
+ get(id: string, refetch?: boolean): Promise<PHDocument>;
24
+ getBatch(ids: string[]): Promise<PHDocument[]>;
25
+ subscribe(id: string | string[], callback: () => void): () => void;
26
+ /**
27
+ * Disposes of the cache and unsubscribes from document change events.
28
+ */
29
+ dispose(): void;
30
+ }
31
+ //# sourceMappingURL=reactor-client-document-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor-client-document-cache.d.ts","sourceRoot":"","sources":["../../src/reactor-client-document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,cAAc;IASnD,OAAO,CAAC,MAAM;IAR1B,OAAO,CAAC,SAAS,CAAmD;IACpE,OAAO,CAAC,aAAa,CAGjB;IACJ,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,WAAW,CAA6B;gBAE5B,MAAM,EAAE,cAAc;IAM1C,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,qBAAqB;YAUf,qBAAqB;IAUnC,OAAO,CAAC,2BAA2B;IAQnC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBvD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2D9C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAiBlE;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,142 @@
1
+ import { DocumentChangeType, } from "@powerhousedao/reactor";
2
+ import { addPromiseState, readPromiseState } from "./document-cache.js";
3
+ /**
4
+ * Document cache implementation that uses the new ReactorClient API.
5
+ *
6
+ * This cache subscribes to document change events via IReactorClient.subscribe()
7
+ * and automatically updates the cache when documents are created, updated, or deleted.
8
+ *
9
+ * Use this implementation when FEATURE_LEGACY_READ_ENABLED is false.
10
+ */
11
+ export class ReactorClientDocumentCache {
12
+ client;
13
+ documents = new Map();
14
+ batchPromises = new Map();
15
+ listeners = new Map();
16
+ unsubscribe = null;
17
+ constructor(client) {
18
+ this.client = client;
19
+ this.unsubscribe = client.subscribe({}, (event) => {
20
+ this.handleDocumentChange(event);
21
+ });
22
+ }
23
+ handleDocumentChange(event) {
24
+ if (event.type === DocumentChangeType.Deleted) {
25
+ const documentId = event.context?.childId;
26
+ if (documentId) {
27
+ this.handleDocumentDeleted(documentId);
28
+ }
29
+ }
30
+ else if (event.type === DocumentChangeType.Updated) {
31
+ for (const doc of event.documents) {
32
+ this.handleDocumentUpdated(doc.header.id).catch(console.warn);
33
+ }
34
+ }
35
+ }
36
+ handleDocumentDeleted(documentId) {
37
+ const listeners = this.listeners.get(documentId);
38
+ this.documents.delete(documentId);
39
+ this.invalidateBatchesContaining(documentId);
40
+ if (listeners) {
41
+ listeners.forEach((listener) => listener());
42
+ }
43
+ this.listeners.delete(documentId);
44
+ }
45
+ async handleDocumentUpdated(documentId) {
46
+ if (this.documents.has(documentId)) {
47
+ await this.get(documentId, true);
48
+ const listeners = this.listeners.get(documentId);
49
+ if (listeners) {
50
+ listeners.forEach((listener) => listener());
51
+ }
52
+ }
53
+ }
54
+ invalidateBatchesContaining(documentId) {
55
+ for (const key of this.batchPromises.keys()) {
56
+ if (key.split(",").includes(documentId)) {
57
+ this.batchPromises.delete(key);
58
+ }
59
+ }
60
+ }
61
+ get(id, refetch) {
62
+ const currentData = this.documents.get(id);
63
+ if (currentData) {
64
+ if (currentData.status === "pending") {
65
+ return currentData;
66
+ }
67
+ if (!refetch) {
68
+ return currentData;
69
+ }
70
+ }
71
+ const documentPromise = this.client
72
+ .get(id)
73
+ .then((result) => result.document);
74
+ this.documents.set(id, addPromiseState(documentPromise));
75
+ return documentPromise;
76
+ }
77
+ getBatch(ids) {
78
+ const key = ids.join(",");
79
+ const cached = this.batchPromises.get(key);
80
+ const hasDeletedDocuments = ids.some((id) => !this.documents.has(id));
81
+ const currentPromises = ids.map((id) => this.get(id));
82
+ if (hasDeletedDocuments) {
83
+ const batchPromise = Promise.all(currentPromises);
84
+ this.batchPromises.set(key, {
85
+ promises: currentPromises,
86
+ promise: batchPromise,
87
+ });
88
+ return batchPromise;
89
+ }
90
+ if (cached) {
91
+ const samePromises = currentPromises.every((p, i) => p === cached.promises[i]);
92
+ if (samePromises) {
93
+ return cached.promise;
94
+ }
95
+ }
96
+ const states = currentPromises.map((p) => readPromiseState(p));
97
+ const allFulfilled = states.every((s) => s.status === "fulfilled");
98
+ if (allFulfilled) {
99
+ const values = states.map((s) => s.value);
100
+ const batchPromise = Promise.resolve(values);
101
+ batchPromise.status = "fulfilled";
102
+ batchPromise.value = values;
103
+ this.batchPromises.set(key, {
104
+ promises: currentPromises,
105
+ promise: batchPromise,
106
+ });
107
+ return batchPromise;
108
+ }
109
+ if (cached) {
110
+ return cached.promise;
111
+ }
112
+ const batchPromise = Promise.all(currentPromises);
113
+ this.batchPromises.set(key, {
114
+ promises: currentPromises,
115
+ promise: batchPromise,
116
+ });
117
+ return batchPromise;
118
+ }
119
+ subscribe(id, callback) {
120
+ const ids = Array.isArray(id) ? id : [id];
121
+ for (const docId of ids) {
122
+ const listeners = this.listeners.get(docId) ?? [];
123
+ this.listeners.set(docId, [...listeners, callback]);
124
+ }
125
+ return () => {
126
+ for (const docId of ids) {
127
+ const listeners = this.listeners.get(docId) ?? [];
128
+ this.listeners.set(docId, listeners.filter((listener) => listener !== callback));
129
+ }
130
+ };
131
+ }
132
+ /**
133
+ * Disposes of the cache and unsubscribes from document change events.
134
+ */
135
+ dispose() {
136
+ if (this.unsubscribe) {
137
+ this.unsubscribe();
138
+ this.unsubscribe = null;
139
+ }
140
+ }
141
+ }
142
+ //# sourceMappingURL=reactor-client-document-cache.js.map