@peerbit/document 7.0.14 → 7.1.0

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.
@@ -23,119 +23,8 @@ import { AbortError } from "@peerbit/time";
23
23
  import { concat, fromString } from "uint8arrays";
24
24
  import { copySerialization } from "./borsh.js";
25
25
  import { MAX_BATCH_SIZE } from "./constants.js";
26
+ import { isPutOperation } from "./operation.js";
26
27
  const logger = loggerFn({ module: "document-index" });
27
- let Operation = class Operation /* <T> */ {
28
- };
29
- Operation = __decorate([
30
- variant(0)
31
- ], Operation);
32
- export { Operation };
33
- export const BORSH_ENCODING_OPERATION = BORSH_ENCODING(Operation);
34
- // @deprecated
35
- let PutWithKeyOperation = class PutWithKeyOperation extends Operation {
36
- key;
37
- data;
38
- constructor(props) {
39
- super();
40
- this.key = props.key;
41
- this.data = props.data;
42
- }
43
- };
44
- __decorate([
45
- field({ type: "string" }),
46
- __metadata("design:type", String)
47
- ], PutWithKeyOperation.prototype, "key", void 0);
48
- __decorate([
49
- field({ type: Uint8Array }),
50
- __metadata("design:type", Uint8Array)
51
- ], PutWithKeyOperation.prototype, "data", void 0);
52
- PutWithKeyOperation = __decorate([
53
- variant(0),
54
- __metadata("design:paramtypes", [Object])
55
- ], PutWithKeyOperation);
56
- export { PutWithKeyOperation };
57
- // @deprecated
58
- /* @variant(1)
59
- export class PutAllOperation<T> extends Operation<T> {
60
- @field({ type: vec(PutOperation) })
61
- docs: PutOperation<T>[];
62
-
63
- constructor(props?: { docs: PutOperation<T>[] }) {
64
- super();
65
- if (props) {
66
- this.docs = props.docs;
67
- }
68
- }
69
- }
70
- */
71
- // @deprecated
72
- let DeleteByStringKeyOperation = class DeleteByStringKeyOperation extends Operation {
73
- key;
74
- constructor(props) {
75
- super();
76
- this.key = props.key;
77
- }
78
- toDeleteOperation() {
79
- return new DeleteOperation({ key: indexerTypes.toId(this.key) });
80
- }
81
- };
82
- __decorate([
83
- field({ type: "string" }),
84
- __metadata("design:type", String)
85
- ], DeleteByStringKeyOperation.prototype, "key", void 0);
86
- DeleteByStringKeyOperation = __decorate([
87
- variant(2),
88
- __metadata("design:paramtypes", [Object])
89
- ], DeleteByStringKeyOperation);
90
- export { DeleteByStringKeyOperation };
91
- export const coerceDeleteOperation = (operation) => {
92
- return operation instanceof DeleteByStringKeyOperation
93
- ? operation.toDeleteOperation()
94
- : operation;
95
- };
96
- let PutOperation = class PutOperation extends Operation {
97
- data;
98
- constructor(props) {
99
- super();
100
- this.data = props.data;
101
- }
102
- };
103
- __decorate([
104
- field({ type: Uint8Array }),
105
- __metadata("design:type", Uint8Array)
106
- ], PutOperation.prototype, "data", void 0);
107
- PutOperation = __decorate([
108
- variant(3),
109
- __metadata("design:paramtypes", [Object])
110
- ], PutOperation);
111
- export { PutOperation };
112
- export const isPutOperation = (operation) => {
113
- return (operation instanceof PutOperation ||
114
- operation instanceof PutWithKeyOperation);
115
- };
116
- /**
117
- * Delete a document at a key
118
- */
119
- let DeleteOperation = class DeleteOperation extends Operation {
120
- key;
121
- constructor(props) {
122
- super();
123
- this.key = props.key;
124
- }
125
- };
126
- __decorate([
127
- field({ type: indexerTypes.IdKey }),
128
- __metadata("design:type", indexerTypes.IdKey)
129
- ], DeleteOperation.prototype, "key", void 0);
130
- DeleteOperation = __decorate([
131
- variant(4),
132
- __metadata("design:paramtypes", [Object])
133
- ], DeleteOperation);
134
- export { DeleteOperation };
135
- export const isDeleteOperation = (operation) => {
136
- return (operation instanceof DeleteOperation ||
137
- operation instanceof DeleteByStringKeyOperation);
138
- };
139
28
  const introduceEntries = async (responses, type, sync, options) => {
140
29
  const results = [];
141
30
  for (const response of responses) {
@@ -144,7 +33,7 @@ const introduceEntries = async (responses, type, sync, options) => {
144
33
  }
145
34
  if (response.response instanceof types.Results) {
146
35
  response.response.results.forEach((r) => r.init(type));
147
- if (typeof options?.remote !== "boolean" && options?.remote?.sync) {
36
+ if (typeof options?.remote !== "boolean" && options?.remote?.replicate) {
148
37
  await sync(response.response);
149
38
  }
150
39
  options?.onResponse &&
@@ -587,7 +476,6 @@ let DocumentIndex = class DocumentIndex extends Program {
587
476
  // this will lead to bad UX as you usually want to list/expore whats going on before doing any replication work
588
477
  remote.priority = 1;
589
478
  }
590
- const promises = [];
591
479
  if (!local && !remote) {
592
480
  throw new Error("Expecting either 'options.remote' or 'options.local' to be true");
593
481
  }
@@ -600,40 +488,36 @@ let DocumentIndex = class DocumentIndex extends Program {
600
488
  allResults.push(results);
601
489
  }
602
490
  }
491
+ let resolved = [];
603
492
  if (remote) {
604
- const replicatorGroups = await this._log.getReplicatorUnion(remote.minAge);
493
+ const replicatorGroups = await this._log.getCover(remote.domain ?? undefined, remote.minAge);
605
494
  if (replicatorGroups) {
606
495
  const groupHashes = replicatorGroups.map((x) => [x]);
607
- const fn = async () => {
608
- const rs = [];
609
- const responseHandler = async (results) => {
610
- for (const r of await introduceEntries(results, this.documentType, this._sync, options)) {
611
- rs.push(r.response);
612
- }
613
- };
614
- try {
615
- if (queryRequest instanceof indexerTypes.CloseIteratorRequest) {
616
- // don't wait for responses
617
- await this._query.request(queryRequest, { mode: remote.mode });
618
- }
619
- else {
620
- await queryAll(this._query, groupHashes, queryRequest, responseHandler, remote);
621
- }
496
+ const responseHandler = async (results) => {
497
+ for (const r of await introduceEntries(results, this.documentType, this._sync, options)) {
498
+ resolved.push(r.response);
622
499
  }
623
- catch (error) {
624
- if (error instanceof MissingResponsesError) {
625
- logger.warn("Did not reciveve responses from all shard");
626
- if (remote?.throwOnMissing) {
627
- throw error;
628
- }
629
- }
630
- else {
500
+ };
501
+ try {
502
+ if (queryRequest instanceof indexerTypes.CloseIteratorRequest) {
503
+ // don't wait for responses
504
+ await this._query.request(queryRequest, { mode: remote.mode });
505
+ }
506
+ else {
507
+ await queryAll(this._query, groupHashes, queryRequest, responseHandler, remote);
508
+ }
509
+ }
510
+ catch (error) {
511
+ if (error instanceof MissingResponsesError) {
512
+ logger.warn("Did not reciveve responses from all shard");
513
+ if (remote?.throwOnMissing) {
631
514
  throw error;
632
515
  }
633
516
  }
634
- return rs;
635
- };
636
- promises.push(fn());
517
+ else {
518
+ throw error;
519
+ }
520
+ }
637
521
  }
638
522
  else {
639
523
  // TODO send without direction out to the world? or just assume we can insert?
@@ -647,7 +531,6 @@ let DocumentIndex = class DocumentIndex extends Program {
647
531
  ); */
648
532
  }
649
533
  }
650
- const resolved = await Promise.all(promises);
651
534
  for (const r of resolved) {
652
535
  if (r) {
653
536
  if (r instanceof Array) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/document",
3
- "version": "7.0.14",
3
+ "version": "7.1.0",
4
4
  "description": "Document store implementation",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -61,7 +61,7 @@
61
61
  "@dao-xyz/borsh": "^5.2.3",
62
62
  "@peerbit/program": "5.0.1",
63
63
  "@peerbit/rpc": "5.0.7",
64
- "@peerbit/shared-log": "9.0.10",
64
+ "@peerbit/shared-log": "9.1.0",
65
65
  "@peerbit/indexer-interface": "^1.0.2",
66
66
  "@peerbit/indexer-simple": "^1.0.3",
67
67
  "@peerbit/indexer-sqlite3": "^1.0.5",
package/src/index.ts CHANGED
@@ -2,14 +2,10 @@ export * from "@peerbit/indexer-interface";
2
2
  export * from "./program.js";
3
3
  export type {
4
4
  CanRead,
5
- BORSH_ENCODING_OPERATION,
6
5
  CanSearch,
7
- DeleteOperation,
8
6
  DocumentIndex,
9
7
  IDocumentWithContext,
10
8
  OpenOptions,
11
- Operation,
12
- PutOperation,
13
9
  QueryOptions,
14
10
  RemoteQueryOptions,
15
11
  ResultsIterator,
@@ -18,5 +14,6 @@ export type {
18
14
  TransformerAsConstructor,
19
15
  TransformerAsFunction,
20
16
  } from "./search.js";
17
+ export * from "./operation.js";
21
18
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
22
19
  export { ClosedError } from "@peerbit/program";
@@ -0,0 +1,106 @@
1
+ import { field, variant } from "@dao-xyz/borsh";
2
+ import * as indexerTypes from "@peerbit/indexer-interface";
3
+ import { BORSH_ENCODING } from "@peerbit/log";
4
+
5
+ @variant(0)
6
+ export class Operation /* <T> */ {}
7
+
8
+ export const BORSH_ENCODING_OPERATION = BORSH_ENCODING(Operation);
9
+
10
+ // @deprecated
11
+ @variant(0)
12
+ export class PutWithKeyOperation extends Operation {
13
+ @field({ type: "string" })
14
+ key: string;
15
+
16
+ @field({ type: Uint8Array })
17
+ data: Uint8Array;
18
+
19
+ constructor(props: { key: string; data: Uint8Array }) {
20
+ super();
21
+ this.key = props.key;
22
+ this.data = props.data;
23
+ }
24
+ }
25
+
26
+ // @deprecated
27
+ /* @variant(1)
28
+ export class PutAllOperation<T> extends Operation<T> {
29
+ @field({ type: vec(PutOperation) })
30
+ docs: PutOperation<T>[];
31
+
32
+ constructor(props?: { docs: PutOperation<T>[] }) {
33
+ super();
34
+ if (props) {
35
+ this.docs = props.docs;
36
+ }
37
+ }
38
+ }
39
+ */
40
+
41
+ // @deprecated
42
+ @variant(2)
43
+ export class DeleteByStringKeyOperation extends Operation {
44
+ @field({ type: "string" })
45
+ key: string;
46
+
47
+ constructor(props: { key: string }) {
48
+ super();
49
+ this.key = props.key;
50
+ }
51
+
52
+ toDeleteOperation(): DeleteOperation {
53
+ return new DeleteOperation({ key: indexerTypes.toId(this.key) });
54
+ }
55
+ }
56
+
57
+ export const coerceDeleteOperation = (
58
+ operation: DeleteOperation | DeleteByStringKeyOperation,
59
+ ): DeleteOperation => {
60
+ return operation instanceof DeleteByStringKeyOperation
61
+ ? operation.toDeleteOperation()
62
+ : operation;
63
+ };
64
+
65
+ @variant(3)
66
+ export class PutOperation extends Operation {
67
+ @field({ type: Uint8Array })
68
+ data: Uint8Array;
69
+
70
+ constructor(props: { data: Uint8Array }) {
71
+ super();
72
+ this.data = props.data;
73
+ }
74
+ }
75
+
76
+ export const isPutOperation = (
77
+ operation: Operation,
78
+ ): operation is PutOperation | PutWithKeyOperation => {
79
+ return (
80
+ operation instanceof PutOperation ||
81
+ operation instanceof PutWithKeyOperation
82
+ );
83
+ };
84
+
85
+ /**
86
+ * Delete a document at a key
87
+ */
88
+ @variant(4)
89
+ export class DeleteOperation extends Operation {
90
+ @field({ type: indexerTypes.IdKey })
91
+ key: indexerTypes.IdKey;
92
+
93
+ constructor(props: { key: indexerTypes.IdKey }) {
94
+ super();
95
+ this.key = props.key;
96
+ }
97
+ }
98
+
99
+ export const isDeleteOperation = (
100
+ operation: Operation,
101
+ ): operation is DeleteOperation | DeleteByStringKeyOperation => {
102
+ return (
103
+ operation instanceof DeleteOperation ||
104
+ operation instanceof DeleteByStringKeyOperation
105
+ );
106
+ };