@powerhousedao/reactor-browser 4.1.0-dev.106 → 4.1.0-dev.107
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 +90 -22
- package/dist/src/actions/index.d.ts +1 -0
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +1 -0
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/hooks/add-ph-event-handlers.d.ts.map +1 -1
- package/dist/src/hooks/add-ph-event-handlers.js +7 -4
- package/dist/src/hooks/add-ph-event-handlers.js.map +1 -1
- package/dist/src/hooks/connect.d.ts +1 -0
- package/dist/src/hooks/connect.d.ts.map +1 -1
- package/dist/src/hooks/connect.js +1 -0
- package/dist/src/hooks/connect.js.map +1 -1
- package/dist/src/hooks/document-by-id.d.ts +2 -0
- package/dist/src/hooks/document-by-id.d.ts.map +1 -1
- package/dist/src/hooks/document-by-id.js +6 -3
- package/dist/src/hooks/document-by-id.js.map +1 -1
- package/dist/src/hooks/document-cache.d.ts +60 -0
- package/dist/src/hooks/document-cache.d.ts.map +1 -0
- package/dist/src/hooks/document-cache.js +97 -0
- package/dist/src/hooks/document-cache.js.map +1 -0
- package/dist/src/hooks/index.d.ts +1 -1
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -1
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/items-in-selected-drive.d.ts.map +1 -1
- package/dist/src/hooks/items-in-selected-drive.js +2 -3
- package/dist/src/hooks/items-in-selected-drive.js.map +1 -1
- package/dist/src/hooks/selected-document.d.ts.map +1 -1
- package/dist/src/hooks/selected-document.js +2 -4
- package/dist/src/hooks/selected-document.js.map +1 -1
- package/dist/src/hooks/selected-drive.d.ts.map +1 -1
- package/dist/src/hooks/selected-drive.js +0 -2
- package/dist/src/hooks/selected-drive.js.map +1 -1
- package/dist/src/hooks/selected-node.d.ts +1 -0
- package/dist/src/hooks/selected-node.d.ts.map +1 -1
- package/dist/src/hooks/selected-node.js +5 -0
- package/dist/src/hooks/selected-node.js.map +1 -1
- package/dist/src/reactor.d.ts +3 -0
- package/dist/src/reactor.d.ts.map +1 -1
- package/dist/src/reactor.js +57 -4
- package/dist/src/reactor.js.map +1 -1
- package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
- package/dist/src/relational/hooks/useRelationalDb.js +1 -1
- package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
- package/dist/src/types/documents.d.ts +19 -1
- package/dist/src/types/documents.d.ts.map +1 -1
- package/dist/src/types/global.d.ts +2 -2
- package/dist/src/types/global.d.ts.map +1 -1
- package/dist/src/utils/drives.d.ts +1 -0
- package/dist/src/utils/drives.d.ts.map +1 -1
- package/dist/src/utils/drives.js +7 -2
- package/dist/src/utils/drives.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/hooks/all-documents.d.ts +0 -9
- package/dist/src/hooks/all-documents.d.ts.map +0 -1
- package/dist/src/hooks/all-documents.js +0 -9
- package/dist/src/hooks/all-documents.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-drive.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-drive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"selected-drive.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-drive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAQxB,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,0BAAyC,CAAC;AAKzE,sDAAsD;AACtD,eAAO,MAAM,8BAA8B,YACI,CAAC;AAEhD,iCAAiC;AACjC,wBAAgB,gBAAgB,mEAS/B;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,qGAenC;AAED,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,QAkB7D"}
|
|
@@ -2,7 +2,6 @@ import { resolveUrlPathname } from "../utils/url.js";
|
|
|
2
2
|
import { useDispatch } from "./dispatch.js";
|
|
3
3
|
import { useDrives } from "./drives.js";
|
|
4
4
|
import { makePHEventFunctions } from "./make-ph-event-functions.js";
|
|
5
|
-
import { setSelectedNode } from "./selected-node.js";
|
|
6
5
|
const selectedDriveIdEventFunctions = makePHEventFunctions("selectedDriveId");
|
|
7
6
|
/** Returns the selected drive id */
|
|
8
7
|
export const useSelectedDriveId = selectedDriveIdEventFunctions.useValue;
|
|
@@ -33,7 +32,6 @@ export function setSelectedDrive(driveOrDriveSlug) {
|
|
|
33
32
|
const driveSlug = typeof driveOrDriveSlug === "string"
|
|
34
33
|
? driveOrDriveSlug
|
|
35
34
|
: driveOrDriveSlug?.header.slug;
|
|
36
|
-
setSelectedNode(undefined);
|
|
37
35
|
// Find the drive by slug to get its actual ID
|
|
38
36
|
const drive = window.ph?.drives?.find((d) => d.header.slug === driveSlug);
|
|
39
37
|
const driveId = drive?.header.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-drive.js","sourceRoot":"","sources":["../../../src/hooks/selected-drive.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"selected-drive.js","sourceRoot":"","sources":["../../../src/hooks/selected-drive.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,QAAQ,CAAC;AAEzE,iCAAiC;AACjC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,QAAQ,CAAC;AAElE,sDAAsD;AACtD,MAAM,CAAC,MAAM,8BAA8B,GACzC,6BAA6B,CAAC,eAAe,CAAC;AAEhD,iCAAiC;AACjC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,oBAAoB;IAClC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,EAAE,IAAI,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,CAC/C,CAAC;IAEF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAGtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,gBAA4D;IAE5D,MAAM,SAAS,GACb,OAAO,gBAAgB,KAAK,QAAQ;QAClC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC;IAEpC,8CAA8C;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAEjC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -4,4 +4,5 @@ export declare const addSelectedNodeIdEventHandler: () => void;
|
|
|
4
4
|
export declare function useSelectedNode(): Node | undefined;
|
|
5
5
|
/** Sets the selected node (file or folder). */
|
|
6
6
|
export declare function setSelectedNode(nodeOrNodeSlug: Node | string | undefined): void;
|
|
7
|
+
export declare function addResetSelectedNodeEventHandler(): void;
|
|
7
8
|
//# sourceMappingURL=selected-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-node.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAa3C,eAAO,MAAM,6BAA6B,YACI,CAAC;AAE/C,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,IAAI,GAAG,SAAS,CAIlD;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,QAwBxE"}
|
|
1
|
+
{"version":3,"file":"selected-node.d.ts","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAa3C,eAAO,MAAM,6BAA6B,YACI,CAAC;AAE/C,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,IAAI,GAAG,SAAS,CAIlD;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,QAwBxE;AAED,wBAAgB,gCAAgC,SAI/C"}
|
|
@@ -28,4 +28,9 @@ export function setSelectedNode(nodeOrNodeSlug) {
|
|
|
28
28
|
}
|
|
29
29
|
window.history.pushState(null, "", resolveUrlPathname(`/d/${driveSlugFromPath}/${nodeSlug}`));
|
|
30
30
|
}
|
|
31
|
+
export function addResetSelectedNodeEventHandler() {
|
|
32
|
+
window.addEventListener("ph:selectedDriveIdUpdated", () => {
|
|
33
|
+
setSelectedNodeId(undefined);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
31
36
|
//# sourceMappingURL=selected-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selected-node.js","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,CAAC,MAAM,6BAA6B,GACxC,4BAA4B,CAAC,eAAe,CAAC;AAE/C,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;AACrD,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,cAAyC;IACvE,MAAM,QAAQ,GACZ,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAC9C,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,IAAI,QAAQ,EAAE,CAAC,CAC1D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"selected-node.js","sourceRoot":"","sources":["../../../src/hooks/selected-node.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AAChE,MAAM,CAAC,MAAM,6BAA6B,GACxC,4BAA4B,CAAC,eAAe,CAAC;AAE/C,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;AACrD,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,cAAyC;IACvE,MAAM,QAAQ,GACZ,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAC9C,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,SAAS,CACtB,IAAI,EACJ,EAAE,EACF,kBAAkB,CAAC,MAAM,iBAAiB,IAAI,QAAQ,EAAE,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACxD,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/src/reactor.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IConnectCrypto, IRenown } from "@renown/sdk";
|
|
2
2
|
import { ConnectCrypto } from "@renown/sdk";
|
|
3
3
|
import type { DocumentDriveServerOptions, IDocumentDriveServer } from "document-drive";
|
|
4
|
+
import type { IDocumentCache, PromiseState, PromiseWithState } from "./types/documents.js";
|
|
4
5
|
export type ReactorDefaultDrivesConfig = {
|
|
5
6
|
defaultDrivesUrl?: string[];
|
|
6
7
|
};
|
|
@@ -13,4 +14,6 @@ export declare const refreshReactorData: (reactor: IDocumentDriveServer | undefi
|
|
|
13
14
|
export declare function initReactor(reactor: IDocumentDriveServer, renown: IRenown | undefined, connectCrypto: IConnectCrypto | undefined): Promise<void>;
|
|
14
15
|
export declare function handleCreateFirstLocalDrive(reactor: IDocumentDriveServer | undefined, localDrivesEnabled?: boolean): Promise<import("document-drive").DocumentDriveDocument | undefined>;
|
|
15
16
|
export declare function initConnectCrypto(): Promise<ConnectCrypto>;
|
|
17
|
+
export declare function readPromiseState<T>(promise: PromiseWithState<T>): PromiseState<T>;
|
|
18
|
+
export declare function initDocumentCache(reactor: IDocumentDriveServer): IDocumentCache;
|
|
16
19
|
//# sourceMappingURL=reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAEV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAEV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,SAAQ,0BAA+B,KACtC,IAAI,CAAC,0BAA0B,EAAE,eAAe,CA6ClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AA2CF,eAAO,MAAM,kBAAkB,YAzBZ,oBAAoB,GAAG,SAAS,uCAyBkB,CAAC;AAEtE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,iBAQ1C;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,kBAAkB,UAAO,uEAyB1B;AAsBD,wBAAsB,iBAAiB,2BAItC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,YAAY,CAAC,CAAC,CAAC,CAoBjB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,cAAc,CAoChB"}
|
package/dist/src/reactor.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { BrowserKeyStorage, ConnectCrypto } from "@renown/sdk";
|
|
2
2
|
import { generateId } from "document-model/core";
|
|
3
|
-
import { setAllDocuments } from "./hooks/all-documents.js";
|
|
4
3
|
import { setDrives } from "./hooks/drives.js";
|
|
5
|
-
import {
|
|
4
|
+
import { getDrives } from "./utils/drives.js";
|
|
6
5
|
export const getReactorDefaultDrivesConfig = (config = {}) => {
|
|
7
6
|
const defaultDrivesUrl = config.defaultDrivesUrl || [];
|
|
8
7
|
const remoteDrives = defaultDrivesUrl.map((driveUrl) => ({
|
|
@@ -50,9 +49,7 @@ async function _refreshReactorData(reactor) {
|
|
|
50
49
|
if (!reactor)
|
|
51
50
|
return;
|
|
52
51
|
const drives = await getDrives(reactor);
|
|
53
|
-
const documents = await getDocuments(reactor);
|
|
54
52
|
setDrives(drives);
|
|
55
|
-
setAllDocuments(documents);
|
|
56
53
|
}
|
|
57
54
|
function createDebouncedRefreshReactorData(debounceDelayMs = DEFAULT_DEBOUNCE_DELAY_MS, immediateThresholdMs = DEFAULT_IMMEDIATE_THRESHOLD_MS) {
|
|
58
55
|
let timeout = null;
|
|
@@ -131,4 +128,60 @@ export async function initConnectCrypto() {
|
|
|
131
128
|
await connectCrypto.did();
|
|
132
129
|
return connectCrypto;
|
|
133
130
|
}
|
|
131
|
+
export function readPromiseState(promise) {
|
|
132
|
+
switch (promise.status) {
|
|
133
|
+
case "pending":
|
|
134
|
+
return { status: "pending" };
|
|
135
|
+
case "fulfilled":
|
|
136
|
+
return { status: "fulfilled", value: promise.value };
|
|
137
|
+
case "rejected":
|
|
138
|
+
return { status: "rejected", reason: promise.reason };
|
|
139
|
+
default:
|
|
140
|
+
promise.status = "pending";
|
|
141
|
+
void promise.then((value) => {
|
|
142
|
+
promise.status = "fulfilled";
|
|
143
|
+
promise.value = value;
|
|
144
|
+
});
|
|
145
|
+
promise.catch((reason) => {
|
|
146
|
+
promise.status = "rejected";
|
|
147
|
+
promise.reason = reason;
|
|
148
|
+
});
|
|
149
|
+
return readPromiseState(promise);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
export function initDocumentCache(reactor) {
|
|
153
|
+
const documents = new Map();
|
|
154
|
+
reactor.on("documentDeleted", (documentId) => {
|
|
155
|
+
documents.delete(documentId);
|
|
156
|
+
});
|
|
157
|
+
return {
|
|
158
|
+
get(id, refetch) {
|
|
159
|
+
const currentData = documents.get(id);
|
|
160
|
+
if (currentData) {
|
|
161
|
+
// If pending then deduplicate requests
|
|
162
|
+
if (readPromiseState(currentData).status === "pending") {
|
|
163
|
+
return currentData;
|
|
164
|
+
}
|
|
165
|
+
// If not refetch then return current data
|
|
166
|
+
if (!refetch)
|
|
167
|
+
return currentData;
|
|
168
|
+
}
|
|
169
|
+
const documentPromise = reactor.getDocument(id);
|
|
170
|
+
documents.set(id, documentPromise);
|
|
171
|
+
return documentPromise;
|
|
172
|
+
},
|
|
173
|
+
subscribe(id, callback) {
|
|
174
|
+
const ids = Array.isArray(id) ? id : [id];
|
|
175
|
+
return reactor.on("operationsAdded", (documentId) => {
|
|
176
|
+
if (ids.includes(documentId)) {
|
|
177
|
+
this.get(documentId, true)
|
|
178
|
+
.then(() => callback())
|
|
179
|
+
.catch(() => {
|
|
180
|
+
console.warn("Failed to refetch document", documentId);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
}
|
|
134
187
|
//# sourceMappingURL=reactor.js.map
|
package/dist/src/reactor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRelationalDb.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useRelationalDb.d.ts","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQtE,MAAM,MAAM,oBAAoB,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG;IAClE,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAkBD,eAAO,MAAM,eAAe,GAAI,MAAM,4BAsBrC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { usePGliteDB } from "@powerhousedao/reactor-browser";
|
|
2
1
|
import { createRelationalDb } from "document-drive";
|
|
3
2
|
import { Kysely } from "kysely";
|
|
4
3
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
5
4
|
import { useMemo } from "react";
|
|
5
|
+
import { usePGliteDB } from "../../pglite/hooks/usePGlite.js";
|
|
6
6
|
// Custom initializer that creates enhanced Kysely instance with live capabilities
|
|
7
7
|
function createRelationalDbWithLive(pgliteInstance) {
|
|
8
8
|
const baseDb = new Kysely({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRelationalDb.js","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useRelationalDb.js","sourceRoot":"","sources":["../../../../src/relational/hooks/useRelationalDb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAa9D,kFAAkF;AAClF,SAAS,0BAA0B,CACjC,cAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAS;QAChC,OAAO,EAAE,IAAI,aAAa,CAAC,cAAmC,CAAC;KAChE,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,oBAAoB,GAAG,YAA4C,CAAC;IAC1E,oBAAoB,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAEhD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAwB,GAAG,EAAE;QACvD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACnD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,0BAA0B,CAAS,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzD,OAAO;YACL,EAAE;YACF,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
import type { Action, DocumentAction } from "document-model";
|
|
1
|
+
import type { Action, DocumentAction, PHDocument } from "document-model";
|
|
2
2
|
export type DocumentDispatch<TAction extends Action> = (actionOrActions: TAction | TAction[] | DocumentAction | DocumentAction[] | undefined) => void;
|
|
3
|
+
export type PromiseWithState<T> = Promise<T> & {
|
|
4
|
+
status?: "pending" | "fulfilled" | "rejected";
|
|
5
|
+
value?: T;
|
|
6
|
+
reason?: unknown;
|
|
7
|
+
};
|
|
8
|
+
export type PromiseState<T> = {
|
|
9
|
+
status: "pending";
|
|
10
|
+
} | {
|
|
11
|
+
status: "fulfilled";
|
|
12
|
+
value: T;
|
|
13
|
+
} | {
|
|
14
|
+
status: "rejected";
|
|
15
|
+
reason: unknown;
|
|
16
|
+
};
|
|
17
|
+
export interface IDocumentCache {
|
|
18
|
+
get(id: string, refetch?: boolean): Promise<PHDocument>;
|
|
19
|
+
subscribe(id: string | string[], callback: () => void): () => void;
|
|
20
|
+
}
|
|
3
21
|
//# sourceMappingURL=documents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../src/types/documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../src/types/documents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,IAAI,CACrD,eAAe,EACX,OAAO,GACP,OAAO,EAAE,GACT,cAAc,GACd,cAAc,EAAE,GAChB,SAAS,KACV,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAC7C,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,IACtB;IACE,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CACpE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DID, IConnectCrypto, IRenown, User } from "@renown/sdk";
|
|
2
2
|
import type { DocumentDriveDocument, IDocumentDriveServer, ProcessorManager } from "document-drive";
|
|
3
|
-
import type { PHDocument } from "document-model";
|
|
4
3
|
import type { PHGlobalConfig } from "./config.js";
|
|
4
|
+
import type { IDocumentCache } from "./documents.js";
|
|
5
5
|
import type { PHModal } from "./modals.js";
|
|
6
6
|
import type { TimelineItem } from "./timeline.js";
|
|
7
7
|
import type { VetraPackage } from "./vetra.js";
|
|
@@ -16,7 +16,7 @@ export type PHGlobal = PHGlobalConfig & {
|
|
|
16
16
|
vetraPackages?: VetraPackage[];
|
|
17
17
|
processorManager?: ProcessorManager;
|
|
18
18
|
drives?: DocumentDriveDocument[];
|
|
19
|
-
|
|
19
|
+
documentCache?: IDocumentCache;
|
|
20
20
|
selectedDriveId?: string;
|
|
21
21
|
selectedNodeId?: string;
|
|
22
22
|
modal?: PHModal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../../src/types/global.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../../src/types/global.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC;AACzC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,aAAa,IAAI,MACzD,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,aAAa,IAAI,CAC3D,KAAK,EAAE,MAAM,GAAG,SAAS,KACtB,IAAI,CAAC;AAEV,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAC7C,WAAW,EACX,uBAAuB,CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,WAAW,IAAI,WAAW,CAAC;KAC1D,GAAG,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,UAAU,GACV,gBAAgB,GAChB,YAAY,CAAC;AAEjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,EAAE,CAAC,EAAE,QAAQ,CAAC;KACf;CACF"}
|
|
@@ -24,6 +24,7 @@ export declare function getDriveAvailableOffline(drive: {
|
|
|
24
24
|
} | undefined | null): boolean;
|
|
25
25
|
export declare function getDocumentsForDriveId(reactor: IDocumentDriveServer | undefined, driveId: string | undefined): Promise<PHDocument[]>;
|
|
26
26
|
export declare function getDrives(reactor: IDocumentDriveServer | undefined): Promise<DocumentDriveDocument[]>;
|
|
27
|
+
export declare function getDocumentIds(reactor: IDocumentDriveServer | undefined): Promise<string[]>;
|
|
27
28
|
export declare function getDocuments(reactor: IDocumentDriveServer | undefined): Promise<PHDocument[]>;
|
|
28
29
|
export declare function getDriveById(reactor: IDocumentDriveServer | undefined, driveId: string | undefined): Promise<DocumentDriveDocument | undefined>;
|
|
29
30
|
export declare function getSyncStatus(documentId: string, sharingType: SharingType): Promise<SyncStatus | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drives.d.ts","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,
|
|
1
|
+
{"version":3,"file":"drives.d.ts","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAajD,4CAA4C;AAC5C,wBAAgB,mBAAmB,CACjC,KAAK,EACD;IACE,KAAK,EAAE;QACL,KAAK,EAAE;YACL,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH,GACD,SAAS,GACT,IAAI,eAST;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,CACtC,KAAK,EACD;IACE,KAAK,EAAE;QACL,KAAK,EAAE;YACL,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;SACnC,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACnC,CAAC;CACH,GACD,SAAS,GACT,IAAI,WAQT;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,CAOvB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAOlC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,OAAO,CAAC,UAAU,EAAE,CAAC,CAMvB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAG5C;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAejC;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,GACvB,UAAU,GAAG,SAAS,CAexB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,qBAAqB,GAAG,SAAS,GACvC,OAAO,GAAG,SAAS,CAIrB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,qBAAqB,GAAG,SAAS,GACvC,MAAM,GAAG,SAAS,CAYpB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAAG,SAAS,GACvC,OAAO,CAIT"}
|
package/dist/src/utils/drives.js
CHANGED
|
@@ -45,11 +45,16 @@ export async function getDrives(reactor) {
|
|
|
45
45
|
const drives = await Promise.allSettled(driveIds.map((id) => reactor.getDrive(id)));
|
|
46
46
|
return handleSettledResults(drives);
|
|
47
47
|
}
|
|
48
|
-
export async function
|
|
48
|
+
export async function getDocumentIds(reactor) {
|
|
49
49
|
if (!reactor)
|
|
50
50
|
return [];
|
|
51
51
|
const driveIds = await reactor.getDrives();
|
|
52
|
-
|
|
52
|
+
return handleSettledResults(await Promise.allSettled(driveIds.map((id) => reactor.getDocuments(id)))).flat();
|
|
53
|
+
}
|
|
54
|
+
export async function getDocuments(reactor) {
|
|
55
|
+
if (!reactor)
|
|
56
|
+
return [];
|
|
57
|
+
const documentIds = await getDocumentIds(reactor);
|
|
53
58
|
return handleSettledResults(await Promise.allSettled(documentIds.map((id) => reactor.getDocument(id))));
|
|
54
59
|
}
|
|
55
60
|
export async function getDriveById(reactor, driveId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"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"}
|