@dxos/echo-db 2.33.9-dev.7d11f506 → 2.33.9-dev.9bbef4e2

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 (175) hide show
  1. package/dist/src/api/index.d.ts +1 -0
  2. package/dist/src/api/index.d.ts.map +1 -1
  3. package/dist/src/api/index.js +1 -0
  4. package/dist/src/api/index.js.map +1 -1
  5. package/dist/src/api/result-set.js +4 -4
  6. package/dist/src/api/result-set.js.map +1 -1
  7. package/dist/src/api/subscription.d.ts +5 -0
  8. package/dist/src/api/subscription.d.ts.map +1 -0
  9. package/dist/src/api/subscription.js +25 -0
  10. package/dist/src/api/subscription.js.map +1 -0
  11. package/dist/src/echo-api.test.d.ts +2 -0
  12. package/dist/src/echo-api.test.d.ts.map +1 -0
  13. package/dist/src/echo-api.test.js +117 -0
  14. package/dist/src/echo-api.test.js.map +1 -0
  15. package/dist/src/echo.d.ts +3 -4
  16. package/dist/src/echo.d.ts.map +1 -1
  17. package/dist/src/echo.js +6 -8
  18. package/dist/src/echo.js.map +1 -1
  19. package/dist/src/echo.test.js +3 -3
  20. package/dist/src/echo.test.js.map +1 -1
  21. package/dist/src/halo/halo-factory.js +8 -8
  22. package/dist/src/halo/halo-factory.js.map +1 -1
  23. package/dist/src/halo/halo-party.d.ts +2 -2
  24. package/dist/src/halo/halo-party.d.ts.map +1 -1
  25. package/dist/src/halo/halo-party.js +3 -3
  26. package/dist/src/halo/halo-party.js.map +1 -1
  27. package/dist/src/halo/halo.js +9 -9
  28. package/dist/src/halo/halo.js.map +1 -1
  29. package/dist/src/halo/halo.test.js.map +1 -1
  30. package/dist/src/halo/identity-manager.d.ts.map +1 -1
  31. package/dist/src/halo/identity-manager.js +7 -10
  32. package/dist/src/halo/identity-manager.js.map +1 -1
  33. package/dist/src/halo/identity.d.ts +1 -1
  34. package/dist/src/halo/identity.d.ts.map +1 -1
  35. package/dist/src/halo/identity.js +4 -2
  36. package/dist/src/halo/identity.js.map +1 -1
  37. package/dist/src/halo/preferences.d.ts.map +1 -1
  38. package/dist/src/halo/preferences.js +6 -6
  39. package/dist/src/halo/preferences.js.map +1 -1
  40. package/dist/src/invitations/greeting-initiator.js +6 -6
  41. package/dist/src/invitations/greeting-initiator.js.map +1 -1
  42. package/dist/src/invitations/greeting-responder.js +5 -5
  43. package/dist/src/invitations/greeting-responder.js.map +1 -1
  44. package/dist/src/invitations/halo-recovery-initiator.js +6 -6
  45. package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
  46. package/dist/src/invitations/invitation-descriptor.js +9 -9
  47. package/dist/src/invitations/invitation-descriptor.js.map +1 -1
  48. package/dist/src/invitations/invitation-factory.js +3 -3
  49. package/dist/src/invitations/invitation-factory.js.map +1 -1
  50. package/dist/src/invitations/offline-invitation-claimer.js +7 -7
  51. package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
  52. package/dist/src/packlets/database/data-mirror.js +8 -8
  53. package/dist/src/packlets/database/data-mirror.js.map +1 -1
  54. package/dist/src/packlets/database/data-service-host.js +3 -3
  55. package/dist/src/packlets/database/data-service-host.js.map +1 -1
  56. package/dist/src/packlets/database/data-service-router.js +5 -5
  57. package/dist/src/packlets/database/data-service-router.js.map +1 -1
  58. package/dist/src/packlets/database/database-backend.js +3 -3
  59. package/dist/src/packlets/database/database-backend.js.map +1 -1
  60. package/dist/src/packlets/database/database.js +2 -2
  61. package/dist/src/packlets/database/database.js.map +1 -1
  62. package/dist/src/packlets/database/item-demuxer.js +14 -14
  63. package/dist/src/packlets/database/item-demuxer.js.map +1 -1
  64. package/dist/src/packlets/database/item-manager.d.ts.map +1 -1
  65. package/dist/src/packlets/database/item-manager.js +18 -18
  66. package/dist/src/packlets/database/item-manager.js.map +1 -1
  67. package/dist/src/packlets/database/link.js +3 -3
  68. package/dist/src/packlets/database/link.js.map +1 -1
  69. package/dist/src/packlets/database/selection/result.js +2 -2
  70. package/dist/src/packlets/database/selection/result.js.map +1 -1
  71. package/dist/src/parties/data-party.d.ts.map +1 -1
  72. package/dist/src/parties/data-party.js +11 -11
  73. package/dist/src/parties/data-party.js.map +1 -1
  74. package/dist/src/parties/data-party.test.js.map +1 -1
  75. package/dist/src/parties/party-factory.d.ts +3 -2
  76. package/dist/src/parties/party-factory.d.ts.map +1 -1
  77. package/dist/src/parties/party-factory.js +4 -4
  78. package/dist/src/parties/party-factory.js.map +1 -1
  79. package/dist/src/parties/party-manager.d.ts +3 -3
  80. package/dist/src/parties/party-manager.d.ts.map +1 -1
  81. package/dist/src/parties/party-manager.js +6 -11
  82. package/dist/src/parties/party-manager.js.map +1 -1
  83. package/dist/src/parties/party-manager.test.js +6 -6
  84. package/dist/src/parties/party-manager.test.js.map +1 -1
  85. package/dist/src/parties/party-preferences.d.ts +1 -1
  86. package/dist/src/parties/party-preferences.d.ts.map +1 -1
  87. package/dist/src/parties/party-preferences.js +5 -5
  88. package/dist/src/parties/party-preferences.js.map +1 -1
  89. package/dist/src/pipeline/feed-muxer.js +3 -3
  90. package/dist/src/pipeline/feed-muxer.js.map +1 -1
  91. package/dist/src/pipeline/feed-muxer.test.js +4 -2
  92. package/dist/src/pipeline/feed-muxer.test.js.map +1 -1
  93. package/dist/src/pipeline/message-selector.js +2 -2
  94. package/dist/src/pipeline/message-selector.js.map +1 -1
  95. package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
  96. package/dist/src/pipeline/metadata-store.js +35 -32
  97. package/dist/src/pipeline/metadata-store.js.map +1 -1
  98. package/dist/src/pipeline/party-feed-provider.js +3 -3
  99. package/dist/src/pipeline/party-feed-provider.js.map +1 -1
  100. package/dist/src/pipeline/party-pipeline.d.ts +3 -1
  101. package/dist/src/pipeline/party-pipeline.d.ts.map +1 -1
  102. package/dist/src/pipeline/party-pipeline.js +20 -18
  103. package/dist/src/pipeline/party-pipeline.js.map +1 -1
  104. package/dist/src/pipeline/party-pipeline.test.js +10 -9
  105. package/dist/src/pipeline/party-pipeline.test.js.map +1 -1
  106. package/dist/src/pipeline/party-processor.js +3 -3
  107. package/dist/src/pipeline/party-processor.js.map +1 -1
  108. package/dist/src/protocol/authenticator.test.js +53 -12
  109. package/dist/src/protocol/authenticator.test.js.map +1 -1
  110. package/dist/src/protocol/identity-credentials.d.ts +0 -1
  111. package/dist/src/protocol/identity-credentials.d.ts.map +1 -1
  112. package/dist/src/protocol/identity-credentials.js.map +1 -1
  113. package/dist/src/protocol/index.d.ts +1 -0
  114. package/dist/src/protocol/index.d.ts.map +1 -1
  115. package/dist/src/protocol/index.js +1 -0
  116. package/dist/src/protocol/index.js.map +1 -1
  117. package/dist/src/protocol/party-protocol-factory.d.ts +1 -1
  118. package/dist/src/protocol/party-protocol-factory.d.ts.map +1 -1
  119. package/dist/src/snapshots/snapshot-store.js +2 -2
  120. package/dist/src/snapshots/snapshot-store.js.map +1 -1
  121. package/dist/src/snapshots/snapshot-store.test.js +5 -1
  122. package/dist/src/snapshots/snapshot-store.test.js.map +1 -1
  123. package/dist/src/testing/testing-factories.js +2 -2
  124. package/dist/src/testing/testing-factories.js.map +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +21 -17
  127. package/src/api/index.ts +1 -0
  128. package/src/api/result-set.ts +1 -1
  129. package/src/api/subscription.ts +24 -0
  130. package/src/echo-api.test.ts +162 -0
  131. package/src/echo.test.ts +3 -3
  132. package/src/echo.ts +12 -11
  133. package/src/halo/halo-factory.ts +1 -1
  134. package/src/halo/halo-party.ts +4 -4
  135. package/src/halo/halo.test.ts +1 -3
  136. package/src/halo/halo.ts +1 -1
  137. package/src/halo/identity-manager.ts +2 -7
  138. package/src/halo/identity.ts +3 -3
  139. package/src/halo/preferences.ts +2 -1
  140. package/src/invitations/greeting-initiator.ts +1 -1
  141. package/src/invitations/greeting-responder.ts +1 -1
  142. package/src/invitations/halo-recovery-initiator.ts +1 -1
  143. package/src/invitations/invitation-descriptor.ts +1 -1
  144. package/src/invitations/invitation-factory.ts +1 -1
  145. package/src/invitations/offline-invitation-claimer.ts +1 -1
  146. package/src/packlets/database/data-mirror.ts +1 -1
  147. package/src/packlets/database/data-service-host.ts +1 -1
  148. package/src/packlets/database/data-service-router.ts +1 -1
  149. package/src/packlets/database/database-backend.ts +1 -1
  150. package/src/packlets/database/database.ts +1 -1
  151. package/src/packlets/database/item-demuxer.ts +1 -1
  152. package/src/packlets/database/item-manager.ts +6 -6
  153. package/src/packlets/database/link.ts +1 -1
  154. package/src/packlets/database/selection/result.ts +1 -1
  155. package/src/parties/data-party.test.ts +3 -1
  156. package/src/parties/data-party.ts +3 -3
  157. package/src/parties/party-factory.ts +4 -4
  158. package/src/parties/party-manager.test.ts +1 -1
  159. package/src/parties/party-manager.ts +7 -14
  160. package/src/parties/party-preferences.ts +4 -4
  161. package/src/pipeline/feed-muxer.test.ts +4 -2
  162. package/src/pipeline/feed-muxer.ts +1 -1
  163. package/src/pipeline/message-selector.ts +1 -1
  164. package/src/pipeline/metadata-store.ts +38 -29
  165. package/src/pipeline/party-feed-provider.ts +1 -1
  166. package/src/pipeline/party-pipeline.test.ts +3 -2
  167. package/src/pipeline/party-pipeline.ts +10 -7
  168. package/src/pipeline/party-processor.ts +1 -1
  169. package/src/protocol/authenticator.test.ts +102 -17
  170. package/src/protocol/identity-credentials.ts +0 -2
  171. package/src/protocol/index.ts +1 -0
  172. package/src/protocol/party-protocol-factory.ts +1 -1
  173. package/src/snapshots/snapshot-store.test.ts +5 -1
  174. package/src/snapshots/snapshot-store.ts +1 -1
  175. package/src/testing/testing-factories.ts +1 -1
@@ -1,3 +1,4 @@
1
1
  export * from './result-set';
2
2
  export * from './schema';
3
+ export * from './subscription';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -19,4 +19,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./result-set"), exports);
21
21
  __exportStar(require("./schema"), exports);
22
+ __exportStar(require("./subscription"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,2CAAyB;AACzB,iDAA+B"}
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ResultSet = void 0;
10
- const assert_1 = __importDefault(require("assert"));
10
+ const node_assert_1 = __importDefault(require("node:assert"));
11
11
  const async_1 = require("@dxos/async");
12
12
  /**
13
13
  * Reactive query results.
@@ -21,8 +21,8 @@ class ResultSet {
21
21
  * Triggered when `value` updates.
22
22
  */
23
23
  this.update = this._resultsUpdate;
24
- (0, assert_1.default)(itemUpdate);
25
- (0, assert_1.default)(getter);
24
+ (0, node_assert_1.default)(itemUpdate);
25
+ (0, node_assert_1.default)(getter);
26
26
  this._itemUpdate = itemUpdate;
27
27
  this._getter = getter;
28
28
  this._resultsUpdate.addEffect(() => this._itemUpdate.on(() => {
@@ -35,7 +35,7 @@ class ResultSet {
35
35
  }
36
36
  get first() {
37
37
  const value = this._getter();
38
- (0, assert_1.default)(value.length);
38
+ (0, node_assert_1.default)(value.length);
39
39
  return value[0];
40
40
  }
41
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"result-set.js","sourceRoot":"","sources":["../../../src/api/result-set.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAE5B,uCAAmD;AAEnD;;;GAGG;AACH,0GAA0G;AAC1G,MAAa,SAAS;IAUpB,YAAa,UAAyB,EAAE,MAAiB;QATxC,mBAAc,GAAG,IAAI,aAAK,EAAO,CAAC;QAInD;;WAEG;QACM,WAAM,GAAuB,IAAI,CAAC,cAAc,CAAC;QAGxD,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC;QACnB,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,KAAK;QACP,0DAA0D;QAC1D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAA,gBAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAE,QAA+B;QACxC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAE,SAAiC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACF;AApDD,8BAoDC"}
1
+ {"version":3,"file":"result-set.js","sourceRoot":"","sources":["../../../src/api/result-set.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAAmD;AAEnD;;;GAGG;AACH,0GAA0G;AAC1G,MAAa,SAAS;IAUpB,YAAa,UAAyB,EAAE,MAAiB;QATxC,mBAAc,GAAG,IAAI,aAAK,EAAO,CAAC;QAInD;;WAEG;QACM,WAAM,GAAuB,IAAI,CAAC,cAAc,CAAC;QAGxD,IAAA,qBAAM,EAAC,UAAU,CAAC,CAAC;QACnB,IAAA,qBAAM,EAAC,MAAM,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,KAAK;QACP,0DAA0D;QAC1D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAA,qBAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAE,QAA+B;QACxC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAE,SAAiC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACF;AApDD,8BAoDC"}
@@ -0,0 +1,5 @@
1
+ import { Stream } from '@dxos/codec-protobuf';
2
+ import { ResultSet } from './result-set';
3
+ export declare const resultSetToStream: <T, U>(resultSet: ResultSet<T>, map: (arg: T[]) => U) => Stream<U>;
4
+ export declare const streamToResultSet: <T, U>(stream: Stream<T>, map: (arg?: T | undefined) => U[]) => ResultSet<U>;
5
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/api/subscription.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,iBAAiB,oEAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,8EAS7B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2021 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.streamToResultSet = exports.resultSetToStream = void 0;
7
+ const async_1 = require("@dxos/async");
8
+ const codec_protobuf_1 = require("@dxos/codec-protobuf");
9
+ const result_set_1 = require("./result-set");
10
+ const resultSetToStream = (resultSet, map) => new codec_protobuf_1.Stream(({ next }) => {
11
+ next(map(resultSet.value));
12
+ return resultSet.update.on(() => next(map(resultSet.value)));
13
+ });
14
+ exports.resultSetToStream = resultSetToStream;
15
+ const streamToResultSet = (stream, map) => {
16
+ const event = new async_1.Event();
17
+ let lastItem;
18
+ stream.subscribe(data => {
19
+ lastItem = data;
20
+ event.emit();
21
+ });
22
+ return new result_set_1.ResultSet(event, () => map(lastItem));
23
+ };
24
+ exports.streamToResultSet = streamToResultSet;
25
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/api/subscription.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,uCAAoC;AACpC,yDAA8C;AAE9C,6CAAyC;AAElC,MAAM,iBAAiB,GAAG,CAAO,SAAuB,EAAE,GAAoB,EAAa,EAAE,CAAC,IAAI,uBAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3H,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAHU,QAAA,iBAAiB,qBAG3B;AAEI,MAAM,iBAAiB,GAAG,CAAO,MAAiB,EAAE,GAAqB,EAAgB,EAAE;IAChG,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC1B,IAAI,QAAuB,CAAC;IAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACtB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,sBAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=echo-api.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-api.test.d.ts","sourceRoot":"","sources":["../../src/echo-api.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 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
+ const expect_1 = __importDefault(require("expect"));
10
+ const mocha_1 = require("mocha");
11
+ class Handler {
12
+ constructor(_parent, _property, _callback) {
13
+ this._parent = _parent;
14
+ this._property = _property;
15
+ this._callback = _callback;
16
+ this._mutations = [];
17
+ }
18
+ get mutations() {
19
+ return this._mutations;
20
+ }
21
+ addMutation(mutation) {
22
+ if (this._parent) {
23
+ this._parent.addMutation(mutation);
24
+ }
25
+ else {
26
+ this._mutations.push(mutation);
27
+ }
28
+ }
29
+ getMeta(p) {
30
+ switch (p) {
31
+ case '$mutations': {
32
+ return this._mutations;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ class ContactNameHandler extends Handler {
38
+ get(obj, p) {
39
+ switch (p) {
40
+ case 'first':
41
+ case 'last': {
42
+ return obj[p];
43
+ }
44
+ }
45
+ }
46
+ set(obj, p, value) {
47
+ var _a;
48
+ switch (p) {
49
+ case 'first':
50
+ case 'last': {
51
+ this.addMutation([`${this._property}.${p}`, value]);
52
+ obj[p] = value;
53
+ (_a = this._callback) === null || _a === void 0 ? void 0 : _a.call(this, obj);
54
+ return true;
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ }
60
+ class ContactHandler extends Handler {
61
+ get(obj, p) {
62
+ var _a;
63
+ const result = super.getMeta(p);
64
+ if (result !== undefined) {
65
+ return result;
66
+ }
67
+ switch (p) {
68
+ case 'name': {
69
+ return new Proxy((_a = obj[p]) !== null && _a !== void 0 ? _a : {}, new ContactNameHandler(this, p, value => {
70
+ obj[p] = value;
71
+ }));
72
+ }
73
+ }
74
+ return obj[p];
75
+ }
76
+ set(obj, p, value) {
77
+ this.addMutation([p, value]);
78
+ obj[p] = value;
79
+ return true; // Throws TypeError if false.
80
+ }
81
+ }
82
+ const ContactType = ['example.Contact', () => new ContactHandler()];
83
+ class Database {
84
+ constructor() {
85
+ this._types = new Map();
86
+ }
87
+ addType(type, constructor) {
88
+ this._types.set(type, constructor);
89
+ return this;
90
+ }
91
+ create(type, value = {}) {
92
+ const constructor = this._types.get(type);
93
+ return constructor(value);
94
+ }
95
+ }
96
+ describe('API', () => {
97
+ (0, mocha_1.it)('Pseudo-code', () => {
98
+ var _a;
99
+ const db = new Database();
100
+ db.addType(ContactType, value => new Proxy(value, new ContactHandler()));
101
+ // Create type-safe proxy.
102
+ const item = db.create(ContactType);
103
+ item.age = 64;
104
+ (0, expect_1.default)(item.$mutations).toHaveLength(1);
105
+ (0, expect_1.default)(item).toEqual({ age: 64 });
106
+ item.name.first = 'Alice';
107
+ (0, expect_1.default)((_a = item.name) === null || _a === void 0 ? void 0 : _a.first).toBe('Alice');
108
+ (0, expect_1.default)(item.$mutations).toHaveLength(2);
109
+ (0, expect_1.default)(item).toEqual({ age: 64, name: { first: 'Alice' } });
110
+ (0, expect_1.default)(item.$mutations).toStrictEqual([
111
+ ['age', 64],
112
+ ['name.first', 'Alice']
113
+ ]);
114
+ // TODO(burdon): Get item id, state, mutations, etc.
115
+ });
116
+ });
117
+ //# sourceMappingURL=echo-api.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-api.test.js","sourceRoot":"","sources":["../../src/echo-api.test.ts"],"names":[],"mappings":"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"}
@@ -54,15 +54,15 @@ export interface EchoCreationOptions {
54
54
  * `Timeframe` (which implements a vector clock).
55
55
  */
56
56
  export declare class ECHO {
57
- private readonly _halo;
58
57
  private readonly _keyring;
58
+ private readonly _halo;
59
+ private readonly _partyManager;
60
+ private readonly _subscriptions;
59
61
  private readonly _storage;
60
62
  private readonly _feedStore;
61
63
  private readonly _modelFactory;
62
64
  private readonly _networkManager;
63
65
  private readonly _snapshotStore;
64
- private readonly _partyManager;
65
- private readonly _subs;
66
66
  private readonly _metadataStore;
67
67
  private readonly _dataServiceRouter;
68
68
  /**
@@ -94,7 +94,6 @@ export declare class ECHO {
94
94
  close(): Promise<void>;
95
95
  /**
96
96
  * Removes all data and closes this ECHO instance.
97
- *
98
97
  * The instance will be in an unusable state at this point and a page refresh is recommended.
99
98
  */
100
99
  reset(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../src/echo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../src/echo.ts"],"names":[],"mappings":"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"}
package/dist/src/echo.js CHANGED
@@ -13,9 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ECHO = void 0;
16
- const assert_1 = __importDefault(require("assert"));
17
16
  const debug_1 = __importDefault(require("debug"));
18
17
  const memdown_1 = __importDefault(require("memdown"));
18
+ const node_assert_1 = __importDefault(require("node:assert"));
19
19
  const async_1 = require("@dxos/async");
20
20
  const credentials_1 = require("@dxos/credentials");
21
21
  const debug_2 = require("@dxos/debug");
@@ -49,7 +49,6 @@ const error = log.extend('error');
49
49
  * Messages are streamed into the pipeline (from the `FeedStore`) in logical order, determined by the
50
50
  * `Timeframe` (which implements a vector clock).
51
51
  */
52
- // TODO(burdon): Create ECHOError class for public errors.
53
52
  class ECHO {
54
53
  /**
55
54
  * Creates a new instance of ECHO.
@@ -59,7 +58,7 @@ class ECHO {
59
58
  constructor({ keyStorage = (0, memdown_1.default)(), storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM), networkManagerOptions,
60
59
  /// TODO(burdon): See options below.
61
60
  snapshots = true, snapshotInterval = 100, readLogger, writeLogger } = {}) {
62
- this._subs = new util_1.SubscriptionGroup();
61
+ this._subscriptions = new util_1.SubscriptionGroup();
63
62
  this._modelFactory = new model_factory_1.ModelFactory()
64
63
  .registerModel(object_model_1.ObjectModel);
65
64
  this._storage = storage;
@@ -77,7 +76,7 @@ class ECHO {
77
76
  writeLogger
78
77
  };
79
78
  const partyFactory = new parties_1.PartyFactory(() => this.halo.identity, this._networkManager, this._modelFactory, this._snapshotStore, feedProviderFactory, this._metadataStore, options);
80
- this._partyManager = new parties_1.PartyManager(this._metadataStore, this._snapshotStore, () => this.halo.identity, partyFactory);
79
+ this._partyManager = new parties_1.PartyManager(this._metadataStore, this._snapshotStore, () => this._halo.identity, partyFactory);
81
80
  this._halo = new halo_1.HALO({
82
81
  keyring: this._keyring,
83
82
  networkManager: this._networkManager,
@@ -91,7 +90,7 @@ class ECHO {
91
90
  var _a;
92
91
  // It might be the case that halo gets closed before this has a chance to execute.
93
92
  if ((_a = this.halo.identity) === null || _a === void 0 ? void 0 : _a.halo.isOpen) {
94
- this._subs.push((0, party_opener_1.autoPartyOpener)(this.halo.identity.preferences, this._partyManager));
93
+ this._subscriptions.push((0, party_opener_1.autoPartyOpener)(this.halo.identity.preferences, this._partyManager));
95
94
  }
96
95
  });
97
96
  this._dataServiceRouter = new database_1.DataServiceRouter();
@@ -161,7 +160,7 @@ class ECHO {
161
160
  if (!this.isOpen) {
162
161
  return;
163
162
  }
164
- this._subs.unsubscribe();
163
+ this._subscriptions.unsubscribe();
165
164
  await this.halo.close();
166
165
  await this._partyManager.close();
167
166
  await this._feedStore.close();
@@ -169,7 +168,6 @@ class ECHO {
169
168
  }
170
169
  /**
171
170
  * Removes all data and closes this ECHO instance.
172
- *
173
171
  * The instance will be in an unusable state at this point and a page refresh is recommended.
174
172
  */
175
173
  // TODO(burdon): Enable re-open.
@@ -249,7 +247,7 @@ class ECHO {
249
247
  */
250
248
  async joinParty(invitationDescriptor, secretProvider) {
251
249
  var _a, _b;
252
- (0, assert_1.default)(this._partyManager.isOpen, new debug_2.InvalidStateError());
250
+ (0, node_assert_1.default)(this._partyManager.isOpen, new debug_2.InvalidStateError());
253
251
  const actualSecretProvider = secretProvider !== null && secretProvider !== void 0 ? secretProvider : invitations_1.OfflineInvitationClaimer.createSecretProvider((_b = (_a = this.halo.identity) === null || _a === void 0 ? void 0 : _a.createCredentialsSigner()) !== null && _b !== void 0 ? _b : (0, debug_2.raise)(new errors_1.IdentityNotInitializedError()));
254
252
  return this._partyManager.joinParty(invitationDescriptor, actualSecretProvider);
255
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../src/echo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../src/echo.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- const assert_1 = __importDefault(require("assert"));
10
9
  const debug_1 = __importDefault(require("debug"));
11
10
  const expect_1 = __importDefault(require("expect"));
12
11
  const mocha_1 = require("mocha");
12
+ const node_assert_1 = __importDefault(require("node:assert"));
13
13
  const async_1 = require("@dxos/async");
14
14
  const credentials_1 = require("@dxos/credentials");
15
15
  const object_model_1 = require("@dxos/object-model");
@@ -150,7 +150,7 @@ describe('ECHO', () => {
150
150
  await echo2.open();
151
151
  await (0, async_1.waitForCondition)(async () => echo2.getParty(party1.key) !== undefined);
152
152
  const party = echo2.getParty(party1.key);
153
- (0, assert_1.default)(party);
153
+ (0, node_assert_1.default)(party);
154
154
  log('Initialized party');
155
155
  const items = party.database.select().exec().entities;
156
156
  await (0, async_1.waitForCondition)(() => items.length > 0);
@@ -284,7 +284,7 @@ describe('ECHO', () => {
284
284
  (0, expect_1.default)(partyA.database.select({ type: 'example:item/test' }).exec().entities.length > 0).toEqual(true);
285
285
  }
286
286
  }).timeout(10000);
287
- mocha_1.it.skip('3 devices', async () => {
287
+ (0, mocha_1.it)('3 devices', async () => {
288
288
  const a = await setup({ createProfile: true });
289
289
  const b = await setup();
290
290
  await a.createParty();
@@ -1 +1 @@
1
- {"version":3,"file":"echo.test.js","sourceRoot":"","sources":["../../src/echo.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo.test.js","sourceRoot":"","sources":["../../src/echo.test.ts"],"names":[],"mappings":"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"}