@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
@@ -1,7 +1,6 @@
1
1
  import { Effect } from 'effect';
2
2
  import { FormulaMode, ErrorCode } from '@bilig/protocol';
3
3
  import { entityPayload, isRangeEntity, makeCellEntity, makeRangeEntity } from '../../entity-ids.js';
4
- import { growUint32 } from '../../engine-buffer-utils.js';
5
4
  import { tableDependencyKey } from '../../engine-metadata-utils.js';
6
5
  import { errorValue } from '../../engine-value-utils.js';
7
6
  import { addEngineCounter } from '../../perf/engine-counters.js';
@@ -28,6 +27,7 @@ import { canRetainUnmanagedCompiledPlan, formulaBindingErrorMessage, makeUnmanag
28
27
  import { normalizeFormulaBindingLookupCompileMode } from './formula-binding-lookup-mode.js';
29
28
  import { primeFormulaBindingLookupCandidates } from './formula-binding-lookup-primer.js';
30
29
  import { directAggregateContainsFormulaOwnerCell } from './formula-binding-direct-aggregate-owner.js';
30
+ import { ensureFormulaBindingDependencyBuildCapacity } from './formula-binding-dependency-build-capacity.js';
31
31
  export { formulaBindingServiceTestHooks } from './formula-binding-service-test-hooks.js';
32
32
  export function createEngineFormulaBindingService(args) {
33
33
  const resolvedCompiledCache = new Map();
@@ -73,29 +73,7 @@ export function createEngineFormulaBindingService(args) {
73
73
  const untrackFormulaSheetIndexes = (cellIndex, ownerSheetName, compiled) => {
74
74
  formulaSheetIndex.untrackFormula(cellIndex, ownerSheetName, compiled);
75
75
  };
76
- const ensureDependencyBuildCapacity = (cellCapacity, dependencyCapacity, symbolicRefCapacity = 0, symbolicRangeCapacity = 0) => {
77
- if (cellCapacity > args.getDependencyBuildSeen().length) {
78
- args.setDependencyBuildSeen(growUint32(args.getDependencyBuildSeen(), cellCapacity));
79
- }
80
- if (cellCapacity > args.getDependencyBuildCells().length) {
81
- args.setDependencyBuildCells(growUint32(args.getDependencyBuildCells(), cellCapacity));
82
- }
83
- if (dependencyCapacity > args.getDependencyBuildEntities().length) {
84
- args.setDependencyBuildEntities(growUint32(args.getDependencyBuildEntities(), dependencyCapacity));
85
- }
86
- if (dependencyCapacity > args.getDependencyBuildRanges().length) {
87
- args.setDependencyBuildRanges(growUint32(args.getDependencyBuildRanges(), dependencyCapacity));
88
- }
89
- if (dependencyCapacity > args.getDependencyBuildNewRanges().length) {
90
- args.setDependencyBuildNewRanges(growUint32(args.getDependencyBuildNewRanges(), dependencyCapacity));
91
- }
92
- if (symbolicRefCapacity > args.getSymbolicRefBindings().length) {
93
- args.setSymbolicRefBindings(growUint32(args.getSymbolicRefBindings(), symbolicRefCapacity));
94
- }
95
- if (symbolicRangeCapacity > args.getSymbolicRangeBindings().length) {
96
- args.setSymbolicRangeBindings(growUint32(args.getSymbolicRangeBindings(), symbolicRangeCapacity));
97
- }
98
- };
76
+ const ensureDependencyBuildCapacity = (cellCapacity, dependencyCapacity, symbolicRefCapacity = 0, symbolicRangeCapacity = 0) => ensureFormulaBindingDependencyBuildCapacity(args, cellCapacity, dependencyCapacity, symbolicRefCapacity, symbolicRangeCapacity);
99
77
  const pendingInitialFormulaCells = createPendingInitialFormulaCellTracker({
100
78
  getCellCapacity: () => args.state.workbook.cellStore.capacity,
101
79
  getSheetId: (cellIndex) => args.state.workbook.cellStore.sheetIds[cellIndex],
@@ -103,7 +81,7 @@ export function createEngineFormulaBindingService(args) {
103
81
  isBoundFormulaCell: (cellIndex) => (args.state.workbook.cellStore.formulaIds[cellIndex] ?? 0) !== 0,
104
82
  hasBoundColumnMembers: (sheetId, col) => formulaMemberCounts.hasColumnMembers(sheetId, col),
105
83
  });
106
- const { materializeDependencies, materializeDirectScalarDependencies, materializeDirectAggregateDependencies } = createFormulaBindingDependencyMaterializer({
84
+ const dependencyMaterializer = createFormulaBindingDependencyMaterializer({
107
85
  serviceArgs: args,
108
86
  hasFormulaColumnMembers: pendingInitialFormulaCells.hasColumnMembers,
109
87
  isFormulaCell: pendingInitialFormulaCells.isFormulaCell,
@@ -541,11 +519,7 @@ export function createEngineFormulaBindingService(args) {
541
519
  compiledInput,
542
520
  templateId,
543
521
  normalizeLookupCompileMode: normalizeFormulaBindingLookupCompileMode,
544
- dependencyMaterializer: {
545
- materializeDependencies,
546
- materializeDirectAggregateDependencies,
547
- materializeDirectScalarDependencies,
548
- },
522
+ dependencyMaterializer,
549
523
  ensureDependencyBuildCapacity,
550
524
  directAggregateContainsOwnerCell: (directAggregate, ownerCellIndex) => directAggregateContainsFormulaOwnerCell(args, directAggregate, ownerCellIndex),
551
525
  makeUnmanagedCompiledPlan,
@@ -1 +1 @@
1
- {"version":3,"file":"formula-binding-service.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formula-binding-service.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-service.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,14 @@ function directCriteriaResultTransformsEqual(left, right) {
85
85
  }
86
86
  continue;
87
87
  }
88
+ if (leftTransform.kind === 'if-empty-cell') {
89
+ if (rightTransform.kind !== 'if-empty-cell' ||
90
+ leftTransform.cellIndex !== rightTransform.cellIndex ||
91
+ JSON.stringify(leftTransform.fallback) !== JSON.stringify(rightTransform.fallback)) {
92
+ return false;
93
+ }
94
+ continue;
95
+ }
88
96
  if (rightTransform.kind !== 'if-error' || JSON.stringify(leftTransform.fallback) !== JSON.stringify(rightTransform.fallback)) {
89
97
  return false;
90
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formula-binding-shape-helpers.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-shape-helpers.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,0BAA0B,CACxC,IAA+C,EAC/C,KAAgD;IAEhD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG;gBACxC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACrC,CAAA;QACH,KAAK,uBAAuB;YAC1B,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACtC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAClC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC9B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBACtB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACrC,CAAA;QACH,KAAK,aAAa;YAChB,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG;gBACxC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACnC,CAAA;QACH,KAAK,6BAA6B;YAChC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,6BAA6B;gBAC5C,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAClC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC9B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBACtB,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACnC,CAAA;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAuF,EACvF,KAAwF;IAExF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAA;IACpE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,oBAAoB;YACnC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAA;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;QACtD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,mCAAmC;YAClD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CACzC,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,mCAAmC,CAC1C,IAAyD,EACzD,KAA0D;IAE1D,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAA;IACjC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAAA;IACnC,IAAI,cAAc,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAE,CAAA;QAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAE,CAAA;QAC9C,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtH,OAAO,KAAK,CAAA;YACd,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7H,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAiD,EACjD,KAAkD;IAElD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAA;IACvC,IACE,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ;QAC5C,SAAS,EAAE,SAAS,KAAK,UAAU,EAAE,SAAS;QAC9C,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ;QAC5C,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,MAAM;QACxC,SAAS,EAAE,GAAG,KAAK,UAAU,EAAE,GAAG;QAClC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,MAAM,EACxC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAE,CAAA;QAC7C,IACE,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ;YACpD,QAAQ,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,SAAS;YACtD,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ;YACpD,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;YAChD,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG;YAC1C,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;YAChD,CAAC,0BAA0B,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,EACpE,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAkD,EAClD,KAAmD;IAEnD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,CACL,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;QAC1C,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAClC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB,EAAE,KAAwB;IAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqC,EAAE,KAAsC;IAC5G,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAuB,EAAE,KAAwB;IAChF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAyE,EACzE,IAAsE,EACtE,oBAA4B;IAE5B,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACjE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,oBAAoB,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC1F,OAAO,OAAO,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,CAAA;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAwB,EAAE,QAAqC;IAC7G,OAAO,CACL,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACrF,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACrG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,cAAc,KAAK,SAAS,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,QAAwB,EAAE,QAAyB;IACtG,OAAO,CACL,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC5F,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC7D,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,QAAwB,EAAE,QAAyB;IAC7G,OAAO,CACL,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM;QAClD,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM;QACxD,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,QAAwB,EAAE,QAAyB;IAC1G,OAAO,CACL,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"formula-binding-shape-helpers.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-shape-helpers.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,0BAA0B,CACxC,IAA+C,EAC/C,KAAgD;IAEhD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG;gBACxC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACrC,CAAA;QACH,KAAK,uBAAuB;YAC1B,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACtC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAClC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC9B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBACtB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACrC,CAAA;QACH,KAAK,aAAa;YAChB,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG;gBACxC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACnC,CAAA;QACH,KAAK,6BAA6B;YAChC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,6BAA6B;gBAC5C,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;gBAChD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gBAClC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC9B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBACtB,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACnC,CAAA;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAuF,EACvF,KAAwF;IAExF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAA;IACpE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,oBAAoB;YACnC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAA;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;QACtD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,mCAAmC;YAClD,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CACzC,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,mCAAmC,CAC1C,IAAyD,EACzD,KAA0D;IAE1D,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAA;IACjC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAAA;IACnC,IAAI,cAAc,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAE,CAAA;QAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAE,CAAA;QAC9C,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtH,OAAO,KAAK,CAAA;YACd,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC3C,IACE,cAAc,CAAC,IAAI,KAAK,eAAe;gBACvC,aAAa,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS;gBACpD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAClF,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7H,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAiD,EACjD,KAAkD;IAElD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAA;IACvC,IACE,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ;QAC5C,SAAS,EAAE,SAAS,KAAK,UAAU,EAAE,SAAS;QAC9C,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ;QAC5C,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,MAAM;QACxC,SAAS,EAAE,GAAG,KAAK,UAAU,EAAE,GAAG;QAClC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,MAAM,EACxC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAE,CAAA;QAC7C,IACE,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ;YACpD,QAAQ,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,SAAS;YACtD,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ;YACpD,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;YAChD,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG;YAC1C,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;YAChD,CAAC,0BAA0B,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,EACpE,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAkD,EAClD,KAAmD;IAEnD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,CACL,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;QAC1C,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAClC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB,EAAE,KAAwB;IAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqC,EAAE,KAAsC;IAC5G,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAuB,EAAE,KAAwB;IAChF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAyE,EACzE,IAAsE,EACtE,oBAA4B;IAE5B,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACjE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,oBAAoB,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC1F,OAAO,OAAO,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,CAAA;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAwB,EAAE,QAAqC;IAC7G,OAAO,CACL,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACrF,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACrG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,cAAc,KAAK,SAAS,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,QAAwB,EAAE,QAAyB;IACtG,OAAO,CACL,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC5F,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC7D,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,QAAwB,EAAE,QAAyB;IAC7G,OAAO,CACL,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM;QAClD,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM;QACxD,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,QAAwB,EAAE,QAAyB;IAC1G,OAAO,CACL,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;QACtC,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACzC,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { CellValue } from '@bilig/protocol';
2
+ import type { EngineRuntimeState } from '../runtime-state.js';
3
+ export declare function directCriteriaRangeVersionKey(state: Pick<EngineRuntimeState, 'workbook'>, range: {
4
+ sheetName: string;
5
+ rowStart: number;
6
+ rowEnd: number;
7
+ col: number;
8
+ }): string;
9
+ export declare function rememberDirectCriteriaResult(cache: Map<string, CellValue>, key: string, value: CellValue): CellValue;
@@ -0,0 +1,16 @@
1
+ const DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT = 16_384;
2
+ export function directCriteriaRangeVersionKey(state, range) {
3
+ const sheet = state.workbook.getSheet(range.sheetName);
4
+ return `${range.sheetName}:${range.rowStart}:${range.rowEnd}:${range.col}:${sheet?.columnVersions[range.col] ?? 0}:${sheet?.structureVersion ?? 0}`;
5
+ }
6
+ export function rememberDirectCriteriaResult(cache, key, value) {
7
+ if (cache.size >= DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT) {
8
+ const firstKey = cache.keys().next().value;
9
+ if (firstKey !== undefined) {
10
+ cache.delete(firstKey);
11
+ }
12
+ }
13
+ cache.set(key, value);
14
+ return value;
15
+ }
16
+ //# sourceMappingURL=formula-evaluation-direct-criteria-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula-evaluation-direct-criteria-cache.js","sourceRoot":"","sources":["../../../src/engine/services/formula-evaluation-direct-criteria-cache.ts"],"names":[],"mappings":"AAGA,MAAM,qCAAqC,GAAG,MAAM,CAAA;AAEpD,MAAM,UAAU,6BAA6B,CAC3C,KAA2C,EAC3C,KAA2E;IAE3E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtD,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAC/G,KAAK,EAAE,gBAAgB,IAAI,CAC7B,EAAE,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAA6B,EAAE,GAAW,EAAE,KAAgB;IACvG,IAAI,KAAK,CAAC,IAAI,IAAI,qCAAqC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACrB,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type CellValue } from '@bilig/protocol';
2
+ import type { RuntimeFormula } from '../runtime-state.js';
3
+ import type { RuntimeColumnView } from './runtime-column-store-service.js';
4
+ type CellValueReader = (cellIndex: number | undefined) => CellValue;
5
+ export declare const applyDirectCriteriaResultTransforms: (readCellValueByIndex: CellValueReader, formula: RuntimeFormula, value: CellValue) => CellValue;
6
+ export declare const tryEvaluateDirectCriteriaTransformShortCircuit: (readCellValueByIndex: CellValueReader, formula: RuntimeFormula) => CellValue | undefined;
7
+ export declare const numericLikeValueInView: (view: RuntimeColumnView, offset: number) => number | undefined;
8
+ export declare const strictNumericAggregateCandidateInView: (view: RuntimeColumnView, offset: number) => number | undefined;
9
+ export {};
@@ -0,0 +1,68 @@
1
+ import { getBuiltin, isArrayValue } from '@bilig/formula';
2
+ import { ErrorCode, ValueTag } from '@bilig/protocol';
3
+ import { errorValue } from '../../engine-value-utils.js';
4
+ const roundBuiltin = getBuiltin('ROUND');
5
+ const isEmptyCellGuardValue = (value) => value.tag === ValueTag.Empty || (value.tag === ValueTag.String && value.value === '');
6
+ const applyDirectCriteriaResultTransform = (readCellValueByIndex, transform, current) => {
7
+ if (transform.kind === 'if-error') {
8
+ return current.tag === ValueTag.Error ? transform.fallback : current;
9
+ }
10
+ if (transform.kind === 'if-empty-cell') {
11
+ const guard = readCellValueByIndex(transform.cellIndex);
12
+ if (guard.tag === ValueTag.Error) {
13
+ return guard;
14
+ }
15
+ return isEmptyCellGuardValue(guard) ? transform.fallback : current;
16
+ }
17
+ const rounded = roundBuiltin?.(current, transform.digits) ?? errorValue(ErrorCode.Name);
18
+ return isArrayValue(rounded) ? errorValue(ErrorCode.Value) : rounded;
19
+ };
20
+ const applyDirectCriteriaResultTransformsFrom = (readCellValueByIndex, formula, value, startIndex) => {
21
+ const transforms = formula.directCriteria?.resultTransforms;
22
+ if (!transforms || transforms.length === 0) {
23
+ return value;
24
+ }
25
+ let current = value;
26
+ for (let index = startIndex; index < transforms.length; index += 1) {
27
+ current = applyDirectCriteriaResultTransform(readCellValueByIndex, transforms[index], current);
28
+ }
29
+ return current;
30
+ };
31
+ export const applyDirectCriteriaResultTransforms = (readCellValueByIndex, formula, value) => applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, value, 0);
32
+ export const tryEvaluateDirectCriteriaTransformShortCircuit = (readCellValueByIndex, formula) => {
33
+ const transforms = formula.directCriteria?.resultTransforms;
34
+ if (!transforms || transforms.length === 0) {
35
+ return undefined;
36
+ }
37
+ for (let index = 0; index < transforms.length; index += 1) {
38
+ const transform = transforms[index];
39
+ if (transform.kind !== 'if-empty-cell') {
40
+ continue;
41
+ }
42
+ const guard = readCellValueByIndex(transform.cellIndex);
43
+ if (guard.tag === ValueTag.Error) {
44
+ return applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, guard, index + 1);
45
+ }
46
+ if (isEmptyCellGuardValue(guard)) {
47
+ return applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, transform.fallback, index + 1);
48
+ }
49
+ }
50
+ return undefined;
51
+ };
52
+ const readColumnViewTag = (view, offset) => view.readTagAt(offset);
53
+ export const numericLikeValueInView = (view, offset) => {
54
+ switch (readColumnViewTag(view, offset)) {
55
+ case ValueTag.Number:
56
+ return view.readNumberAt(offset);
57
+ case ValueTag.Boolean:
58
+ return view.readNumberAt(offset) !== 0 ? 1 : 0;
59
+ case ValueTag.Empty:
60
+ return 0;
61
+ case ValueTag.String:
62
+ case ValueTag.Error:
63
+ default:
64
+ return undefined;
65
+ }
66
+ };
67
+ export const strictNumericAggregateCandidateInView = (view, offset) => readColumnViewTag(view, offset) === ValueTag.Number ? view.readNumberAt(offset) : undefined;
68
+ //# sourceMappingURL=formula-evaluation-direct-criteria-transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula-evaluation-direct-criteria-transforms.js","sourceRoot":"","sources":["../../../src/engine/services/formula-evaluation-direct-criteria-transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAMxD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;AAExC,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAW,EAAE,CAC1D,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;AAEvF,MAAM,kCAAkC,GAAG,CACzC,oBAAqC,EACrC,SAA+C,EAC/C,OAAkB,EACP,EAAE;IACb,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;IACtE,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;IACpE,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,uCAAuC,GAAG,CAC9C,oBAAqC,EACrC,OAAuB,EACvB,KAAgB,EAChB,UAAkB,EACP,EAAE;IACb,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAA;IAC3D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,GAAG,kCAAkC,CAAC,oBAAoB,EAAE,UAAU,CAAC,KAAK,CAAE,EAAE,OAAO,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,oBAAqC,EACrC,OAAuB,EACvB,KAAgB,EACL,EAAE,CAAC,uCAAuC,CAAC,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAC5D,oBAAqC,EACrC,OAAuB,EACA,EAAE;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAA;IAC3D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAE,CAAA;QACpC,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACvC,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,uCAAuC,CAAC,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACjG,CAAC;QACD,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,uCAAuC,CAAC,oBAAoB,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC9G,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAuB,EAAE,MAAc,EAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAa,CAAA;AAEnH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAuB,EAAE,MAAc,EAAsB,EAAE;IACpG,QAAQ,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QACxC,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,CAAC,CAAA;QACV,KAAK,QAAQ,CAAC,MAAM,CAAC;QACrB,KAAK,QAAQ,CAAC,KAAK,CAAC;QACpB;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,IAAuB,EAAE,MAAc,EAAsB,EAAE,CACnH,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA"}
@@ -1,34 +1,21 @@
1
1
  import { Effect } from 'effect';
2
2
  import { ErrorCode, MAX_COLS, MAX_ROWS, ValueTag } from '@bilig/protocol';
3
- import { createLookupBuiltinResolver, evaluatePlanResult, formatAddress, getBuiltin, isArrayValue, lowerToPlan, parseCellAddress, parseRangeAddress, } from '@bilig/formula';
3
+ import { createLookupBuiltinResolver, evaluatePlanResult, formatAddress, lowerToPlan, isArrayValue, parseCellAddress, parseRangeAddress, } from '@bilig/formula';
4
4
  import { definedNameValueToCellValue, definedNameValueToReferenceOperand } from '../../engine-metadata-utils.js';
5
5
  import { emptyValue, errorValue } from '../../engine-value-utils.js';
6
6
  import { addEngineCounter } from '../../perf/engine-counters.js';
7
7
  import { EngineFormulaEvaluationError } from '../errors.js';
8
+ import { directCriteriaRangeVersionKey, rememberDirectCriteriaResult } from './formula-evaluation-direct-criteria-cache.js';
9
+ import { applyDirectCriteriaResultTransforms, numericLikeValueInView, strictNumericAggregateCandidateInView, tryEvaluateDirectCriteriaTransformShortCircuit, } from './formula-evaluation-direct-criteria-transforms.js';
8
10
  import { tryEvaluateDirectVectorLookup } from './formula-evaluation-direct-lookup.js';
9
11
  import { tryEvaluateDirectScalar } from './formula-evaluation-direct-scalar.js';
10
- import { cellValueCriteriaString, cellValuesEqual, decodeErrorCode, directCriteriaCacheValueKey, directErrorResult, directNumberResult, evaluationErrorMessage, numericLikeValueAt, offsetDirectAggregateResult, referenceReplacementKey, strictNumericAggregateCandidateAt, } from './formula-evaluation-helpers.js';
12
+ import { cellValueCriteriaString, cellValuesEqual, decodeErrorCode, directCriteriaCacheValueKey, directErrorResult, directNumberResult, evaluationErrorMessage, offsetDirectAggregateResult, referenceReplacementKey, } from './formula-evaluation-helpers.js';
11
13
  import { readRuntimeDirectCriteriaOperandValue } from './direct-criteria-operands.js';
12
14
  const DIRECT_AGGREGATE_SCAN_MAX_LENGTH = 64;
13
15
  const DIRECT_AGGREGATE_PREFIX_MIN_LENGTH = 16;
14
16
  export function createEngineFormulaEvaluationService(args) {
15
17
  const emptyChangedCellIndices = [];
16
18
  const directCriteriaAggregateCache = new Map();
17
- const roundBuiltin = getBuiltin('ROUND');
18
- const directCriteriaRangeVersionKey = (range) => {
19
- const sheet = args.state.workbook.getSheet(range.sheetName);
20
- return `${range.sheetName}:${range.rowStart}:${range.rowEnd}:${range.col}:${sheet?.columnVersions[range.col] ?? 0}:${sheet?.structureVersion ?? 0}`;
21
- };
22
- const rememberDirectCriteriaResult = (key, value) => {
23
- if (directCriteriaAggregateCache.size >= 512) {
24
- const firstKey = directCriteriaAggregateCache.keys().next().value;
25
- if (firstKey !== undefined) {
26
- directCriteriaAggregateCache.delete(firstKey);
27
- }
28
- }
29
- directCriteriaAggregateCache.set(key, value);
30
- return value;
31
- };
32
19
  const readCellValue = (sheetName, address) => {
33
20
  if (!args.state.workbook.getSheet(sheetName)) {
34
21
  return errorValue(ErrorCode.Ref);
@@ -60,6 +47,15 @@ export function createEngineFormulaEvaluationService(args) {
60
47
  const cellCount = (bounds.rowEnd - bounds.rowStart + 1) * (bounds.colEnd - bounds.colStart + 1);
61
48
  args.checkEvaluationBudget(cellCount);
62
49
  if (!replacements || !visiting) {
50
+ if (cellCount <= 64) {
51
+ const values = [];
52
+ for (let row = bounds.rowStart; row <= bounds.rowEnd; row += 1) {
53
+ for (let col = bounds.colStart; col <= bounds.colEnd; col += 1) {
54
+ values.push(readCellValueAt(sheetName, row, col));
55
+ }
56
+ }
57
+ return values;
58
+ }
63
59
  const rangeValues = args.runtimeColumnStore.readRangeValues({
64
60
  sheetName,
65
61
  rowStart: bounds.rowStart,
@@ -196,29 +192,13 @@ export function createEngineFormulaEvaluationService(args) {
196
192
  stringifyCriteriaValue: cellValueCriteriaString,
197
193
  });
198
194
  };
199
- const applyDirectCriteriaResultTransforms = (formula, value) => {
200
- const transforms = formula.directCriteria?.resultTransforms;
201
- if (!transforms || transforms.length === 0) {
202
- return value;
203
- }
204
- let current = value;
205
- for (let index = 0; index < transforms.length; index += 1) {
206
- const transform = transforms[index];
207
- if (transform.kind === 'if-error') {
208
- if (current.tag === ValueTag.Error) {
209
- current = transform.fallback;
210
- }
211
- continue;
212
- }
213
- const rounded = roundBuiltin?.(current, transform.digits) ?? errorValue(ErrorCode.Name);
214
- current = isArrayValue(rounded) ? errorValue(ErrorCode.Value) : rounded;
215
- }
216
- return current;
217
- };
218
195
  const tryEvaluateDirectCriteriaAggregate = (formula) => {
219
196
  const directCriteria = formula.directCriteria;
220
- if (!directCriteria) {
197
+ if (!directCriteria)
221
198
  return undefined;
199
+ const transformShortCircuit = tryEvaluateDirectCriteriaTransformShortCircuit(readCellValueByIndex, formula);
200
+ if (transformShortCircuit) {
201
+ return transformShortCircuit;
222
202
  }
223
203
  const resolvedPairs = directCriteria.criteriaPairs.map((pair) => ({
224
204
  range: pair.range,
@@ -235,7 +215,7 @@ export function createEngineFormulaEvaluationService(args) {
235
215
  return matches;
236
216
  }
237
217
  if (directCriteria.aggregateKind === 'count') {
238
- return applyDirectCriteriaResultTransforms(formula, directNumberResult(matches.length));
218
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, directNumberResult(matches.length));
239
219
  }
240
220
  const aggregateRange = directCriteria.aggregateRange;
241
221
  if (!aggregateRange) {
@@ -243,12 +223,14 @@ export function createEngineFormulaEvaluationService(args) {
243
223
  }
244
224
  const aggregateCacheKey = [
245
225
  directCriteria.aggregateKind,
246
- directCriteriaRangeVersionKey(aggregateRange),
247
- resolvedPairs.map((pair) => `${directCriteriaRangeVersionKey(pair.range)}:${directCriteriaCacheValueKey(pair.criteria)}`).join('|'),
226
+ directCriteriaRangeVersionKey(args.state, aggregateRange),
227
+ resolvedPairs
228
+ .map((pair) => `${directCriteriaRangeVersionKey(args.state, pair.range)}:${directCriteriaCacheValueKey(pair.criteria)}`)
229
+ .join('|'),
248
230
  ].join('\u0000');
249
231
  const cachedAggregate = directCriteriaAggregateCache.get(aggregateCacheKey);
250
232
  if (cachedAggregate) {
251
- return applyDirectCriteriaResultTransforms(formula, cachedAggregate);
233
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, cachedAggregate);
252
234
  }
253
235
  if (directCriteria.aggregateKind === 'first') {
254
236
  const firstOffset = matches.rows[0];
@@ -262,9 +244,9 @@ export function createEngineFormulaEvaluationService(args) {
262
244
  col: aggregateRange.col,
263
245
  })
264
246
  .readCellValueAt(firstOffset);
265
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, result));
247
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, result));
266
248
  }
267
- const aggregateSlice = args.runtimeColumnStore.getColumnSlice({
249
+ const aggregateView = args.runtimeColumnStore.getColumnView({
268
250
  sheetName: aggregateRange.sheetName,
269
251
  rowStart: aggregateRange.rowStart,
270
252
  rowEnd: aggregateRange.rowEnd,
@@ -273,43 +255,43 @@ export function createEngineFormulaEvaluationService(args) {
273
255
  if (directCriteria.aggregateKind === 'sum') {
274
256
  let sum = 0;
275
257
  for (let index = 0; index < matches.length; index += 1) {
276
- sum += numericLikeValueAt(aggregateSlice, matches.rows[index]) ?? 0;
258
+ sum += numericLikeValueInView(aggregateView, matches.rows[index]) ?? 0;
277
259
  }
278
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(sum)));
260
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(sum)));
279
261
  }
280
262
  if (directCriteria.aggregateKind === 'average') {
281
263
  let count = 0;
282
264
  let sum = 0;
283
265
  for (let index = 0; index < matches.length; index += 1) {
284
- const numeric = numericLikeValueAt(aggregateSlice, matches.rows[index]);
266
+ const numeric = numericLikeValueInView(aggregateView, matches.rows[index]);
285
267
  if (numeric === undefined) {
286
268
  continue;
287
269
  }
288
270
  count += 1;
289
271
  sum += numeric;
290
272
  }
291
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, count === 0 ? directErrorResult(ErrorCode.Div0) : directNumberResult(sum / count)));
273
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, count === 0 ? directErrorResult(ErrorCode.Div0) : directNumberResult(sum / count)));
292
274
  }
293
275
  if (directCriteria.aggregateKind === 'min') {
294
276
  let minimum = Number.POSITIVE_INFINITY;
295
277
  for (let index = 0; index < matches.length; index += 1) {
296
- const numeric = strictNumericAggregateCandidateAt(aggregateSlice, matches.rows[index]);
278
+ const numeric = strictNumericAggregateCandidateInView(aggregateView, matches.rows[index]);
297
279
  if (numeric === undefined) {
298
280
  continue;
299
281
  }
300
282
  minimum = Math.min(minimum, numeric);
301
283
  }
302
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(minimum === Number.POSITIVE_INFINITY ? 0 : minimum)));
284
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(minimum === Number.POSITIVE_INFINITY ? 0 : minimum)));
303
285
  }
304
286
  let maximum = Number.NEGATIVE_INFINITY;
305
287
  for (let index = 0; index < matches.length; index += 1) {
306
- const numeric = strictNumericAggregateCandidateAt(aggregateSlice, matches.rows[index]);
288
+ const numeric = strictNumericAggregateCandidateInView(aggregateView, matches.rows[index]);
307
289
  if (numeric === undefined) {
308
290
  continue;
309
291
  }
310
292
  maximum = Math.max(maximum, numeric);
311
293
  }
312
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(maximum === Number.NEGATIVE_INFINITY ? 0 : maximum)));
294
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(maximum === Number.NEGATIVE_INFINITY ? 0 : maximum)));
313
295
  };
314
296
  const tryEvaluateDirectAggregate = (formula) => {
315
297
  const directAggregate = formula.directAggregate;
@@ -684,9 +666,7 @@ export function createEngineFormulaEvaluationService(args) {
684
666
  evaluateDirectLookupFormulaNow: evaluateDirectLookupFormulaNow,
685
667
  evaluateDirectLookupFormula(cellIndex) {
686
668
  return Effect.try({
687
- try: () => {
688
- return evaluateDirectLookupFormulaNow(cellIndex);
689
- },
669
+ try: () => evaluateDirectLookupFormulaNow(cellIndex),
690
670
  catch: (cause) => new EngineFormulaEvaluationError({
691
671
  message: evaluationErrorMessage(`Failed to evaluate direct lookup formula ${cellIndex}`, cause),
692
672
  cause,