@woosh/meep-engine 2.113.13 → 2.113.15

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 (84) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/build/meep.cjs +4 -0
  3. package/build/meep.module.js +4 -0
  4. package/package.json +1 -1
  5. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  6. package/src/core/binary/BinaryBuffer.js +15 -4
  7. package/src/core/collection/array/typed/array_buffer_copy.d.ts +11 -0
  8. package/src/core/collection/array/typed/array_buffer_copy.d.ts.map +1 -0
  9. package/src/core/collection/array/typed/array_buffer_copy.js +55 -0
  10. package/src/core/collection/table/RowFirstTable.d.ts +11 -3
  11. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  12. package/src/core/collection/table/RowFirstTable.js +63 -33
  13. package/src/core/math/random/randomIntegerBetween.d.ts.map +1 -1
  14. package/src/core/math/random/randomIntegerBetween.js +3 -0
  15. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  16. package/src/core/model/reactive/model/ReactiveExpression.js +1 -1
  17. package/src/core/model/reactive/model/ReactiveUnaryExpression.d.ts +5 -1
  18. package/src/core/model/reactive/model/ReactiveUnaryExpression.d.ts.map +1 -1
  19. package/src/core/model/reactive/model/ReactiveUnaryExpression.js +4 -0
  20. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.d.ts +7 -10
  21. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.d.ts.map +1 -1
  22. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.js +19 -13
  23. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.d.ts +7 -9
  24. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.d.ts.map +1 -1
  25. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.js +14 -13
  26. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.d.ts +7 -10
  27. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.d.ts.map +1 -1
  28. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.js +19 -13
  29. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.d.ts +6 -8
  30. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.d.ts.map +1 -1
  31. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.js +14 -12
  32. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.d.ts +7 -9
  33. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.d.ts.map +1 -1
  34. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.js +16 -14
  35. package/src/core/model/reactive/model/comparative/ReactiveEquals.d.ts +7 -10
  36. package/src/core/model/reactive/model/comparative/ReactiveEquals.d.ts.map +1 -1
  37. package/src/core/model/reactive/model/comparative/ReactiveEquals.js +18 -12
  38. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.d.ts +7 -9
  39. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.d.ts.map +1 -1
  40. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.js +15 -14
  41. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.d.ts +10 -8
  42. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.d.ts.map +1 -1
  43. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.js +18 -13
  44. package/src/core/model/reactive/model/comparative/ReactiveLessThan.d.ts +10 -8
  45. package/src/core/model/reactive/model/comparative/ReactiveLessThan.d.ts.map +1 -1
  46. package/src/core/model/reactive/model/comparative/ReactiveLessThan.js +18 -12
  47. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.d.ts +10 -8
  48. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.d.ts.map +1 -1
  49. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.js +18 -12
  50. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.d.ts +7 -10
  51. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.d.ts.map +1 -1
  52. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.js +18 -13
  53. package/src/core/model/reactive/model/logic/ReactiveAnd.d.ts.map +1 -1
  54. package/src/core/model/reactive/model/logic/ReactiveAnd.js +18 -13
  55. package/src/core/model/reactive/model/logic/ReactiveNot.d.ts +19 -9
  56. package/src/core/model/reactive/model/logic/ReactiveNot.d.ts.map +1 -1
  57. package/src/core/model/reactive/model/logic/ReactiveNot.js +24 -10
  58. package/src/core/model/reactive/model/logic/ReactiveOr.d.ts +7 -10
  59. package/src/core/model/reactive/model/logic/ReactiveOr.d.ts.map +1 -1
  60. package/src/core/model/reactive/model/logic/ReactiveOr.js +18 -13
  61. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.d.ts +9 -7
  62. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.d.ts.map +1 -1
  63. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.js +14 -11
  64. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.d.ts +9 -7
  65. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.d.ts.map +1 -1
  66. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.js +14 -11
  67. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.d.ts +10 -8
  68. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.d.ts.map +1 -1
  69. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.js +14 -11
  70. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts.map +1 -1
  71. package/src/core/model/reactive/model/terminal/ReactiveReference.js +25 -21
  72. package/src/core/model/reactive/model/util/createRandomReactiveExpression.d.ts +2 -2
  73. package/src/core/model/reactive/model/util/createRandomReactiveExpression.d.ts.map +1 -1
  74. package/src/core/model/reactive/model/util/createRandomReactiveExpression.js +41 -29
  75. package/src/core/model/reactive/trigger/ReactiveTrigger.d.ts.map +1 -1
  76. package/src/core/model/reactive/trigger/ReactiveTrigger.js +2 -0
  77. package/src/core/model/stat/LinearModifier.d.ts.map +1 -1
  78. package/src/core/model/stat/LinearModifier.js +4 -0
  79. package/src/core/model/scheme/Schema.d.ts +0 -38
  80. package/src/core/model/scheme/Schema.d.ts.map +0 -1
  81. package/src/core/model/scheme/Schema.js +0 -72
  82. package/src/core/model/scheme/SchemeRegistry.d.ts +0 -19
  83. package/src/core/model/scheme/SchemeRegistry.d.ts.map +0 -1
  84. package/src/core/model/scheme/SchemeRegistry.js +0 -55
@@ -3,12 +3,17 @@ import { makeArrayBuffer } from "../../binary/makeArrayBuffer.js";
3
3
  import Signal from "../../events/signal/Signal.js";
4
4
  import { max2 } from "../../math/max2.js";
5
5
  import { array_copy } from "../array/array_copy.js";
6
+ import { array_buffer_copy } from "../array/typed/array_buffer_copy.js";
6
7
 
7
8
  /**
8
9
  * How much space to reserve in a newly created table, counted in ROWs
9
10
  * @type {number}
10
11
  */
11
- const DEFAULT_CAPACITY = 8
12
+ const DEFAULT_CAPACITY = 8;
13
+
14
+ const ALLOCATION_GROW_FACTOR = 1.5;
15
+
16
+ const ALLOCATION_SHRINK_FACTOR = 0.5;
12
17
 
13
18
  /**
14
19
  * Compact binary table storage
@@ -128,25 +133,25 @@ export class RowFirstTable {
128
133
  let result = byteLength;
129
134
 
130
135
 
131
- const uint32_length = byteLength >> 2;
136
+ const uint32_length = byteLength >> 2;
132
137
 
133
- // to keep hash calculation fast, do a fixed number evenly spaced taps inside the data table
134
- const tap_count = 31;
138
+ // to keep hash calculation fast, do a fixed number evenly spaced taps inside the data table
139
+ const tap_count = 31;
135
140
 
136
- const step_size = max2(
137
- Math.floor(uint32_length / tap_count ),
138
- 1
139
- );
141
+ const step_size = max2(
142
+ Math.floor(uint32_length / tap_count),
143
+ 1
144
+ );
140
145
 
141
- const step_count = Math.floor(uint32_length / step_size);
146
+ const step_count = Math.floor(uint32_length / step_size);
142
147
 
143
- for (let i = 0; i < step_count; i++) {
144
- const address = (i * step_size) << 2;
148
+ for (let i = 0; i < step_count; i++) {
149
+ const address = (i * step_size) << 2;
145
150
 
146
- const uint32 = dataView.getUint32(address);
151
+ const uint32 = dataView.getUint32(address);
147
152
 
148
- result = ((result << 5) - result) + uint32;
149
- }
153
+ result = ((result << 5) - result) + uint32;
154
+ }
150
155
 
151
156
  return result;
152
157
  }
@@ -182,6 +187,8 @@ export class RowFirstTable {
182
187
  throw new Error("Generated array was truncated unexpectedly from " + byteSize + " to " + this.data.byteLength);
183
188
  }
184
189
 
190
+ // TODO consider using {@link array_buffer_copy} instead for speed
191
+
185
192
  const newArray = new Uint8Array(this.data);
186
193
  const oldArray = new Uint8Array(oldData);
187
194
 
@@ -217,13 +224,13 @@ export class RowFirstTable {
217
224
 
218
225
  if (this.capacity < rowCount) {
219
226
  //grow
220
- const growFactor = 1.5;
221
- const newSize = Math.ceil(rowCount * growFactor);
227
+ const newSize = Math.ceil(rowCount * ALLOCATION_GROW_FACTOR);
222
228
  this.setCapacity(newSize);
223
- } else if (this.capacity * 0.5 > rowCount) {
229
+ } else if (this.capacity * ALLOCATION_SHRINK_FACTOR > rowCount) {
224
230
  //shrink
225
231
  this.setCapacity(rowCount);
226
232
  }
233
+
227
234
  }
228
235
 
229
236
  /**
@@ -308,11 +315,15 @@ export class RowFirstTable {
308
315
 
309
316
  /**
310
317
  * Insert a number of blank rows at the given offset
311
- * NOTE: doesn't send onAdded signal
318
+ * Table becomes larger as a result
319
+ * NOTE: doesn't send {@link on.added} signal
312
320
  * @param {number} index
313
321
  * @param {number} row_count
314
322
  */
315
323
  insertRows(index, row_count) {
324
+ assert.isNonNegativeInteger(index, 'index');
325
+ assert.isNonNegativeInteger(row_count, 'row_count');
326
+
316
327
  const future_length = this.length + row_count;
317
328
 
318
329
  this.resize(future_length);
@@ -334,12 +345,12 @@ export class RowFirstTable {
334
345
  }
335
346
 
336
347
  /**
337
- *
338
- * @param {Array.<number>} values
339
- * @returns {number} index of newly added row
348
+ * Created a new row at the end of the table, does not dispatch {@link on.added} signal
349
+ * Values are undefined, typically it will be 0s, but if data was previously written in that memory region - that data will be retained.
350
+ * Make sure to clear the row or write to it before reading it
351
+ * @return {number} index of the created row
340
352
  */
341
- addRow(values) {
342
-
353
+ createEmptyRow() {
343
354
  const newRowCount = this.length + 1;
344
355
 
345
356
  this.resize(newRowCount);
@@ -348,6 +359,17 @@ export class RowFirstTable {
348
359
 
349
360
  this.length = newRowCount;
350
361
 
362
+ return rowIndex;
363
+ }
364
+
365
+ /**
366
+ *
367
+ * @param {Array.<number>} values
368
+ * @returns {number} index of newly added row
369
+ */
370
+ addRow(values) {
371
+ const rowIndex = this.createEmptyRow();
372
+
351
373
  this.spec.writeRowMethod(this.dataView, this.spec.bytesPerRecord * rowIndex, values);
352
374
 
353
375
  this.on.added.send2(rowIndex, values);
@@ -378,14 +400,22 @@ export class RowFirstTable {
378
400
 
379
401
  const onAdded = this.on.added;
380
402
 
403
+ /**
404
+ *
405
+ * @param {number} index
406
+ */
381
407
  function addOneSignaling(index) {
382
408
  addOneSilent(index);
383
409
  onAdded.send2(index, row);
384
410
  }
385
411
 
386
- function addOneSilent(i) {
387
- valueSupplier(i, row);
388
- writeRowMethod(dataView, bytesPerRecord * i, row);
412
+ /**
413
+ *
414
+ * @param {number} index
415
+ */
416
+ function addOneSilent(index) {
417
+ valueSupplier(index, row);
418
+ writeRowMethod(dataView, bytesPerRecord * index, row);
389
419
  }
390
420
 
391
421
  //depending on whether signal is being listened, pick signaling or silent generator
@@ -444,12 +474,10 @@ export class RowFirstTable {
444
474
 
445
475
  this.length = other.length;
446
476
 
447
- const target = new Uint8Array(this.data);
448
- const source = new Uint8Array(other.data);
449
-
450
477
  // copy data
451
478
  const data_byte_count = other.spec.bytesPerRecord * record_count;
452
- target.set(source.slice(0, data_byte_count));
479
+
480
+ array_buffer_copy(other.data, 0, this.data, 0, data_byte_count);
453
481
  }
454
482
 
455
483
  /**
@@ -492,7 +520,7 @@ export class RowFirstTable {
492
520
  }
493
521
 
494
522
  /**
495
- *
523
+ * Read a single row of values from the table
496
524
  * @param {number} index
497
525
  * @param {number[]} [result] where row values are to be stored
498
526
  * @returns {number[]} result
@@ -508,7 +536,7 @@ export class RowFirstTable {
508
536
  }
509
537
 
510
538
  /**
511
- *
539
+ * Write a single row of values
512
540
  * @param {number} index
513
541
  * @param {number[]} record
514
542
  */
@@ -517,6 +545,8 @@ export class RowFirstTable {
517
545
 
518
546
  const spec = this.spec;
519
547
 
548
+ assert.greaterThanOrEqual(record.length, spec.getColumnCount(), 'input record length is too small');
549
+
520
550
  spec.writeRowMethod(this.dataView, spec.bytesPerRecord * index, record);
521
551
  }
522
552
 
@@ -539,8 +569,8 @@ export class RowFirstTable {
539
569
 
540
570
  const last_row_index = length - 1;
541
571
 
542
-
543
572
  const traversal_limit = last_row_index >>> 1;
573
+
544
574
  for (let i = 0; i <= traversal_limit; i++) {
545
575
  const address = i * bpr;
546
576
  array_copy(wrapper, address, copy_buffer, 0, bpr);
@@ -1 +1 @@
1
- {"version":3,"file":"randomIntegerBetween.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/random/randomIntegerBetween.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,4DAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAWlB"}
1
+ {"version":3,"file":"randomIntegerBetween.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/random/randomIntegerBetween.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,4DAJW,MAAM,OACN,MAAM,GACJ,MAAM,CAclB"}
@@ -15,5 +15,8 @@ export function randomIntegerBetween(random, min, max) {
15
15
 
16
16
  const roll = random();
17
17
 
18
+ assert.greaterThanOrEqual(roll, 0, 'random should return value between 0 and 1');
19
+ assert.lessThanOrEqual(roll, 1, 'random should return value between 0 and 1');
20
+
18
21
  return Math.round(roll * span) + min;
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveExpression.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/reactive/model/ReactiveExpression.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAEQ,0DAA6B;IAGjC,uBAEC;IAED,cAEC;IAED;;;;OAIG;IACH,wCAFa,OAAO,CAQnB;IAED;;;OAGG;IACH,UAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;OAEG;IACH,YAFa,CAAC,GAAC,OAAO,GAAC,MAAM,CAI5B;IAED;;;;OAIG;IACH,4CAEC;IAED;;;OAGG;IACH,mBAFY,MAAM,CAQjB;IAED;;;OAGG;IACH,iCAIC;IAED;;;;OAIG;IACH,sBAFa,OAAO,GAAC,MAAM,GAAC,MAAM,CAIjC;IAGL,cAAqC;IAErC;;;OAGG;IACH,+BAFU,OAAO,CAEgC;CARhD;mBA/FkB,kCAAkC"}
1
+ {"version":3,"file":"ReactiveExpression.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/reactive/model/ReactiveExpression.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAEQ,0DAA6B;IAGjC,uBAEC;IAED,cAEC;IAED;;;;OAIG;IACH,wCAFa,OAAO,CAQnB;IAED;;;OAGG;IACH,UAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;OAEG;IACH,YAFa,CAAC,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM,CAInC;IAED;;;;OAIG;IACH,4CAEC;IAED;;;OAGG;IACH,mBAFY,MAAM,CAQjB;IAED;;;OAGG;IACH,iCAIC;IAED;;;;OAIG;IACH,sBAFa,OAAO,GAAC,MAAM,GAAC,MAAM,CAIjC;IAGL,cAAqC;IAErC;;;OAGG;IACH,+BAFU,OAAO,CAEgC;CARhD;mBA/FkB,kCAAkC"}
@@ -48,7 +48,7 @@ export class ReactiveExpression {
48
48
  }
49
49
 
50
50
  /**
51
- * @returns {T|boolean|number}
51
+ * @returns {T|boolean|number|string}
52
52
  */
53
53
  getValue() {
54
54
  throw new Error('ReactiveExpression.getValue not overridden');
@@ -30,7 +30,11 @@ export class ReactiveUnaryExpression<T, R> extends ReactiveExpression<any> {
30
30
  */
31
31
  hash(): number;
32
32
  getValue(): void;
33
- isUnaryExpression: boolean;
33
+ /**
34
+ * @readonly
35
+ * @type {boolean}
36
+ */
37
+ readonly isUnaryExpression: boolean;
34
38
  }
35
39
  import { ReactiveExpression } from "./ReactiveExpression.js";
36
40
  //# sourceMappingURL=ReactiveUnaryExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveUnaryExpression.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/reactive/model/ReactiveUnaryExpression.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI,cASC;IANG;;;OAGG;IACH,QAFU,mBAAmB,CAAC,CAAC,CAEb;IAItB,uBAMC;IAED,qBAIC;IAED,2CAIC;IAED,2BAMC;IAED,mBAIC;IAED;;OAEG;IACH,kCAEC;IAED,0BAIC;IAED;;;;OAIG;IACH,wCAFa,OAAO,CAOnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED,iBAEC;IAGL,2BAAmD;CAFlD;mCAvFkC,yBAAyB"}
1
+ {"version":3,"file":"ReactiveUnaryExpression.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/reactive/model/ReactiveUnaryExpression.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI,cASC;IANG;;;OAGG;IACH,QAFU,mBAAmB,CAAC,CAAC,CAEb;IAItB,uBAMC;IAED,qBAIC;IAED,2CAIC;IAED,2BAMC;IAED,mBAIC;IAED;;OAEG;IACH,kCAEC;IAED,0BAIC;IAED;;;;OAIG;IACH,wCAFa,OAAO,CAOnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED,iBAEC;IAGL;;;OAGG;IACH,4BAFU,OAAO,CAEkC;CANlD;mCAvFkC,yBAAyB"}
@@ -89,4 +89,8 @@ export class ReactiveUnaryExpression extends ReactiveExpression {
89
89
  }
90
90
  }
91
91
 
92
+ /**
93
+ * @readonly
94
+ * @type {boolean}
95
+ */
92
96
  ReactiveUnaryExpression.prototype.isUnaryExpression = true;
@@ -1,4 +1,11 @@
1
1
  export class ReactiveAdd extends ReactiveBinaryExpression {
2
+ /**
3
+ *
4
+ * @param {ReactiveExpression} left
5
+ * @param {ReactiveExpression} right
6
+ * @returns {ReactiveAdd}
7
+ */
8
+ static from(left: ReactiveExpression, right: ReactiveExpression): ReactiveAdd;
2
9
  /**
3
10
  *
4
11
  * @param {number} left
@@ -27,16 +34,6 @@ export class ReactiveAdd extends ReactiveBinaryExpression {
27
34
  * @type {boolean}
28
35
  */
29
36
  readonly isReactiveAdd: boolean;
30
- isCommutative: boolean;
31
- }
32
- export namespace ReactiveAdd {
33
- /**
34
- *
35
- * @param {ReactiveExpression} left
36
- * @param {ReactiveExpression} right
37
- * @returns {ReactiveAdd}
38
- */
39
- function from(left: ReactiveExpression, right: ReactiveExpression): ReactiveAdd;
40
37
  }
41
38
  import { ReactiveBinaryExpression } from "../ReactiveBinaryExpression.js";
42
39
  //# sourceMappingURL=ReactiveAdd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveAdd.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveAdd.js"],"names":[],"mappings":"AAGA;IACI;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,WAAW,CAQtB;IAMD,iBAEC;IAGL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEK;IAE9B;;;OAGG;IACH,iCAFU,OAAO,CAE2B;IAE5C;;;OAGG;IACH,wBAFU,OAAO,CAEkB;IAEnC,uBAAmC;CApBlC;;IAsBD;;;;;OAKG;IACH,gFAMC;;yCAlEwC,gCAAgC"}
1
+ {"version":3,"file":"ReactiveAdd.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveAdd.js"],"names":[],"mappings":"AAGA;IAgCI;;;;;OAKG;IACH,kEAFa,WAAW,CAQvB;IA3CD;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,WAAW,CAQtB;IAMD,iBAEC;IAmBL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEK;IAE9B;;;OAGG;IACH,iCAFU,OAAO,CAE2B;IAE5C;;;OAGG;IACH,wBAFU,OAAO,CAEkB;CAlBlC;yCAhDwC,gCAAgC"}
@@ -31,6 +31,22 @@ export class ReactiveAdd extends ReactiveBinaryExpression {
31
31
  toCode() {
32
32
  return `( ${this.left.toCode()} + ${this.right.toCode()} )`
33
33
  }
34
+
35
+
36
+ /**
37
+ *
38
+ * @param {ReactiveExpression} left
39
+ * @param {ReactiveExpression} right
40
+ * @returns {ReactiveAdd}
41
+ */
42
+ static from(left, right) {
43
+ const r = new ReactiveAdd();
44
+
45
+ r.connect(left, right);
46
+
47
+ return r;
48
+ }
49
+
34
50
  }
35
51
 
36
52
  /**
@@ -51,18 +67,8 @@ ReactiveAdd.prototype.isArithmeticExpression = true;
51
67
  */
52
68
  ReactiveAdd.prototype.isReactiveAdd = true;
53
69
 
54
- ReactiveAdd.prototype.isCommutative = true;
55
-
56
70
  /**
57
- *
58
- * @param {ReactiveExpression} left
59
- * @param {ReactiveExpression} right
60
- * @returns {ReactiveAdd}
71
+ * @readonly
72
+ * @type {boolean}
61
73
  */
62
- ReactiveAdd.from = function (left, right) {
63
- const r = new ReactiveAdd();
64
-
65
- r.connect(left, right);
66
-
67
- return r;
68
- };
74
+ ReactiveAdd.prototype.isCommutative = true;
@@ -1,4 +1,11 @@
1
1
  export class ReactiveDivide extends ReactiveBinaryExpression {
2
+ /**
3
+ *
4
+ * @param {ReactiveExpression} left
5
+ * @param {ReactiveExpression} right
6
+ * @returns {ReactiveDivide}
7
+ */
8
+ static from(left: ReactiveExpression, right: ReactiveExpression): ReactiveDivide;
2
9
  /**
3
10
  *
4
11
  * @param {number} left
@@ -28,14 +35,5 @@ export class ReactiveDivide extends ReactiveBinaryExpression {
28
35
  */
29
36
  readonly isReactiveDivide: boolean;
30
37
  }
31
- export namespace ReactiveDivide {
32
- /**
33
- *
34
- * @param {ReactiveExpression} left
35
- * @param {ReactiveExpression} right
36
- * @returns {ReactiveDivide}
37
- */
38
- function from(left: ReactiveExpression, right: ReactiveExpression): ReactiveDivide;
39
- }
40
38
  import { ReactiveBinaryExpression } from "../ReactiveBinaryExpression.js";
41
39
  //# sourceMappingURL=ReactiveDivide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveDivide.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveDivide.js"],"names":[],"mappings":"AAGA;IACI;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,cAAc,CAQzB;IAMD,iBAEC;IAGL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEQ;IAEjC;;;OAGG;IACH,iCAFU,OAAO,CAE8B;IAE/C;;;OAGG;IACH,2BAFU,OAAO,CAEwB;CAlBxC;;IAoBD;;;;;OAKG;IACH,mFAMC;;yCAhEwC,gCAAgC"}
1
+ {"version":3,"file":"ReactiveDivide.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveDivide.js"],"names":[],"mappings":"AAGA;IA+BI;;;;;OAKG;IACH,kEAFa,cAAc,CAQ1B;IA1CD;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,cAAc,CAQzB;IAMD,iBAEC;IAiBL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEQ;IAEjC;;;OAGG;IACH,iCAFU,OAAO,CAE8B;IAE/C;;;OAGG;IACH,2BAFU,OAAO,CAEwB;CAlBxC;yCA9CwC,gCAAgC"}
@@ -31,6 +31,20 @@ export class ReactiveDivide extends ReactiveBinaryExpression {
31
31
  toCode() {
32
32
  return `( ${this.left.toCode()} / ${this.right.toCode()} )`
33
33
  }
34
+
35
+ /**
36
+ *
37
+ * @param {ReactiveExpression} left
38
+ * @param {ReactiveExpression} right
39
+ * @returns {ReactiveDivide}
40
+ */
41
+ static from(left, right) {
42
+ const r = new ReactiveDivide();
43
+
44
+ r.connect(left, right);
45
+
46
+ return r;
47
+ }
34
48
  }
35
49
 
36
50
  /**
@@ -51,16 +65,3 @@ ReactiveDivide.prototype.isArithmeticExpression = true;
51
65
  */
52
66
  ReactiveDivide.prototype.isReactiveDivide = true;
53
67
 
54
- /**
55
- *
56
- * @param {ReactiveExpression} left
57
- * @param {ReactiveExpression} right
58
- * @returns {ReactiveDivide}
59
- */
60
- ReactiveDivide.from = function (left, right) {
61
- const r = new ReactiveDivide();
62
-
63
- r.connect(left, right);
64
-
65
- return r;
66
- };
@@ -1,4 +1,11 @@
1
1
  export class ReactiveMultiply extends ReactiveBinaryExpression {
2
+ /**
3
+ *
4
+ * @param {ReactiveExpression} left
5
+ * @param {ReactiveExpression} right
6
+ * @returns {ReactiveMultiply}
7
+ */
8
+ static from(left: ReactiveExpression, right: ReactiveExpression): ReactiveMultiply;
2
9
  /**
3
10
  *
4
11
  * @param {number} left
@@ -27,16 +34,6 @@ export class ReactiveMultiply extends ReactiveBinaryExpression {
27
34
  * @type {boolean}
28
35
  */
29
36
  readonly isReactiveMultiply: boolean;
30
- isCommutative: boolean;
31
- }
32
- export namespace ReactiveMultiply {
33
- /**
34
- *
35
- * @param {ReactiveExpression} left
36
- * @param {ReactiveExpression} right
37
- * @returns {ReactiveMultiply}
38
- */
39
- function from(left: ReactiveExpression, right: ReactiveExpression): ReactiveMultiply;
40
37
  }
41
38
  import { ReactiveBinaryExpression } from "../ReactiveBinaryExpression.js";
42
39
  //# sourceMappingURL=ReactiveMultiply.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveMultiply.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveMultiply.js"],"names":[],"mappings":"AAGA;IACI;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,gBAAgB,CAQ3B;IAMD,iBAEC;IAGL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEU;IAEnC;;;OAGG;IACH,iCAFU,OAAO,CAEgC;IAEjD;;;OAGG;IACH,6BAFU,OAAO,CAE4B;IAE7C,uBAAwC;CApBvC;;IAsBD;;;;;OAKG;IACH,qFAMC;;yCAlEwC,gCAAgC"}
1
+ {"version":3,"file":"ReactiveMultiply.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveMultiply.js"],"names":[],"mappings":"AAGA;IAgCI;;;;;OAKG;IACH,kEAFa,gBAAgB,CAQ5B;IA3CD;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,gBAAgB,CAQ3B;IAMD,iBAEC;IAmBL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEU;IAEnC;;;OAGG;IACH,iCAFU,OAAO,CAEgC;IAEjD;;;OAGG;IACH,6BAFU,OAAO,CAE4B;CAlB5C;yCAhDwC,gCAAgC"}
@@ -31,6 +31,22 @@ export class ReactiveMultiply extends ReactiveBinaryExpression {
31
31
  toCode() {
32
32
  return `( ${this.left.toCode()} * ${this.right.toCode()} )`
33
33
  }
34
+
35
+
36
+ /**
37
+ *
38
+ * @param {ReactiveExpression} left
39
+ * @param {ReactiveExpression} right
40
+ * @returns {ReactiveMultiply}
41
+ */
42
+ static from(left, right) {
43
+ const r = new ReactiveMultiply();
44
+
45
+ r.connect(left, right);
46
+
47
+ return r;
48
+ }
49
+
34
50
  }
35
51
 
36
52
  /**
@@ -51,18 +67,8 @@ ReactiveMultiply.prototype.isArithmeticExpression = true;
51
67
  */
52
68
  ReactiveMultiply.prototype.isReactiveMultiply = true;
53
69
 
54
- ReactiveMultiply.prototype.isCommutative = true;
55
-
56
70
  /**
57
- *
58
- * @param {ReactiveExpression} left
59
- * @param {ReactiveExpression} right
60
- * @returns {ReactiveMultiply}
71
+ * @readonly
72
+ * @type {boolean}
61
73
  */
62
- ReactiveMultiply.from = function (left, right) {
63
- const r = new ReactiveMultiply();
64
-
65
- r.connect(left, right);
66
-
67
- return r;
68
- };
74
+ ReactiveMultiply.prototype.isCommutative = true;
@@ -1,4 +1,10 @@
1
1
  export class ReactiveNegate extends ReactiveUnaryExpression<any, any> {
2
+ /**
3
+ *
4
+ * @param {ReactiveExpression} source
5
+ * @returns {ReactiveNegate}
6
+ */
7
+ static from(source: ReactiveExpression): ReactiveNegate;
2
8
  constructor();
3
9
  /**
4
10
  *
@@ -29,13 +35,5 @@ export class ReactiveNegate extends ReactiveUnaryExpression<any, any> {
29
35
  */
30
36
  readonly isReactiveNegate: boolean;
31
37
  }
32
- export namespace ReactiveNegate {
33
- /**
34
- *
35
- * @param {ReactiveExpression} source
36
- * @returns {ReactiveNegate}
37
- */
38
- function from(source: ReactiveExpression): ReactiveNegate;
39
- }
40
38
  import { ReactiveUnaryExpression } from "../ReactiveUnaryExpression.js";
41
39
  //# sourceMappingURL=ReactiveNegate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveNegate.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveNegate.js"],"names":[],"mappings":"AAGA;IAMW,cAWP;IAhBA;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,cAAc,CAQzB;IAED,4BAEC;IAED,iBAEC;IAGL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEQ;IAEjC;;;OAGG;IACH,iCAFU,OAAO,CAE8B;IAE/C;;;OAGG;IACH,2BAFU,OAAO,CAEwB;CAlBxC;;IAqBD;;;;OAIG;IACH,0DAMC;;wCA/DuC,+BAA+B"}
1
+ {"version":3,"file":"ReactiveNegate.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveNegate.js"],"names":[],"mappings":"AAGA;IA+BI;;;;OAIG;IACH,yCAFa,cAAc,CAQ1B;IApCM,cAWP;IAhBA;;;;OAIG;IACH,aAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,cAAc,CAQzB;IAED,4BAEC;IAED,iBAEC;IAiBL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEQ;IAEjC;;;OAGG;IACH,iCAFU,OAAO,CAE8B;IAE/C;;;OAGG;IACH,2BAFU,OAAO,CAEwB;CAlBxC;wCA7CuC,+BAA+B"}
@@ -30,6 +30,20 @@ export class ReactiveNegate extends ReactiveUnaryExpression {
30
30
  toCode() {
31
31
  return `-${this.source.toCode()}`
32
32
  }
33
+
34
+
35
+ /**
36
+ *
37
+ * @param {ReactiveExpression} source
38
+ * @returns {ReactiveNegate}
39
+ */
40
+ static from(source) {
41
+ const r = new ReactiveNegate();
42
+
43
+ r.connect(source);
44
+
45
+ return r;
46
+ }
33
47
  }
34
48
 
35
49
  /**
@@ -51,15 +65,3 @@ ReactiveNegate.prototype.isArithmeticExpression = true;
51
65
  ReactiveNegate.prototype.isReactiveNegate = true;
52
66
 
53
67
 
54
- /**
55
- *
56
- * @param {ReactiveExpression} source
57
- * @returns {ReactiveNegate}
58
- */
59
- ReactiveNegate.from = function (source) {
60
- const r = new ReactiveNegate();
61
-
62
- r.connect(source);
63
-
64
- return r;
65
- };
@@ -1,4 +1,11 @@
1
1
  export class ReactiveSubtract extends ReactiveBinaryExpression {
2
+ /**
3
+ *
4
+ * @param {ReactiveExpression} left
5
+ * @param {ReactiveExpression} right
6
+ * @returns {ReactiveSubtract}
7
+ */
8
+ static from(left: ReactiveExpression, right: ReactiveExpression): ReactiveSubtract;
2
9
  /**
3
10
  *
4
11
  * @param {number} left
@@ -28,14 +35,5 @@ export class ReactiveSubtract extends ReactiveBinaryExpression {
28
35
  */
29
36
  readonly isReactiveSubtract: boolean;
30
37
  }
31
- export namespace ReactiveSubtract {
32
- /**
33
- *
34
- * @param {ReactiveExpression} left
35
- * @param {ReactiveExpression} right
36
- * @returns {ReactiveSubtract}
37
- */
38
- function from(left: ReactiveExpression, right: ReactiveExpression): ReactiveSubtract;
39
- }
40
38
  import { ReactiveBinaryExpression } from "../ReactiveBinaryExpression.js";
41
39
  //# sourceMappingURL=ReactiveSubtract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveSubtract.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveSubtract.js"],"names":[],"mappings":"AAGA;IACI;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,gBAAgB,CAQ3B;IAMD,iBAEC;IAGL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEU;IAEnC;;;OAGG;IACH,iCAFU,OAAO,CAEgC;IAEjD;;;OAGG;IACH,6BAFU,OAAO,CAE4B;CAlB5C;;IAqBD;;;;;OAKG;IACH,qFAMC;;yCAjEwC,gCAAgC"}
1
+ {"version":3,"file":"ReactiveSubtract.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/model/reactive/model/arithmetic/ReactiveSubtract.js"],"names":[],"mappings":"AAGA;IAgCI;;;;;OAKG;IACH,kEAFa,gBAAgB,CAQ5B;IA3CD;;;;;OAKG;IACH,gBAJW,MAAM,SACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,SAFY,gBAAgB,CAQ3B;IAMD,iBAEC;IAmBL;;;OAGG;IACH,mBAFU,WAAS,MAAM,CAEU;IAEnC;;;OAGG;IACH,iCAFU,OAAO,CAEgC;IAEjD;;;OAGG;IACH,6BAFU,OAAO,CAE4B;CAlB5C;yCAhDwC,gCAAgC"}
@@ -31,6 +31,22 @@ export class ReactiveSubtract extends ReactiveBinaryExpression {
31
31
  toCode() {
32
32
  return `( ${this.left.toCode()} - ${this.right.toCode()} )`
33
33
  }
34
+
35
+
36
+ /**
37
+ *
38
+ * @param {ReactiveExpression} left
39
+ * @param {ReactiveExpression} right
40
+ * @returns {ReactiveSubtract}
41
+ */
42
+ static from(left, right) {
43
+ const r = new ReactiveSubtract();
44
+
45
+ r.connect(left, right);
46
+
47
+ return r;
48
+ }
49
+
34
50
  }
35
51
 
36
52
  /**
@@ -51,17 +67,3 @@ ReactiveSubtract.prototype.isArithmeticExpression = true;
51
67
  */
52
68
  ReactiveSubtract.prototype.isReactiveSubtract = true;
53
69
 
54
-
55
- /**
56
- *
57
- * @param {ReactiveExpression} left
58
- * @param {ReactiveExpression} right
59
- * @returns {ReactiveSubtract}
60
- */
61
- ReactiveSubtract.from = function (left, right) {
62
- const r = new ReactiveSubtract();
63
-
64
- r.connect(left, right);
65
-
66
- return r;
67
- };