@peerbit/document 9.11.7 → 9.11.8-863fe8e

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.
@@ -0,0 +1,9 @@
1
+ import type { WithIndexedContext } from "./search";
2
+ export interface DocumentsChange<T, I> {
3
+ added: WithIndexedContext<T, I>[];
4
+ removed: WithIndexedContext<T, I>[];
5
+ }
6
+ export interface DocumentEvents<T, I> {
7
+ change: CustomEvent<DocumentsChange<T, I>>;
8
+ }
9
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":""}
@@ -7,4 +7,5 @@ export * from "./operation.js";
7
7
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
8
8
  export { ClosedError } from "@peerbit/program";
9
9
  export { type CustomDocumentDomain, createDocumentDomain, createDocumentDomainFromProperty, } from "./domain.js";
10
+ export * from "./events.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -6,4 +6,5 @@ export * from "./operation.js";
6
6
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
7
7
  export { ClosedError } from "@peerbit/program";
8
8
  export { createDocumentDomain, createDocumentDomainFromProperty, } from "./domain.js";
9
+ export * from "./events.js";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAiB7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEN,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAiB7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEN,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC"}
@@ -5,18 +5,12 @@ import { type Change, Entry, type ShallowOrFullEntry, type TrimOptions } from "@
5
5
  import { Program, type ProgramEvents } from "@peerbit/program";
6
6
  import { type EntryReplicated, type ReplicationDomain, type SharedAppendOptions, SharedLog, type SharedLogOptions } from "@peerbit/shared-log";
7
7
  import type { CustomDocumentDomain } from "./domain.js";
8
+ import type { DocumentEvents } from "./events.js";
8
9
  import { DeleteOperation, type Operation, PutOperation } from "./operation.js";
9
- import { type CanRead, type CanSearch, DocumentIndex, type PrefetchOptions, type TransformOptions, type WithIndexedContext } from "./search.js";
10
+ import { type CanRead, type CanSearch, DocumentIndex, type PrefetchOptions, type TransformOptions } from "./search.js";
10
11
  export declare class OperationError extends Error {
11
12
  constructor(message?: string);
12
13
  }
13
- export interface DocumentsChange<T, I> {
14
- added: WithIndexedContext<T, I>[];
15
- removed: WithIndexedContext<T, I>[];
16
- }
17
- export interface DocumentEvents<T, I> {
18
- change: CustomEvent<DocumentsChange<T, I>>;
19
- }
20
14
  type MaybePromise<T> = Promise<T> | T;
21
15
  type CanPerformPut<T> = {
22
16
  type: "put";
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EAKjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACN,KAAK,MAAM,EACX,KAAK,EAEL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,SAAS,EACT,KAAK,gBAAgB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAC;AACnE,OAAO,EAEN,eAAe,EACf,KAAK,SAAS,EACd,YAAY,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAIrB,MAAM,aAAa,CAAC;AAIrB,qBAAa,cAAe,SAAQ,KAAK;gBAC5B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEtC,KAAK,aAAa,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC3B,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,IAAI;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAC3B,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC/B,YAAY,CAAC,OAAO,CAAC,CAAC;AAE3B,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,YAAY,CACvB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EACvE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,IACnD;IACH,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,YAAY,CAAC,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;SAC1B,CAAC;QACF,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,WAAW,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,EACF,CAAC,CACD,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC5D,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAChC,MAAM,CAAC;CACV,GAAG,IAAI,CACP,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACzC,eAAe,GAAG,QAAQ,GAAG,MAAM,CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IACxB,CAAC,SAAS,iBAAiB,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAElE,qBACa,SAAS,CACrB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EACvE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,CACrD,SAAQ,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC;IAE7E,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAGxC,SAAS,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,MAAM,CAAyB;IAEvC,OAAO,CAAC,MAAM,CAAmB;IAEjC,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,MAAM,CAAC,CAAkC;IACjD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAErD,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBAErB,UAAU,CAAC,EAAE;QACxB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IAQD,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAElC;YAEa,mBAAmB;IAUjC,OAAO,CAAC,SAAS,CAAsC;IACjD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IA0HnC,OAAO;YAIC,aAAa;IAOrB,SAAS,CACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,GAClD,OAAO,CAAC,OAAO,CAAC;IAuDb,UAAU,CACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,GAClD,OAAO,CAAC,YAAY,GAAG,eAAe,GAAG,KAAK,CAAC;IA4IrC,GAAG,CACf,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACtB;;;;IAgEI,GAAG,CACR,EAAE,EAAE,YAAY,CAAC,OAAO,EACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;;;;IAiCnC,aAAa,CAClB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EACzB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACpE,OAAO,CAAC,IAAI,CAAC;IAqKV,KAAK,CAAC,OAAO,CAAC,EAAE;QACrB,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QACpD,WAAW,EAAE,IAAI,GAAG;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACxC,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCnB"}
@@ -75,6 +75,7 @@ let Documents = class Documents extends Program {
75
75
  this.compatibility = options.compatibility;
76
76
  this.strictHistory = options.strictHistory ?? false;
77
77
  await this._index.open({
78
+ documentEvents: this.events,
78
79
  log: this.log,
79
80
  canRead: options?.index?.canRead,
80
81
  canSearch: options.index?.canSearch,
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAEN,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAEN,KAAK,EACL,SAAS,GAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAsB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAIN,SAAS,GAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACN,wBAAwB,EACxB,eAAe,EAEf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGN,aAAa,EAIb,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEhD,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;CACD;AAuEM,IAAM,SAAS,GAAf,MAAM,SAIX,SAAQ,OAAoE;IAE7E,GAAG,CAAqC;IAGxC,SAAS,CAAU,CAAC,gCAAgC;IAG5C,MAAM,CAAyB;IAE/B,MAAM,CAAmB;IAEzB,iBAAiB,CAAiB;IAClC,UAAU,CAA0C;IACpD,MAAM,CAAmC;IACzC,aAAa,CAAU;IAC/B,OAAO,CAA8C;IAErD,aAAa,CAAoB;IAEjC,YAAY,UAIX;QACA,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAkB;QACnD,IAAI,MAAM,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACnC,MAAM,EAAE,IAAyB;gBACjC,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAuB,CAAC,CAAC,aAAa;QACzC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IACO,SAAS,GAA4B,SAAS,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,OAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE/B,oBAAoB;QACpB,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACd,2FAA2F,CAC3F,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;QAC5C,MAAM,UAAU,GACf,OAAO,CAAC,KAAK,EAAE,UAAU;YACzB,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC;QACN,MAAM,UAAU,GACf,OAAO,CAAC,EAAE;YACV,CAAC,OAAO,UAAU,KAAK,QAAQ;gBAC9B,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,UAAoB,CAAC;gBACzC,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CACb,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAsB,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QAEpD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;YAChC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS;YACnC,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;YAC5B,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnC,yDAAyD;gBAEzD,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,OAAO,CAAC,OAAO;qBACb,IAAI,EAAE;qBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBACtD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACd,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CACjB,EACF,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACpD,CAAC;YACH,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ;YACjC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc;SAC7C,CAAC,CAAC;QAEH,8DAA8D;QAC9D,4CAA4C;QAC5C,IAAI,eAAe,GAAuB,SAAS,CAAC;QACpD,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACjC,eAAe,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACxC,eAAe,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,YAIQ,CAAC;QACb,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC3B,YAAY,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,IAAI,UAAU,GAAmC,SAAS,CAAC;gBAC3D,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBACxB,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7C,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACpC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9D,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACb,CAAC;gBACF,CAAC;gBACD,OAAO,KAAK,CAAC,CAAC,wBAAwB;YACvC,CAAC,CAAC;QACH,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,OAAO,EAAE,IAAI,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,wBAAwB;YAClC,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI;YACxB,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM;gBACvB,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,SAAS,CAAQ,EAAE,eAAe;YACrC,aAAa,EAAE,eAAe;YAC9B,IAAI,EAAE,YAAY;SAClB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAkC;QAC7D,OAAO,OAAO,OAAO,KAAK,QAAQ;YACjC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC,MAAM,KAAK,CAAC,aAAa,CAAY,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,OAAO,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,SAAS,CACd,KAAuB,EACvB,SAAoD;QAEpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAyB,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACJ,IAAI,SAAS,GAAmC,EAAE,CAAC;YACnD,IAAI,QAAQ,GAAkB,SAAS,EAAE,QAAQ,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;qBAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClC,gCAAgC;oBAChC,mDAAmD;oBACnD,oCAAoC;gBACrC,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IACC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAC7B,cAAc,CAAC,SAAS,CAAC;oBACxB,CAAC,CAAC;wBACA,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,QAAS;wBAChB,SAAS;wBACT,KAAK,EAAE,KAAmC;qBAC1C;oBACF,CAAC,CAAC;wBACA,IAAI,EAAE,QAAQ;wBACd,SAAS;wBACT,KAAK,EAAE,KAAsC;qBAC7C,CACH,CAAC,EACD,CAAC;oBACF,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACpE,OAAO,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CACf,KAAuB,EACvB,SAAoD;QAEpD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;YAC5D,OAAO,OAAO,OAAO,KAAK,QAAQ;gBACjC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3D,CAAC,CAAC,OAAO,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;YACpE,wEAAwE;YACxE,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,OACC,OAAO,EAAE,IAAI;gBACb,IAAI,KAAK,OAAO,EAAE,IAAI;gBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC3B,CAAC;gBACF,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;YACzD,CAAC;YACD,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,CAAC,sFAAsF;YACpG,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;aACrC,CAAC,CAAC;YACH,MAAM,SAAS,GACd,SAAS,EAAE,SAAS;gBACpB;;yBAEM,CAAC,CAAC,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,8EAA8E;YACvH,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,cAAc;gBACd,MAAM,YAAY,GAAG,SAAyB,CAAC;gBAC/C,IAAI,KAAK,GACR,SAAS,EAAE,QAAQ;oBACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAExC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAExC,MAAM,gBAAgB,GAAG,CACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;oBACjC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK;iBACzD,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;oBACtE,4HAA4H;oBAC5H,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACpB,8CAA8C;wBAC9C,4DAA4D;wBAC5D,IACC,gBAAgB,CAAC,OAAO,CAAC,OAAO;4BAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAClC,CAAC;4BACF,OAAO,KAAK,CAAC;wBACd,CAAC;wBAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC,CAAC,uCAAuC;wBACtD,CAAC;wBAED,OAAO,YAAY,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACP,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;4BACxB,6EAA6E;4BAC7E,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCAClC,OAAO,KAAK,CAAC;4BACd,CAAC;4BAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAClD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAC7B,CAAC;4BACF,IAAI,CAAC,SAAS,EAAE,CAAC;gCAChB,MAAM,CAAC,KAAK,CACX,mDAAmD;oCAClD,KAAK,CAAC,IAAI,CACX,CAAC;gCACF,OAAO,KAAK,CAAC;4BACd,CAAC;4BACD,MAAM,yBAAyB,GAC9B,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;4BAClC,OAAO,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;wBACzD,CAAC;6BAAM,CAAC;4BACP,OAAO,YAAY,CAAC;wBACrB,CAAC;oBACF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,0DAA0D;oBAC1D,yDAAyD;oBACzD,6EAA6E;gBAC9E,CAAC;YACF,CAAC;iBAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,gBAAgB,GAAG,CACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC3C,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI,CAAC,SAAS;iBACtB,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvB,kBAAkB;oBAClB,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACtD,CAAC;gBACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,mCAAmC;oBACnC,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC,CAAC,2CAA2C;YAC1D,CAAC;iBAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACpE,OAAO,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,GAAG,CACf,GAAM,EACN,OAIC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEtC,qBAAqB;QACrB,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACd,0BACC,GAAG,CAAC,MAAM,GAAG,IACd,gCAAgC,cAAc,GAAG,IAAI,KAAK,CAC1D,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,EAAE,MAAM;YACvC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CACA,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,OAAO,EAAE,WAAW;oBAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;oBACnC,CAAC,CAAC,KAAK,EAAE,0CAA0C;aACpD,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,SAA6C,CAAC;QAClD,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,SAAS,GAAG,IAAI,mBAAmB,CAAC;oBACnC,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,GAAG;iBACT,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,IAAI,YAAY,CAAC;gBAC5B,IAAI,EAAE,GAAG;aACT,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;YACjD,GAAG,OAAO;YACV,IAAI,EAAE;gBACL,IAAI,EAAE,gBAAgB;oBACrB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3D,CAAC,CAAC,EAAE;gBACL,GAAG,OAAO,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,SAAS,EAAE,OAAO,EAAE,SAAS;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CACR,EAAwB,EACxB,OAAwC;QAExC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;SACzC,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,SAAS,mBAAmB,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CACrB,IAAI,eAAe,CAAC;YACnB,GAAG;SACH,CAAC,EACF;YACC,GAAG,OAAO;YACV,IAAI,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK,CAAC;gBACb,IAAI,EAAE,SAAS,CAAC,GAAG;gBACnB,GAAG,OAAO,EAAE,IAAI;aAChB;SACD,CACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,MAAyB,EACzB,SAAsE;QAEtE,MAAM,iBAAiB,GACtB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;QAEpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,aAAa,GAAG;YACrB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,GAAG,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5D,CACD,CAAC,IAAI,EAAE,CAAC;SACT,CAAC,CAAC,sBAAsB;QACzB;;qEAEoD;QAEpD,uIAAuI;QACvI,oIAAoI;QAEpI,IAAI,gBAAgB,GAA0B;YAC7C,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,SAAS;YACV,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,OAAO;gBACZ;;yBAEM,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,8EAA8E;gBAEpH,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,IAAI,KAAK,GACR,CAAC,iBAAiB;wBACjB,SAAS,EAAE,SAAS,KAAK,OAAO;wBAChC,SAAS,EAAE,QAAQ,CAAC;wBACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEhD,2BAA2B;oBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACzC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEzC,qDAAqD;oBACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACjC,SAAS;oBACV,CAAC;oBAED,8DAA8D;oBAC9D,IAAI,QAAQ,GAAG,SAAS,EAAE,MAAM;wBAC/B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;wBACrC,2CAA2C;wBAC3C,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS;4BACtC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;gCAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;4BACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;gCAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;wBACrC,IAAI,kBAAkB,EAAE,CAAC;4BACxB,SAAS;wBACV,CAAC;oBACF,CAAC;oBAED,mBAAmB;oBACnB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;wBAC9B,2BAA2B;wBAC3B,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAC/C,CAAC;oBACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnD,KAAK,EACL,GAAG,EACH,IAAI,EACJ,QAAQ,CACR,CAAC;oBACF,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAC1B,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAC/D,CAAC;oBAEF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IACN,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1D,cAAc,CAAC,OAAO,CAAC;oBACvB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,CAAC;oBACF,IAAI,KAA+B,CAAC;oBACpC,IAAI,GAAuB,CAAC;oBAE5B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAC3D,OAAO,CAAC,IAAI,CACZ,CAAC;wBACF,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBAC9D,qDAAqD;wBACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjC,SAAS;wBACV,CAAC;wBAED,wEAAwE;wBACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;4BAC3C,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,KAAK;yBACb,CAAC,CAAC;wBACH,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACf,SAAS;wBACV,CAAC;wBACD,KAAK,GAAG,QAAQ,CAAC;oBAClB,CAAC;yBAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvC,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;wBACzC,qDAAqD;wBACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjC,SAAS;wBACV,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;4BAC3C,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,KAAK;yBACb,CAAC,CAAC;wBACH,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACf,SAAS;wBACV,CAAC;wBACD,KAAK,GAAG,QAAQ,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC/B,CAAC;oBAED,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAErC,IACC,KAAK,YAAY,OAAO;wBACxB,KAAK,CAAC,MAAM,KAAK,IAAI;wBACrB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3B,CAAC;wBACF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;oBAED,eAAe;oBACf,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACP,oBAAoB;oBACpB,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBAClC,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CACxB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CACvD,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,KAAK,CAAC,OAGX;QACA,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAClC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EACzB;gBACC,MAAM,EAAE;oBACP,KAAK,EACJ,CAAC,OAAO,OAAO,EAAE,WAAW,KAAK,QAAQ;wBACxC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;wBAC5B,KAAK;iBACN;gBACD,OAAO,EAAE,KAAK;aACd,CACD,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;mEACf;QACxD,IAAI,kBAAkB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC1D,MAAM,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,qBAAqB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YACxD,KAAK,EAAE,OAAO,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,qBAAqB,CAAC,CAAC,gCAAgC;QAC/D,CAAC;QAED,MAAM,wBAAwB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,SAAS;QACtF,IAAI,yBAAyB,GAAG,cAAc,GAAG,wBAAwB,CAAC,CAAC,gHAAgH;QAC3L,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;CACD,CAAA;AArrBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACtB,SAAS;sCAA0B;AAGxC;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACL;AAGX;IADP,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACf,aAAa;yCAAU;AAZ3B,SAAS;IADrB,OAAO,CAAC,WAAW,CAAC;;GACR,SAAS,CA2rBrB"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type AbstractType } from "@dao-xyz/borsh";
2
- import type { PeerId } from "@libp2p/interface";
2
+ import type { PeerId, TypedEventTarget } from "@libp2p/interface";
3
3
  import { type MaybePromise, PublicSignKey } from "@peerbit/crypto";
4
4
  import * as types from "@peerbit/document-interface";
5
5
  import { type QueryCacheOptions } from "@peerbit/indexer-cache";
@@ -8,6 +8,7 @@ import { type Encoding, Entry } from "@peerbit/log";
8
8
  import { Program } from "@peerbit/program";
9
9
  import { RPC, type RPCRequestAllOptions } from "@peerbit/rpc";
10
10
  import { type CoverRange, type ReplicationDomain, SharedLog } from "@peerbit/shared-log";
11
+ import type { DocumentEvents } from "./events.js";
11
12
  import type { QueryPredictor } from "./most-common-query-predictor.js";
12
13
  import { type Operation } from "./operation.js";
13
14
  import { Prefetch } from "./prefetch.js";
@@ -36,6 +37,13 @@ export type QueryOptions<R, D, Resolve extends boolean | undefined> = {
36
37
  resolve?: Resolve;
37
38
  signal?: AbortSignal;
38
39
  };
40
+ export type GetOptions<R, D, Resolve extends boolean | undefined> = {
41
+ remote?: boolean | RemoteQueryOptions<types.AbstractSearchRequest, types.AbstractSearchResult, D>;
42
+ local?: boolean;
43
+ resolve?: Resolve;
44
+ signal?: AbortSignal;
45
+ waitFor?: number;
46
+ };
39
47
  export type SearchOptions<R, D, Resolve extends boolean | undefined> = QueryOptions<R, D, Resolve>;
40
48
  type Transformer<T, I> = (obj: T, context: types.Context) => MaybePromise<I>;
41
49
  export type ResultsIterator<T> = {
@@ -76,6 +84,7 @@ export type PrefetchOptions = {
76
84
  strict?: boolean;
77
85
  };
78
86
  export type OpenOptions<T, I, D extends ReplicationDomain<any, Operation, any>> = {
87
+ documentEvents: TypedEventTarget<DocumentEvents<T, I>>;
79
88
  documentType: AbstractType<T>;
80
89
  dbType: AbstractType<types.IDocumentStore<T>>;
81
90
  log: SharedLog<Operation, D, any>;
@@ -120,6 +129,7 @@ export declare class DocumentIndex<T, I extends Record<string, any>, D extends R
120
129
  private _maybeOpen;
121
130
  private canSearch?;
122
131
  private canRead?;
132
+ private documentEvents;
123
133
  private _joinListener?;
124
134
  private _resultQueue;
125
135
  constructor(properties?: {
@@ -136,9 +146,10 @@ export declare class DocumentIndex<T, I extends Record<string, any>, D extends R
136
146
  get hasPending(): boolean;
137
147
  close(from?: Program): Promise<boolean>;
138
148
  drop(from?: Program): Promise<boolean>;
139
- get<Options extends QueryOptions<T, D, true | undefined>>(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: Options): Promise<WithIndexedContext<T, I>>;
140
- get<Options extends QueryOptions<T, D, false>>(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: Options): Promise<WithContext<I>>;
149
+ get<Options extends GetOptions<T, D, true | undefined>>(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: Options): Promise<WithIndexedContext<T, I>>;
150
+ get<Options extends GetOptions<T, D, false>>(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: Options): Promise<WithContext<I>>;
141
151
  getFromGid(gid: string): Promise<indexerTypes.IndexedResult<WithContext<I>>>;
152
+ getFromHash(hash: string): Promise<indexerTypes.IndexedResult<WithContext<I>>>;
142
153
  put(value: T, id: indexerTypes.IdKey, entry: Entry<Operation>, existing: indexerTypes.IndexedResult<WithContext<I>> | null | undefined): Promise<{
143
154
  context: types.Context;
144
155
  indexable: I;
@@ -157,7 +168,7 @@ export declare class DocumentIndex<T, I extends Record<string, any>, D extends R
157
168
  private clearResultsQueue;
158
169
  get countIteratorsInProgress(): number;
159
170
  private clearAllResultQueues;
160
- processCloseIteratorRequest(query: types.CloseIteratorRequest, publicKey: PublicSignKey): Promise<void>;
171
+ processCloseIteratorRequest(query: types.CloseIteratorRequest, publicKey: PublicSignKey): void;
161
172
  /**
162
173
  * Query and retrieve results with most details
163
174
  * @param queryRequest
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { MissingResponsesError, RPC, queryAll, } from "@peerbit/rpc";
21
21
  import { SharedLog, } from "@peerbit/shared-log";
22
22
  import { DataMessage, SilentDelivery } from "@peerbit/stream-interface";
23
23
  import { AbortError, waitFor } from "@peerbit/time";
24
+ import pDefer from "p-defer";
24
25
  import { concat, fromString } from "uint8arrays";
25
26
  import { copySerialization } from "./borsh.js";
26
27
  import { MAX_BATCH_SIZE } from "./constants.js";
@@ -103,6 +104,7 @@ function isSubclassOf(SubClass, SuperClass) {
103
104
  }
104
105
  return false;
105
106
  }
107
+ const DEFAULT_TIMEOUT = 1e4;
106
108
  const DEFAULT_INDEX_BY = "id";
107
109
  const isTransformerWithFunction = (options) => {
108
110
  return options.transform != null;
@@ -148,6 +150,7 @@ let DocumentIndex = class DocumentIndex extends Program {
148
150
  _maybeOpen;
149
151
  canSearch;
150
152
  canRead;
153
+ documentEvents;
151
154
  _joinListener;
152
155
  _resultQueue;
153
156
  constructor(properties) {
@@ -182,6 +185,7 @@ let DocumentIndex = class DocumentIndex extends Program {
182
185
  this.indexedTypeIsDocumentType =
183
186
  !properties.transform?.type ||
184
187
  properties.transform?.type === properties.documentType;
188
+ this.documentEvents = properties.documentEvents;
185
189
  this.compatibility = properties.compatibility;
186
190
  this.canRead = properties.canRead;
187
191
  this.canSearch = properties.canSearch;
@@ -421,7 +425,36 @@ let DocumentIndex = class DocumentIndex extends Program {
421
425
  return dropped;
422
426
  }
423
427
  async get(key, options) {
424
- const result = (await this.getDetailed(key instanceof indexerTypes.IdKey ? key : indexerTypes.toId(key), options))?.[0]?.results[0];
428
+ let idKey = key instanceof indexerTypes.IdKey ? key : indexerTypes.toId(key);
429
+ const result = (await this.getDetailed(idKey, options))?.[0]?.results[0];
430
+ // if no results, and we have remote joining options, we wait for the timout and if there are joining peers we re-query
431
+ if (!result) {
432
+ if (options?.waitFor) {
433
+ let deferred = pDefer();
434
+ const listener = (evt) => {
435
+ for (const added of evt.detail.added) {
436
+ const id = this.indexByResolver(added.__indexed);
437
+ if (id === idKey.primitive) {
438
+ deferred.resolve(added);
439
+ }
440
+ }
441
+ };
442
+ this.documentEvents.addEventListener("change", listener);
443
+ let cleanup = () => {
444
+ this.documentEvents.removeEventListener("change", listener);
445
+ clearTimeout(timeout);
446
+ this.events.removeEventListener("close", resolveUndefined);
447
+ };
448
+ let resolveUndefined = () => {
449
+ cleanup();
450
+ deferred.resolve(undefined);
451
+ };
452
+ let timeout = setTimeout(resolveUndefined, options.waitFor);
453
+ this.events.addEventListener("close", resolveUndefined);
454
+ return deferred.promise;
455
+ }
456
+ return undefined;
457
+ }
425
458
  return result?.value;
426
459
  }
427
460
  async getFromGid(gid) {
@@ -430,6 +463,12 @@ let DocumentIndex = class DocumentIndex extends Program {
430
463
  await iterator.close();
431
464
  return one[0];
432
465
  }
466
+ async getFromHash(hash) {
467
+ const iterator = this.index.iterate({ query: { hash } });
468
+ const one = await iterator.next(1);
469
+ await iterator.close();
470
+ return one[0];
471
+ }
433
472
  async put(value, id, entry, existing) {
434
473
  const existingDefined = existing === undefined ? await this.index.get(id) : existing;
435
474
  const context = new types.Context({
@@ -728,7 +767,7 @@ let DocumentIndex = class DocumentIndex extends Program {
728
767
  this._resumableIterators.close({ idString: key });
729
768
  }
730
769
  }
731
- async processCloseIteratorRequest(query, publicKey) {
770
+ processCloseIteratorRequest(query, publicKey) {
732
771
  const queueData = this._resultQueue.get(query.idString);
733
772
  if (queueData && !queueData.from.equals(publicKey)) {
734
773
  logger.info("Ignoring close iterator request from different peer");
@@ -786,6 +825,7 @@ let DocumentIndex = class DocumentIndex extends Program {
786
825
  : await this._log.getCover(remote.domain ?? { args: undefined }, {
787
826
  roleAge: remote.minAge,
788
827
  eager: remote.eager,
828
+ reachableOnly: !!remote.joining, // when we want to merge joining we can ignore pending to be online peers and instead consider them once they become online
789
829
  });
790
830
  if (replicatorGroups) {
791
831
  const responseHandler = async (results) => {
@@ -996,8 +1036,8 @@ let DocumentIndex = class DocumentIndex extends Program {
996
1036
  if (typeof options?.remote === "object" && options.remote.joining) {
997
1037
  let t0 = +new Date();
998
1038
  let waitForTime = typeof options.remote.joining === "boolean"
999
- ? 1e4
1000
- : (options.remote.joining.waitFor ?? 1e4);
1039
+ ? DEFAULT_TIMEOUT
1040
+ : (options.remote.joining.waitFor ?? DEFAULT_TIMEOUT);
1001
1041
  let setDoneIfTimeout = false;
1002
1042
  maybeSetDone = () => {
1003
1043
  if (t0 + waitForTime < +new Date()) {
@@ -1312,25 +1352,26 @@ let DocumentIndex = class DocumentIndex extends Program {
1312
1352
  }
1313
1353
  return dedup(coercedBatch, this.indexByResolver);
1314
1354
  };
1315
- let close = async () => {
1355
+ let cleanupAndDone = () => {
1316
1356
  cleanup();
1317
- done = true;
1318
1357
  controller.abort(new AbortError("Iterator closed"));
1358
+ this.prefetch?.accumulator.clear(queryRequestCoerced);
1359
+ this.processCloseIteratorRequest(queryRequestCoerced, this.node.identity.publicKey);
1360
+ done = true;
1361
+ };
1362
+ let close = async () => {
1363
+ cleanupAndDone();
1364
+ // send close to remote
1319
1365
  const closeRequest = new types.CloseIteratorRequest({
1320
1366
  id: queryRequestCoerced.id,
1321
1367
  });
1322
- this.prefetch?.accumulator.clear(queryRequestCoerced);
1323
1368
  const promises = [];
1324
1369
  for (const [peer, buffer] of peerBufferMap) {
1325
1370
  if (buffer.kept === 0) {
1326
1371
  peerBufferMap.delete(peer);
1327
1372
  continue;
1328
1373
  }
1329
- // Fetch locally?
1330
- if (peer === this.node.identity.publicKey.hashcode()) {
1331
- promises.push(this.processCloseIteratorRequest(closeRequest, this.node.identity.publicKey));
1332
- }
1333
- else {
1374
+ if (peer !== this.node.identity.publicKey.hashcode()) {
1334
1375
  // Close remote
1335
1376
  promises.push(this._query.send(closeRequest, {
1336
1377
  ...options,
@@ -1345,12 +1386,41 @@ let DocumentIndex = class DocumentIndex extends Program {
1345
1386
  return done;
1346
1387
  };
1347
1388
  let joinListener;
1389
+ let updateDeferred;
1390
+ const signalUpdate = () => updateDeferred?.resolve();
1391
+ const waitForUpdate = () => updateDeferred ? updateDeferred.promise : Promise.resolve();
1348
1392
  if (typeof options?.remote === "object" && options?.remote.joining) {
1349
1393
  let onMissedResults = typeof options?.remote?.joining === "object" &&
1350
1394
  typeof options?.remote.joining.onMissedResults === "function"
1351
1395
  ? options.remote.joining.onMissedResults
1352
1396
  : undefined;
1397
+ updateDeferred = pDefer();
1398
+ const waitForTime = typeof options.remote.joining === "object" &&
1399
+ options.remote.joining.waitFor;
1400
+ const prevMaybeSetDone = maybeSetDone;
1401
+ maybeSetDone = () => {
1402
+ prevMaybeSetDone();
1403
+ if (done)
1404
+ signalUpdate(); // break deferred waits
1405
+ };
1406
+ let joinTimeoutId = waitForTime &&
1407
+ setTimeout(() => {
1408
+ signalUpdate();
1409
+ }, waitForTime);
1410
+ controller.signal.addEventListener("abort", () => signalUpdate());
1411
+ let activeJoins = new Set();
1353
1412
  joinListener = async (e) => {
1413
+ if (done)
1414
+ return;
1415
+ const pk = e.detail;
1416
+ const hash = pk.hashcode();
1417
+ if (hash === this.node.identity.publicKey.hashcode())
1418
+ return;
1419
+ if (peerBufferMap.has(hash))
1420
+ return;
1421
+ if (activeJoins.has(hash))
1422
+ return;
1423
+ activeJoins.add(hash);
1354
1424
  if (totalFetchedCounter > 0) {
1355
1425
  // wait for the node to become a replicator, then so query
1356
1426
  await this._log
@@ -1392,9 +1462,13 @@ let DocumentIndex = class DocumentIndex extends Program {
1392
1462
  }
1393
1463
  }
1394
1464
  }
1465
+ signalUpdate();
1395
1466
  })
1396
1467
  .catch(() => {
1397
1468
  /* TODO error handling */
1469
+ })
1470
+ .finally(() => {
1471
+ activeJoins.delete(hash);
1398
1472
  });
1399
1473
  }
1400
1474
  };
@@ -1402,6 +1476,9 @@ let DocumentIndex = class DocumentIndex extends Program {
1402
1476
  const cleanupDefault = cleanup;
1403
1477
  cleanup = () => {
1404
1478
  this._query.events.removeEventListener("join", joinListener);
1479
+ joinTimeoutId && clearTimeout(joinTimeoutId);
1480
+ updateDeferred?.resolve();
1481
+ updateDeferred = undefined;
1405
1482
  return cleanupDefault();
1406
1483
  };
1407
1484
  }
@@ -1418,10 +1495,25 @@ let DocumentIndex = class DocumentIndex extends Program {
1418
1495
  },
1419
1496
  all: async () => {
1420
1497
  let result = [];
1498
+ let c = 0;
1421
1499
  while (doneFn() !== true) {
1500
+ c++;
1422
1501
  let batch = await next(100);
1423
- result.push(...batch);
1502
+ if (c > 100) {
1503
+ break;
1504
+ }
1505
+ if (batch.length > 0) {
1506
+ result.push(...batch);
1507
+ continue;
1508
+ }
1509
+ // wait until: join fetch adds results, cleanup runs, or the join-wait times out
1510
+ await waitForUpdate();
1511
+ // re-arm the deferred for the next cycle (only if joining is enabled and we’re not done)
1512
+ if (updateDeferred && !doneFn()) {
1513
+ updateDeferred = pDefer();
1514
+ }
1424
1515
  }
1516
+ cleanupAndDone();
1425
1517
  return result;
1426
1518
  },
1427
1519
  };