@woosh/meep-engine 2.129.3 → 2.130.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Pure JavaScript game engine. Fully featured and production ready.",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.129.3",
8
+ "version": "2.130.0",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/list/List.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/list/List.js"],"names":[],"mappings":"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"}
@@ -42,8 +42,10 @@ class List {
42
42
  const signal = new Signal();
43
43
 
44
44
  // pipe changes to an aggregate signal
45
- this.added.add(signal.send0, signal);
46
- this.removed.add(signal.send0, signal);
45
+ const h = () => signal.send0();
46
+
47
+ this.added.add(h);
48
+ this.removed.add(h);
47
49
 
48
50
  // rewrite the property to return the aggregate signal
49
51
  Object.defineProperty(this, 'changed', {
@@ -19,6 +19,8 @@ export class Deque<T> {
19
19
 
20
20
  getLast(): T | undefined
21
21
 
22
+ getElementByIndex(index: number): T | undefined
23
+
22
24
  pop(): T
23
25
 
24
26
  add(e: T): void
@@ -30,4 +32,6 @@ export class Deque<T> {
30
32
  addLast(e: T): void
31
33
 
32
34
  removeLast(): T
35
+
36
+ toArray(result?:T[], result_offset?:number):T[]
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/signal/Signal.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH;IACI;;;;OAIG;IACH,iBAAqB;IAErB;;;;OAIG;IACH,cAAU;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAWf;;;OAGG;IACH,yBAEC;IAfD;;;OAGG;IACH,sBAEC;IAYD;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,SAClB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,OAAO,CAInB;IAGD;;;;;OAKG;IACH,4CAFa,OAAO,CAcnB;IAED,aAEC;IAED,eAEC;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,yCAQC;IAED;;;;OAIG;IACH,sCAOC;IA8BD;;;;;OAKG;IACH,oCAFa,OAAO,CA2CnB;IAED;;;;;;OAMG;IACH,kBAEC;IAqDD;;;OAGG;IACH,+BA2CC;IAGD;;;OAGG;IACH,cA0CC;IAED;;;;OAIG;IACH,sBAyCC;IAED;;;;OAIG;IACH,4BAwCC;IAED;;;;;OAKG;IACH,oCAwCC;IAED;;;;;;OAMG;IACH,4CAwCC;IAED;;;;;;;;OAQG;IACH,4DAwCC;IAED;;;;;;;;;;OAUG;IACH,4EAwCC;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,CAalB;IAIL;;;OAGG;IACH,mBAFU,OAAO,CAEQ;;CAPxB"}
1
+ {"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/signal/Signal.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH;IACI;;;;OAIG;IACH,iBAAqB;IAErB;;;;OAIG;IACH,cAAU;IAEV;;;OAGG;IACH,YAFU,MAAM,CAED;IAWf;;;OAGG;IACH,yBAEC;IAfD;;;OAGG;IACH,sBAEC;IAYD;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,GAChB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;;KAAY,SAClB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;;KAAY,GAChB,OAAO,CAInB;IAGD;;;;;OAKG;IACH,4CAFa,OAAO,CAcnB;IAED,aAEC;IAED,eAEC;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,yCAQC;IAED;;;;OAIG;IACH,sCAOC;IA8BD;;;;;OAKG;IACH,oCAFa,OAAO,CA2CnB;IAED;;;;;;OAMG;IACH,kBAEC;IAqDD;;;OAGG;IACH,+BA2CC;IAGD;;;OAGG;IACH,4BA6CC;IAED;;;;OAIG;IACH,sCA4CC;IAED;;;;OAIG;IACH,4CA2CC;IAED;;;;;OAKG;IACH,oDA2CC;IAED;;;;;;OAMG;IACH,4DA2CC;IAED;;;;;;;;OAQG;IACH,4EA2CC;IAED;;;;;;;;;;OAUG;IACH,4FA2CC;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,CAalB;IAIL;;;OAGG;IACH,mBAFU,OAAO,CAEQ;;CAPxB"}
@@ -351,6 +351,9 @@ export class Signal {
351
351
  * Allows JS engine to optimize for monomorphic call sites
352
352
  */
353
353
  send0() {
354
+
355
+ assert.equal(arguments.length, 0, "send0 should not have any arguments")
356
+
354
357
  if ((this.flags & SignalFlags.Silent) !== 0) {
355
358
  //don't dispatch any events while silent
356
359
  return;
@@ -400,6 +403,9 @@ export class Signal {
400
403
  * @param {*} arg
401
404
  */
402
405
  send1(arg) {
406
+
407
+ assert.equal(arguments.length, 1, "send1 expects exactly 1 argument")
408
+
403
409
  if ((this.flags & SignalFlags.Silent) !== 0) {
404
410
  //don't dispatch any events while silent
405
411
  return;
@@ -448,6 +454,9 @@ export class Signal {
448
454
  * @param {*} b
449
455
  */
450
456
  send2(a, b) {
457
+
458
+ assert.equal(arguments.length, 2, "send2 expects exactly 2 arguments")
459
+
451
460
  if ((this.flags & SignalFlags.Silent) !== 0) {
452
461
  //don't dispatch any events while silent
453
462
  return;
@@ -496,6 +505,9 @@ export class Signal {
496
505
  * @param {*} c
497
506
  */
498
507
  send3(a, b, c) {
508
+
509
+ assert.equal(arguments.length, 3, "send3 expects exactly 3 arguments")
510
+
499
511
  if ((this.flags & SignalFlags.Silent) !== 0) {
500
512
  //don't dispatch any events while silent
501
513
  return;
@@ -545,6 +557,9 @@ export class Signal {
545
557
  * @param {*} d
546
558
  */
547
559
  send4(a, b, c, d) {
560
+
561
+ assert.equal(arguments.length, 4, "send4 expects exactly 4 arguments")
562
+
548
563
  if ((this.flags & SignalFlags.Silent) !== 0) {
549
564
  //don't dispatch any events while silent
550
565
  return;
@@ -596,6 +611,9 @@ export class Signal {
596
611
  * @param {*} f
597
612
  */
598
613
  send6(a, b, c, d, e, f) {
614
+
615
+ assert.equal(arguments.length, 6, "send6 expects exactly 6 arguments")
616
+
599
617
  if ((this.flags & SignalFlags.Silent) !== 0) {
600
618
  //don't dispatch any events while silent
601
619
  return;
@@ -649,6 +667,9 @@ export class Signal {
649
667
  * @param {*} h
650
668
  */
651
669
  send8(a, b, c, d, e, f, g, h) {
670
+
671
+ assert.equal(arguments.length, 8, "send8 expects exactly 8 arguments")
672
+
652
673
  if ((this.flags & SignalFlags.Silent) !== 0) {
653
674
  //don't dispatch any events while silent
654
675
  return;
@@ -15,4 +15,6 @@ export class NodeInstance<N extends NodeDescription = NodeDescription> {
15
15
  setDescription(d: N): void
16
16
 
17
17
  setParameters(hash: { [key: string]: any }): void
18
+
19
+ readonly isNodeInstance: true
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeInstancePortReference.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstancePortReference.js"],"names":[],"mappings":"AASA;;GAEG;AACH;IAgFI;;;;;OAKG;IACH,iDAFa,yBAAyB,CAUrC;IA5FD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,gCAAgB;IAEhB;;;OAGG;IACH,oBAAY;IAEZ;;;;;OAKG;IACH,sBAFU,YAAY,CAEL;IAEjB;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kCAEC;IAED;;;OAGG;IACH,kBAFY,OAAO,CAIlB;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,OAAO,CAqBnB;IAmBD;;;;OAIG;IACH,8CAWC;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;;OAIG;IACH,cAHW,yBAAyB,GACvB,OAAO,CAMnB;IAED,mBAEC;IAGL;;;OAGG;IACH,sCAFU,OAAO,CAE8C;CAN9D"}
1
+ {"version":3,"file":"NodeInstancePortReference.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstancePortReference.js"],"names":[],"mappings":"AASA;;GAEG;AACH;IAkFI;;;;;OAKG;IACH,iDAFa,yBAAyB,CAUrC;IA9FD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,gCAAgB;IAEhB;;;OAGG;IACH,oBAAY;IAEZ;;;;;OAKG;IACH,sBAFU,YAAY,CAEL;IAEjB;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kCAEC;IAED;;;;;OAKG;IACH,kBAFY,OAAO,CAIlB;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,OAAO,CAqBnB;IAmBD;;;;OAIG;IACH,8CAWC;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;;OAIG;IACH,cAHW,yBAAyB,GACvB,OAAO,CAMnB;IAED,mBAEC;IAGL;;;OAGG;IACH,sCAFU,OAAO,CAE8C;CAN9D"}
@@ -55,6 +55,8 @@ export class NodeInstancePortReference {
55
55
  }
56
56
 
57
57
  /**
58
+ * Is anything connected to this endpoint?
59
+ * Shortcut for `connections.length > 0`
58
60
  *
59
61
  * @return {boolean}
60
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryClassSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH;IAEI;;;;OAIG;IACH,0BAAa;IAEb;;;;;;OAMG;IACH,mBAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,qBAEC;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,iCAEC;IAED;;;;;OAKG;IACH,iBAEC;IAED;;;;;;OAMG;IACH,uCAFW,CAAC,QAIX;IAED;;;;;;OAMG;IACH,yCAFW,CAAC,QAIX;IAGL;;;OAGG;IACH,4CAFU,OAAO,CAE0D;CAN1E"}
1
+ {"version":3,"file":"BinaryClassSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;IAEI;;;;;;;OAOG;IACH,0BAAa;IAEb;;;;;;OAMG;IACH,mBAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,iCAEC;IAED;;;;;OAKG;IACH,iBAEC;IAED;;;;;;OAMG;IACH,uCAFW,CAAC,QAIX;IAED;;;;;;OAMG;IACH,yCAFW,CAAC,QAIX;IAGL;;;OAGG;IACH,4CAFU,OAAO,CAE0D;CAN1E"}
@@ -1,15 +1,41 @@
1
1
  /**
2
- * Defines how to serialize and deserialize an instance of a given class
2
+ * Defines how to serialize and deserialize an instance of a given class.
3
+ * This class is intended to be overridden.
3
4
  *
4
5
  * @template T
5
6
  *
7
+ * @example
8
+ * class BookSerializer extends BinaryClassSerializationAdapter{
9
+ * klass = Book
10
+ * version = 0
11
+ *
12
+ * serialize(buffer: BinaryBuffer, book: Book){
13
+ *
14
+ * buffer.writeUTF8String(book.title);
15
+ * buffer.writeUint32(book.page_count);
16
+ * buffer.writeUTF8String(book.text);
17
+ *
18
+ * }
19
+ *
20
+ * deserialize(buffer: BinaryBuffer, book: Book){
21
+ *
22
+ * book.title = buffer.readUTF8String();
23
+ * book.page_count = buffer.readUint32();
24
+ * book.text = buffer.readUTF8String();
25
+ *
26
+ * }
27
+ * }
28
+ *
6
29
  * @author Alex Goldring
7
30
  * @copyright Company Named Limited (c) 2025
8
31
  */
9
32
  export class BinaryClassSerializationAdapter {
10
33
 
11
34
  /**
12
- * Class that this adapter handles
35
+ * Class that this adapter handles.
36
+ * NOTE: misspelling of the word "class" is intentional, in JavaScript "class" is a reserved word.
37
+ * @example
38
+ * klass = Vector3
13
39
  * @protected
14
40
  * @type {Class<T>}
15
41
  */
@@ -24,23 +50,6 @@ export class BinaryClassSerializationAdapter {
24
50
  */
25
51
  version = 0;
26
52
 
27
- /**
28
- * @deprecated use {@link this.klass}
29
- * @returns {Class<T>}
30
- */
31
- getClass() {
32
- return this.klass;
33
- }
34
-
35
- /**
36
- * @deprecated use {@link this.version}
37
- *
38
- * @returns {number}
39
- */
40
- getVersion() {
41
- return this.version;
42
- }
43
-
44
53
  /**
45
54
  * Invoked externally as part of the serialization lifecycle.
46
55
  * Guaranteed to be invoked before the first usage of the adapter.
@@ -46,7 +46,7 @@ export class BinarySerializationRegistry {
46
46
  let _className = className;
47
47
 
48
48
  if (_className === undefined) {
49
- const klass = adapter.getClass();
49
+ const klass = adapter.klass;
50
50
 
51
51
  const typeName = klass.typeName;
52
52
 
@@ -100,9 +100,9 @@ export class BinaryCollectionDeSerializer {
100
100
  getElementClass(): Class<T> | null;
101
101
  /**
102
102
  *
103
- * @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
103
+ * @param {function(name:string, klass: Class, adapter:BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
104
104
  */
105
- initialize({ adapterOptionsSupplier }?: (arg0: string, arg1: Class, arg2: BinaryClassSerializationAdapter) => []): void;
105
+ initialize({ adapterOptionsSupplier }?: (arg0: void) => string): void;
106
106
  finalize(): void;
107
107
  /**
108
108
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryCollectionDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH;IAEI;;;OAGG;IACH,iBAAgB;IAEhB;;;OAGG;IACH,eAAc;IAEd;;;;OAIG;IACH,4BAA4B;IAC5B;;;;OAIG;IACH,0BAA0B;IAE1B;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,gBAAe;IAEf;;;OAGG;IACH,kBAAiB;IAEjB;;;;OAIG;IACH,yBAAsC;IACtC;;;;OAIG;IACH,yBAAsC;IAEtC;;;OAGG;IACH,cAAsB;IAGtB;;;OAGG;IACH,yDAKC;IAED;;;OAGG;IACH,2CAEC;IAED;;;OAGG;IACH,kBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,WAAS,IAAI,CAUzB;IAED;;;OAGG;IACH,+CAFoB,MAAM,yDAAyC,EAAE,QAgFpE;IAED,iBAWC;IAED;;;OAGG;IACH,uBAeC;IAED;;;OAGG;IACH;;aAF6B,MAAM;MA8DlC;CAEJ;6BAvV4B,4CAA4C"}
1
+ {"version":3,"file":"BinaryCollectionDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH;IAEI;;;OAGG;IACH,iBAAgB;IAEhB;;;OAGG;IACH,eAAc;IAEd;;;;OAIG;IACH,4BAA4B;IAC5B;;;;OAIG;IACH,0BAA0B;IAE1B;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,gBAAe;IAEf;;;OAGG;IACH,kBAAiB;IAEjB;;;;OAIG;IACH,yBAAsC;IACtC;;;;OAIG;IACH,yBAAsC;IAEtC;;;OAGG;IACH,cAAsB;IAGtB;;;OAGG;IACH,yDAKC;IAED;;;OAGG;IACH,2CAEC;IAED;;;OAGG;IACH,kBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,WAAS,IAAI,CAUzB;IAED;;;OAGG;IACH,wDAFyB,MAAM,QAgF9B;IAED,iBAWC;IAED;;;OAGG;IACH,uBAeC;IAED;;;OAGG;IACH;;aAF6B,MAAM;MA8DlC;CAEJ;6BAvV4B,4CAA4C"}
@@ -155,12 +155,12 @@ export class BinaryCollectionDeSerializer {
155
155
  return null;
156
156
  }
157
157
 
158
- return adapter.getClass();
158
+ return adapter.klass;
159
159
  }
160
160
 
161
161
  /**
162
162
  *
163
- * @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
163
+ * @param {function(name:string, klass: Class, adapter:BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
164
164
  */
165
165
  initialize({ adapterOptionsSupplier = returnEmptyArray } = {}) {
166
166
  assert.isFunction(adapterOptionsSupplier, 'adapterOptionsSupplier');
@@ -186,7 +186,7 @@ export class BinaryCollectionDeSerializer {
186
186
 
187
187
  this.adapter = adapter;
188
188
 
189
- const adapterOptions = adapterOptionsSupplier(className, adapter.getClass(), adapter);
189
+ const adapterOptions = adapterOptionsSupplier(className, adapter.klass, adapter);
190
190
 
191
191
  assert.isArray(adapterOptions, 'adapterOptions');
192
192
 
@@ -212,18 +212,18 @@ export class BinaryCollectionDeSerializer {
212
212
  this.elementIndex = 0;
213
213
 
214
214
  //check if data needs to be upgraded
215
- if (version > adapter.getVersion()) {
216
- throw new Error(`${className} data version is ${version}, which is greater than the registered serialization adapter version(=${adapter.getVersion()})`);
215
+ if (version > adapter.version) {
216
+ throw new Error(`${className} data version is ${version}, which is greater than the registered serialization adapter version(=${(adapter.version)})`);
217
217
  }
218
218
 
219
- if (version < adapter.getVersion()) {
219
+ if (version < adapter.version) {
220
220
  this.__upgradeRequired = true;
221
221
 
222
222
  //data needs to be upgraded
223
- const upgradersChain = registry.getUpgradersChain(className, version, adapter.getVersion());
223
+ const upgradersChain = registry.getUpgradersChain(className, version, adapter.version);
224
224
 
225
225
  if (upgradersChain === null) {
226
- throw new Error(`No upgrade chain exists for class '${className}' from version ${version} to current adapter version ${adapter.getVersion()}`);
226
+ throw new Error(`No upgrade chain exists for class '${className}' from version ${version} to current adapter version ${(adapter.version)}`);
227
227
  }
228
228
 
229
229
  this.upgraders = upgradersChain;
@@ -267,7 +267,7 @@ export class BinaryCollectionDeSerializer {
267
267
  buffer = executeBinaryClassUpgraderChain(this.upgraders, buffer, this.__upgradeBuffer0, this.__upgradeBuffer1);
268
268
  }
269
269
 
270
- const Klass = this.adapter.getClass();
270
+ const Klass = this.adapter.klass;
271
271
 
272
272
  const value = new Klass();
273
273
 
@@ -135,7 +135,7 @@ export class BinaryCollectionSerializer {
135
135
 
136
136
  this.adapter = adapter;
137
137
 
138
- const adapterOptions = adapterOptionsSupplier(className, adapter.getClass(), adapter);
138
+ const adapterOptions = adapterOptionsSupplier(className, adapter.klass, adapter);
139
139
 
140
140
  assert.isArray(adapterOptions, 'adapterOptions');
141
141
 
@@ -160,7 +160,7 @@ export class BinaryCollectionSerializer {
160
160
 
161
161
  this.startAddress = buffer.position;
162
162
 
163
- const componentType = adapter.getClass();
163
+ const componentType = adapter.klass;
164
164
 
165
165
  //determine if dictionary can be used
166
166
  this.__dictionaryEnabled = typeof componentType.prototype.hash === "function"
@@ -182,7 +182,7 @@ export class BinaryCollectionSerializer {
182
182
  const headerValues = [];
183
183
 
184
184
  headerValues[BinaryCollectionHeaderLayout.Dictionary] = this.__dictionaryEnabled ? 1 : 0;
185
- headerValues[BinaryCollectionHeaderLayout.Version] = this.adapter.getVersion();
185
+ headerValues[BinaryCollectionHeaderLayout.Version] = this.adapter.version;
186
186
 
187
187
  const header = BinaryCollectionHeaderCodec.encode.apply(null, headerValues);
188
188
 
@@ -74,7 +74,7 @@ export class BinaryObjectSerializationAdapter {
74
74
  }
75
75
 
76
76
  buffer.writeUTF8String(className);
77
- buffer.writeUintVar(adapter.getVersion());
77
+ buffer.writeUintVar(adapter.version);
78
78
 
79
79
  adapter.initialize(this);
80
80
 
@@ -103,7 +103,7 @@ export class BinaryObjectSerializationAdapter {
103
103
  //serialization format version
104
104
  const version = buffer.readUintVar();
105
105
 
106
- const adapterVersion = adapter.getVersion();
106
+ const adapterVersion = adapter.version;
107
107
 
108
108
  if (version !== adapterVersion) {
109
109
  //upgrade is required
@@ -117,7 +117,7 @@ export class BinaryObjectSerializationAdapter {
117
117
  buffer = executeBinaryClassUpgraderChain(upgradersChain, buffer, this.__upgradeBuffer0, this.__upgradeBuffer1);
118
118
  }
119
119
 
120
- const Klass = adapter.getClass();
120
+ const Klass = adapter.klass;
121
121
 
122
122
  const value = new Klass();
123
123