@dxos/echo-db 2.28.6-dev.ca9d0e33 → 2.28.7-dev.1dc18bee

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 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/api/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;gBAOvH,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC1C,IAAI,EAAE,QAAQ;IAWhB,IAAI,MAAM,IAAK,IAAI,CAElB;IAED,IAAI,QAAQ,IAAK,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAK,MAAM,CAEtB;IAED,IAAI,MAAM,IAAK,IAAI,CAAC,CAAC,CAAC,CAGrB;IAED,IAAI,MAAM,IAAK,IAAI,CAAC,CAAC,CAAC,CAGrB;CAQF"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/api/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;CACnB;AAED;;GAEG;AAEH,qBAAa,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CACtG,SAAQ,MAAM,CAAC,CAAC,CAAC;gBAOf,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC1C,IAAI,EAAE,QAAQ;IAWhB,IAAI,MAAM,IAAK,IAAI,CAElB;IAED,IAAI,QAAQ,IAAK,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAK,MAAM,CAEtB;IAED,IAAI,MAAM,IAAK,IAAI,CAAC,CAAC,CAAC,CAGrB;IAED,IAAI,MAAM,IAAK,IAAI,CAAC,CAAC,CAAC,CAGrB;CAQF"}
@@ -12,6 +12,7 @@ const entity_1 = require("./entity");
12
12
  /**
13
13
  * Link variant of an item. Link two objects together. Can hold a custom model.
14
14
  */
15
+ // TODO(burdon): All links are ObjectModel?
15
16
  class Link extends entity_1.Entity {
16
17
  constructor(itemManager, itemId, itemType, stateManager, link) {
17
18
  super(itemManager, itemId, itemType, stateManager);
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/api/link.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAM5B,qCAAkC;AAUlC;;GAEG;AACH,MAAa,IAA6F,SAAQ,eAAS;IAMzH,YACE,WAAwB,EACxB,MAAc,EACd,QAA8B,EAC9B,YAA0C,EAC1C,IAAc;QAEd,KAAK,CACH,WAAW,EACX,MAAM,EACN,QAAQ,EACR,YAAY,CACb,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAClD,CAAC;CACF;AAlDD,oBAkDC"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/api/link.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAM5B,qCAAkC;AAUlC;;GAEG;AACH,2CAA2C;AAC3C,MAAa,IACX,SAAQ,eAAS;IAMjB,YACE,WAAwB,EACxB,MAAc,EACd,QAA8B,EAC9B,YAA0C,EAC1C,IAAc;QAEd,KAAK,CACH,WAAW,EACX,MAAM,EACN,QAAQ,EACR,YAAY,CACb,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAClD,CAAC;CACF;AAnDD,oBAmDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-host.d.ts","sourceRoot":"","sources":["../../../src/database/data-service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,eAAe,EACf,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C;;;;GAIG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAFb,YAAY,EAAE,WAAW,EACzB,YAAY,EAAE,WAAW,EACzB,YAAY,CAAC,sCAA0B;IAG1D;;OAEG;IACH,kBAAkB,IAAK,MAAM,CAAC,0BAA0B,CAAC;IAmDzD;;;;;OAKG;IACH,qBAAqB,CAAE,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC,6BAA6B,CAAC;IA8B9F,KAAK,CAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CAK9D"}
1
+ {"version":3,"file":"data-service-host.d.ts","sourceRoot":"","sources":["../../../src/database/data-service-host.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,eAAe,EACf,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C;;;;GAIG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAFb,YAAY,EAAE,WAAW,EACzB,YAAY,EAAE,WAAW,EACzB,YAAY,CAAC,sCAA0B;IAG1D;;OAEG;IACH,kBAAkB,IAAK,MAAM,CAAC,0BAA0B,CAAC;IAmDzD;;;;;OAKG;IACH,qBAAqB,CAAE,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAAC,6BAA6B,CAAC;IAwC9F,KAAK,CAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CAK9D"}
@@ -82,10 +82,21 @@ class DataServiceHost {
82
82
  */
83
83
  subscribeEntityStream(request) {
84
84
  return new codec_protobuf_1.Stream(({ next }) => {
85
- var _a;
86
85
  (0, assert_1.default)(request.itemId);
87
- const entity = (_a = this._itemManager.entities.get(request.itemId)) !== null && _a !== void 0 ? _a : (0, debug_2.raise)(new errors_1.EntityNotFoundError(request.itemId));
88
- const snapshot = this._itemDemuxer.createEntitySnapshot(entity);
86
+ const entityItem = this._itemManager.items.find(item => item.id === request.itemId);
87
+ let snapshot;
88
+ if (entityItem) {
89
+ snapshot = this._itemDemuxer.createItemSnapshot(entityItem);
90
+ }
91
+ else {
92
+ const entityLink = this._itemManager.links.find(link => link.id === request.itemId);
93
+ if (entityLink) {
94
+ snapshot = this._itemDemuxer.createLinkSnapshot(entityLink);
95
+ }
96
+ else {
97
+ (0, debug_2.raise)(new errors_1.EntityNotFoundError(request.itemId));
98
+ }
99
+ }
89
100
  log(`Entity stream ${request.itemId}: ${JSON.stringify({ snapshot })}`);
90
101
  next({ snapshot });
91
102
  return this._itemDemuxer.mutation.on(mutation => {
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-host.js","sourceRoot":"","sources":["../../../src/database/data-service-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-service-host.js","sourceRoot":"","sources":["../../../src/database/data-service-host.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import { Event } from '@dxos/async';
3
- import { DatabaseSnapshot, IEchoStream, ItemSnapshot } from '@dxos/echo-protocol';
3
+ import { DatabaseSnapshot, IEchoStream, ItemSnapshot, LinkSnapshot } from '@dxos/echo-protocol';
4
4
  import { Model, ModelFactory } from '@dxos/model-factory';
5
- import { Entity } from '../api';
5
+ import { Item, Link } from '../api';
6
6
  import { ItemManager } from './item-manager';
7
7
  export interface ItemDemuxerOptions {
8
8
  snapshots?: boolean;
@@ -19,8 +19,13 @@ export declare class ItemDemuxer {
19
19
  constructor(_itemManager: ItemManager, _modelFactory: ModelFactory, _options?: ItemDemuxerOptions);
20
20
  open(): NodeJS.WritableStream;
21
21
  createSnapshot(): DatabaseSnapshot;
22
- createEntitySnapshot(entity: Entity<Model<any>>): ItemSnapshot;
22
+ createItemSnapshot(item: Item<Model<any>>): ItemSnapshot;
23
+ createLinkSnapshot(link: Link<Model<any>>): LinkSnapshot;
23
24
  restoreFromSnapshot(snapshot: DatabaseSnapshot): Promise<void>;
24
25
  }
26
+ /**
27
+ * Sort based on parents.
28
+ * @param items
29
+ */
25
30
  export declare function sortItemsTopologically(items: ItemSnapshot[]): ItemSnapshot[];
26
31
  //# sourceMappingURL=item-demuxer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-demuxer.d.ts","sourceRoot":"","sources":["../../../src/database/item-demuxer.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAU,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAAE,KAAK,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AAIvE,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,QAAQ,CAAC,QAAQ,qBAA4B;gBAG1B,YAAY,EAAE,WAAW,EACzB,aAAa,EAAE,YAAY,EAC3B,QAAQ,GAAE,kBAAuB;IAGpD,IAAI,IAAK,MAAM,CAAC,cAAc;IA+E9B,cAAc,IAAK,gBAAgB;IAOnC,oBAAoB,CAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;IAYzD,mBAAmB,CAAE,QAAQ,EAAE,gBAAgB;CAkBtD;AAED,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAmB7E"}
1
+ {"version":3,"file":"item-demuxer.d.ts","sourceRoot":"","sources":["../../../src/database/item-demuxer.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAU,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAU,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,WAAW,EAA4B,MAAM,gBAAgB,CAAC;AAIvE,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,QAAQ,CAAC,QAAQ,qBAA4B;gBAG1B,YAAY,EAAE,WAAW,EACzB,aAAa,EAAE,YAAY,EAC3B,QAAQ,GAAE,kBAAuB;IAGpD,IAAI,IAAK,MAAM,CAAC,cAAc;IAgF9B,cAAc,IAAK,gBAAgB;IAQnC,kBAAkB,CAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;IAYzD,kBAAkB,CAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;IAanD,mBAAmB,CAAE,QAAQ,EAAE,gBAAgB;CAkCtD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAmB7E"}
@@ -13,7 +13,6 @@ const async_1 = require("@dxos/async");
13
13
  const debug_2 = require("@dxos/debug");
14
14
  const feed_store_1 = require("@dxos/feed-store");
15
15
  const util_1 = require("@dxos/util");
16
- const api_1 = require("../api");
17
16
  const log = (0, debug_1.default)('dxos:echo-db:item-demuxer');
18
17
  /**
19
18
  * Creates a stream that consumes `IEchoStream` messages and routes them to the associated items.
@@ -34,6 +33,7 @@ class ItemDemuxer {
34
33
  }
35
34
  }
36
35
  });
36
+ // TODO(burdon): Factor out.
37
37
  // TODO(burdon): Should this implement some "back-pressure" (hints) to the PartyProcessor?
38
38
  return (0, feed_store_1.createWritable)(async (message) => {
39
39
  var _a, _b, _c;
@@ -98,23 +98,34 @@ class ItemDemuxer {
98
98
  createSnapshot() {
99
99
  (0, assert_1.default)(this._options.snapshots, 'Snapshots are disabled');
100
100
  return {
101
- items: Array.from(this._itemManager.entities.values()).map(entity => this.createEntitySnapshot(entity))
101
+ items: this._itemManager.items.map(item => this.createItemSnapshot(item)),
102
+ links: this._itemManager.links.map(link => this.createLinkSnapshot(link))
102
103
  };
103
104
  }
104
- createEntitySnapshot(entity) {
105
+ createItemSnapshot(item) {
105
106
  var _a;
106
- const model = entity._stateManager.createSnapshot();
107
+ const model = item._stateManager.createSnapshot();
107
108
  return {
108
- itemId: entity.id,
109
- itemType: entity.type,
110
- modelType: entity.modelMeta.type,
111
- parentId: (entity instanceof api_1.Item) ? (_a = entity.parent) === null || _a === void 0 ? void 0 : _a.id : undefined,
109
+ itemId: item.id,
110
+ itemType: item.type,
111
+ modelType: item.modelMeta.type,
112
+ parentId: (_a = item.parent) === null || _a === void 0 ? void 0 : _a.id,
113
+ model
114
+ };
115
+ }
116
+ createLinkSnapshot(link) {
117
+ const model = link._stateManager.createSnapshot();
118
+ return {
119
+ linkId: link.id,
120
+ linkType: link.type,
121
+ modelType: link.modelMeta.type,
122
+ source: link.source.id,
123
+ target: link.target.id,
112
124
  model
113
125
  };
114
126
  }
115
127
  async restoreFromSnapshot(snapshot) {
116
- var _a;
117
- const items = (_a = snapshot.items) !== null && _a !== void 0 ? _a : [];
128
+ const { items = [], links = [] } = snapshot;
118
129
  log(`Restoring ${items.length} items from snapshot.`);
119
130
  for (const item of sortItemsTopologically(items)) {
120
131
  (0, assert_1.default)(item.itemId);
@@ -128,9 +139,27 @@ class ItemDemuxer {
128
139
  snapshot: item.model
129
140
  });
130
141
  }
142
+ log(`Restoring ${links.length} links from snapshot.`);
143
+ for (const link of links) {
144
+ (0, assert_1.default)(link.linkId);
145
+ (0, assert_1.default)(link.modelType);
146
+ (0, assert_1.default)(link.model);
147
+ await this._itemManager.constructLink({
148
+ itemId: link.linkId,
149
+ itemType: link.linkType,
150
+ modelType: link.modelType,
151
+ source: link.source,
152
+ target: link.target,
153
+ snapshot: link.model
154
+ });
155
+ }
131
156
  }
132
157
  }
133
158
  exports.ItemDemuxer = ItemDemuxer;
159
+ /**
160
+ * Sort based on parents.
161
+ * @param items
162
+ */
134
163
  function sortItemsTopologically(items) {
135
164
  const snapshots = [];
136
165
  const seenIds = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"item-demuxer.js","sourceRoot":"","sources":["../../../src/database/item-demuxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-demuxer.js","sourceRoot":"","sources":["../../../src/database/item-demuxer.ts"],"names":[],"mappings":"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"}
@@ -69,21 +69,13 @@ export declare class ItemManager {
69
69
  private _addEntity;
70
70
  /**
71
71
  * Constructs an item with the appropriate model.
72
- * @param itemId
73
- * @param modelType
74
- * @param itemType
75
- * @param readStream - Inbound mutation stream (from multiplexer).
76
- * @param [parentId] - ItemID of the parent of this Item (optional).
77
- * @param initialMutations
78
- * @param modelSnapshot
79
72
  */
80
- constructItem({ itemId, modelType, itemType, parentId, snapshot }: ItemConstructionOptions): Promise<Item<any>>;
73
+ constructItem({ itemId, itemType, modelType, parentId, snapshot }: ItemConstructionOptions): Promise<Item<any>>;
81
74
  /**
82
75
  * Constructs an item with the appropriate model.
83
- * @param readStream - Inbound mutation stream (from multiplexer).
84
- * @param parentId - ItemID of the parent of this Item (optional).
85
76
  */
86
- constructLink({ itemId, modelType, itemType, snapshot, source, target }: LinkConstructionOptions): Promise<Link<any>>;
77
+ constructLink({ itemId, // TODO(burdon): linkId?
78
+ itemType, modelType, snapshot, source, target }: LinkConstructionOptions): Promise<Link<any>>;
87
79
  /**
88
80
  * Process a message directed to a specific model.
89
81
  * @param itemId Id of the item containing the model.
@@ -1 +1 @@
1
- {"version":3,"file":"item-manager.d.ts","sourceRoot":"","sources":["../../../src/database/item-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-manager.d.ts","sourceRoot":"","sources":["../../../src/database/item-manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAiB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAgB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAK5C,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,WAAW;IA+BpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAhChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,iCAA8B;IAE7C;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAA0C;IAEnF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoD;IAElF;;;OAGG;gBAEgB,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,SAAS,EACrB,YAAY,CAAC,sCAA0B;IAG1D,IAAI,QAAQ,yCAEX;IAED,IAAI,KAAK,IAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAExB;IAED,IAAI,KAAK,IAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAExB;IAED;;;;;;OAMG;IAEG,UAAU,CACd,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IA2C1B,UAAU,CACd,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GACpG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YA0CjB,eAAe;IAW7B;;OAEG;IAEH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IAEG,aAAa,CAAE,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACT,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAyB/C;;OAEG;IAEG,aAAa,CAAE,EACnB,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACP,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAkC/C;;;;OAIG;IACG,mBAAmB,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAQ5E;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;IAQzE,wBAAwB,IAAK,MAAM,CAAC,KAAK,CAAC,EAAE;IAI5C;;;OAGG;IACH,eAAe,CAAE,MAAM,EAAE,MAAM;IAyB/B;;;OAGG;IACG,eAAe,CAAE,MAAM,EAAE,MAAM;CAWtC"}
@@ -74,7 +74,7 @@ class ItemManager {
74
74
  */
75
75
  async createItem(modelType, itemType, parentId, initProps // TODO(burdon): Remove/change to array of mutations.
76
76
  ) {
77
- (0, assert_1.default)(this._writeStream);
77
+ (0, assert_1.default)(this._writeStream); // TODO(burdon): Throw ReadOnlyError();
78
78
  (0, assert_1.default)(modelType);
79
79
  if (!this._modelFactory.hasModel(modelType)) {
80
80
  throw new errors_1.UnknownModelError(modelType);
@@ -152,6 +152,7 @@ class ItemManager {
152
152
  /**
153
153
  * Adds new entity to the tracked set. Sets up events and notifies any listeners waiting for this entity to be constructed.
154
154
  */
155
+ // TODO(burdon): Parent not used.
155
156
  _addEntity(entity, parent) {
156
157
  var _a;
157
158
  (0, assert_1.default)(!this._entities.has(entity.id));
@@ -169,15 +170,8 @@ class ItemManager {
169
170
  }
170
171
  /**
171
172
  * Constructs an item with the appropriate model.
172
- * @param itemId
173
- * @param modelType
174
- * @param itemType
175
- * @param readStream - Inbound mutation stream (from multiplexer).
176
- * @param [parentId] - ItemID of the parent of this Item (optional).
177
- * @param initialMutations
178
- * @param modelSnapshot
179
173
  */
180
- async constructItem({ itemId, modelType, itemType, parentId, snapshot }) {
174
+ async constructItem({ itemId, itemType, modelType, parentId, snapshot }) {
181
175
  (0, assert_1.default)(itemId);
182
176
  (0, assert_1.default)(modelType);
183
177
  const parent = parentId ? this._entities.get(parentId) : null;
@@ -199,10 +193,9 @@ class ItemManager {
199
193
  }
200
194
  /**
201
195
  * Constructs an item with the appropriate model.
202
- * @param readStream - Inbound mutation stream (from multiplexer).
203
- * @param parentId - ItemID of the parent of this Item (optional).
204
196
  */
205
- async constructLink({ itemId, modelType, itemType, snapshot, source, target }) {
197
+ async constructLink({ itemId, // TODO(burdon): linkId?
198
+ itemType, modelType, snapshot, source, target }) {
206
199
  (0, assert_1.default)(itemId);
207
200
  (0, assert_1.default)(modelType);
208
201
  const model = await this._constructModel({
@@ -1 +1 @@
1
- {"version":3,"file":"item-manager.js","sourceRoot":"","sources":["../../../src/database/item-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-manager.js","sourceRoot":"","sources":["../../../src/database/item-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,uCAA6C;AAC7C,yCAAmD;AACnD,uCAAoC;AACpC,uDAA+G;AAG/G,gCAA4C;AAC5C,sCAA8C;AAE9C,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2BAA2B,CAAC,CAAC;AAmB/C;;GAEG;AACH,MAAa,WAAW;IA0BtB;;;OAGG;IACH,YACmB,aAA2B,EAC3B,UAAqB,EACrB,YAAuC;QAFvC,kBAAa,GAAb,aAAa,CAAc;QAC3B,eAAU,GAAV,UAAU,CAAW;QACrB,iBAAY,GAAZ,YAAY,CAA2B;QAhC1D;;;;WAIG;QACM,WAAM,GAAG,IAAI,aAAK,EAAiB,CAAC;QAE7C;;;WAGG;QACM,oBAAe,GAAoB,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnF;;;WAGG;QACc,cAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE9D;;;WAGG;QACc,kBAAa,GAAG,IAAI,GAAG,EAAyC,CAAC;IAU/E,CAAC;IAEJ,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,YAAY,UAAI,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,YAAY,UAAI,CAAC,CAAC;IAC/G,CAAC;IAED;;;;;;OAMG;IAEH,KAAK,CAAC,UAAU,CACd,SAAoB,EACpB,QAAmB,EACnB,QAAiB,EACjB,SAAe,CAAC,qDAAqD;;QAErE,IAAA,gBAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uCAAuC;QAClE,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;SACxC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;SACxE;QAED,uEAAuE;QACvE,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,IAAA,eAAO,GAAe,CAAC;QAE3D,MAAM,MAAM,GAAG,IAAA,iBAAQ,GAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzC,4BAA4B;QAC5B,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5B,MAAM;YACN,OAAO,EAAE;gBACP,QAAQ;gBACR,SAAS;aACV;YACD,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;YACjD,QAAQ;SACT,CAAC,CAAC;QAEH,yBAAyB;QACzB,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QACrC,IAAA,gBAAM,EAAC,IAAI,YAAY,UAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,KAAK,CAAC,UAAU,CACd,SAAoB,EAAE,QAA8B,EAAE,MAAc,EAAE,MAAc,EAAE,SAAe;QAErG,IAAA,gBAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;SACxC;QAED,IAAI,QAAgC,CAAC;QACrC,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;aAC1F;YACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;SACxE;QAED,uEAAuE;QACvE,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,IAAA,eAAO,GAAiB,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAA,iBAAQ,GAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzC,4BAA4B;QAC5B,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5B,MAAM;YACN,OAAO,EAAE;gBACP,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aACzB;YACD,QAAQ;SACT,CAAC,CAAC;QAEH,yBAAyB;QACzB,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QACrC,IAAA,gBAAM,EAAC,IAAI,YAAY,UAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,EAC7B,SAAS,EAAE,MAAM,EAAE,QAAQ,EACF;QACzB,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAA,6BAAa,EAC1D,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzD,6CAA6C;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAQ,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAChH,CAAC;IAED;;OAEG;IACH,iCAAiC;IACzB,UAAU,CAAE,MAAmB,EAAE,MAAyB;;QAChE,IAAA,gBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnC,2BAA2B;QAC3B,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzB,+BAA+B;QAC/B,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAG,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa,CAAE,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACgB;QACxB,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;QACf,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;SAChD;QACD,IAAA,gBAAM,EAAC,CAAC,MAAM,IAAI,MAAM,YAAY,UAAI,CAAC,CAAC;QAE1C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACnD,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,UAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC5F,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa,CAAE,EACnB,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACkB;QACxB,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;QACf,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACvC,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,IAAI,UAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QACD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAE,MAAc,EAAE,OAAiC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QAEb,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO,CAA8B,MAAc;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACV,IAAA,gBAAM,EAAC,MAAM,YAAY,UAAI,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjG,CAAC;IAED;;;OAGG;IACH,eAAe,CAAE,MAAc;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,IAAI,YAAY,UAAI,EAAE;YACxB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACpC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAChC;YAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC3B,GAAG,CAAC,KAAM,CAAC,MAAM,GAAG,SAAS,CAAC;aAC/B;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC7B,IAAI,CAAC,KAAM,CAAC,MAAM,GAAG,SAAS,CAAC;aAChC;SACF;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAE,MAAc;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,IAAA,gBAAM,EAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACF;AAtRC;IADC,IAAA,aAAK,EAAC,IAAK,CAAC;6CA8CZ;AAGD;IADC,IAAA,aAAK,EAAC,IAAK,CAAC;6CA2CZ;AAuCD;IADC,IAAA,aAAK,EAAC,IAAK,CAAC;gDA8BZ;AAMD;IADC,IAAA,aAAK,EAAC,IAAK,CAAC;gDAwCZ;AAnQH,kCA8UC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAE,KAAyB;IAC3D,MAAM,cAAc,GAAG,IAAI,aAAK,EAAiB,CAAC;IAElD,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAe,CAAC;IACrD,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;QAC5C,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,CAAC;YACd,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC/C,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBAC9B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -25,7 +25,8 @@ describe('SnapshotStore', () => {
25
25
  items: [{
26
26
  itemId: (0, crypto_1.createId)(),
27
27
  itemType: 'example:test'
28
- }]
28
+ }],
29
+ links: []
29
30
  }
30
31
  };
31
32
  await store.save(snapshot);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,yCAAkE;AAGlE,kCAA2C;AAC3C,qDAAiD;AAEjD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,kBAAS,CAAC,IAAI,CAAC,IAAA,sBAAa,GAAE,CAAC,SAAS,CAAC,CAAC;AAExE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,UAAI,EAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,IAAA,uBAAgB,GAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAE/B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAkB;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,CAAC;wBACN,MAAM,EAAE,IAAA,iBAAQ,GAAE;wBAClB,QAAQ,EAAE,cAAc;qBACzB,CAAC;aACH;SACF,CAAC;QAEF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"snapshot-store.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,yCAAkE;AAGlE,kCAA2C;AAC3C,qDAAiD;AAEjD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,kBAAS,CAAC,IAAI,CAAC,IAAA,sBAAa,GAAE,CAAC,SAAS,CAAC,CAAC;AAExE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,UAAI,EAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,IAAA,uBAAgB,GAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAE/B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAkB;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,CAAC;wBACN,MAAM,EAAE,IAAA,iBAAQ,GAAE;wBAClB,QAAQ,EAAE,cAAc;qBACzB,CAAC;gBACF,KAAK,EAAE,EAAE;aACV;SACF,CAAC;QAEF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -17,6 +17,7 @@ const object_model_1 = require("@dxos/object-model");
17
17
  const database_1 = require("../database");
18
18
  const testing_1 = require("../testing");
19
19
  const log = (0, debug_1.default)('dxos:snapshot:test');
20
+ debug_1.default.enable('dxos:echo-db:*');
20
21
  // TODO(burdon): Remove "foo", etc from tests.
21
22
  describe('snapshot', () => {
22
23
  mocha_1.it.skip('loading large party', async () => {
@@ -49,29 +50,84 @@ describe('snapshot', () => {
49
50
  (0, expect_1.default)(echo.isOpen).toBe(false);
50
51
  });
51
52
  (0, mocha_1.it)('produce & serialize a snapshot', async () => {
52
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
53
54
  const echo = await (0, testing_1.createTestInstance)({ initialize: true });
54
55
  const party = await echo.createParty();
55
- const item = await party.database.createItem({ model: object_model_1.ObjectModel, props: { foo: 'foo' } });
56
- await item.model.setProperty('foo', 'bar');
56
+ const item1 = await party.database.createItem({ model: object_model_1.ObjectModel, props: { title: 'Item1 - Creation' } });
57
+ await item1.model.setProperty('title', 'Item1 - Modified');
58
+ const item2 = await party.database.createItem({ model: object_model_1.ObjectModel, props: { title: 'Item2 - Creation' } });
59
+ await item2.model.setProperty('title', 'Item2 - Modified');
60
+ const link = await party.database.createLink({ source: item1, target: item2 });
57
61
  const snapshot = party.createSnapshot();
58
- (0, expect_1.default)((_a = snapshot.database) === null || _a === void 0 ? void 0 : _a.items).toHaveLength(2);
59
- (0, expect_1.default)((_e = (_d = (_c = (_b = snapshot.database) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.find(i => i.itemId === item.id)) === null || _d === void 0 ? void 0 : _d.model) === null || _e === void 0 ? void 0 : _e.snapshot).toBeDefined();
62
+ (0, expect_1.default)((_a = snapshot.database) === null || _a === void 0 ? void 0 : _a.items).toHaveLength(3); // 1 party + 2 items
63
+ (0, expect_1.default)((_b = snapshot.database) === null || _b === void 0 ? void 0 : _b.links).toHaveLength(1); // 1 link
64
+ (0, expect_1.default)((_f = (_e = (_d = (_c = snapshot.database) === null || _c === void 0 ? void 0 : _c.items) === null || _d === void 0 ? void 0 : _d.find(i => i.itemId === item1.id)) === null || _e === void 0 ? void 0 : _e.model) === null || _f === void 0 ? void 0 : _f.snapshot).toBeDefined();
65
+ (0, expect_1.default)((_k = (_j = (_h = (_g = snapshot.database) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h.find(i => i.itemId === item2.id)) === null || _j === void 0 ? void 0 : _j.model) === null || _k === void 0 ? void 0 : _k.snapshot).toBeDefined();
66
+ (0, expect_1.default)((_o = (_m = (_l = snapshot.database) === null || _l === void 0 ? void 0 : _l.links) === null || _m === void 0 ? void 0 : _m.find(l => l.linkId === link.id)) === null || _o === void 0 ? void 0 : _o.linkId).toBeDefined();
60
67
  // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
61
- const modelSnapshot = (_f = object_model_1.ObjectModel.meta.snapshotCodec) === null || _f === void 0 ? void 0 : _f.decode((_k = (_j = (_h = (_g = snapshot.database) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h.find(i => i.itemId === item.id)) === null || _j === void 0 ? void 0 : _j.model) === null || _k === void 0 ? void 0 : _k.snapshot);
62
- (0, expect_1.default)(modelSnapshot).toEqual({ root: object_model_1.ValueUtil.createMessage({ foo: 'bar' }) });
63
- (0, expect_1.default)(((_l = snapshot.halo) === null || _l === void 0 ? void 0 : _l.messages) && ((_o = (_m = snapshot.halo) === null || _m === void 0 ? void 0 : _m.messages) === null || _o === void 0 ? void 0 : _o.length) > 0).toBeTruthy();
64
- (0, expect_1.default)((_p = snapshot.timeframe) === null || _p === void 0 ? void 0 : _p.size()).toBe(1);
68
+ const modelSnapshot1 = (_p = object_model_1.ObjectModel.meta.snapshotCodec) === null || _p === void 0 ? void 0 : _p.decode((_t = (_s = (_r = (_q = snapshot.database) === null || _q === void 0 ? void 0 : _q.items) === null || _r === void 0 ? void 0 : _r.find(i => i.itemId === item1.id)) === null || _s === void 0 ? void 0 : _s.model) === null || _t === void 0 ? void 0 : _t.snapshot);
69
+ (0, expect_1.default)(modelSnapshot1).toEqual({ root: object_model_1.ValueUtil.createMessage({ title: 'Item1 - Modified' }) });
70
+ // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
71
+ const modelSnapshot2 = (_u = object_model_1.ObjectModel.meta.snapshotCodec) === null || _u === void 0 ? void 0 : _u.decode((_y = (_x = (_w = (_v = snapshot.database) === null || _v === void 0 ? void 0 : _v.items) === null || _w === void 0 ? void 0 : _w.find(i => i.itemId === item2.id)) === null || _x === void 0 ? void 0 : _x.model) === null || _y === void 0 ? void 0 : _y.snapshot);
72
+ (0, expect_1.default)(modelSnapshot2).toEqual({ root: object_model_1.ValueUtil.createMessage({ title: 'Item2 - Modified' }) });
73
+ (0, expect_1.default)(((_z = snapshot.halo) === null || _z === void 0 ? void 0 : _z.messages) && ((_1 = (_0 = snapshot.halo) === null || _0 === void 0 ? void 0 : _0.messages) === null || _1 === void 0 ? void 0 : _1.length) > 0).toBeTruthy();
74
+ (0, expect_1.default)((_2 = snapshot.timeframe) === null || _2 === void 0 ? void 0 : _2.size()).toBe(1);
65
75
  const serialized = echo_protocol_1.schema.getCodecForType('dxos.echo.snapshot.PartySnapshot').encode(snapshot);
66
76
  (0, expect_1.default)(serialized instanceof Uint8Array).toBeTruthy();
67
77
  await echo.close();
68
78
  (0, expect_1.default)(echo.isOpen).toBe(false);
69
79
  });
80
+ (0, mocha_1.it)('restore from snapshot', async () => {
81
+ const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
82
+ let data;
83
+ {
84
+ const itemManager = new database_1.ItemManager(modelFactory, crypto_1.PublicKey.random(), new echo_protocol_1.MockFeedWriter());
85
+ const itemDemuxer = new database_1.ItemDemuxer(itemManager, modelFactory, { snapshots: true });
86
+ await itemManager.constructItem({
87
+ itemId: 'item-1',
88
+ itemType: 'test-item-type',
89
+ modelType: object_model_1.ObjectModel.meta.type,
90
+ snapshot: {}
91
+ });
92
+ await itemManager.constructItem({
93
+ itemId: 'item-2',
94
+ itemType: 'test-item-type',
95
+ modelType: object_model_1.ObjectModel.meta.type,
96
+ snapshot: {}
97
+ });
98
+ await itemManager.constructLink({
99
+ itemId: 'link-1',
100
+ itemType: 'test-link-type',
101
+ modelType: object_model_1.ObjectModel.meta.type,
102
+ source: 'item-1',
103
+ target: 'item-2',
104
+ snapshot: {}
105
+ });
106
+ // Create snapshot.
107
+ console.log('encoding...');
108
+ const snapshot = itemDemuxer.createSnapshot();
109
+ data = echo_protocol_1.schema.getCodecForType('dxos.echo.snapshot.DatabaseSnapshot').encode(snapshot);
110
+ }
111
+ {
112
+ const itemManager = new database_1.ItemManager(modelFactory, crypto_1.PublicKey.random());
113
+ const itemDemuxer = new database_1.ItemDemuxer(itemManager, modelFactory, { snapshots: true });
114
+ // Decode snapshot.
115
+ console.log('decoding...');
116
+ const snapshot = echo_protocol_1.schema.getCodecForType('dxos.echo.snapshot.DatabaseSnapshot').decode(data);
117
+ await itemDemuxer.restoreFromSnapshot(snapshot);
118
+ (0, expect_1.default)(itemManager.items).toHaveLength(2);
119
+ (0, expect_1.default)(itemManager.links).toHaveLength(1);
120
+ const [item1, item2] = itemManager.items;
121
+ const [link] = itemManager.links;
122
+ (0, expect_1.default)(link.source.id).toBe(item1.id);
123
+ (0, expect_1.default)(link.target.id).toBe(item2.id);
124
+ }
125
+ });
70
126
  (0, mocha_1.it)('restore from empty snapshot', async () => {
71
127
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
72
128
  const itemManager = new database_1.ItemManager(modelFactory, crypto_1.PublicKey.random());
73
129
  const itemDemuxer = new database_1.ItemDemuxer(itemManager, modelFactory);
74
- // TODO(burdon): Test.
130
+ // TODO(burdon): Do actual test.
75
131
  await itemDemuxer.restoreFromSnapshot({});
76
132
  (0, expect_1.default)(true).toBeTruthy();
77
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot.test.ts"],"names":[],"mappings":"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"}