@dxos/echo-db 2.33.5-dev.4dcc5349 → 2.33.5-dev.61c93034

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 (112) hide show
  1. package/dist/src/api/selection/queries.d.ts.map +1 -1
  2. package/dist/src/api/selection/queries.js +13 -17
  3. package/dist/src/api/selection/queries.js.map +1 -1
  4. package/dist/src/api/selection/selection.d.ts.map +1 -1
  5. package/dist/src/api/selection/selection.js +1 -3
  6. package/dist/src/api/selection/selection.js.map +1 -1
  7. package/dist/src/api/selection/selection.test.js +4 -12
  8. package/dist/src/api/selection/selection.test.js.map +1 -1
  9. package/dist/src/database/item-demuxer.d.ts +1 -1
  10. package/dist/src/database/item-demuxer.d.ts.map +1 -1
  11. package/dist/src/database/item-demuxer.js +3 -5
  12. package/dist/src/database/item-demuxer.js.map +1 -1
  13. package/dist/src/database/item-manager.js +2 -2
  14. package/dist/src/database/item-manager.js.map +1 -1
  15. package/dist/src/database/testing.js +1 -1
  16. package/dist/src/database/testing.js.map +1 -1
  17. package/dist/src/halo/halo-party.d.ts.map +1 -1
  18. package/dist/src/halo/halo-party.js +3 -1
  19. package/dist/src/halo/halo-party.js.map +1 -1
  20. package/dist/src/halo/identity.js +2 -2
  21. package/dist/src/halo/identity.js.map +1 -1
  22. package/dist/src/halo/party-opener.d.ts +1 -1
  23. package/dist/src/halo/party-opener.d.ts.map +1 -1
  24. package/dist/src/halo/party-opener.js +2 -2
  25. package/dist/src/halo/party-opener.js.map +1 -1
  26. package/dist/src/halo/preferences.d.ts.map +1 -1
  27. package/dist/src/halo/preferences.js +7 -10
  28. package/dist/src/halo/preferences.js.map +1 -1
  29. package/dist/src/invitations/greeting-protocol-provider.d.ts.map +1 -1
  30. package/dist/src/invitations/greeting-protocol-provider.js +5 -9
  31. package/dist/src/invitations/greeting-protocol-provider.js.map +1 -1
  32. package/dist/src/invitations/greeting-responder.d.ts.map +1 -1
  33. package/dist/src/invitations/greeting-responder.js +8 -12
  34. package/dist/src/invitations/greeting-responder.js.map +1 -1
  35. package/dist/src/invitations/offline-invitation-claimer.d.ts.map +1 -1
  36. package/dist/src/invitations/offline-invitation-claimer.js +5 -7
  37. package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
  38. package/dist/src/parties/data-party.d.ts.map +1 -1
  39. package/dist/src/parties/data-party.js +3 -1
  40. package/dist/src/parties/data-party.js.map +1 -1
  41. package/dist/src/pipeline/message-selector.d.ts +1 -1
  42. package/dist/src/pipeline/message-selector.d.ts.map +1 -1
  43. package/dist/src/pipeline/message-selector.js +29 -32
  44. package/dist/src/pipeline/message-selector.js.map +1 -1
  45. package/dist/src/pipeline/party-core.test.js +2 -1
  46. package/dist/src/pipeline/party-core.test.js.map +1 -1
  47. package/dist/src/protocol/auth-plugin.d.ts +1 -1
  48. package/dist/src/protocol/auth-plugin.d.ts.map +1 -1
  49. package/dist/src/protocol/auth-plugin.js +1 -3
  50. package/dist/src/protocol/auth-plugin.js.map +1 -1
  51. package/dist/src/protocol/authenticator.d.ts +2 -2
  52. package/dist/src/protocol/authenticator.d.ts.map +1 -1
  53. package/dist/src/protocol/authenticator.js +12 -16
  54. package/dist/src/protocol/authenticator.js.map +1 -1
  55. package/dist/src/protocol/halo-recovery-plugin.d.ts +1 -1
  56. package/dist/src/protocol/halo-recovery-plugin.d.ts.map +1 -1
  57. package/dist/src/protocol/halo-recovery-plugin.js +1 -3
  58. package/dist/src/protocol/halo-recovery-plugin.js.map +1 -1
  59. package/dist/src/protocol/identity-credentials.d.ts +2 -2
  60. package/dist/src/protocol/identity-credentials.d.ts.map +1 -1
  61. package/dist/src/protocol/identity-credentials.js +4 -4
  62. package/dist/src/protocol/identity-credentials.js.map +1 -1
  63. package/dist/src/protocol/offline-invitation-plugin.d.ts +1 -1
  64. package/dist/src/protocol/offline-invitation-plugin.d.ts.map +1 -1
  65. package/dist/src/protocol/offline-invitation-plugin.js +1 -3
  66. package/dist/src/protocol/offline-invitation-plugin.js.map +1 -1
  67. package/dist/src/protocol/party-protocol-factory.d.ts +1 -14
  68. package/dist/src/protocol/party-protocol-factory.d.ts.map +1 -1
  69. package/dist/src/protocol/party-protocol-factory.js +2 -55
  70. package/dist/src/protocol/party-protocol-factory.js.map +1 -1
  71. package/dist/src/protocol/replicator-plugin.d.ts +7 -0
  72. package/dist/src/protocol/replicator-plugin.d.ts.map +1 -0
  73. package/dist/src/protocol/replicator-plugin.js +36 -0
  74. package/dist/src/protocol/replicator-plugin.js.map +1 -0
  75. package/dist/src/snapshots/snapshot-generator.d.ts +1 -1
  76. package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
  77. package/dist/src/snapshots/snapshot-generator.js +13 -15
  78. package/dist/src/snapshots/snapshot-generator.js.map +1 -1
  79. package/dist/src/testing/benchmark.test.d.ts +2 -0
  80. package/dist/src/testing/benchmark.test.d.ts.map +1 -0
  81. package/dist/src/testing/benchmark.test.js +25 -0
  82. package/dist/src/testing/benchmark.test.js.map +1 -0
  83. package/dist/src/testing/testing-factories.js +2 -2
  84. package/dist/src/testing/testing-factories.js.map +1 -1
  85. package/dist/tsconfig.tsbuildinfo +1 -1
  86. package/package.json +18 -18
  87. package/src/api/selection/queries.ts +14 -18
  88. package/src/api/selection/selection.test.ts +4 -12
  89. package/src/api/selection/selection.ts +1 -7
  90. package/src/database/item-demuxer.ts +2 -4
  91. package/src/database/item-manager.ts +2 -2
  92. package/src/database/testing.ts +1 -1
  93. package/src/halo/halo-party.ts +2 -1
  94. package/src/halo/identity.ts +2 -2
  95. package/src/halo/party-opener.ts +2 -2
  96. package/src/halo/preferences.ts +7 -10
  97. package/src/invitations/greeting-protocol-provider.ts +5 -9
  98. package/src/invitations/greeting-responder.ts +9 -13
  99. package/src/invitations/offline-invitation-claimer.ts +5 -7
  100. package/src/parties/data-party.ts +2 -1
  101. package/src/pipeline/message-selector.ts +30 -36
  102. package/src/pipeline/party-core.test.ts +4 -7
  103. package/src/protocol/auth-plugin.ts +1 -3
  104. package/src/protocol/authenticator.ts +27 -31
  105. package/src/protocol/halo-recovery-plugin.ts +4 -6
  106. package/src/protocol/identity-credentials.ts +4 -4
  107. package/src/protocol/offline-invitation-plugin.ts +4 -6
  108. package/src/protocol/party-protocol-factory.ts +3 -56
  109. package/src/protocol/replicator-plugin.ts +37 -0
  110. package/src/snapshots/snapshot-generator.ts +12 -16
  111. package/src/testing/benchmark.test.ts +30 -0
  112. package/src/testing/testing-factories.ts +2 -2
@@ -1,33 +1,20 @@
1
1
  import { PublicKey } from '@dxos/crypto';
2
2
  import { PartyKey } from '@dxos/echo-protocol';
3
3
  import { NetworkManager, Plugin } from '@dxos/network-manager';
4
- import { Replicator } from '@dxos/protocol-plugin-replicator';
5
4
  import { CredentialsProvider } from '.';
6
- import { PartyFeedProvider } from '../pipeline/party-feed-provider';
7
5
  /**
8
6
  * Manages the party's connection to the network swarm.
9
7
  */
10
8
  export declare class PartyProtocolFactory {
11
9
  private readonly _partyKey;
12
10
  private readonly _networkManager;
13
- private readonly _feedProvider;
14
11
  private readonly _peerId;
15
12
  private readonly _credentials;
16
13
  private readonly _presencePlugin;
17
- private readonly _replicatorProtocolPluginFactory;
18
14
  private _started;
19
- constructor(_partyKey: PartyKey, _networkManager: NetworkManager, _feedProvider: PartyFeedProvider, _peerId: PublicKey, _credentials: CredentialsProvider);
15
+ constructor(_partyKey: PartyKey, _networkManager: NetworkManager, _peerId: PublicKey, _credentials: CredentialsProvider);
20
16
  start(plugins: Plugin[]): Promise<(() => Promise<void>) | undefined>;
21
17
  stop(): Promise<void>;
22
18
  private _createProtocol;
23
19
  }
24
- /**
25
- * Creates the protocol plugin for feed replication.
26
- */
27
- export declare class ReplicatorProtocolPluginFactory {
28
- private readonly _feedProvider;
29
- constructor(_feedProvider: PartyFeedProvider);
30
- createPlugins(): Replicator[];
31
- private _openFeed;
32
- }
33
20
  //# sourceMappingURL=party-protocol-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"party-protocol-factory.d.ts","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"AAOA,OAAO,EAA6B,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAW,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAgB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE;;GAEG;AACH,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAV/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+C;IAC/E,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAkC;IAEnF,OAAO,CAAC,QAAQ,CAAS;gBAGN,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,mBAAmB;IAO9C,KAAK,CAAE,OAAO,EAAE,MAAM,EAAE;IAwBxB,IAAI;IAUV,OAAO,CAAC,eAAe;CA4CxB;AAED;;GAEG;AACH,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,iBAAiB;IAGnD,aAAa;YA4BC,SAAS;CAIxB"}
1
+ {"version":3,"file":"party-protocol-factory.d.ts","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6B,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAgB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AAIxC;;GAEG;AACH,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+C;IAE/E,OAAO,CAAC,QAAQ,CAAS;gBAGN,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,cAAc,EAC/B,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,mBAAmB;IAG9C,KAAK,CAAE,OAAO,EAAE,MAAM,EAAE;IAwBxB,IAAI;IAUV,OAAO,CAAC,eAAe;CA2CxB"}
@@ -2,40 +2,28 @@
2
2
  //
3
3
  // Copyright 2020 DXOS.org
4
4
  //
5
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
- 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;
9
- return c > 3 && r && Object.defineProperty(target, key, r), r;
10
- };
11
5
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
7
  };
14
8
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ReplicatorProtocolPluginFactory = exports.PartyProtocolFactory = void 0;
9
+ exports.PartyProtocolFactory = void 0;
16
10
  const debug_1 = __importDefault(require("debug"));
17
- const async_1 = require("@dxos/async");
18
11
  const crypto_1 = require("@dxos/crypto");
19
12
  const mesh_protocol_1 = require("@dxos/mesh-protocol");
20
13
  const network_manager_1 = require("@dxos/network-manager");
21
14
  const protocol_plugin_presence_1 = require("@dxos/protocol-plugin-presence");
22
- const protocol_plugin_replicator_1 = require("@dxos/protocol-plugin-replicator");
23
15
  const log = (0, debug_1.default)('dxos:echo-db:party-protocol-factory');
24
16
  /**
25
17
  * Manages the party's connection to the network swarm.
26
18
  */
27
19
  class PartyProtocolFactory {
28
- constructor(_partyKey, _networkManager, _feedProvider, _peerId, _credentials) {
20
+ constructor(_partyKey, _networkManager, _peerId, _credentials) {
29
21
  this._partyKey = _partyKey;
30
22
  this._networkManager = _networkManager;
31
- this._feedProvider = _feedProvider;
32
23
  this._peerId = _peerId;
33
24
  this._credentials = _credentials;
34
25
  this._presencePlugin = new protocol_plugin_presence_1.PresencePlugin(this._peerId.asBuffer());
35
26
  this._started = false;
36
- // Replication.
37
- this._replicatorProtocolPluginFactory =
38
- new ReplicatorProtocolPluginFactory(this._feedProvider);
39
27
  }
40
28
  async start(plugins) {
41
29
  if (this._started) {
@@ -68,7 +56,6 @@ class PartyProtocolFactory {
68
56
  }
69
57
  _createProtocol(channel, opts, extraPlugins) {
70
58
  const plugins = [
71
- ...this._replicatorProtocolPluginFactory.createPlugins(),
72
59
  ...extraPlugins,
73
60
  this._presencePlugin
74
61
  ];
@@ -103,44 +90,4 @@ class PartyProtocolFactory {
103
90
  }
104
91
  }
105
92
  exports.PartyProtocolFactory = PartyProtocolFactory;
106
- /**
107
- * Creates the protocol plugin for feed replication.
108
- */
109
- class ReplicatorProtocolPluginFactory {
110
- constructor(_feedProvider) {
111
- this._feedProvider = _feedProvider;
112
- }
113
- createPlugins() {
114
- return [
115
- new protocol_plugin_replicator_1.Replicator({
116
- load: async () => {
117
- const feeds = this._feedProvider.getFeeds();
118
- log(`Loading feeds: ${feeds.map(feed => (0, crypto_1.keyToString)(feed.key))}`);
119
- return feeds.map((feed) => ({ discoveryKey: feed.feed.discoveryKey }));
120
- },
121
- subscribe: (addFeedToReplicatedSet) => {
122
- return this._feedProvider.feedOpened.on(async (feed) => {
123
- log(`Adding feed: ${feed.key.toHex()}`);
124
- addFeedToReplicatedSet({ discoveryKey: feed.feed.discoveryKey });
125
- });
126
- },
127
- replicate: async (remoteFeeds, info) => {
128
- // We can ignore remoteFeeds entirely, since the set of feeds we want to replicate is dictated by the Party.
129
- // TODO(telackey): Why are we opening feeds? Necessary or belt/braces thinking, or because open party does it?
130
- const feeds = this._feedProvider.getFeeds();
131
- log(`Replicating: peerId=${info.session}; feeds=${feeds.map(feed => feed.key.toHex())}`);
132
- return feeds.map(feed => feed.feed);
133
- }
134
- })
135
- ];
136
- }
137
- async _openFeed(key) {
138
- const descriptor = await this._feedProvider.createOrOpenReadOnlyFeed(key);
139
- return descriptor.feed;
140
- }
141
- }
142
- __decorate([
143
- async_1.synchronized
144
- ], ReplicatorProtocolPluginFactory.prototype, "_openFeed", null);
145
- exports.ReplicatorProtocolPluginFactory = ReplicatorProtocolPluginFactory;
146
93
  //# sourceMappingURL=party-protocol-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"party-protocol-factory.js","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"party-protocol-factory.js","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Replicator } from '@dxos/protocol-plugin-replicator';
2
+ import { PartyFeedProvider } from '../pipeline';
3
+ /**
4
+ * Creates the protocol plugin for feed replication.
5
+ */
6
+ export declare const createReplicatorPlugin: (feedProvider: PartyFeedProvider) => Replicator;
7
+ //# sourceMappingURL=replicator-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicator-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/replicator-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,iBAAiB,eAoBlE,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createReplicatorPlugin = void 0;
10
+ const debug_1 = __importDefault(require("debug"));
11
+ const crypto_1 = require("@dxos/crypto");
12
+ const protocol_plugin_replicator_1 = require("@dxos/protocol-plugin-replicator");
13
+ const log = (0, debug_1.default)('dxos:echo-db:protocol:replicator');
14
+ /**
15
+ * Creates the protocol plugin for feed replication.
16
+ */
17
+ const createReplicatorPlugin = (feedProvider) => new protocol_plugin_replicator_1.Replicator({
18
+ load: async () => {
19
+ const feeds = feedProvider.getFeeds();
20
+ log(`Loading feeds: ${feeds.map(feed => (0, crypto_1.keyToString)(feed.key))}`);
21
+ return feeds.map((feed) => ({ discoveryKey: feed.feed.discoveryKey }));
22
+ },
23
+ subscribe: (addFeedToReplicatedSet) => feedProvider.feedOpened.on(async (feed) => {
24
+ log(`Adding feed: ${feed.key.toHex()}`);
25
+ addFeedToReplicatedSet({ discoveryKey: feed.feed.discoveryKey });
26
+ }),
27
+ replicate: async (remoteFeeds, info) => {
28
+ // We can ignore remoteFeeds entirely, since the set of feeds we want to replicate is dictated by the Party.
29
+ // TODO(telackey): Why are we opening feeds? Necessary or belt/braces thinking, or because open party does it?
30
+ const feeds = feedProvider.getFeeds();
31
+ log(`Replicating: peerId=${info.session}; feeds=${feeds.map(feed => feed.key.toHex())}`);
32
+ return feeds.map(feed => feed.feed);
33
+ }
34
+ });
35
+ exports.createReplicatorPlugin = createReplicatorPlugin;
36
+ //# sourceMappingURL=replicator-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicator-plugin.js","sourceRoot":"","sources":["../../../src/protocol/replicator-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,yCAA2C;AAC3C,iFAA8D;AAI9D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC;AAEtD;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,YAA+B,EAAE,EAAE,CACxE,IAAI,uCAAU,CAAC;IACb,IAAI,EAAE,KAAK,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,kBAAkB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,EAAE,CAAC,sBAA2C,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpG,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,sBAAsB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QACrC,4GAA4G;QAC5G,8GAA8G;QAC9G,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,WAAW,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC;AApBQ,QAAA,sBAAsB,0BAoB9B"}
@@ -1,5 +1,5 @@
1
1
  import { TimeframeClock } from '../database';
2
2
  import { PartyCore } from '../pipeline';
3
3
  import { SnapshotStore } from './snapshot-store';
4
- export declare function createAutomaticSnapshots(party: PartyCore, clock: TimeframeClock, store: SnapshotStore, interval: number): () => void;
4
+ export declare const createAutomaticSnapshots: (party: PartyCore, clock: TimeframeClock, store: SnapshotStore, interval: number) => () => void;
5
5
  //# sourceMappingURL=snapshot-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAehF"}
1
+ {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,eAAO,MAAM,wBAAwB,UAAW,SAAS,SAAS,cAAc,SAAS,aAAa,YAAY,MAAM,eAYtH,CAAC"}
@@ -9,21 +9,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.createAutomaticSnapshots = void 0;
10
10
  const debug_1 = __importDefault(require("debug"));
11
11
  const log = (0, debug_1.default)('dxos:snapshot-generator');
12
- function createAutomaticSnapshots(party, clock, store, interval) {
13
- return clock.update.on(async (timeframe) => {
14
- const totalMessages = timeframe.totalMessages();
15
- if (totalMessages > 0 && totalMessages % interval === 0) {
16
- log(`Saving snapshot of ${party.key.humanize()}...`);
17
- try {
18
- const snapshot = party.createSnapshot();
19
- await store.save(snapshot);
20
- }
21
- catch (err) {
22
- console.error('Failed to save snapshot');
23
- console.error(err);
24
- }
12
+ const createAutomaticSnapshots = (party, clock, store, interval) => clock.update.on(async (timeframe) => {
13
+ const totalMessages = timeframe.totalMessages();
14
+ if (totalMessages > 0 && totalMessages % interval === 0) {
15
+ log(`Saving snapshot of ${party.key.humanize()}...`);
16
+ try {
17
+ const snapshot = party.createSnapshot();
18
+ await store.save(snapshot);
25
19
  }
26
- });
27
- }
20
+ catch (err) {
21
+ console.error('Failed to save snapshot');
22
+ console.error(err);
23
+ }
24
+ }
25
+ });
28
26
  exports.createAutomaticSnapshots = createAutomaticSnapshots;
29
27
  //# sourceMappingURL=snapshot-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAM1B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAE7C,SAAgB,wBAAwB,CACtC,KAAgB,EAAE,KAAqB,EAAE,KAAoB,EAAE,QAAgB;IAE/E,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;QACvC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAChD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,KAAK,CAAC,EAAE;YACvD,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI;gBACF,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACpB;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,4DAgBC"}
1
+ {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAM1B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAEtC,MAAM,wBAAwB,GAAG,CAAC,KAAgB,EAAE,KAAqB,EAAE,KAAoB,EAAE,QAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;IAC7J,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,KAAK,CAAC,EAAE;QACvD,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI;YACF,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;KACF;AACH,CAAC,CAAC,CAAC;AAZU,QAAA,wBAAwB,4BAYlC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=benchmark.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.test.d.ts","sourceRoot":"","sources":["../../../src/testing/benchmark.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const object_model_1 = require("@dxos/object-model");
7
+ const echo_1 = require("../echo");
8
+ const ITEMS = 100;
9
+ const MUTATIONS = 1000;
10
+ it.skip('Database benchmark', async () => {
11
+ const echo = new echo_1.ECHO({ snapshots: false });
12
+ await echo.open();
13
+ await echo.halo.createProfile();
14
+ const party = await echo.createParty();
15
+ const start = Date.now();
16
+ for (let i = 0; i < ITEMS; i++) {
17
+ const item = await party.database.createItem({ model: object_model_1.ObjectModel, type: 'test:item' });
18
+ for (let j = 0; j < MUTATIONS; j++) {
19
+ await item.model.set(`key${j % 100}`, `value-${j}`);
20
+ }
21
+ console.log(`${i * MUTATIONS}/${ITEMS * MUTATIONS} ${((Date.now() - start) / ((i + 1) * MUTATIONS / 1000)).toFixed(1)} µs/mut ${((i + 1) * MUTATIONS / (Date.now() - start) * 1000).toFixed(1)} mut/s`);
22
+ }
23
+ await echo.close();
24
+ });
25
+ //# sourceMappingURL=benchmark.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../../src/testing/benchmark.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,qDAAiD;AAEjD,kCAA+B;AAE/B,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,0BAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAExF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;SACrD;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,KAAK,GAAG,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACzM;IAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC"}
@@ -11,10 +11,10 @@ const assert_1 = __importDefault(require("assert"));
11
11
  const object_model_1 = require("@dxos/object-model");
12
12
  const util_1 = require("@dxos/util");
13
13
  const testing_1 = require("./testing");
14
- function addTestMeta(obj, meta) {
14
+ const addTestMeta = (obj, meta) => {
15
15
  obj.testMeta = meta;
16
16
  return obj;
17
- }
17
+ };
18
18
  /**
19
19
  * Creates a number of test ECHO instances and a party that's shared between all of them.
20
20
  * @returns Party instances from each of the peers.
@@ -1 +1 @@
1
- {"version":3,"file":"testing-factories.js","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing-factories.js","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"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"}