@bilig/formula 0.8.0 → 0.8.2

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 (59) hide show
  1. package/dist/binder-wasm-arity.d.ts +1 -0
  2. package/dist/binder-wasm-arity.js +541 -0
  3. package/dist/binder-wasm-arity.js.map +1 -0
  4. package/dist/binder-wasm-rules.d.ts +1 -2
  5. package/dist/binder-wasm-rules.js +2 -540
  6. package/dist/binder-wasm-rules.js.map +1 -1
  7. package/dist/builtins/cell-value-utils.d.ts +9 -0
  8. package/dist/builtins/cell-value-utils.js +63 -0
  9. package/dist/builtins/cell-value-utils.js.map +1 -0
  10. package/dist/builtins/datetime.d.ts +2 -10
  11. package/dist/builtins/datetime.js +5 -261
  12. package/dist/builtins/datetime.js.map +1 -1
  13. package/dist/builtins/excel-date.d.ts +16 -0
  14. package/dist/builtins/excel-date.js +199 -0
  15. package/dist/builtins/excel-date.js.map +1 -0
  16. package/dist/builtins/lookup-core-helpers.d.ts +50 -0
  17. package/dist/builtins/lookup-core-helpers.js +342 -0
  18. package/dist/builtins/lookup-core-helpers.js.map +1 -0
  19. package/dist/builtins/lookup.d.ts +3 -25
  20. package/dist/builtins/lookup.js +3 -341
  21. package/dist/builtins/lookup.js.map +1 -1
  22. package/dist/builtins.js +14 -1
  23. package/dist/builtins.js.map +1 -1
  24. package/dist/formula-reference-translation.d.ts +20 -0
  25. package/dist/formula-reference-translation.js +273 -0
  26. package/dist/formula-reference-translation.js.map +1 -0
  27. package/dist/formula-serializer.d.ts +2 -0
  28. package/dist/formula-serializer.js +74 -0
  29. package/dist/formula-serializer.js.map +1 -0
  30. package/dist/formula-sheet-rename.d.ts +14 -0
  31. package/dist/formula-sheet-rename.js +243 -0
  32. package/dist/formula-sheet-rename.js.map +1 -0
  33. package/dist/formula-structural-rewrite.d.ts +14 -0
  34. package/dist/formula-structural-rewrite.js +511 -0
  35. package/dist/formula-structural-rewrite.js.map +1 -0
  36. package/dist/formula-template-key.d.ts +2 -0
  37. package/dist/formula-template-key.js +58 -0
  38. package/dist/formula-template-key.js.map +1 -1
  39. package/dist/js-evaluator-cell-values.d.ts +5 -0
  40. package/dist/js-evaluator-cell-values.js +14 -0
  41. package/dist/js-evaluator-cell-values.js.map +1 -0
  42. package/dist/js-evaluator-runtime-helpers.d.ts +39 -0
  43. package/dist/js-evaluator-runtime-helpers.js +453 -0
  44. package/dist/js-evaluator-runtime-helpers.js.map +1 -0
  45. package/dist/js-evaluator-types.d.ts +179 -0
  46. package/dist/js-evaluator-types.js +2 -0
  47. package/dist/js-evaluator-types.js.map +1 -0
  48. package/dist/js-evaluator.d.ts +4 -178
  49. package/dist/js-evaluator.js +4 -463
  50. package/dist/js-evaluator.js.map +1 -1
  51. package/dist/optimizer.js +1 -1
  52. package/dist/optimizer.js.map +1 -1
  53. package/dist/translation-reference-utils.d.ts +42 -0
  54. package/dist/translation-reference-utils.js +178 -0
  55. package/dist/translation-reference-utils.js.map +1 -0
  56. package/dist/translation.d.ts +6 -32
  57. package/dist/translation.js +14 -1300
  58. package/dist/translation.js.map +1 -1
  59. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-evaluator-runtime-helpers.js","sourceRoot":"","sources":["../src/js-evaluator-runtime-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import type { CellValue, ErrorCode } from '@bilig/protocol';
2
+ import type { LookupBuiltin } from './builtins/lookup.js';
3
+ import type { ArrayValue, EvaluationResult } from './runtime-values.js';
4
+ export interface EvaluationContext {
5
+ sheetName: string;
6
+ currentAddress?: string;
7
+ resolveCell: (sheetName: string, address: string) => CellValue;
8
+ resolveRange: (sheetName: string, start: string, end: string, refKind: 'cells' | 'rows' | 'cols') => CellValue[];
9
+ resolveName?: (name: string) => CellValue;
10
+ resolveFormula?: (sheetName: string, address: string) => string | undefined;
11
+ resolvePivotData?: (request: {
12
+ dataField: string;
13
+ sheetName: string;
14
+ address: string;
15
+ filters: ReadonlyArray<{
16
+ field: string;
17
+ item: CellValue;
18
+ }>;
19
+ }) => CellValue | undefined;
20
+ resolveMultipleOperations?: (request: {
21
+ formulaSheetName: string;
22
+ formulaAddress: string;
23
+ rowCellSheetName: string;
24
+ rowCellAddress: string;
25
+ rowReplacementSheetName: string;
26
+ rowReplacementAddress: string;
27
+ columnCellSheetName?: string;
28
+ columnCellAddress?: string;
29
+ columnReplacementSheetName?: string;
30
+ columnReplacementAddress?: string;
31
+ }) => CellValue | undefined;
32
+ resolveExactVectorMatch?: (request: {
33
+ lookupValue: CellValue;
34
+ sheetName: string;
35
+ start: string;
36
+ end: string;
37
+ startRow: number;
38
+ endRow: number;
39
+ startCol: number;
40
+ endCol: number;
41
+ searchMode: 1 | -1;
42
+ }) => ExactVectorMatchResult;
43
+ resolveApproximateVectorMatch?: (request: {
44
+ lookupValue: CellValue;
45
+ sheetName: string;
46
+ start: string;
47
+ end: string;
48
+ startRow: number;
49
+ endRow: number;
50
+ startCol: number;
51
+ endCol: number;
52
+ matchMode: 1 | -1;
53
+ }) => ApproximateVectorMatchResult;
54
+ noteRangeMaterialization?: (cellCount: number) => void;
55
+ checkEvaluationBudget?: (stepCost?: number) => void;
56
+ noteExactLookupDirect?: () => void;
57
+ noteExactLookupFallback?: () => void;
58
+ listSheetNames?: () => string[];
59
+ resolveBuiltin?: (name: string) => ((...args: CellValue[]) => EvaluationResult) | undefined;
60
+ resolveLookupBuiltin?: (name: string) => LookupBuiltin | undefined;
61
+ }
62
+ export type ExactVectorMatchResult = {
63
+ handled: false;
64
+ } | {
65
+ handled: true;
66
+ position: number | undefined;
67
+ };
68
+ export type ApproximateVectorMatchResult = ExactVectorMatchResult;
69
+ export interface ReferenceOperand {
70
+ kind: 'cell' | 'range' | 'row' | 'col';
71
+ sheetName?: string;
72
+ address?: string;
73
+ start?: string;
74
+ end?: string;
75
+ refKind?: 'cells' | 'rows' | 'cols';
76
+ }
77
+ export type JsPlanInstruction = {
78
+ opcode: 'push-number';
79
+ value: number;
80
+ } | {
81
+ opcode: 'push-boolean';
82
+ value: boolean;
83
+ } | {
84
+ opcode: 'push-string';
85
+ value: string;
86
+ } | {
87
+ opcode: 'push-error';
88
+ code: ErrorCode;
89
+ } | {
90
+ opcode: 'push-name';
91
+ name: string;
92
+ } | {
93
+ opcode: 'push-cell';
94
+ sheetName?: string;
95
+ address: string;
96
+ } | {
97
+ opcode: 'push-range';
98
+ sheetName?: string;
99
+ start: string;
100
+ end: string;
101
+ refKind: 'cells' | 'rows' | 'cols';
102
+ } | {
103
+ opcode: 'lookup-exact-match';
104
+ callee: 'MATCH' | 'XMATCH';
105
+ sheetName?: string;
106
+ start: string;
107
+ end: string;
108
+ startRow: number;
109
+ endRow: number;
110
+ startCol: number;
111
+ endCol: number;
112
+ refKind: 'cells';
113
+ searchMode: 1 | -1;
114
+ } | {
115
+ opcode: 'lookup-approximate-match';
116
+ callee: 'MATCH' | 'XMATCH';
117
+ sheetName?: string;
118
+ start: string;
119
+ end: string;
120
+ startRow: number;
121
+ endRow: number;
122
+ startCol: number;
123
+ endCol: number;
124
+ refKind: 'cells';
125
+ matchMode: 1 | -1;
126
+ } | {
127
+ opcode: 'push-lambda';
128
+ params: string[];
129
+ body: JsPlanInstruction[];
130
+ } | {
131
+ opcode: 'unary';
132
+ operator: '+' | '-';
133
+ } | {
134
+ opcode: 'binary';
135
+ operator: '+' | '-' | '*' | '/' | '^' | '&' | '=' | '<>' | '>' | '>=' | '<' | '<=';
136
+ } | {
137
+ opcode: 'call';
138
+ callee: string;
139
+ argc: number;
140
+ argRefs?: Array<ReferenceOperand | undefined>;
141
+ } | {
142
+ opcode: 'invoke';
143
+ argc: number;
144
+ } | {
145
+ opcode: 'begin-scope';
146
+ } | {
147
+ opcode: 'bind-name';
148
+ name: string;
149
+ } | {
150
+ opcode: 'end-scope';
151
+ } | {
152
+ opcode: 'jump-if-false';
153
+ target: number;
154
+ } | {
155
+ opcode: 'jump';
156
+ target: number;
157
+ } | {
158
+ opcode: 'return';
159
+ };
160
+ export type StackValue = {
161
+ kind: 'scalar';
162
+ value: CellValue;
163
+ } | {
164
+ kind: 'omitted';
165
+ } | {
166
+ kind: 'range';
167
+ values: CellValue[];
168
+ refKind: 'cells' | 'rows' | 'cols';
169
+ rows: number;
170
+ cols: number;
171
+ sheetName?: string;
172
+ start?: string;
173
+ end?: string;
174
+ } | {
175
+ kind: 'lambda';
176
+ params: string[];
177
+ body: JsPlanInstruction[];
178
+ scopes: Array<Map<string, StackValue>>;
179
+ } | ArrayValue;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=js-evaluator-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-evaluator-types.js","sourceRoot":"","sources":["../src/js-evaluator-types.ts"],"names":[],"mappings":""}
@@ -1,182 +1,8 @@
1
- import { ErrorCode, type CellValue } from '@bilig/protocol';
1
+ import { type CellValue } from '@bilig/protocol';
2
2
  import type { FormulaNode } from './ast.js';
3
- import { type LookupBuiltin } from './builtins/lookup.js';
4
- import { type ArrayValue, type EvaluationResult } from './runtime-values.js';
5
- export interface EvaluationContext {
6
- sheetName: string;
7
- currentAddress?: string;
8
- resolveCell: (sheetName: string, address: string) => CellValue;
9
- resolveRange: (sheetName: string, start: string, end: string, refKind: 'cells' | 'rows' | 'cols') => CellValue[];
10
- resolveName?: (name: string) => CellValue;
11
- resolveFormula?: (sheetName: string, address: string) => string | undefined;
12
- resolvePivotData?: (request: {
13
- dataField: string;
14
- sheetName: string;
15
- address: string;
16
- filters: ReadonlyArray<{
17
- field: string;
18
- item: CellValue;
19
- }>;
20
- }) => CellValue | undefined;
21
- resolveMultipleOperations?: (request: {
22
- formulaSheetName: string;
23
- formulaAddress: string;
24
- rowCellSheetName: string;
25
- rowCellAddress: string;
26
- rowReplacementSheetName: string;
27
- rowReplacementAddress: string;
28
- columnCellSheetName?: string;
29
- columnCellAddress?: string;
30
- columnReplacementSheetName?: string;
31
- columnReplacementAddress?: string;
32
- }) => CellValue | undefined;
33
- resolveExactVectorMatch?: (request: {
34
- lookupValue: CellValue;
35
- sheetName: string;
36
- start: string;
37
- end: string;
38
- startRow: number;
39
- endRow: number;
40
- startCol: number;
41
- endCol: number;
42
- searchMode: 1 | -1;
43
- }) => ExactVectorMatchResult;
44
- resolveApproximateVectorMatch?: (request: {
45
- lookupValue: CellValue;
46
- sheetName: string;
47
- start: string;
48
- end: string;
49
- startRow: number;
50
- endRow: number;
51
- startCol: number;
52
- endCol: number;
53
- matchMode: 1 | -1;
54
- }) => ApproximateVectorMatchResult;
55
- noteRangeMaterialization?: (cellCount: number) => void;
56
- noteExactLookupDirect?: () => void;
57
- noteExactLookupFallback?: () => void;
58
- listSheetNames?: () => string[];
59
- resolveBuiltin?: (name: string) => ((...args: CellValue[]) => EvaluationResult) | undefined;
60
- resolveLookupBuiltin?: (name: string) => LookupBuiltin | undefined;
61
- }
62
- export type ExactVectorMatchResult = {
63
- handled: false;
64
- } | {
65
- handled: true;
66
- position: number | undefined;
67
- };
68
- export type ApproximateVectorMatchResult = ExactVectorMatchResult;
69
- export interface ReferenceOperand {
70
- kind: 'cell' | 'range' | 'row' | 'col';
71
- sheetName?: string;
72
- address?: string;
73
- start?: string;
74
- end?: string;
75
- refKind?: 'cells' | 'rows' | 'cols';
76
- }
77
- export type JsPlanInstruction = {
78
- opcode: 'push-number';
79
- value: number;
80
- } | {
81
- opcode: 'push-boolean';
82
- value: boolean;
83
- } | {
84
- opcode: 'push-string';
85
- value: string;
86
- } | {
87
- opcode: 'push-error';
88
- code: ErrorCode;
89
- } | {
90
- opcode: 'push-name';
91
- name: string;
92
- } | {
93
- opcode: 'push-cell';
94
- sheetName?: string;
95
- address: string;
96
- } | {
97
- opcode: 'push-range';
98
- sheetName?: string;
99
- start: string;
100
- end: string;
101
- refKind: 'cells' | 'rows' | 'cols';
102
- } | {
103
- opcode: 'lookup-exact-match';
104
- callee: 'MATCH' | 'XMATCH';
105
- sheetName?: string;
106
- start: string;
107
- end: string;
108
- startRow: number;
109
- endRow: number;
110
- startCol: number;
111
- endCol: number;
112
- refKind: 'cells';
113
- searchMode: 1 | -1;
114
- } | {
115
- opcode: 'lookup-approximate-match';
116
- callee: 'MATCH' | 'XMATCH';
117
- sheetName?: string;
118
- start: string;
119
- end: string;
120
- startRow: number;
121
- endRow: number;
122
- startCol: number;
123
- endCol: number;
124
- refKind: 'cells';
125
- matchMode: 1 | -1;
126
- } | {
127
- opcode: 'push-lambda';
128
- params: string[];
129
- body: JsPlanInstruction[];
130
- } | {
131
- opcode: 'unary';
132
- operator: '+' | '-';
133
- } | {
134
- opcode: 'binary';
135
- operator: '+' | '-' | '*' | '/' | '^' | '&' | '=' | '<>' | '>' | '>=' | '<' | '<=';
136
- } | {
137
- opcode: 'call';
138
- callee: string;
139
- argc: number;
140
- argRefs?: Array<ReferenceOperand | undefined>;
141
- } | {
142
- opcode: 'invoke';
143
- argc: number;
144
- } | {
145
- opcode: 'begin-scope';
146
- } | {
147
- opcode: 'bind-name';
148
- name: string;
149
- } | {
150
- opcode: 'end-scope';
151
- } | {
152
- opcode: 'jump-if-false';
153
- target: number;
154
- } | {
155
- opcode: 'jump';
156
- target: number;
157
- } | {
158
- opcode: 'return';
159
- };
160
- export type StackValue = {
161
- kind: 'scalar';
162
- value: CellValue;
163
- } | {
164
- kind: 'omitted';
165
- } | {
166
- kind: 'range';
167
- values: CellValue[];
168
- refKind: 'cells' | 'rows' | 'cols';
169
- rows: number;
170
- cols: number;
171
- sheetName?: string;
172
- start?: string;
173
- end?: string;
174
- } | {
175
- kind: 'lambda';
176
- params: string[];
177
- body: JsPlanInstruction[];
178
- scopes: Array<Map<string, StackValue>>;
179
- } | ArrayValue;
3
+ import type { EvaluationContext, JsPlanInstruction } from './js-evaluator-types.js';
4
+ import { type EvaluationResult } from './runtime-values.js';
5
+ export type { ApproximateVectorMatchResult, EvaluationContext, ExactVectorMatchResult, JsPlanInstruction, ReferenceOperand, StackValue, } from './js-evaluator-types.js';
180
6
  export { lowerToPlan } from './js-plan-lowering.js';
181
7
  export declare function evaluatePlanResult(plan: readonly JsPlanInstruction[], context: EvaluationContext): EvaluationResult;
182
8
  export declare function evaluatePlan(plan: readonly JsPlanInstruction[], context: EvaluationContext): CellValue;