@bilig/core 0.11.28 → 0.11.30

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 (35) hide show
  1. package/dist/engine/runtime-state.d.ts +4 -0
  2. package/dist/engine/runtime-state.js.map +1 -1
  3. package/dist/engine/services/formula-binding-dependency-build-capacity.d.ts +2 -0
  4. package/dist/engine/services/formula-binding-dependency-build-capacity.js +25 -0
  5. package/dist/engine/services/formula-binding-dependency-build-capacity.js.map +1 -0
  6. package/dist/engine/services/formula-binding-dependency-materializer.d.ts +2 -1
  7. package/dist/engine/services/formula-binding-dependency-materializer.js +87 -0
  8. package/dist/engine/services/formula-binding-dependency-materializer.js.map +1 -1
  9. package/dist/engine/services/formula-binding-direct-descriptors.d.ts +1 -0
  10. package/dist/engine/services/formula-binding-direct-descriptors.js +67 -1
  11. package/dist/engine/services/formula-binding-direct-descriptors.js.map +1 -1
  12. package/dist/engine/services/formula-binding-prepare.js +6 -1
  13. package/dist/engine/services/formula-binding-prepare.js.map +1 -1
  14. package/dist/engine/services/formula-binding-service.js +4 -30
  15. package/dist/engine/services/formula-binding-service.js.map +1 -1
  16. package/dist/engine/services/formula-binding-shape-helpers.js +8 -0
  17. package/dist/engine/services/formula-binding-shape-helpers.js.map +1 -1
  18. package/dist/engine/services/formula-evaluation-direct-criteria-cache.d.ts +9 -0
  19. package/dist/engine/services/formula-evaluation-direct-criteria-cache.js +16 -0
  20. package/dist/engine/services/formula-evaluation-direct-criteria-cache.js.map +1 -0
  21. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.d.ts +9 -0
  22. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.js +68 -0
  23. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.js.map +1 -0
  24. package/dist/engine/services/formula-evaluation-service.js +34 -54
  25. package/dist/engine/services/formula-evaluation-service.js.map +1 -1
  26. package/dist/engine/services/recalc-service.js +7 -0
  27. package/dist/engine/services/recalc-service.js.map +1 -1
  28. package/dist/engine/services/runtime-column-store-service.js +2 -1
  29. package/dist/engine/services/runtime-column-store-service.js.map +1 -1
  30. package/dist/engine/services/traversal-service.js +46 -4
  31. package/dist/engine/services/traversal-service.js.map +1 -1
  32. package/dist/formula-table.d.ts +2 -0
  33. package/dist/formula-table.js +8 -0
  34. package/dist/formula-table.js.map +1 -1
  35. package/package.json +5 -5
@@ -3,12 +3,16 @@ export class FormulaTable {
3
3
  records = [];
4
4
  freeSlots = [];
5
5
  activeCount = 0;
6
+ mutationVersion = 0;
6
7
  constructor(store) {
7
8
  this.store = store;
8
9
  }
9
10
  get size() {
10
11
  return this.activeCount;
11
12
  }
13
+ get version() {
14
+ return this.mutationVersion;
15
+ }
12
16
  get(cellIndex) {
13
17
  const formulaId = this.store.formulaIds[cellIndex] ?? 0;
14
18
  return formulaId === 0 ? undefined : this.records[formulaId - 1];
@@ -20,12 +24,14 @@ export class FormulaTable {
20
24
  const existingId = this.store.formulaIds[cellIndex] ?? 0;
21
25
  if (existingId !== 0) {
22
26
  this.records[existingId - 1] = record;
27
+ this.mutationVersion += 1;
23
28
  return existingId;
24
29
  }
25
30
  const slot = this.freeSlots.pop() ?? this.records.length;
26
31
  this.records[slot] = record;
27
32
  this.store.formulaIds[cellIndex] = slot + 1;
28
33
  this.activeCount += 1;
34
+ this.mutationVersion += 1;
29
35
  return slot + 1;
30
36
  }
31
37
  delete(cellIndex) {
@@ -39,6 +45,7 @@ export class FormulaTable {
39
45
  this.records[slot] = undefined;
40
46
  this.freeSlots.push(slot);
41
47
  this.activeCount -= 1;
48
+ this.mutationVersion += 1;
42
49
  }
43
50
  this.store.formulaIds[cellIndex] = 0;
44
51
  return existing;
@@ -53,6 +60,7 @@ export class FormulaTable {
53
60
  this.records.length = 0;
54
61
  this.freeSlots.length = 0;
55
62
  this.activeCount = 0;
63
+ this.mutationVersion += 1;
56
64
  }
57
65
  forEach(callback) {
58
66
  for (let index = 0; index < this.records.length; index += 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"formula-table.js","sourceRoot":"","sources":["../src/formula-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formula-table.js","sourceRoot":"","sources":["../src/formula-table.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bilig/core",
3
- "version": "0.11.28",
3
+ "version": "0.11.30",
4
4
  "description": "Local-first spreadsheet engine core for bilig with calc, selection, and commit semantics.",
5
5
  "keywords": [
6
6
  "bilig",
@@ -41,10 +41,10 @@
41
41
  "build": "tsc -p tsconfig.json"
42
42
  },
43
43
  "dependencies": {
44
- "@bilig/formula": "0.11.28",
45
- "@bilig/protocol": "0.11.28",
46
- "@bilig/wasm-kernel": "0.11.28",
47
- "@bilig/workbook-domain": "0.11.28",
44
+ "@bilig/formula": "0.11.30",
45
+ "@bilig/protocol": "0.11.30",
46
+ "@bilig/wasm-kernel": "0.11.30",
47
+ "@bilig/workbook-domain": "0.11.30",
48
48
  "effect": "3.21.0"
49
49
  },
50
50
  "engines": {