@ricsam/formula-engine 0.2.4 → 0.2.6

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 (43) hide show
  1. package/dist/cjs/core/commands/table-commands.cjs +158 -10
  2. package/dist/cjs/core/commands/table-commands.cjs.map +3 -3
  3. package/dist/cjs/core/commands/types.cjs.map +2 -2
  4. package/dist/cjs/core/engine-snapshot.cjs +2 -2
  5. package/dist/cjs/core/engine-snapshot.cjs.map +2 -2
  6. package/dist/cjs/core/engine.cjs +24 -3
  7. package/dist/cjs/core/engine.cjs.map +3 -3
  8. package/dist/cjs/core/managers/dependency-manager.cjs +157 -2
  9. package/dist/cjs/core/managers/dependency-manager.cjs.map +3 -3
  10. package/dist/cjs/core/managers/evaluation-manager.cjs +32 -1
  11. package/dist/cjs/core/managers/evaluation-manager.cjs.map +3 -3
  12. package/dist/cjs/core/managers/frontier-dependency-manager.cjs +4 -4
  13. package/dist/cjs/core/managers/frontier-dependency-manager.cjs.map +3 -3
  14. package/dist/cjs/core/managers/workbook-manager.cjs +48 -4
  15. package/dist/cjs/core/managers/workbook-manager.cjs.map +3 -3
  16. package/dist/cjs/evaluator/evaluation-context.cjs.map +2 -2
  17. package/dist/cjs/evaluator/formula-evaluator.cjs.map +1 -1
  18. package/dist/cjs/package.json +1 -1
  19. package/dist/mjs/core/commands/table-commands.mjs +163 -11
  20. package/dist/mjs/core/commands/table-commands.mjs.map +3 -3
  21. package/dist/mjs/core/commands/types.mjs.map +2 -2
  22. package/dist/mjs/core/engine-snapshot.mjs +2 -2
  23. package/dist/mjs/core/engine-snapshot.mjs.map +2 -2
  24. package/dist/mjs/core/engine.mjs +24 -3
  25. package/dist/mjs/core/engine.mjs.map +3 -3
  26. package/dist/mjs/core/managers/dependency-manager.mjs +157 -2
  27. package/dist/mjs/core/managers/dependency-manager.mjs.map +3 -3
  28. package/dist/mjs/core/managers/evaluation-manager.mjs +32 -1
  29. package/dist/mjs/core/managers/evaluation-manager.mjs.map +3 -3
  30. package/dist/mjs/core/managers/frontier-dependency-manager.mjs +4 -4
  31. package/dist/mjs/core/managers/frontier-dependency-manager.mjs.map +3 -3
  32. package/dist/mjs/core/managers/workbook-manager.mjs +48 -4
  33. package/dist/mjs/core/managers/workbook-manager.mjs.map +3 -3
  34. package/dist/mjs/evaluator/evaluation-context.mjs.map +2 -2
  35. package/dist/mjs/evaluator/formula-evaluator.mjs.map +1 -1
  36. package/dist/mjs/package.json +1 -1
  37. package/dist/types/core/commands/types.d.ts +5 -0
  38. package/dist/types/core/engine-snapshot.d.ts +13 -13
  39. package/dist/types/core/engine.d.ts +12 -4
  40. package/dist/types/core/managers/dependency-manager.d.ts +7 -0
  41. package/dist/types/core/managers/evaluation-manager.d.ts +1 -0
  42. package/dist/types/core/managers/workbook-manager.d.ts +3 -0
  43. package/package.json +3 -2
@@ -73,6 +73,12 @@ export declare class DependencyManager {
73
73
  private getExistingSpillMetaNode;
74
74
  private getExistingEmptyCellNode;
75
75
  private collectExistingNodesForCell;
76
+ private collectExistingAstNodesForCell;
77
+ private collectExistingAstNodesForCells;
78
+ private astNodeHasExternalDependents;
79
+ private collectOrphanedOldFormulaAstNodesForCell;
80
+ private collectOrphanedOldFormulaAstNodesForCells;
81
+ private removeAstNodeFromCache;
76
82
  private collectSpillOriginsAffectingCell;
77
83
  private getLinkedSpillMetaNode;
78
84
  private getLinkedCellValueNode;
@@ -132,6 +138,7 @@ export declare class DependencyManager {
132
138
  getAstNode(ast: ASTNode, currentContext: Omit<Required<ContextDependency>, "tableName"> & {
133
139
  tableName?: string;
134
140
  }): AstEvaluationNode;
141
+ private astUsesImplicitCurrentTableReference;
135
142
  /**
136
143
  * Once an AST node is evaluated, we know if it is context dependent
137
144
  * and will thus save it under the correct cache key according to its
@@ -20,6 +20,7 @@ export declare class EvaluationManager {
20
20
  private isEvaluating;
21
21
  constructor(workbookManager: WorkbookManager, tableManager: TableManager, formulaEvaluator: FormulaEvaluator, dependencyManager: DependencyManager);
22
22
  clearEvaluationCache(): void;
23
+ private dependsOnNode;
23
24
  invalidateFromMutation(footprint: MutationInvalidation): void;
24
25
  evaluationResultToSerializedValue(evaluation: SingleEvaluationResult, cellAddress: CellAddress, debug?: boolean): SerializedCellValue;
25
26
  private buildSnapshotOrigin;
@@ -46,6 +46,9 @@ export declare class WorkbookManager {
46
46
  sheetName: string;
47
47
  }): SheetIndexes;
48
48
  getSheets(workbookName: string): Map<string, Sheet>;
49
+ getOrderedSheets(workbookName: string): Sheet[];
50
+ getOrderedSheetNames(workbookName: string): string[];
51
+ getNextAvailableSheetName(workbookName: string, baseName?: string): string;
49
52
  getWorkbooks(): Map<string, Workbook>;
50
53
  addWorkbook(workbookName: string): void;
51
54
  removeWorkbook(workbookName: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ricsam/formula-engine",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "module": "./dist/mjs/lib.mjs",
5
5
  "scripts": {
6
6
  "test": "bun test",
@@ -18,7 +18,8 @@
18
18
  "demo:generate-routes": "tsr generate",
19
19
  "demo:watch-routes": "tsr watch",
20
20
  "knip": "knip",
21
- "build": "bun build-lib.ts"
21
+ "build": "bun build-lib.ts",
22
+ "install:local": "bun scripts/install-local-build.ts"
22
23
  },
23
24
  "peerDependencies": {
24
25
  "typescript": "^5"