@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
@@ -37,6 +37,40 @@ export function buildRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol)
37
37
  }
38
38
  return keyParts.join('|');
39
39
  }
40
+ export function buildRelativeFormulaTemplateAstKey(node, ownerRow, ownerCol) {
41
+ switch (node.kind) {
42
+ case 'NumberLiteral':
43
+ return `n:${node.value}`;
44
+ case 'BooleanLiteral':
45
+ return `b:${node.value ? 1 : 0}`;
46
+ case 'StringLiteral':
47
+ return `s:${JSON.stringify(node.value)}`;
48
+ case 'ErrorLiteral':
49
+ return `e:${node.code}`;
50
+ case 'NameRef':
51
+ return `name:${node.name}`;
52
+ case 'StructuredRef':
53
+ return `table:${node.tableName}[${node.columnName}]`;
54
+ case 'CellRef':
55
+ return `cell:${templateSheetKey(node.sheetName)}:${buildRelativeCellReferenceTextKey(node.ref, ownerRow, ownerCol)}`;
56
+ case 'SpillRef':
57
+ return `spill:${templateSheetKey(node.sheetName)}:${buildRelativeCellReferenceTextKey(node.ref, ownerRow, ownerCol)}`;
58
+ case 'ColumnRef':
59
+ return `col:${templateSheetKey(node.sheetName)}:${buildRelativeAxisReferenceTextKey(node.ref, ownerCol, 'column')}`;
60
+ case 'RowRef':
61
+ return `row:${templateSheetKey(node.sheetName)}:${buildRelativeAxisReferenceTextKey(node.ref, ownerRow, 'row')}`;
62
+ case 'RangeRef':
63
+ return `range:${node.refKind}:${templateSheetKey(node.sheetName)}:${buildRelativeRangeReferenceAstKey(node, ownerRow, ownerCol)}`;
64
+ case 'UnaryExpr':
65
+ return `unary:${node.operator}:${buildRelativeFormulaTemplateAstKey(node.argument, ownerRow, ownerCol)}`;
66
+ case 'BinaryExpr':
67
+ return `binary:${node.operator}:${buildRelativeFormulaTemplateAstKey(node.left, ownerRow, ownerCol)}:${buildRelativeFormulaTemplateAstKey(node.right, ownerRow, ownerCol)}`;
68
+ case 'CallExpr':
69
+ return `call:${node.callee}:${node.args.map((arg) => buildRelativeFormulaTemplateAstKey(arg, ownerRow, ownerCol)).join('|')}`;
70
+ case 'InvokeExpr':
71
+ return `invoke:${buildRelativeFormulaTemplateAstKey(node.callee, ownerRow, ownerCol)}:${node.args.map((arg) => buildRelativeFormulaTemplateAstKey(arg, ownerRow, ownerCol)).join('|')}`;
72
+ }
73
+ }
40
74
  function tryBuildFastRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol) {
41
75
  const input = source.startsWith('=') ? source.slice(1) : source;
42
76
  if (input.includes("'") ||
@@ -302,6 +336,30 @@ function buildRelativeCellReferenceKey(parsed, ownerRow, ownerCol) {
302
336
  function buildRelativeAxisReferenceKey(parsed, ownerIndex) {
303
337
  return parsed.absolute ? `a${parsed.index}` : `r${parsed.index - ownerIndex}`;
304
338
  }
339
+ function buildRelativeCellReferenceTextKey(ref, ownerRow, ownerCol) {
340
+ const parsed = parseCellReferenceParts(ref);
341
+ if (!parsed) {
342
+ return `invalid:${ref}`;
343
+ }
344
+ return buildRelativeCellReferenceKey(parsed, ownerRow, ownerCol);
345
+ }
346
+ function buildRelativeAxisReferenceTextKey(ref, ownerIndex, kind) {
347
+ const parsed = parseAxisReferenceParts(ref, kind);
348
+ if (!parsed) {
349
+ return `invalid:${ref}`;
350
+ }
351
+ return buildRelativeAxisReferenceKey(parsed, ownerIndex);
352
+ }
353
+ function buildRelativeRangeReferenceAstKey(node, ownerRow, ownerCol) {
354
+ switch (node.refKind) {
355
+ case 'cells':
356
+ return `${buildRelativeCellReferenceTextKey(node.start, ownerRow, ownerCol)}:${buildRelativeCellReferenceTextKey(node.end, ownerRow, ownerCol)}`;
357
+ case 'rows':
358
+ return `${buildRelativeAxisReferenceTextKey(node.start, ownerRow, 'row')}:${buildRelativeAxisReferenceTextKey(node.end, ownerRow, 'row')}`;
359
+ case 'cols':
360
+ return `${buildRelativeAxisReferenceTextKey(node.start, ownerCol, 'column')}:${buildRelativeAxisReferenceTextKey(node.end, ownerCol, 'column')}`;
361
+ }
362
+ }
305
363
  function parseCellReferenceParts(ref) {
306
364
  const match = CELL_REF_RE.exec(ref);
307
365
  if (!match) {
@@ -1 +1 @@
1
- {"version":3,"file":"formula-template-key.js","sourceRoot":"","sources":["../src/formula-template-key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formula-template-key.js","sourceRoot":"","sources":["../src/formula-template-key.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type CellValue, type ErrorCode } from '@bilig/protocol';
2
+ export declare function emptyValue(): CellValue;
3
+ export declare function error(code: ErrorCode): CellValue;
4
+ export declare function numberValue(value: number): CellValue;
5
+ export declare function stringValue(value: string): CellValue;
@@ -0,0 +1,14 @@
1
+ import { ValueTag } from '@bilig/protocol';
2
+ export function emptyValue() {
3
+ return { tag: ValueTag.Empty };
4
+ }
5
+ export function error(code) {
6
+ return { tag: ValueTag.Error, code };
7
+ }
8
+ export function numberValue(value) {
9
+ return { tag: ValueTag.Number, value };
10
+ }
11
+ export function stringValue(value) {
12
+ return { tag: ValueTag.String, value, stringId: 0 };
13
+ }
14
+ //# sourceMappingURL=js-evaluator-cell-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-evaluator-cell-values.js","sourceRoot":"","sources":["../src/js-evaluator-cell-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,iBAAiB,CAAA;AAE1E,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAe;IACnC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;AACrD,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { type CellValue } from '@bilig/protocol';
2
+ import type { RangeBuiltinArgument } from './builtins/lookup.js';
3
+ import type { MatrixValue } from './group-pivot-evaluator.js';
4
+ import type { JsPlanInstruction, StackValue } from './js-evaluator-types.js';
5
+ import type { EvaluationResult, RangeLikeValue } from './runtime-values.js';
6
+ type BinaryOperator = Extract<JsPlanInstruction, {
7
+ opcode: 'binary';
8
+ }>['operator'];
9
+ export declare function toNumber(value: CellValue): number | undefined;
10
+ export declare function toStringValue(value: CellValue): string;
11
+ export declare function truthy(value: CellValue): boolean;
12
+ export declare function popScalar(stack: StackValue[]): CellValue;
13
+ export declare function popArgument(stack: StackValue[]): StackValue;
14
+ export declare function toEvaluationResult(value: StackValue | undefined): EvaluationResult;
15
+ export declare function cloneStackValue(value: StackValue): StackValue;
16
+ export declare function cloneScopes(scopes: readonly Map<string, StackValue>[]): Array<Map<string, StackValue>>;
17
+ export declare function toRangeLike(value: StackValue): RangeLikeValue;
18
+ export declare function evaluateBinary(operator: BinaryOperator, leftValue: StackValue, rightValue: StackValue): EvaluationResult;
19
+ export declare function stackScalar(value: CellValue): StackValue;
20
+ export declare function normalizeScopeName(name: string): string;
21
+ export declare function isSingleCellValue(value: StackValue): CellValue | undefined;
22
+ export declare function toRangeArgument(value: StackValue): CellValue | RangeBuiltinArgument;
23
+ export declare function toPositiveInteger(value: StackValue | undefined): number | undefined;
24
+ export declare function getRangeCell(range: RangeLikeValue, row: number, col: number): CellValue;
25
+ export declare function getBroadcastShape(values: readonly StackValue[]): {
26
+ rows: number;
27
+ cols: number;
28
+ } | undefined;
29
+ export declare function coerceScalarTextArgument(value: StackValue | undefined): string | CellValue;
30
+ export declare function coerceOptionalBooleanArgument(value: StackValue | undefined, fallback: boolean): boolean | CellValue;
31
+ export declare function coerceOptionalMatchModeArgument(value: StackValue | undefined, fallback: 0 | 1): 0 | 1 | CellValue;
32
+ export declare function coerceOptionalPositiveIntegerArgument(value: StackValue | undefined, fallback: number): number | CellValue;
33
+ export declare function coerceOptionalTrimModeArgument(value: StackValue | undefined, fallback: 0 | 1 | 2 | 3): 0 | 1 | 2 | 3 | CellValue;
34
+ export declare function isCellValueError(value: number | boolean | string | CellValue): value is CellValue;
35
+ export declare function makeArrayStack(rows: number, cols: number, values: CellValue[]): StackValue;
36
+ export declare function matrixFromStackValue(value: StackValue): MatrixValue | undefined;
37
+ export declare function scalarIntegerArgument(value: StackValue | undefined): number | undefined;
38
+ export declare function vectorIntegerArgument(value: StackValue | undefined): number[] | undefined;
39
+ export {};
@@ -0,0 +1,453 @@
1
+ import { ErrorCode, ValueTag, formatErrorCode } from '@bilig/protocol';
2
+ import { emptyValue, error } from './js-evaluator-cell-values.js';
3
+ export function toNumber(value) {
4
+ switch (value.tag) {
5
+ case ValueTag.Number:
6
+ return value.value;
7
+ case ValueTag.Boolean:
8
+ return value.value ? 1 : 0;
9
+ case ValueTag.Empty:
10
+ return 0;
11
+ case ValueTag.String:
12
+ case ValueTag.Error:
13
+ return undefined;
14
+ default:
15
+ return undefined;
16
+ }
17
+ }
18
+ export function toStringValue(value) {
19
+ switch (value.tag) {
20
+ case ValueTag.Empty:
21
+ return '';
22
+ case ValueTag.Number:
23
+ return String(value.value);
24
+ case ValueTag.Boolean:
25
+ return value.value ? 'TRUE' : 'FALSE';
26
+ case ValueTag.String:
27
+ return value.value;
28
+ case ValueTag.Error:
29
+ return formatErrorCode(value.code);
30
+ }
31
+ }
32
+ function isTextLike(value) {
33
+ return value.tag === ValueTag.String || value.tag === ValueTag.Empty;
34
+ }
35
+ function compareText(left, right) {
36
+ const normalizedLeft = left.toUpperCase();
37
+ const normalizedRight = right.toUpperCase();
38
+ if (normalizedLeft === normalizedRight) {
39
+ return 0;
40
+ }
41
+ return normalizedLeft < normalizedRight ? -1 : 1;
42
+ }
43
+ function compareScalars(left, right) {
44
+ if (isTextLike(left) && isTextLike(right)) {
45
+ return compareText(toStringValue(left), toStringValue(right));
46
+ }
47
+ const leftNum = comparableNumber(left);
48
+ const rightNum = comparableNumber(right);
49
+ if (leftNum === undefined || rightNum === undefined) {
50
+ return undefined;
51
+ }
52
+ if (leftNum === rightNum) {
53
+ return 0;
54
+ }
55
+ return leftNum < rightNum ? -1 : 1;
56
+ }
57
+ function comparableNumber(value) {
58
+ switch (value.tag) {
59
+ case ValueTag.Number:
60
+ return value.value;
61
+ case ValueTag.Boolean:
62
+ return value.value ? 1 : 0;
63
+ case ValueTag.Empty:
64
+ return 0;
65
+ case ValueTag.String: {
66
+ const trimmed = value.value.trim();
67
+ if (trimmed === '') {
68
+ return 0;
69
+ }
70
+ const parsed = Number(trimmed);
71
+ return Number.isFinite(parsed) ? parsed : undefined;
72
+ }
73
+ case ValueTag.Error:
74
+ default:
75
+ return undefined;
76
+ }
77
+ }
78
+ export function truthy(value) {
79
+ return (toNumber(value) ?? 0) !== 0;
80
+ }
81
+ export function popScalar(stack) {
82
+ const value = stack.pop();
83
+ if (!value) {
84
+ return error(ErrorCode.Value);
85
+ }
86
+ if (value.kind === 'scalar') {
87
+ return value.value;
88
+ }
89
+ if (value.kind === 'omitted') {
90
+ return error(ErrorCode.Value);
91
+ }
92
+ if (value.kind === 'lambda') {
93
+ return error(ErrorCode.Value);
94
+ }
95
+ return value.values[0] ?? emptyValue();
96
+ }
97
+ export function popArgument(stack) {
98
+ return stack.pop() ?? { kind: 'scalar', value: error(ErrorCode.Value) };
99
+ }
100
+ export function toEvaluationResult(value) {
101
+ if (!value) {
102
+ return error(ErrorCode.Value);
103
+ }
104
+ if (value.kind === 'scalar') {
105
+ return value.value;
106
+ }
107
+ if (value.kind === 'omitted') {
108
+ return error(ErrorCode.Value);
109
+ }
110
+ if (value.kind === 'lambda') {
111
+ return error(ErrorCode.Value);
112
+ }
113
+ if (value.kind === 'range') {
114
+ return {
115
+ kind: 'array',
116
+ rows: value.rows,
117
+ cols: value.cols,
118
+ values: value.values,
119
+ };
120
+ }
121
+ return value;
122
+ }
123
+ export function cloneStackValue(value) {
124
+ if (value.kind === 'scalar') {
125
+ return { kind: 'scalar', value: value.value };
126
+ }
127
+ if (value.kind === 'omitted') {
128
+ return { kind: 'omitted' };
129
+ }
130
+ if (value.kind === 'range') {
131
+ return {
132
+ kind: 'range',
133
+ values: value.values,
134
+ refKind: value.refKind,
135
+ rows: value.rows,
136
+ cols: value.cols,
137
+ ...(value.sheetName ? { sheetName: value.sheetName } : {}),
138
+ ...(value.start ? { start: value.start } : {}),
139
+ ...(value.end ? { end: value.end } : {}),
140
+ };
141
+ }
142
+ if (value.kind === 'lambda') {
143
+ return {
144
+ kind: 'lambda',
145
+ params: [...value.params],
146
+ body: value.body,
147
+ scopes: cloneScopes(value.scopes),
148
+ };
149
+ }
150
+ return { kind: 'array', values: value.values, rows: value.rows, cols: value.cols };
151
+ }
152
+ export function cloneScopes(scopes) {
153
+ return scopes.map((scope) => new Map([...scope.entries()].map(([name, value]) => [name, cloneStackValue(value)])));
154
+ }
155
+ export function toRangeLike(value) {
156
+ if (value.kind === 'omitted') {
157
+ return { kind: 'range', values: [error(ErrorCode.Value)], rows: 1, cols: 1, refKind: 'cells' };
158
+ }
159
+ if (value.kind === 'lambda') {
160
+ return { kind: 'range', values: [error(ErrorCode.Value)], rows: 1, cols: 1, refKind: 'cells' };
161
+ }
162
+ if (value.kind === 'range') {
163
+ return value;
164
+ }
165
+ if (value.kind === 'array') {
166
+ return {
167
+ kind: 'range',
168
+ values: value.values,
169
+ rows: value.rows,
170
+ cols: value.cols,
171
+ refKind: 'cells',
172
+ };
173
+ }
174
+ return { kind: 'range', values: [value.value], rows: 1, cols: 1, refKind: 'cells' };
175
+ }
176
+ function scalarBinary(operator, leftValue, rightValue) {
177
+ if (leftValue.tag === ValueTag.Error) {
178
+ return leftValue;
179
+ }
180
+ if (rightValue.tag === ValueTag.Error) {
181
+ return rightValue;
182
+ }
183
+ if (operator === '&') {
184
+ return {
185
+ tag: ValueTag.String,
186
+ value: `${toStringValue(leftValue)}${toStringValue(rightValue)}`,
187
+ stringId: 0,
188
+ };
189
+ }
190
+ if (['+', '-', '*', '/', '^'].includes(operator)) {
191
+ const left = toNumber(leftValue);
192
+ const right = toNumber(rightValue);
193
+ if (left === undefined || right === undefined) {
194
+ return error(ErrorCode.Value);
195
+ }
196
+ if (operator === '/' && right === 0) {
197
+ return error(ErrorCode.Div0);
198
+ }
199
+ const value = operator === '+'
200
+ ? left + right
201
+ : operator === '-'
202
+ ? left - right
203
+ : operator === '*'
204
+ ? left * right
205
+ : operator === '/'
206
+ ? left / right
207
+ : left ** right;
208
+ return { tag: ValueTag.Number, value };
209
+ }
210
+ const comparison = compareScalars(leftValue, rightValue);
211
+ if (comparison === undefined) {
212
+ return error(ErrorCode.Value);
213
+ }
214
+ return {
215
+ tag: ValueTag.Boolean,
216
+ value: operator === '='
217
+ ? comparison === 0
218
+ : operator === '<>'
219
+ ? comparison !== 0
220
+ : operator === '>'
221
+ ? comparison > 0
222
+ : operator === '>='
223
+ ? comparison >= 0
224
+ : operator === '<'
225
+ ? comparison < 0
226
+ : comparison <= 0,
227
+ };
228
+ }
229
+ export function evaluateBinary(operator, leftValue, rightValue) {
230
+ if (leftValue.kind === 'scalar' && rightValue.kind === 'scalar') {
231
+ return scalarBinary(operator, leftValue.value, rightValue.value);
232
+ }
233
+ const leftRange = toRangeLike(leftValue);
234
+ const rightRange = toRangeLike(rightValue);
235
+ const rows = leftRange.rows === rightRange.rows
236
+ ? leftRange.rows
237
+ : leftRange.rows === 1
238
+ ? rightRange.rows
239
+ : rightRange.rows === 1
240
+ ? leftRange.rows
241
+ : 0;
242
+ const cols = leftRange.cols === rightRange.cols
243
+ ? leftRange.cols
244
+ : leftRange.cols === 1
245
+ ? rightRange.cols
246
+ : rightRange.cols === 1
247
+ ? leftRange.cols
248
+ : 0;
249
+ if (rows === 0 || cols === 0) {
250
+ return error(ErrorCode.Value);
251
+ }
252
+ const values = [];
253
+ for (let row = 0; row < rows; row += 1) {
254
+ for (let col = 0; col < cols; col += 1) {
255
+ const leftIndex = Math.min(row, leftRange.rows - 1) * leftRange.cols + Math.min(col, leftRange.cols - 1);
256
+ const rightIndex = Math.min(row, rightRange.rows - 1) * rightRange.cols + Math.min(col, rightRange.cols - 1);
257
+ values.push(scalarBinary(operator, leftRange.values[leftIndex] ?? emptyValue(), rightRange.values[rightIndex] ?? emptyValue()));
258
+ }
259
+ }
260
+ return rows === 1 && cols === 1 ? (values[0] ?? emptyValue()) : { kind: 'array', values, rows, cols };
261
+ }
262
+ export function stackScalar(value) {
263
+ return { kind: 'scalar', value };
264
+ }
265
+ export function normalizeScopeName(name) {
266
+ return name.toUpperCase();
267
+ }
268
+ export function isSingleCellValue(value) {
269
+ if (value.kind === 'scalar') {
270
+ return value.value;
271
+ }
272
+ if (value.kind === 'omitted') {
273
+ return undefined;
274
+ }
275
+ if (value.kind === 'lambda') {
276
+ return undefined;
277
+ }
278
+ return value.rows * value.cols === 1 ? (value.values[0] ?? emptyValue()) : undefined;
279
+ }
280
+ export function toRangeArgument(value) {
281
+ if (value.kind === 'scalar') {
282
+ return value.value;
283
+ }
284
+ if (value.kind === 'omitted') {
285
+ return error(ErrorCode.Value);
286
+ }
287
+ if (value.kind === 'lambda') {
288
+ return error(ErrorCode.Value);
289
+ }
290
+ return {
291
+ kind: 'range',
292
+ values: value.values,
293
+ refKind: value.kind === 'range' ? value.refKind : 'cells',
294
+ rows: value.rows,
295
+ cols: value.cols,
296
+ ...(value.kind === 'range' && value.sheetName ? { sheetName: value.sheetName } : {}),
297
+ ...(value.kind === 'range' && value.start ? { start: value.start } : {}),
298
+ ...(value.kind === 'range' && value.end ? { end: value.end } : {}),
299
+ };
300
+ }
301
+ export function toPositiveInteger(value) {
302
+ if (value === undefined) {
303
+ return undefined;
304
+ }
305
+ const scalar = isSingleCellValue(value);
306
+ const numeric = scalar ? toNumber(scalar) : undefined;
307
+ if (numeric === undefined || !Number.isFinite(numeric)) {
308
+ return undefined;
309
+ }
310
+ const integer = Math.trunc(numeric);
311
+ return integer >= 1 ? integer : undefined;
312
+ }
313
+ export function getRangeCell(range, row, col) {
314
+ return range.values[row * range.cols + col] ?? emptyValue();
315
+ }
316
+ export function getBroadcastShape(values) {
317
+ const ranges = values.map(toRangeLike);
318
+ const rows = Math.max(...ranges.map((range) => range.rows));
319
+ const cols = Math.max(...ranges.map((range) => range.cols));
320
+ const compatible = ranges.every((range) => (range.rows === rows || range.rows === 1) && (range.cols === cols || range.cols === 1));
321
+ return compatible ? { rows, cols } : undefined;
322
+ }
323
+ export function coerceScalarTextArgument(value) {
324
+ if (value === undefined) {
325
+ return error(ErrorCode.Value);
326
+ }
327
+ const scalar = isSingleCellValue(value);
328
+ if (!scalar) {
329
+ return error(ErrorCode.Value);
330
+ }
331
+ if (scalar.tag === ValueTag.Error) {
332
+ return scalar;
333
+ }
334
+ return toStringValue(scalar);
335
+ }
336
+ export function coerceOptionalBooleanArgument(value, fallback) {
337
+ if (value === undefined) {
338
+ return fallback;
339
+ }
340
+ const scalar = isSingleCellValue(value);
341
+ if (!scalar) {
342
+ return error(ErrorCode.Value);
343
+ }
344
+ if (scalar.tag === ValueTag.Error) {
345
+ return scalar;
346
+ }
347
+ if (scalar.tag === ValueTag.Boolean) {
348
+ return scalar.value;
349
+ }
350
+ const numeric = toNumber(scalar);
351
+ return numeric === undefined ? error(ErrorCode.Value) : numeric !== 0;
352
+ }
353
+ export function coerceOptionalMatchModeArgument(value, fallback) {
354
+ if (value === undefined) {
355
+ return fallback;
356
+ }
357
+ const scalar = isSingleCellValue(value);
358
+ if (!scalar) {
359
+ return error(ErrorCode.Value);
360
+ }
361
+ if (scalar.tag === ValueTag.Error) {
362
+ return scalar;
363
+ }
364
+ const numeric = toNumber(scalar);
365
+ if (numeric === undefined || !Number.isFinite(numeric)) {
366
+ return error(ErrorCode.Value);
367
+ }
368
+ const integer = Math.trunc(numeric);
369
+ return integer === 0 || integer === 1 ? integer : error(ErrorCode.Value);
370
+ }
371
+ export function coerceOptionalPositiveIntegerArgument(value, fallback) {
372
+ if (value === undefined) {
373
+ return fallback;
374
+ }
375
+ const scalar = isSingleCellValue(value);
376
+ if (!scalar) {
377
+ return error(ErrorCode.Value);
378
+ }
379
+ if (scalar.tag === ValueTag.Error) {
380
+ return scalar;
381
+ }
382
+ const numeric = toNumber(scalar);
383
+ if (numeric === undefined || !Number.isFinite(numeric)) {
384
+ return error(ErrorCode.Value);
385
+ }
386
+ const integer = Math.trunc(numeric);
387
+ return integer >= 1 ? integer : error(ErrorCode.Value);
388
+ }
389
+ export function coerceOptionalTrimModeArgument(value, fallback) {
390
+ if (value === undefined) {
391
+ return fallback;
392
+ }
393
+ const scalar = isSingleCellValue(value);
394
+ if (!scalar) {
395
+ return error(ErrorCode.Value);
396
+ }
397
+ if (scalar.tag === ValueTag.Error) {
398
+ return scalar;
399
+ }
400
+ const numeric = toNumber(scalar);
401
+ if (numeric === undefined || !Number.isFinite(numeric)) {
402
+ return error(ErrorCode.Value);
403
+ }
404
+ const integer = Math.trunc(numeric);
405
+ switch (integer) {
406
+ case 0:
407
+ case 1:
408
+ case 2:
409
+ case 3:
410
+ return integer;
411
+ default:
412
+ return error(ErrorCode.Value);
413
+ }
414
+ }
415
+ export function isCellValueError(value) {
416
+ return typeof value === 'object' && value !== null && 'tag' in value;
417
+ }
418
+ export function makeArrayStack(rows, cols, values) {
419
+ return { kind: 'array', rows, cols, values };
420
+ }
421
+ export function matrixFromStackValue(value) {
422
+ if (value.kind === 'omitted' || value.kind === 'lambda') {
423
+ return undefined;
424
+ }
425
+ if (value.kind === 'scalar') {
426
+ return { rows: 1, cols: 1, values: [value.value] };
427
+ }
428
+ return { rows: value.rows, cols: value.cols, values: value.values };
429
+ }
430
+ export function scalarIntegerArgument(value) {
431
+ const scalar = value ? isSingleCellValue(value) : undefined;
432
+ const numeric = scalar ? toNumber(scalar) : undefined;
433
+ return numeric === undefined || !Number.isFinite(numeric) ? undefined : Math.trunc(numeric);
434
+ }
435
+ export function vectorIntegerArgument(value) {
436
+ if (!value) {
437
+ return undefined;
438
+ }
439
+ const matrix = matrixFromStackValue(value);
440
+ if (!matrix || !(matrix.rows === 1 || matrix.cols === 1)) {
441
+ return undefined;
442
+ }
443
+ const values = [];
444
+ for (let index = 0; index < matrix.rows * matrix.cols; index += 1) {
445
+ const numeric = toNumber(matrix.values[index] ?? emptyValue());
446
+ if (numeric === undefined || !Number.isFinite(numeric)) {
447
+ return undefined;
448
+ }
449
+ values.push(Math.trunc(numeric));
450
+ }
451
+ return values;
452
+ }
453
+ //# sourceMappingURL=js-evaluator-runtime-helpers.js.map