@univerjs/engine-formula 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (76) hide show
  1. package/lib/cjs/facade.js +9 -5
  2. package/lib/cjs/index.js +1530 -268
  3. package/lib/es/facade.js +9 -5
  4. package/lib/es/index.js +1520 -270
  5. package/lib/facade.js +9 -5
  6. package/lib/index.js +1520 -270
  7. package/lib/types/basics/regex.d.ts +2 -2
  8. package/lib/types/commands/mutations/set-super-table.mutation.d.ts +4 -1
  9. package/lib/types/controllers/super-table-active-dirty.controller.d.ts +22 -0
  10. package/lib/types/engine/analysis/lexer-tree-builder.d.ts +2 -1
  11. package/lib/types/engine/analysis/lexer.d.ts +2 -1
  12. package/lib/types/engine/analysis/parser.d.ts +2 -1
  13. package/lib/types/engine/ast-node/function-node.d.ts +4 -0
  14. package/lib/types/engine/ast-node/operator-node.d.ts +1 -0
  15. package/lib/types/engine/ast-node/prefix-node.d.ts +1 -0
  16. package/lib/types/engine/interpreter/interpreter.d.ts +11 -0
  17. package/lib/types/engine/reference-object/cell-reference-object.d.ts +1 -0
  18. package/lib/types/engine/utils/generate-ast-node.d.ts +1 -1
  19. package/lib/types/engine/utils/math-kit.d.ts +5 -0
  20. package/lib/types/engine/value-object/array-value-object.d.ts +5 -0
  21. package/lib/types/engine/value-object/base-value-object.d.ts +6 -0
  22. package/lib/types/facade/f-formula.d.ts +9 -5
  23. package/lib/types/functions/base-function.d.ts +16 -1
  24. package/lib/types/functions/cube/cubekpimember/index.d.ts +20 -0
  25. package/lib/types/functions/cube/cubemember/index.d.ts +20 -0
  26. package/lib/types/functions/cube/cubememberproperty/index.d.ts +20 -0
  27. package/lib/types/functions/cube/cuberankedmember/index.d.ts +20 -0
  28. package/lib/types/functions/cube/cubeset/index.d.ts +20 -0
  29. package/lib/types/functions/cube/cubesetcount/index.d.ts +20 -0
  30. package/lib/types/functions/cube/cubevalue/index.d.ts +20 -0
  31. package/lib/types/functions/financial/amordegrc/index.d.ts +20 -0
  32. package/lib/types/functions/information/info/index.d.ts +20 -0
  33. package/lib/types/functions/information/isomitted/index.d.ts +20 -0
  34. package/lib/types/functions/logical/function-map.d.ts +3 -2
  35. package/lib/types/functions/logical/function-names.d.ts +2 -0
  36. package/lib/types/functions/logical/groupby/index.d.ts +46 -0
  37. package/lib/types/functions/logical/if/index.d.ts +5 -0
  38. package/lib/types/functions/logical/iferror/index.d.ts +4 -1
  39. package/lib/types/functions/logical/percentof/index.d.ts +27 -0
  40. package/lib/types/functions/lookup/anchorarray/index.d.ts +23 -0
  41. package/lib/types/functions/lookup/function-names.d.ts +1 -0
  42. package/lib/types/functions/lookup/getpivotdata/index.d.ts +20 -0
  43. package/lib/types/functions/lookup/hlookup/index.d.ts +1 -0
  44. package/lib/types/functions/lookup/indirect/index.d.ts +1 -0
  45. package/lib/types/functions/lookup/rtd/index.d.ts +20 -0
  46. package/lib/types/functions/lookup/vlookup/index.d.ts +2 -0
  47. package/lib/types/functions/lookup/xlookup/index.d.ts +2 -0
  48. package/lib/types/functions/math/iso-ceiling/index.d.ts +20 -0
  49. package/lib/types/functions/math/sum/index.d.ts +1 -0
  50. package/lib/types/functions/meta/compare/index.d.ts +1 -0
  51. package/lib/types/functions/not-implemented-function.d.ts +23 -0
  52. package/lib/types/functions/statistical/average/index.d.ts +1 -0
  53. package/lib/types/functions/statistical/countifs/index.d.ts +1 -0
  54. package/lib/types/functions/statistical/forecast-ets/index.d.ts +20 -0
  55. package/lib/types/functions/statistical/forecast-ets-confint/index.d.ts +20 -0
  56. package/lib/types/functions/statistical/forecast-ets-seasonality/index.d.ts +20 -0
  57. package/lib/types/functions/statistical/forecast-ets-stat/index.d.ts +20 -0
  58. package/lib/types/functions/statistical/linest/index.d.ts +1 -0
  59. package/lib/types/functions/text/call/index.d.ts +20 -0
  60. package/lib/types/functions/text/euroconvert/index.d.ts +20 -0
  61. package/lib/types/functions/text/function-names.d.ts +1 -0
  62. package/lib/types/functions/text/phonetic/index.d.ts +20 -0
  63. package/lib/types/functions/text/register-id/index.d.ts +20 -0
  64. package/lib/types/functions/text/textsplit/index.d.ts +1 -0
  65. package/lib/types/functions/web/filterxml/index.d.ts +22 -0
  66. package/lib/types/functions/web/function-map.d.ts +2 -2
  67. package/lib/types/functions/web/webservice/index.d.ts +20 -0
  68. package/lib/types/index.d.ts +3 -1
  69. package/lib/types/models/formula-data.model.d.ts +1 -0
  70. package/lib/types/services/active-dirty-manager.service.d.ts +2 -1
  71. package/lib/types/services/calculate-formula.service.d.ts +2 -2
  72. package/lib/types/services/defined-names.service.d.ts +2 -2
  73. package/lib/types/services/formula-calculation-trigger.service.d.ts +38 -0
  74. package/lib/types/services/runtime.service.d.ts +6 -0
  75. package/lib/umd/index.js +5 -2
  76. package/package.json +5 -5
@@ -70,11 +70,14 @@ export interface IExecutionInProgressParams {
70
70
  export interface IFormulaRuntimeService {
71
71
  currentRow: number;
72
72
  currentColumn: number;
73
+ currentRowCount: number;
74
+ currentColumnCount: number;
73
75
  currentSubUnitId: string;
74
76
  currentUnitId: string;
75
77
  dispose(): void;
76
78
  reset(): void;
77
79
  setCurrent(row: number, column: number, rowCount: number, columnCount: number, sheetId: string, unitId: string): void;
80
+ setFunctionRefInfoOverride(rowCount: number, columnCount: number): () => void;
78
81
  registerFunctionDefinitionPrivacyVar(lambdaId: string, lambdaVar: Map<string, Nullable<BaseAstNode>>): void;
79
82
  getFunctionDefinitionPrivacyVar(lambdaId: string): Nullable<Map<string, Nullable<BaseAstNode>>>;
80
83
  setRuntimeData(functionVariant: FunctionVariantType): void;
@@ -130,6 +133,7 @@ export declare class FormulaRuntimeService extends Disposable implements IFormul
130
133
  private _currentColumn;
131
134
  private _currentRowCount;
132
135
  private _currentColumnCount;
136
+ private _functionRefInfoOverrideStack;
133
137
  private _currentSubUnitId;
134
138
  private _currentUnitId;
135
139
  private _runtimeData;
@@ -182,6 +186,7 @@ export declare class FormulaRuntimeService extends Disposable implements IFormul
182
186
  reset(): void;
183
187
  clearReferenceAndNumberformatCache(): void;
184
188
  setCurrent(row: number, column: number, rowCount: number, columnCount: number, sheetId: string, unitId: string): void;
189
+ setFunctionRefInfoOverride(rowCount: number, columnCount: number): () => void;
185
190
  clearFunctionDefinitionPrivacyVar(): void;
186
191
  registerFunctionDefinitionPrivacyVar(lambdaId: string, lambdaVar: Map<string, Nullable<BaseAstNode>>): void;
187
192
  getFunctionDefinitionPrivacyVar(lambdaId: string): Nullable<Map<string, Nullable<BaseAstNode>>>;
@@ -223,6 +228,7 @@ export declare class FormulaRuntimeService extends Disposable implements IFormul
223
228
  * @returns
224
229
  */
225
230
  private _isInOtherArrayFormulaRange;
231
+ private _isCurrentSingleCellArrayFormulaRange;
226
232
  private _isInArrayFormulaRange;
227
233
  private _isSameCellValue;
228
234
  private _checkIfArrayFormulaExceeded;