@peerbit/document 7.0.13-e1db01f → 7.0.14-ccaf4f4

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.
@@ -1,6 +1,7 @@
1
1
  export * from "@peerbit/indexer-interface";
2
2
  export * from "./program.js";
3
- export type { CanRead, BORSH_ENCODING_OPERATION, CanSearch, DeleteOperation, DocumentIndex, IDocumentWithContext, OpenOptions, Operation, PutOperation, QueryOptions, RemoteQueryOptions, ResultsIterator, SearchOptions, TransformOptions, TransformerAsConstructor, TransformerAsFunction, } from "./search.js";
3
+ export type { CanRead, CanSearch, DocumentIndex, IDocumentWithContext, OpenOptions, QueryOptions, RemoteQueryOptions, ResultsIterator, SearchOptions, TransformOptions, TransformerAsConstructor, TransformerAsFunction, } from "./search.js";
4
+ export * from "./operation.js";
4
5
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
5
6
  export { ClosedError } from "@peerbit/program";
6
7
  //# 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,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,wBAAwB,EACxB,SAAS,EACT,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "@peerbit/indexer-interface";
2
2
  export * from "./program.js";
3
+ export * from "./operation.js";
3
4
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
4
5
  export { ClosedError } from "@peerbit/program";
5
6
  //# 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,cAAc,CAAC;AAmB7B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAe7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import * as indexerTypes from "@peerbit/indexer-interface";
2
+ export declare class Operation {
3
+ }
4
+ export declare const BORSH_ENCODING_OPERATION: import("@peerbit/log").Encoding<Operation>;
5
+ export declare class PutWithKeyOperation extends Operation {
6
+ key: string;
7
+ data: Uint8Array;
8
+ constructor(props: {
9
+ key: string;
10
+ data: Uint8Array;
11
+ });
12
+ }
13
+ export declare class DeleteByStringKeyOperation extends Operation {
14
+ key: string;
15
+ constructor(props: {
16
+ key: string;
17
+ });
18
+ toDeleteOperation(): DeleteOperation;
19
+ }
20
+ export declare const coerceDeleteOperation: (operation: DeleteOperation | DeleteByStringKeyOperation) => DeleteOperation;
21
+ export declare class PutOperation extends Operation {
22
+ data: Uint8Array;
23
+ constructor(props: {
24
+ data: Uint8Array;
25
+ });
26
+ }
27
+ export declare const isPutOperation: (operation: Operation) => operation is PutOperation | PutWithKeyOperation;
28
+ /**
29
+ * Delete a document at a key
30
+ */
31
+ export declare class DeleteOperation extends Operation {
32
+ key: indexerTypes.IdKey;
33
+ constructor(props: {
34
+ key: indexerTypes.IdKey;
35
+ });
36
+ }
37
+ export declare const isDeleteOperation: (operation: Operation) => operation is DeleteOperation | DeleteByStringKeyOperation;
38
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAG3D,qBACa,SAAS;CAAa;AAEnC,eAAO,MAAM,wBAAwB,4CAA4B,CAAC;AAGlE,qBACa,mBAAoB,SAAQ,SAAS;IAEjD,GAAG,EAAE,MAAM,CAAC;IAGZ,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;CAKpD;AAkBD,qBACa,0BAA2B,SAAQ,SAAS;IAExD,GAAG,EAAE,MAAM,CAAC;gBAEA,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAKlC,iBAAiB,IAAI,eAAe;CAGpC;AAED,eAAO,MAAM,qBAAqB,cACtB,eAAe,GAAG,0BAA0B,KACrD,eAIF,CAAC;AAEF,qBACa,YAAa,SAAQ,SAAS;IAE1C,IAAI,EAAE,UAAU,CAAC;gBAEL,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE;CAIvC;AAED,eAAO,MAAM,cAAc,cACf,SAAS,KAClB,SAAS,IAAI,YAAY,GAAG,mBAK9B,CAAC;AAEF;;GAEG;AACH,qBACa,eAAgB,SAAQ,SAAS;IAE7C,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;gBAEZ,KAAK,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAA;KAAE;CAI9C;AAED,eAAO,MAAM,iBAAiB,cAClB,SAAS,KAClB,SAAS,IAAI,eAAe,GAAG,0BAKjC,CAAC"}
@@ -0,0 +1,125 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { field, variant } from "@dao-xyz/borsh";
11
+ import * as indexerTypes from "@peerbit/indexer-interface";
12
+ import { BORSH_ENCODING } from "@peerbit/log";
13
+ let Operation = class Operation /* <T> */ {
14
+ };
15
+ Operation = __decorate([
16
+ variant(0)
17
+ ], Operation);
18
+ export { Operation };
19
+ export const BORSH_ENCODING_OPERATION = BORSH_ENCODING(Operation);
20
+ // @deprecated
21
+ let PutWithKeyOperation = class PutWithKeyOperation extends Operation {
22
+ key;
23
+ data;
24
+ constructor(props) {
25
+ super();
26
+ this.key = props.key;
27
+ this.data = props.data;
28
+ }
29
+ };
30
+ __decorate([
31
+ field({ type: "string" }),
32
+ __metadata("design:type", String)
33
+ ], PutWithKeyOperation.prototype, "key", void 0);
34
+ __decorate([
35
+ field({ type: Uint8Array }),
36
+ __metadata("design:type", Uint8Array)
37
+ ], PutWithKeyOperation.prototype, "data", void 0);
38
+ PutWithKeyOperation = __decorate([
39
+ variant(0),
40
+ __metadata("design:paramtypes", [Object])
41
+ ], PutWithKeyOperation);
42
+ export { PutWithKeyOperation };
43
+ // @deprecated
44
+ /* @variant(1)
45
+ export class PutAllOperation<T> extends Operation<T> {
46
+ @field({ type: vec(PutOperation) })
47
+ docs: PutOperation<T>[];
48
+
49
+ constructor(props?: { docs: PutOperation<T>[] }) {
50
+ super();
51
+ if (props) {
52
+ this.docs = props.docs;
53
+ }
54
+ }
55
+ }
56
+ */
57
+ // @deprecated
58
+ let DeleteByStringKeyOperation = class DeleteByStringKeyOperation extends Operation {
59
+ key;
60
+ constructor(props) {
61
+ super();
62
+ this.key = props.key;
63
+ }
64
+ toDeleteOperation() {
65
+ return new DeleteOperation({ key: indexerTypes.toId(this.key) });
66
+ }
67
+ };
68
+ __decorate([
69
+ field({ type: "string" }),
70
+ __metadata("design:type", String)
71
+ ], DeleteByStringKeyOperation.prototype, "key", void 0);
72
+ DeleteByStringKeyOperation = __decorate([
73
+ variant(2),
74
+ __metadata("design:paramtypes", [Object])
75
+ ], DeleteByStringKeyOperation);
76
+ export { DeleteByStringKeyOperation };
77
+ export const coerceDeleteOperation = (operation) => {
78
+ return operation instanceof DeleteByStringKeyOperation
79
+ ? operation.toDeleteOperation()
80
+ : operation;
81
+ };
82
+ let PutOperation = class PutOperation extends Operation {
83
+ data;
84
+ constructor(props) {
85
+ super();
86
+ this.data = props.data;
87
+ }
88
+ };
89
+ __decorate([
90
+ field({ type: Uint8Array }),
91
+ __metadata("design:type", Uint8Array)
92
+ ], PutOperation.prototype, "data", void 0);
93
+ PutOperation = __decorate([
94
+ variant(3),
95
+ __metadata("design:paramtypes", [Object])
96
+ ], PutOperation);
97
+ export { PutOperation };
98
+ export const isPutOperation = (operation) => {
99
+ return (operation instanceof PutOperation ||
100
+ operation instanceof PutWithKeyOperation);
101
+ };
102
+ /**
103
+ * Delete a document at a key
104
+ */
105
+ let DeleteOperation = class DeleteOperation extends Operation {
106
+ key;
107
+ constructor(props) {
108
+ super();
109
+ this.key = props.key;
110
+ }
111
+ };
112
+ __decorate([
113
+ field({ type: indexerTypes.IdKey }),
114
+ __metadata("design:type", indexerTypes.IdKey)
115
+ ], DeleteOperation.prototype, "key", void 0);
116
+ DeleteOperation = __decorate([
117
+ variant(4),
118
+ __metadata("design:paramtypes", [Object])
119
+ ], DeleteOperation);
120
+ export { DeleteOperation };
121
+ export const isDeleteOperation = (operation) => {
122
+ return (operation instanceof DeleteOperation ||
123
+ operation instanceof DeleteByStringKeyOperation);
124
+ };
125
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operation.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import { type AbstractType } from "@dao-xyz/borsh";
2
2
  import * as indexerTypes from "@peerbit/indexer-interface";
3
3
  import { type Change, Entry, type ShallowOrFullEntry, type TrimOptions } from "@peerbit/log";
4
4
  import { Program, type ProgramEvents } from "@peerbit/program";
5
- import { type SharedAppendOptions, SharedLog, type SharedLogOptions } from "@peerbit/shared-log";
6
- import { type CanRead, type CanSearch, DeleteOperation, DocumentIndex, Operation, PutOperation, type TransformOptions } from "./search.js";
5
+ import { type ReplicationDomain, type SharedAppendOptions, SharedLog, type SharedLogOptions } from "@peerbit/shared-log";
6
+ import { DeleteOperation, type Operation, PutOperation } from "./operation.js";
7
+ import { type CanRead, type CanSearch, DocumentIndex, type TransformOptions } from "./search.js";
7
8
  export declare class OperationError extends Error {
8
9
  constructor(message?: string);
9
10
  }
@@ -28,7 +29,7 @@ type CanPerformDelete<T> = {
28
29
  };
29
30
  export type CanPerformOperations<T> = CanPerformPut<T> | CanPerformDelete<T>;
30
31
  export type CanPerform<T> = (properties: CanPerformOperations<T>) => MaybePromise<boolean>;
31
- export type SetupOptions<T, I = T> = {
32
+ export type SetupOptions<T, I = T, D extends ReplicationDomain<any, Operation> = any> = {
32
33
  type: AbstractType<T>;
33
34
  canOpen?: (program: T) => MaybePromise<boolean>;
34
35
  canPerform?: CanPerform<T>;
@@ -42,24 +43,24 @@ export type SetupOptions<T, I = T> = {
42
43
  trim?: TrimOptions;
43
44
  };
44
45
  compatibility?: 6;
45
- } & Exclude<SharedLogOptions<Operation>, "compatibility">;
46
- export declare class Documents<T, I extends Record<string, any> = T extends Record<string, any> ? T : any> extends Program<SetupOptions<T, I>, DocumentEvents<T> & ProgramEvents> {
47
- log: SharedLog<Operation>;
46
+ } & Exclude<SharedLogOptions<Operation, D>, "compatibility">;
47
+ export type ExtractArgs<T> = T extends ReplicationDomain<infer Args, any> ? Args : never;
48
+ export declare class Documents<T, I extends Record<string, any> = T extends Record<string, any> ? T : any, D extends ReplicationDomain<any, Operation> = any> extends Program<SetupOptions<T, I, D>, DocumentEvents<T> & ProgramEvents> {
49
+ log: SharedLog<Operation, D>;
48
50
  immutable: boolean;
49
51
  private _index;
50
52
  private _clazz;
51
53
  private _optionCanPerform?;
52
- private _manuallySynced;
53
54
  private idResolver;
54
55
  canOpen?: (program: T, entry: Entry<Operation>) => Promise<boolean> | boolean;
55
56
  compatibility: 6 | undefined;
56
57
  constructor(properties?: {
57
58
  id?: Uint8Array;
58
59
  immutable?: boolean;
59
- index?: DocumentIndex<T, I>;
60
+ index?: DocumentIndex<T, I, ExtractArgs<D>>;
60
61
  });
61
- get index(): DocumentIndex<T, I>;
62
- open(options: SetupOptions<T, I>): Promise<void>;
62
+ get index(): DocumentIndex<T, I, D>;
63
+ open(options: SetupOptions<T, I, D>): Promise<void>;
63
64
  recover(): Promise<void>;
64
65
  private _resolveEntry;
65
66
  canAppend(entry: Entry<Operation>, reference?: {
@@ -72,6 +73,7 @@ export declare class Documents<T, I extends Record<string, any> = T extends Reco
72
73
  }): Promise<PutOperation | DeleteOperation | false>;
73
74
  put(doc: T, options?: SharedAppendOptions<Operation> & {
74
75
  unique?: boolean;
76
+ replicate?: boolean;
75
77
  }): Promise<{
76
78
  entry: Entry<Operation>;
77
79
  removed: ShallowOrFullEntry<Operation>[];
@@ -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":"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"}
@@ -17,7 +17,8 @@ import { logger as loggerFn } from "@peerbit/logger";
17
17
  import { Program } from "@peerbit/program";
18
18
  import { SharedLog, } from "@peerbit/shared-log";
19
19
  import { MAX_BATCH_SIZE } from "./constants.js";
20
- import { BORSH_ENCODING_OPERATION, DeleteOperation, DocumentIndex, Operation, PutOperation, PutWithKeyOperation, coerceDeleteOperation, isDeleteOperation, isPutOperation, } from "./search.js";
20
+ import { BORSH_ENCODING_OPERATION, DeleteOperation, PutOperation, PutWithKeyOperation, coerceDeleteOperation, isDeleteOperation, isPutOperation, } from "./operation.js";
21
+ import { DocumentIndex, } from "./search.js";
21
22
  const logger = loggerFn({ module: "document" });
22
23
  export class OperationError extends Error {
23
24
  constructor(message) {
@@ -30,7 +31,6 @@ let Documents = class Documents extends Program {
30
31
  _index;
31
32
  _clazz;
32
33
  _optionCanPerform;
33
- _manuallySynced;
34
34
  idResolver;
35
35
  canOpen;
36
36
  compatibility;
@@ -53,7 +53,6 @@ let Documents = class Documents extends Program {
53
53
  }
54
54
  }
55
55
  this._optionCanPerform = options.canPerform;
56
- this._manuallySynced = new Set();
57
56
  const idProperty = options.index?.idProperty || "id";
58
57
  const idResolver = options.id ||
59
58
  (typeof idProperty === "string"
@@ -72,12 +71,7 @@ let Documents = class Documents extends Program {
72
71
  // here we arrive for all the results we want to persist.
73
72
  // we we need to do here is
74
73
  // 1. add the entry to a list of entries that we should persist through prunes
75
- let heads = [];
76
- for (const entry of result.results) {
77
- this._manuallySynced.add(entry.context.gid);
78
- heads.push(entry.context.head);
79
- }
80
- return this.log.log.join(heads);
74
+ await this.log.join(result.results.map((x) => x.context.head), { replicate: true });
81
75
  },
82
76
  dbType: this.constructor,
83
77
  });
@@ -89,11 +83,7 @@ let Documents = class Documents extends Program {
89
83
  trim: options?.log?.trim,
90
84
  replicate: options?.replicate,
91
85
  replicas: options?.replicas,
92
- sync: (entry) => {
93
- // here we arrive when ever a insertion/pruning behaviour processes an entry
94
- // returning true means that it should persist
95
- return this._manuallySynced.has(entry.gid);
96
- },
86
+ domain: options?.domain,
97
87
  // document v6 and below need log compatibility of v8 or below
98
88
  compatibility: (options?.compatibility ?? Number.MAX_SAFE_INTEGER < 7) ? 8 : undefined,
99
89
  });
@@ -283,7 +273,7 @@ let Documents = class Documents extends Program {
283
273
  ? undefined
284
274
  : (await this._index.getDetailed(keyValue, {
285
275
  local: true,
286
- remote: { sync: true }, // only query remote if we know they exist
276
+ remote: { replicate: options?.replicate }, // only query remote if we know they exist
287
277
  }))?.[0]?.results[0];
288
278
  let operation;
289
279
  if (this.compatibility === 6) {
@@ -316,6 +306,7 @@ let Documents = class Documents extends Program {
316
306
  onChange: (change) => {
317
307
  return this.handleChanges(change, { document: doc, operation });
318
308
  },
309
+ replicate: options?.replicate,
319
310
  });
320
311
  return appended;
321
312
  }
@@ -323,17 +314,18 @@ let Documents = class Documents extends Program {
323
314
  const key = indexerTypes.toId(id);
324
315
  const existing = (await this._index.getDetailed(key, {
325
316
  local: true,
326
- remote: { sync: true },
317
+ remote: { replicate: options?.replicate },
327
318
  }))?.[0]?.results[0];
328
319
  if (!existing) {
329
320
  throw new Error(`No entry with key '${key.primitive}' in the database`);
330
321
  }
322
+ const entry = await this._resolveEntry(existing.context.head);
331
323
  return this.log.append(new DeleteOperation({
332
324
  key,
333
325
  }), {
334
326
  ...options,
335
327
  meta: {
336
- next: [await this._resolveEntry(existing.context.head)],
328
+ next: [entry],
337
329
  type: EntryType.CUT,
338
330
  ...options?.meta,
339
331
  },
@@ -346,7 +338,7 @@ let Documents = class Documents extends Program {
346
338
  removedSet.set(r.hash, r);
347
339
  }
348
340
  const sortedEntries = [
349
- ...change.added,
341
+ ...change.added.map((x) => x.entry),
350
342
  ...((await Promise.all(change.removed.map((x) => x instanceof Entry ? x : this.log.log.entryIndex.get(x.hash)))) || []),
351
343
  ]; // TODO assert sorting
352
344
  /* const sortedEntries = [...change.added, ...(removed || [])]
@@ -398,7 +390,6 @@ let Documents = class Documents extends Program {
398
390
  else if ((isDeleteOperation(payload) && !removedSet.has(item.hash)) ||
399
391
  isPutOperation(payload) ||
400
392
  removedSet.has(item.hash)) {
401
- this._manuallySynced.delete(item.meta.gid);
402
393
  let value;
403
394
  let key;
404
395
  if (isPutOperation(payload)) {
@@ -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,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAC9D,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,EAEN,SAAS,GAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACN,wBAAwB,EAGxB,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,mBAAmB,EAEnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACd,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;AA8CM,IAAM,SAAS,GAAf,MAAM,SAGX,SAAQ,OAA8D;IAEvE,GAAG,CAAuB;IAG1B,SAAS,CAAU,CAAC,gCAAgC;IAG5C,MAAM,CAAsB;IAE5B,MAAM,CAAmB;IAEzB,iBAAiB,CAAiB;IAClC,eAAe,CAAe;IAC9B,UAAU,CAA0C;IAE5D,OAAO,CAAuE;IAE9E,aAAa,CAAgB;IAE7B,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;IAED,KAAK,CAAC,IAAI,CAAC,OAA2B;QACrC,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,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;QACrD,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;QAE3C,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,IAAI,EAAE,KAAK,EAAE,MAAiC,EAAE,EAAE;gBACjD,yDAAyD;gBACzD,2BAA2B;gBAC3B,8EAA8E;gBAC9E,IAAI,KAAK,GAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC,CAAC;QAEH,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,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;gBACpB,4EAA4E;gBAC5E,8CAA8C;gBAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;YAED,8DAA8D;YAC9D,aAAa,EACZ,CAAC,OAAO,EAAE,aAAa,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,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,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI,CAAC,SAAS;iBACtB,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,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAClC,OAAO,KAAK,CAAC;wBACd,CAAC;wBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAClD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAC7B,CAAC;wBACF,IAAI,CAAC,SAAS,EAAE,CAAC;4BAChB,MAAM,CAAC,KAAK,CACX,mDAAmD;gCAClD,KAAK,CAAC,IAAI,CACX,CAAC;4BACF,OAAO,KAAK,CAAC;wBACd,CAAC;wBACD,MAAM,yBAAyB,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;wBACnE,OAAO,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;oBACzD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,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,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,OAA+D;QAE/D,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,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,0CAA0C;aAClE,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;SACD,CAAC,CAAC;QAEH,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,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACtB,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,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,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,EAAE,SAAS,CAAC,GAAG;gBACnB,GAAG,OAAO,EAAE,IAAI;aAChB;SACD,CACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,MAAyB,EACzB,SAAoD;QAEpD,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;YACf,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,mIAAmI;QAEnI,IAAI,gBAAgB,GAAuB;YAC1C,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;gBAAE,SAAS;YAEpB,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;oBAEzC,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,mBAAmB;oBACnB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;wBAC9B,2BAA2B;wBAC3B,IACC,CAAC,MAAM,IAAI,CAAC,OAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BAClC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,gEAAgE;0BACnG,CAAC;4BACF,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gCACpC,MAAM,EAAE,IAAyB;gCACjC,QAAQ,EAAE,OAAO;6BACjB,CAAC,CAAa,CAAC,CAAC,aAAa;wBAC/B,CAAC;oBACF,CAAC;oBACD,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;oBACxC,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,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE3C,IAAI,KAAQ,CAAC;oBACb,IAAI,GAAuB,CAAC;oBAE5B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACvD,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;wBAChD,qDAAqD;wBACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjC,SAAS;wBACV,CAAC;oBACF,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,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;wBAC9B,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;CACD,CAAA;AArhBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACtB,SAAS;sCAAY;AAG1B;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4CACL;AAGX;IADP,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACf,aAAa;yCAAO;AAXxB,SAAS;IADrB,OAAO,CAAC,WAAW,CAAC;;GACR,SAAS,CA0hBrB"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"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"}
@@ -5,60 +5,27 @@ import * as indexerTypes from "@peerbit/indexer-interface";
5
5
  import { type Encoding, Entry } from "@peerbit/log";
6
6
  import { Program } from "@peerbit/program";
7
7
  import { RPC, type RPCRequestAllOptions } from "@peerbit/rpc";
8
- import { SharedLog } from "@peerbit/shared-log";
9
- export declare class Operation {
10
- }
11
- export declare const BORSH_ENCODING_OPERATION: Encoding<Operation>;
12
- export declare class PutWithKeyOperation extends Operation {
13
- key: string;
14
- data: Uint8Array;
15
- constructor(props: {
16
- key: string;
17
- data: Uint8Array;
18
- });
19
- }
20
- export declare class DeleteByStringKeyOperation extends Operation {
21
- key: string;
22
- constructor(props: {
23
- key: string;
24
- });
25
- toDeleteOperation(): DeleteOperation;
26
- }
27
- export declare const coerceDeleteOperation: (operation: DeleteOperation | DeleteByStringKeyOperation) => DeleteOperation;
28
- export declare class PutOperation extends Operation {
29
- data: Uint8Array;
30
- constructor(props: {
31
- data: Uint8Array;
32
- });
33
- }
34
- export declare const isPutOperation: (operation: Operation) => operation is PutOperation | PutWithKeyOperation;
35
- /**
36
- * Delete a document at a key
37
- */
38
- export declare class DeleteOperation extends Operation {
39
- key: indexerTypes.IdKey;
40
- constructor(props: {
41
- key: indexerTypes.IdKey;
42
- });
43
- }
44
- export declare const isDeleteOperation: (operation: Operation) => operation is DeleteOperation | DeleteByStringKeyOperation;
45
- export type RemoteQueryOptions<R> = RPCRequestAllOptions<R> & {
46
- sync?: boolean;
8
+ import { type ReplicationDomain, SharedLog } from "@peerbit/shared-log";
9
+ import { type Operation } from "./operation.js";
10
+ import type { ExtractArgs } from "./program.js";
11
+ export type RemoteQueryOptions<R, D> = RPCRequestAllOptions<R> & {
12
+ replicate?: boolean;
47
13
  minAge?: number;
48
14
  throwOnMissing?: boolean;
15
+ domain?: ExtractArgs<D>;
49
16
  };
50
- export type QueryOptions<R> = {
51
- remote?: boolean | RemoteQueryOptions<types.AbstractSearchResult<R>>;
17
+ export type QueryOptions<R, D> = {
18
+ remote?: boolean | RemoteQueryOptions<types.AbstractSearchResult<R>, D>;
52
19
  local?: boolean;
53
20
  };
54
- export type SearchOptions<R> = QueryOptions<R>;
21
+ export type SearchOptions<R, D> = QueryOptions<R, D>;
55
22
  type Transformer<T, I> = (obj: T, context: types.Context) => MaybePromise<I>;
56
23
  export type ResultsIterator<T> = {
57
24
  close: () => Promise<void>;
58
25
  next: (number: number) => Promise<T[]>;
59
26
  done: () => boolean;
60
27
  };
61
- type QueryDetailedOptions<T> = QueryOptions<T> & {
28
+ type QueryDetailedOptions<T, D> = QueryOptions<T, D> & {
62
29
  onResponse?: (response: types.AbstractSearchResult<T>, from: PublicSignKey) => void | Promise<void>;
63
30
  };
64
31
  export type CanSearch = (request: indexerTypes.SearchRequest | indexerTypes.CollectNextRequest, from: PublicSignKey) => Promise<boolean> | boolean;
@@ -89,10 +56,10 @@ export type TransformerAsFunction<T, I> = {
89
56
  transform: (arg: T, context: types.Context) => I | Promise<I>;
90
57
  };
91
58
  export type TransformOptions<T, I> = TransformerAsConstructor<T, I> | TransformerAsFunction<T, I>;
92
- export type OpenOptions<T, I> = {
59
+ export type OpenOptions<T, I, D extends ReplicationDomain<any, Operation>> = {
93
60
  documentType: AbstractType<T>;
94
61
  dbType: AbstractType<types.IDocumentStore<T>>;
95
- log: SharedLog<Operation>;
62
+ log: SharedLog<Operation, D>;
96
63
  canRead?: CanRead<T>;
97
64
  canSearch?: CanSearch;
98
65
  sync: (result: types.Results<T>) => Promise<void>;
@@ -100,7 +67,7 @@ export type OpenOptions<T, I> = {
100
67
  transform?: TransformOptions<T, I>;
101
68
  };
102
69
  type IndexableClass<I> = new (value: I, context: IndexableContext) => IDocumentWithContext<I>;
103
- export declare class DocumentIndex<T, I extends Record<string, any>> extends Program<OpenOptions<T, I>> {
70
+ export declare class DocumentIndex<T, I extends Record<string, any>, D extends ReplicationDomain<any, Operation>> extends Program<OpenOptions<T, I, D>> {
104
71
  _query: RPC<indexerTypes.AbstractSearchRequest, types.AbstractSearchResult<T>>;
105
72
  documentType: AbstractType<T>;
106
73
  transformer: Transformer<T, I>;
@@ -121,14 +88,14 @@ export declare class DocumentIndex<T, I extends Record<string, any>> extends Pro
121
88
  query?: RPC<indexerTypes.AbstractSearchRequest, types.AbstractSearchResult<T>>;
122
89
  });
123
90
  get valueEncoding(): Encoding<T>;
124
- open(properties: OpenOptions<T, I>): Promise<void>;
91
+ open(properties: OpenOptions<T, I, D>): Promise<void>;
125
92
  getPending(cursorId: string): number | undefined;
126
93
  close(from?: Program): Promise<boolean>;
127
94
  drop(from?: Program): Promise<boolean>;
128
- get(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: QueryOptions<T>): Promise<T | undefined>;
95
+ get(key: indexerTypes.Ideable | indexerTypes.IdKey, options?: QueryOptions<T, D>): Promise<T | undefined>;
129
96
  put(value: T, entry: Entry<Operation>, id: indexerTypes.IdKey): Promise<void>;
130
97
  del(key: indexerTypes.IdKey): indexerTypes.IdKey[] | Promise<indexerTypes.IdKey[]>;
131
- getDetailed(key: indexerTypes.IdKey | indexerTypes.IdPrimitive, options?: QueryOptions<T>): Promise<types.Results<T>[] | undefined>;
98
+ getDetailed(key: indexerTypes.IdKey | indexerTypes.IdPrimitive, options?: QueryOptions<T, D>): Promise<types.Results<T>[] | undefined>;
132
99
  getSize(): Promise<number> | number;
133
100
  private resolveDocument;
134
101
  processQuery(query: indexerTypes.SearchRequest | indexerTypes.CollectNextRequest, from: PublicSignKey, isLocal: boolean, options?: {
@@ -142,21 +109,21 @@ export declare class DocumentIndex<T, I extends Record<string, any>> extends Pro
142
109
  * @param options
143
110
  * @returns
144
111
  */
145
- queryDetailed(queryRequest: indexerTypes.SearchRequest, options?: QueryDetailedOptions<T>): Promise<types.Results<T>[]>;
112
+ queryDetailed(queryRequest: indexerTypes.SearchRequest, options?: QueryDetailedOptions<T, D>): Promise<types.Results<T>[]>;
146
113
  /**
147
114
  * Query and retrieve results
148
115
  * @param queryRequest
149
116
  * @param options
150
117
  * @returns
151
118
  */
152
- search(queryRequest: indexerTypes.SearchRequest, options?: SearchOptions<T>): Promise<T[]>;
119
+ search(queryRequest: indexerTypes.SearchRequest, options?: SearchOptions<T, D>): Promise<T[]>;
153
120
  /**
154
121
  * Query and retrieve documents in a iterator
155
122
  * @param queryRequest
156
123
  * @param options
157
124
  * @returns
158
125
  */
159
- iterate(queryRequest: indexerTypes.SearchRequest, options?: QueryOptions<T>): ResultsIterator<T>;
126
+ iterate(queryRequest: indexerTypes.SearchRequest, options?: QueryOptions<T, D>): ResultsIterator<T>;
160
127
  }
161
128
  export {};
162
129
  //# sourceMappingURL=search.d.ts.map
@@ -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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"}