@peerbit/document 10.0.3 → 10.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.
Files changed (46) hide show
  1. package/dist/benchmark/index.js +114 -59
  2. package/dist/benchmark/index.js.map +1 -1
  3. package/dist/benchmark/iterate-replicate-2.js +117 -63
  4. package/dist/benchmark/iterate-replicate-2.js.map +1 -1
  5. package/dist/benchmark/iterate-replicate.js +106 -56
  6. package/dist/benchmark/iterate-replicate.js.map +1 -1
  7. package/dist/benchmark/memory/child.js +114 -59
  8. package/dist/benchmark/memory/child.js.map +1 -1
  9. package/dist/benchmark/replication.js +106 -52
  10. package/dist/benchmark/replication.js.map +1 -1
  11. package/dist/src/domain.d.ts.map +1 -1
  12. package/dist/src/domain.js +1 -3
  13. package/dist/src/domain.js.map +1 -1
  14. package/dist/src/events.d.ts +1 -1
  15. package/dist/src/events.d.ts.map +1 -1
  16. package/dist/src/index.d.ts +1 -1
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/most-common-query-predictor.d.ts +3 -3
  20. package/dist/src/most-common-query-predictor.d.ts.map +1 -1
  21. package/dist/src/most-common-query-predictor.js.map +1 -1
  22. package/dist/src/operation.js +175 -81
  23. package/dist/src/operation.js.map +1 -1
  24. package/dist/src/prefetch.d.ts +2 -2
  25. package/dist/src/prefetch.d.ts.map +1 -1
  26. package/dist/src/prefetch.js.map +1 -1
  27. package/dist/src/program.d.ts +2 -2
  28. package/dist/src/program.d.ts.map +1 -1
  29. package/dist/src/program.js +550 -508
  30. package/dist/src/program.js.map +1 -1
  31. package/dist/src/resumable-iterator.d.ts.map +1 -1
  32. package/dist/src/resumable-iterator.js +44 -0
  33. package/dist/src/resumable-iterator.js.map +1 -1
  34. package/dist/src/search.d.ts +14 -10
  35. package/dist/src/search.d.ts.map +1 -1
  36. package/dist/src/search.js +2477 -2119
  37. package/dist/src/search.js.map +1 -1
  38. package/package.json +21 -19
  39. package/src/domain.ts +1 -3
  40. package/src/events.ts +1 -1
  41. package/src/index.ts +1 -0
  42. package/src/most-common-query-predictor.ts +19 -5
  43. package/src/prefetch.ts +12 -3
  44. package/src/program.ts +7 -5
  45. package/src/resumable-iterator.ts +44 -0
  46. package/src/search.ts +567 -198
@@ -1,11 +1,36 @@
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;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
6
27
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
9
34
  };
10
35
  import { field, option, variant } from "@dao-xyz/borsh";
11
36
  import { Program } from "@peerbit/program";
@@ -16,60 +41,90 @@ import { v4 as uuid } from "uuid";
16
41
  import { Documents } from "../src/program.js";
17
42
  // Run with "node --loader ts-node/esm ./benchmark/index.ts"
18
43
  // put x 9,522 ops/sec ±4.61% (76 runs sampled) (prev merge store with log: put x 11,527 ops/sec ±6.09% (75 runs sampled))
19
- let Document = class Document {
20
- id;
21
- name;
22
- number;
23
- bytes;
24
- constructor(opts) {
25
- if (opts) {
26
- this.id = opts.id;
27
- this.name = opts.name;
28
- this.number = opts.number;
29
- this.bytes = opts.bytes;
44
+ let Document = (() => {
45
+ let _classDecorators = [variant("document")];
46
+ let _classDescriptor;
47
+ let _classExtraInitializers = [];
48
+ let _classThis;
49
+ let _id_decorators;
50
+ let _id_initializers = [];
51
+ let _id_extraInitializers = [];
52
+ let _name_decorators;
53
+ let _name_initializers = [];
54
+ let _name_extraInitializers = [];
55
+ let _number_decorators;
56
+ let _number_initializers = [];
57
+ let _number_extraInitializers = [];
58
+ let _bytes_decorators;
59
+ let _bytes_initializers = [];
60
+ let _bytes_extraInitializers = [];
61
+ var Document = class {
62
+ static { _classThis = this; }
63
+ static {
64
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
65
+ _id_decorators = [field({ type: "string" })];
66
+ _name_decorators = [field({ type: option("string") })];
67
+ _number_decorators = [field({ type: option("u64") })];
68
+ _bytes_decorators = [field({ type: Uint8Array })];
69
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
70
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
71
+ __esDecorate(null, null, _number_decorators, { kind: "field", name: "number", static: false, private: false, access: { has: obj => "number" in obj, get: obj => obj.number, set: (obj, value) => { obj.number = value; } }, metadata: _metadata }, _number_initializers, _number_extraInitializers);
72
+ __esDecorate(null, null, _bytes_decorators, { kind: "field", name: "bytes", static: false, private: false, access: { has: obj => "bytes" in obj, get: obj => obj.bytes, set: (obj, value) => { obj.bytes = value; } }, metadata: _metadata }, _bytes_initializers, _bytes_extraInitializers);
73
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
74
+ Document = _classThis = _classDescriptor.value;
75
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
76
+ __runInitializers(_classThis, _classExtraInitializers);
30
77
  }
31
- }
32
- };
33
- __decorate([
34
- field({ type: "string" }),
35
- __metadata("design:type", String)
36
- ], Document.prototype, "id", void 0);
37
- __decorate([
38
- field({ type: option("string") }),
39
- __metadata("design:type", String)
40
- ], Document.prototype, "name", void 0);
41
- __decorate([
42
- field({ type: option("u64") }),
43
- __metadata("design:type", BigInt)
44
- ], Document.prototype, "number", void 0);
45
- __decorate([
46
- field({ type: Uint8Array }),
47
- __metadata("design:type", Uint8Array)
48
- ], Document.prototype, "bytes", void 0);
49
- Document = __decorate([
50
- variant("document"),
51
- __metadata("design:paramtypes", [Document])
52
- ], Document);
53
- let TestStore = class TestStore extends Program {
54
- docs;
55
- constructor(properties) {
56
- super();
57
- if (properties) {
58
- this.docs = properties.docs;
78
+ id = __runInitializers(this, _id_initializers, void 0);
79
+ name = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _name_initializers, void 0));
80
+ number = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _number_initializers, void 0));
81
+ bytes = (__runInitializers(this, _number_extraInitializers), __runInitializers(this, _bytes_initializers, void 0));
82
+ constructor(opts) {
83
+ __runInitializers(this, _bytes_extraInitializers);
84
+ if (opts) {
85
+ this.id = opts.id;
86
+ this.name = opts.name;
87
+ this.number = opts.number;
88
+ this.bytes = opts.bytes;
89
+ }
59
90
  }
60
- }
61
- async open(options) {
62
- await this.docs.open({ ...options, type: Document });
63
- }
64
- };
65
- __decorate([
66
- field({ type: Documents }),
67
- __metadata("design:type", Documents)
68
- ], TestStore.prototype, "docs", void 0);
69
- TestStore = __decorate([
70
- variant("test_documents"),
71
- __metadata("design:paramtypes", [Object])
72
- ], TestStore);
91
+ };
92
+ return Document = _classThis;
93
+ })();
94
+ let TestStore = (() => {
95
+ let _classDecorators = [variant("test_documents")];
96
+ let _classDescriptor;
97
+ let _classExtraInitializers = [];
98
+ let _classThis;
99
+ let _classSuper = Program;
100
+ let _docs_decorators;
101
+ let _docs_initializers = [];
102
+ let _docs_extraInitializers = [];
103
+ var TestStore = class extends _classSuper {
104
+ static { _classThis = this; }
105
+ static {
106
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
107
+ _docs_decorators = [field({ type: Documents })];
108
+ __esDecorate(null, null, _docs_decorators, { kind: "field", name: "docs", static: false, private: false, access: { has: obj => "docs" in obj, get: obj => obj.docs, set: (obj, value) => { obj.docs = value; } }, metadata: _metadata }, _docs_initializers, _docs_extraInitializers);
109
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
110
+ TestStore = _classThis = _classDescriptor.value;
111
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
112
+ __runInitializers(_classThis, _classExtraInitializers);
113
+ }
114
+ docs = __runInitializers(this, _docs_initializers, void 0);
115
+ constructor(properties) {
116
+ super();
117
+ __runInitializers(this, _docs_extraInitializers);
118
+ if (properties) {
119
+ this.docs = properties.docs;
120
+ }
121
+ }
122
+ async open(options) {
123
+ await this.docs.open({ ...options, type: Document });
124
+ }
125
+ };
126
+ return TestStore = _classThis;
127
+ })();
73
128
  const peersCount = 1;
74
129
  const session = await TestSession.connected(peersCount);
75
130
  const store = new TestStore({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../benchmark/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../benchmark/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,36 @@
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;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
6
27
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
9
34
  };
10
35
  import { yamux } from "@chainsafe/libp2p-yamux";
11
36
  import { field, option, variant } from "@dao-xyz/borsh";
@@ -19,63 +44,92 @@ import { v4 as uuid } from "uuid";
19
44
  import { createDocumentDomainFromProperty } from "../src/domain.js";
20
45
  import { Documents } from "../src/program.js";
21
46
  // Run with "node --loader ts-node/esm ./benchmark/iterate-replicate-2.ts"
22
- let Document = class Document {
23
- id;
24
- name;
25
- number;
26
- constructor(opts) {
27
- if (opts) {
28
- this.id = opts.id;
29
- this.name = opts.name;
30
- this.number = opts.number;
47
+ let Document = (() => {
48
+ let _classDecorators = [variant("document")];
49
+ let _classDescriptor;
50
+ let _classExtraInitializers = [];
51
+ let _classThis;
52
+ let _id_decorators;
53
+ let _id_initializers = [];
54
+ let _id_extraInitializers = [];
55
+ let _name_decorators;
56
+ let _name_initializers = [];
57
+ let _name_extraInitializers = [];
58
+ let _number_decorators;
59
+ let _number_initializers = [];
60
+ let _number_extraInitializers = [];
61
+ var Document = class {
62
+ static { _classThis = this; }
63
+ static {
64
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
65
+ _id_decorators = [field({ type: "string" })];
66
+ _name_decorators = [field({ type: option("string") })];
67
+ _number_decorators = [field({ type: option("u64") })];
68
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
69
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
70
+ __esDecorate(null, null, _number_decorators, { kind: "field", name: "number", static: false, private: false, access: { has: obj => "number" in obj, get: obj => obj.number, set: (obj, value) => { obj.number = value; } }, metadata: _metadata }, _number_initializers, _number_extraInitializers);
71
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
72
+ Document = _classThis = _classDescriptor.value;
73
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
74
+ __runInitializers(_classThis, _classExtraInitializers);
31
75
  }
32
- }
33
- };
34
- __decorate([
35
- field({ type: "string" }),
36
- __metadata("design:type", String)
37
- ], Document.prototype, "id", void 0);
38
- __decorate([
39
- field({ type: option("string") }),
40
- __metadata("design:type", String)
41
- ], Document.prototype, "name", void 0);
42
- __decorate([
43
- field({ type: option("u64") }),
44
- __metadata("design:type", BigInt)
45
- ], Document.prototype, "number", void 0);
46
- Document = __decorate([
47
- variant("document"),
48
- __metadata("design:paramtypes", [Document])
49
- ], Document);
50
- let TestStore = class TestStore extends Program {
51
- docs;
52
- constructor() {
53
- super();
54
- this.docs = new Documents();
55
- }
56
- async open(options) {
57
- await this.docs.open({
58
- ...options,
59
- type: Document,
60
- domain: createDocumentDomainFromProperty({
61
- property: "number",
62
- resolution: "u64",
63
- mergeSegmentMaxDelta: 1000,
64
- }),
65
- replicas: {
66
- min: 1,
67
- },
68
- });
69
- }
70
- };
71
- __decorate([
72
- field({ type: Documents }),
73
- __metadata("design:type", Documents)
74
- ], TestStore.prototype, "docs", void 0);
75
- TestStore = __decorate([
76
- variant("test_documents"),
77
- __metadata("design:paramtypes", [])
78
- ], TestStore);
76
+ id = __runInitializers(this, _id_initializers, void 0);
77
+ name = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _name_initializers, void 0));
78
+ number = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _number_initializers, void 0));
79
+ constructor(opts) {
80
+ __runInitializers(this, _number_extraInitializers);
81
+ if (opts) {
82
+ this.id = opts.id;
83
+ this.name = opts.name;
84
+ this.number = opts.number;
85
+ }
86
+ }
87
+ };
88
+ return Document = _classThis;
89
+ })();
90
+ let TestStore = (() => {
91
+ let _classDecorators = [variant("test_documents")];
92
+ let _classDescriptor;
93
+ let _classExtraInitializers = [];
94
+ let _classThis;
95
+ let _classSuper = Program;
96
+ let _docs_decorators;
97
+ let _docs_initializers = [];
98
+ let _docs_extraInitializers = [];
99
+ var TestStore = class extends _classSuper {
100
+ static { _classThis = this; }
101
+ static {
102
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
103
+ _docs_decorators = [field({ type: Documents })];
104
+ __esDecorate(null, null, _docs_decorators, { kind: "field", name: "docs", static: false, private: false, access: { has: obj => "docs" in obj, get: obj => obj.docs, set: (obj, value) => { obj.docs = value; } }, metadata: _metadata }, _docs_initializers, _docs_extraInitializers);
105
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
106
+ TestStore = _classThis = _classDescriptor.value;
107
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
108
+ __runInitializers(_classThis, _classExtraInitializers);
109
+ }
110
+ docs = __runInitializers(this, _docs_initializers, void 0);
111
+ constructor() {
112
+ super();
113
+ __runInitializers(this, _docs_extraInitializers);
114
+ this.docs = new Documents();
115
+ }
116
+ async open(options) {
117
+ await this.docs.open({
118
+ ...options,
119
+ type: Document,
120
+ domain: createDocumentDomainFromProperty({
121
+ property: "number",
122
+ resolution: "u64",
123
+ mergeSegmentMaxDelta: 1000,
124
+ }),
125
+ replicas: {
126
+ min: 1,
127
+ },
128
+ });
129
+ }
130
+ };
131
+ return TestStore = _classThis;
132
+ })();
79
133
  const peers = await Promise.all([
80
134
  await createLibp2pExtended({
81
135
  transports: [tcp()],
@@ -1 +1 @@
1
- {"version":3,"file":"iterate-replicate-2.js","sourceRoot":"","sources":["../../benchmark/iterate-replicate-2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterate-replicate-2.js","sourceRoot":"","sources":["../../benchmark/iterate-replicate-2.ts"],"names":[],"mappings":"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"}