@lionweb/delta-protocol-client 0.7.0-beta.21 → 0.7.0-beta.23

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.
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DeltaReceiver, IdMapping, ILanguageBase, INodeBase, NodeBaseFactory } from "@lionweb/class-core";
1
+ import { DeltaReceiver, Deserializer, IdMapping, ILanguageBase, INodeBase, NodeBaseFactory } from "@lionweb/class-core";
2
2
  import { LionWebId, LionWebJsonChunk } from "@lionweb/json";
3
3
  import { Command, Event, QueryMessage, SemanticLogger, SubscribeToPartitionChangesParameters } from "@lionweb/delta-protocol-common";
4
4
  import { LowLevelClientInstantiator } from "./low-level-client.js";
@@ -22,6 +22,7 @@ export declare class LionWebClient {
22
22
  model: INodeBase[];
23
23
  readonly idMapping: IdMapping;
24
24
  readonly createNode: NodeBaseFactory;
25
+ readonly deserializer: Deserializer<INodeBase[]>;
25
26
  private readonly effectiveReceiveDelta;
26
27
  private readonly lowLevelClient;
27
28
  private _participationId?;
@@ -34,7 +35,9 @@ export declare class LionWebClient {
34
35
  static create({ clientId, url, languageBases, instantiateDeltaReceiverForwardingTo, serializationChunk, semanticLogger, lowLevelClientInstantiator }: LionWebClientParameters): Promise<LionWebClient>;
35
36
  /**
36
37
  * Sets the model held by the client to the given model, discarding the previous one.
37
- * No commands will be sent because of this action.
38
+ * **Note**:
39
+ * - The model is assumed to be injected with `this.effectiveReceiveDelta` — e.g. using this.createNode(...) or this.deserialize(...)`!
40
+ * - No commands will be sent because of this action.
38
41
  */
39
42
  setModel(newModel: INodeBase[]): void;
40
43
  disconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAiBA,OAAO,EAIH,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EAET,eAAe,EAIlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAG3D,OAAO,EAOH,OAAO,EAGP,KAAK,EAIL,YAAY,EAGZ,cAAc,EAMd,qCAAqC,EAIxC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAkB,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAMlF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,SAAS,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,0BAA0B,EAAE,0BAA0B,CAAC,KAAK,GAAG,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,CAAA;IACpG,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,oCAAoC,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,aAAa,CAAA;IACtF,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,CAAA;AAGD;;GAEG;AACH,qBAAa,aAAa;aAcF,QAAQ,EAAE,SAAS;IAC5B,KAAK,EAAE,SAAS,EAAE;aACT,SAAS,EAAE,SAAS;aACpB,UAAU,EAAE,eAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAjBnC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IAEpC,IAAI,eAAe,uBAElB;IAED,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,0BAA0B,CAAK;IAGvC,OAAO;IASP,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2D;IAE5F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACG;WAE3B,MAAM,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,oCAAoC,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0F1M;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKpB;IAEA,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IASnH,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUjG,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,aAAa;IAMrB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAUxC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAW9C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAiBA,OAAO,EAIH,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,SAAS,EAGT,eAAe,EAIlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAG3D,OAAO,EAOH,OAAO,EAGP,KAAK,EAIL,YAAY,EAGZ,cAAc,EAMd,qCAAqC,EAIxC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAkB,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAMlF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,SAAS,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,0BAA0B,EAAE,0BAA0B,CAAC,KAAK,GAAG,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,CAAA;IACpG,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACrC,oCAAoC,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,aAAa,CAAA;IACtF,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,CAAA;AAGD;;GAEG;AACH,qBAAa,aAAa;aAcF,QAAQ,EAAE,SAAS;IAC5B,KAAK,EAAE,SAAS,EAAE;aACT,SAAS,EAAE,SAAS;aACpB,UAAU,EAAE,eAAe;aAC3B,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAlBnC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IAEpC,IAAI,eAAe,uBAElB;IAED,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,0BAA0B,CAAK;IAGvC,OAAO;IAUP,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2D;IAE5F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACG;WAE3B,MAAM,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,oCAAoC,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2F1M;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKpB;IAEA,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qCAAqC,GAAG,OAAO,CAAC,IAAI,CAAC;IASnH,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUjG,gCAAgC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,aAAa;IAMrB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAUxC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAW9C"}
package/dist/client.js CHANGED
@@ -14,7 +14,7 @@
14
14
  //
15
15
  // SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
16
16
  // SPDX-License-Identifier: Apache-2.0
17
- import { allNodesFrom, applyDelta, combinedFactoryFor, IdMapping, nodeBaseDeserializer, PartitionAddedDelta, PartitionDeletedDelta, serializeDelta } from "@lionweb/class-core";
17
+ import { allNodesFrom, applyDelta, combinedFactoryFor, IdMapping, nodeBaseDeserializer, nodeBaseDeserializerWithIdMapping, PartitionAddedDelta, PartitionDeletedDelta, serializeDelta } from "@lionweb/class-core";
18
18
  import { Concept } from "@lionweb/core";
19
19
  import { byIdMap } from "@lionweb/ts-utils";
20
20
  import { ansi, ClientAppliedEvent, ClientDidNotApplyEventFromOwnCommand, ClientHadProblem, ClientReceivedMessage, ClientSentMessage, deltaAsCommand, DeltaOccurredOnClient, eventToDeltaTranslator, isEvent, isQueryResponse, semanticLoggerFunctionFrom } from "@lionweb/delta-protocol-common";
@@ -28,11 +28,12 @@ export class LionWebClient {
28
28
  return this._participationId;
29
29
  }
30
30
  // TODO could also get this from the priority queue (which would need to be adapted for that)
31
- constructor(clientId, model, idMapping, createNode, effectiveReceiveDelta, lowLevelClient) {
31
+ constructor(clientId, model, idMapping, createNode, deserializer, effectiveReceiveDelta, lowLevelClient) {
32
32
  this.clientId = clientId;
33
33
  this.model = model;
34
34
  this.idMapping = idMapping;
35
35
  this.createNode = createNode;
36
+ this.deserializer = deserializer;
36
37
  this.effectiveReceiveDelta = effectiveReceiveDelta;
37
38
  this.lowLevelClient = lowLevelClient;
38
39
  this.signedOff = false;
@@ -75,10 +76,11 @@ export class LionWebClient {
75
76
  }
76
77
  };
77
78
  const effectiveReceiveDelta = instantiateDeltaReceiverForwardingTo === undefined ? commandSender : instantiateDeltaReceiverForwardingTo(commandSender);
78
- const deserialized = nodeBaseDeserializer(languageBases, effectiveReceiveDelta);
79
- const model = serializationChunk === undefined ? [] : deserialized(serializationChunk);
80
- const idMapping = new IdMapping(LionWebClient.nodesByIdFrom(model));
81
- const eventAsDelta = eventToDeltaTranslator(languageBases, deserialized);
79
+ const { roots: model, idMapping } = serializationChunk === undefined
80
+ ? { roots: [], idMapping: new IdMapping({}) }
81
+ : nodeBaseDeserializerWithIdMapping(languageBases, effectiveReceiveDelta)(serializationChunk);
82
+ const deserializer = nodeBaseDeserializer(languageBases, effectiveReceiveDelta);
83
+ const eventAsDelta = eventToDeltaTranslator(languageBases, deserializer);
82
84
  loading = false;
83
85
  const processEvent = (event) => {
84
86
  lionWebClient.lastReceivedSequenceNumber = event.sequenceNumber;
@@ -125,12 +127,14 @@ export class LionWebClient {
125
127
  }
126
128
  };
127
129
  const lowLevelClient = await lowLevelClientInstantiator({ url, clientId, receiveMessageOnClient /* no logging parameter */ });
128
- const lionWebClient = new LionWebClient(clientId, model, idMapping, combinedFactoryFor(languageBases, effectiveReceiveDelta), effectiveReceiveDelta, lowLevelClient); // Note: we need this `lionWebClient` constant non-inlined for write-access to lastReceivedSequenceNumber and queryResolveById.
130
+ const lionWebClient = new LionWebClient(clientId, model, idMapping, combinedFactoryFor(languageBases, effectiveReceiveDelta), deserializer, effectiveReceiveDelta, lowLevelClient); // Note: we need this `lionWebClient` constant non-inlined for write-access to lastReceivedSequenceNumber and queryResolveById.
129
131
  return lionWebClient;
130
132
  }
131
133
  /**
132
134
  * Sets the model held by the client to the given model, discarding the previous one.
133
- * No commands will be sent because of this action.
135
+ * **Note**:
136
+ * - The model is assumed to be injected with `this.effectiveReceiveDelta` — e.g. using this.createNode(...) or this.deserialize(...)`!
137
+ * - No commands will be sent because of this action.
134
138
  */
135
139
  setModel(newModel) {
136
140
  this.model = newModel;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/delta-protocol-client",
3
- "version": "0.7.0-beta.21",
3
+ "version": "0.7.0-beta.23",
4
4
  "description": "Part of the implementation of a delta protocol client not tied to a specific message transport protocol",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,11 +27,11 @@
27
27
  "release": "npm publish"
28
28
  },
29
29
  "dependencies": {
30
- "@lionweb/class-core": "0.7.0-beta.21",
31
- "@lionweb/core": "0.7.0-beta.21",
32
- "@lionweb/delta-protocol-common": "0.7.0-beta.21",
33
- "@lionweb/delta-protocol-client": "0.7.0-beta.21",
34
- "@lionweb/json": "0.7.0-beta.21",
35
- "@lionweb/ts-utils": "0.7.0-beta.21"
30
+ "@lionweb/class-core": "0.7.0-beta.23",
31
+ "@lionweb/core": "0.7.0-beta.23",
32
+ "@lionweb/delta-protocol-common": "0.7.0-beta.23",
33
+ "@lionweb/delta-protocol-client": "0.7.0-beta.23",
34
+ "@lionweb/json": "0.7.0-beta.23",
35
+ "@lionweb/ts-utils": "0.7.0-beta.23"
36
36
  }
37
37
  }
package/src/client.ts CHANGED
@@ -20,10 +20,12 @@ import {
20
20
  applyDelta,
21
21
  combinedFactoryFor,
22
22
  DeltaReceiver,
23
+ Deserializer,
23
24
  IdMapping,
24
25
  ILanguageBase,
25
26
  INodeBase,
26
27
  nodeBaseDeserializer,
28
+ nodeBaseDeserializerWithIdMapping,
27
29
  NodeBaseFactory,
28
30
  PartitionAddedDelta,
29
31
  PartitionDeletedDelta,
@@ -102,6 +104,7 @@ export class LionWebClient {
102
104
  public model: INodeBase[],
103
105
  public readonly idMapping: IdMapping,
104
106
  public readonly createNode: NodeBaseFactory,
107
+ public readonly deserializer: Deserializer<INodeBase[]>,
105
108
  private readonly effectiveReceiveDelta: DeltaReceiver,
106
109
  private readonly lowLevelClient: LowLevelClient<Command | QueryMessage>
107
110
  ) {}
@@ -136,11 +139,11 @@ export class LionWebClient {
136
139
  }
137
140
  }
138
141
  const effectiveReceiveDelta = instantiateDeltaReceiverForwardingTo === undefined ? commandSender : instantiateDeltaReceiverForwardingTo(commandSender)
139
-
140
- const deserialized = nodeBaseDeserializer(languageBases, effectiveReceiveDelta)
141
- const model = serializationChunk === undefined ? [] : deserialized(serializationChunk)
142
- const idMapping = new IdMapping(LionWebClient.nodesByIdFrom(model))
143
- const eventAsDelta = eventToDeltaTranslator(languageBases, deserialized)
142
+ const { roots: model, idMapping } = serializationChunk === undefined
143
+ ? { roots: [], idMapping: new IdMapping({}) }
144
+ : nodeBaseDeserializerWithIdMapping(languageBases, effectiveReceiveDelta)(serializationChunk)
145
+ const deserializer = nodeBaseDeserializer(languageBases, effectiveReceiveDelta)
146
+ const eventAsDelta = eventToDeltaTranslator(languageBases, deserializer)
144
147
  loading = false
145
148
 
146
149
  const processEvent = (event: Event) => {
@@ -195,6 +198,7 @@ export class LionWebClient {
195
198
  model,
196
199
  idMapping,
197
200
  combinedFactoryFor(languageBases, effectiveReceiveDelta),
201
+ deserializer,
198
202
  effectiveReceiveDelta,
199
203
  lowLevelClient
200
204
  ) // Note: we need this `lionWebClient` constant non-inlined for write-access to lastReceivedSequenceNumber and queryResolveById.
@@ -203,7 +207,9 @@ export class LionWebClient {
203
207
 
204
208
  /**
205
209
  * Sets the model held by the client to the given model, discarding the previous one.
206
- * No commands will be sent because of this action.
210
+ * **Note**:
211
+ * - The model is assumed to be injected with `this.effectiveReceiveDelta` — e.g. using this.createNode(...) or this.deserialize(...)`!
212
+ * - No commands will be sent because of this action.
207
213
  */
208
214
  setModel(newModel: INodeBase[]) {
209
215
  this.model = newModel