@powerhousedao/reactor-browser 5.0.0-staging.27 → 5.0.0-staging.30

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.
@@ -9,7 +9,7 @@ export type ReactorDefaultDrivesConfig = {
9
9
  };
10
10
  export declare const getReactorDefaultDrivesConfig: (config?: ReactorDefaultDrivesConfig) => Pick<DocumentDriveServerOptions, "defaultDrives">;
11
11
  export declare function createBrowserDocumentDriveServer(documentModelModules: DocumentModelModule[], routerBasename: string, documentDriveServerOptions?: DocumentDriveServerOptions): IDocumentDriveServer;
12
- export declare function refreshReactorData(reactor: Reactor | undefined): Promise<void>;
12
+ export declare const refreshReactorData: (reactor: Reactor | undefined, immediate?: boolean) => Promise<void>;
13
13
  export declare function initReactor(reactor: Reactor, renown: IRenown | undefined, connectCrypto: IConnectCrypto | undefined): Promise<void>;
14
14
  export declare function handleCreateFirstLocalDrive(reactor: Reactor | undefined, localDrivesEnabled?: boolean): Promise<import("document-drive").DocumentDriveDocument | undefined>;
15
15
  export declare function initConnectCrypto(): Promise<ConnectCrypto>;
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,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,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,GACtD,oBAAoB,CAWtB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,iBAMpE;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,iBAQ1C;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,kBAAkB,UAAO,uEAyB1B;AAsBD,wBAAsB,iBAAiB,2BAItC"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,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,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,GACtD,oBAAoB,CAWtB;AA6CD,eAAO,MAAM,kBAAkB,YAzBZ,OAAO,GAAG,SAAS,uCAyB+B,CAAC;AAEtE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,iBAQ1C;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,kBAAkB,UAAO,uEAyB1B;AAsBD,wBAAsB,iBAAiB,2BAItC"}
@@ -56,7 +56,9 @@ export function createBrowserDocumentDriveServer(documentModelModules, routerBas
56
56
  }
57
57
  return builder.build();
58
58
  }
59
- export async function refreshReactorData(reactor) {
59
+ const DEFAULT_DEBOUNCE_DELAY_MS = 200;
60
+ const DEFAULT_IMMEDIATE_THRESHOLD_MS = 1000;
61
+ async function _refreshReactorData(reactor) {
60
62
  if (!reactor)
61
63
  return;
62
64
  const drives = await getDrives(reactor);
@@ -64,6 +66,31 @@ export async function refreshReactorData(reactor) {
64
66
  dispatchSetDrivesEvent(drives);
65
67
  dispatchSetDocumentsEvent(documents);
66
68
  }
69
+ function createDebouncedRefreshReactorData(debounceDelayMs = DEFAULT_DEBOUNCE_DELAY_MS, immediateThresholdMs = DEFAULT_IMMEDIATE_THRESHOLD_MS) {
70
+ let timeout = null;
71
+ let lastRefreshTime = 0;
72
+ return (reactor, immediate = false) => {
73
+ const now = Date.now();
74
+ const timeSinceLastRefresh = now - lastRefreshTime;
75
+ // Clear any pending timeout
76
+ if (timeout !== null) {
77
+ clearTimeout(timeout);
78
+ }
79
+ // If caller requests immediate execution or enough time has passed, execute immediately
80
+ if (immediate || timeSinceLastRefresh >= immediateThresholdMs) {
81
+ lastRefreshTime = now;
82
+ return _refreshReactorData(reactor);
83
+ }
84
+ // Otherwise, debounce the call
85
+ return new Promise((resolve) => {
86
+ timeout = setTimeout(() => {
87
+ lastRefreshTime = Date.now();
88
+ void _refreshReactorData(reactor).then(resolve);
89
+ }, debounceDelayMs);
90
+ });
91
+ };
92
+ }
93
+ export const refreshReactorData = createDebouncedRefreshReactorData();
67
94
  export async function initReactor(reactor, renown, connectCrypto) {
68
95
  await initJwtHandler(reactor, renown, connectCrypto);
69
96
  const errors = await reactor.initialize();
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,SAAqC,EAAE,EACY,EAAE;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAEvD,MAAM,YAAY,GAA8B,gBAAgB,CAAC,GAAG,CAClE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,kBAAkB;wBACxB,eAAe,EAAE,iBAAiB;qBACnC;oBACD,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,MAAM,CAAC;wBAChB,UAAU,EAAE,CAAC,GAAG,CAAC;wBACjB,YAAY,EAAE,CAAC,GAAG,CAAC;wBACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;qBAClB;oBACD,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,GAAG;oBACf,MAAM,EAAE,IAAI;iBACb;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CACH,CAAC;IAEF,OAAO;QACL,aAAa,EAAE;YACb,YAAY;YACZ,qBAAqB,EACnB,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC;oBACE,QAAQ,EAAE,4BAA4B;oBACtC,IAAI,EAAE,gBAAgB;iBACvB;gBACH,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAC9C,oBAA2C,EAC3C,cAAsB,EACtB,0BAAuD;IAEvD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC;SACrD,WAAW,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;SAC/C,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;SAC9B,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAE5C,IAAI,0BAA0B,EAAE,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,KAAK,UAAU,mBAAmB,CAAC,OAA4B;IAC7D,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,yBAAyB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,iCAAiC,CACxC,eAAe,GAAG,yBAAyB,EAC3C,oBAAoB,GAAG,8BAA8B;IAErD,IAAI,OAAO,GAAyC,IAAI,CAAC;IACzD,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,OAAO,CAAC,OAA4B,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,GAAG,GAAG,eAAe,CAAC;QAEnD,4BAA4B;QAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,wFAAwF;QACxF,IAAI,SAAS,IAAI,oBAAoB,IAAI,oBAAoB,EAAE,CAAC;YAC9D,eAAe,GAAG,GAAG,CAAC;YACtB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,+BAA+B;QAC/B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,KAAK,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,EAAE,eAAe,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,EAAE,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,MAA2B,EAC3B,aAAyC;IAEzC,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA4B,EAC5B,kBAAkB,GAAG,IAAI;IAEzB,IAAI,CAAC,kBAAkB,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAEzD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,SAAS;QAAE,OAAO;IAEtB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,kBAAkB,OAAO,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QACtC,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,IAAI;SACX;QACD,KAAK,EAAE;YACL,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,MAA2B,EAC3B,aAAyC;IAEzC,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IACxB,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC/C,OAAO,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;YAChE,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IACjE,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,aAAa,CAAC;AACvB,CAAC"}