@bilig/formula 0.7.8 → 0.8.1
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.
- package/dist/binder-wasm-arity.d.ts +1 -0
- package/dist/binder-wasm-arity.js +541 -0
- package/dist/binder-wasm-arity.js.map +1 -0
- package/dist/binder-wasm-rules.d.ts +1 -2
- package/dist/binder-wasm-rules.js +2 -540
- package/dist/binder-wasm-rules.js.map +1 -1
- package/dist/builtins/cell-value-utils.d.ts +9 -0
- package/dist/builtins/cell-value-utils.js +63 -0
- package/dist/builtins/cell-value-utils.js.map +1 -0
- package/dist/builtins/datetime.d.ts +2 -10
- package/dist/builtins/datetime.js +5 -261
- package/dist/builtins/datetime.js.map +1 -1
- package/dist/builtins/excel-date.d.ts +16 -0
- package/dist/builtins/excel-date.js +199 -0
- package/dist/builtins/excel-date.js.map +1 -0
- package/dist/builtins/lookup-core-helpers.d.ts +50 -0
- package/dist/builtins/lookup-core-helpers.js +342 -0
- package/dist/builtins/lookup-core-helpers.js.map +1 -0
- package/dist/builtins/lookup.d.ts +3 -25
- package/dist/builtins/lookup.js +3 -341
- package/dist/builtins/lookup.js.map +1 -1
- package/dist/formula-reference-translation.d.ts +20 -0
- package/dist/formula-reference-translation.js +273 -0
- package/dist/formula-reference-translation.js.map +1 -0
- package/dist/formula-serializer.d.ts +2 -0
- package/dist/formula-serializer.js +74 -0
- package/dist/formula-serializer.js.map +1 -0
- package/dist/formula-sheet-rename.d.ts +14 -0
- package/dist/formula-sheet-rename.js +243 -0
- package/dist/formula-sheet-rename.js.map +1 -0
- package/dist/formula-structural-rewrite.d.ts +14 -0
- package/dist/formula-structural-rewrite.js +511 -0
- package/dist/formula-structural-rewrite.js.map +1 -0
- package/dist/formula-template-key.d.ts +2 -0
- package/dist/formula-template-key.js +58 -0
- package/dist/formula-template-key.js.map +1 -1
- package/dist/js-evaluator-cell-values.d.ts +5 -0
- package/dist/js-evaluator-cell-values.js +14 -0
- package/dist/js-evaluator-cell-values.js.map +1 -0
- package/dist/js-evaluator-context-special-calls.js +72 -0
- package/dist/js-evaluator-context-special-calls.js.map +1 -1
- package/dist/js-evaluator-runtime-helpers.d.ts +39 -0
- package/dist/js-evaluator-runtime-helpers.js +453 -0
- package/dist/js-evaluator-runtime-helpers.js.map +1 -0
- package/dist/js-evaluator-types.d.ts +178 -0
- package/dist/js-evaluator-types.js +2 -0
- package/dist/js-evaluator-types.js.map +1 -0
- package/dist/js-evaluator.d.ts +4 -178
- package/dist/js-evaluator.js +3 -463
- package/dist/js-evaluator.js.map +1 -1
- package/dist/translation-reference-utils.d.ts +42 -0
- package/dist/translation-reference-utils.js +178 -0
- package/dist/translation-reference-utils.js.map +1 -0
- package/dist/translation.d.ts +6 -32
- package/dist/translation.js +14 -1300
- package/dist/translation.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { ErrorCode, ValueTag } from '@bilig/protocol';
|
|
2
|
+
export function errorValue(code) {
|
|
3
|
+
return { tag: ValueTag.Error, code };
|
|
4
|
+
}
|
|
5
|
+
export function numberResult(value) {
|
|
6
|
+
return { tag: ValueTag.Number, value };
|
|
7
|
+
}
|
|
8
|
+
export function isError(value) {
|
|
9
|
+
return value !== undefined && !isRangeArg(value) && value.tag === ValueTag.Error;
|
|
10
|
+
}
|
|
11
|
+
export function isRangeArg(value) {
|
|
12
|
+
return typeof value === 'object' && value !== null && 'kind' in value && value.kind === 'range';
|
|
13
|
+
}
|
|
14
|
+
export function findFirstNonRange(values) {
|
|
15
|
+
for (const value of values) {
|
|
16
|
+
if (!isRangeArg(value)) {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
export function areRangeArgs(values) {
|
|
23
|
+
return values.every((value) => isRangeArg(value));
|
|
24
|
+
}
|
|
25
|
+
export function toNumber(value) {
|
|
26
|
+
switch (value.tag) {
|
|
27
|
+
case ValueTag.Number:
|
|
28
|
+
return value.value;
|
|
29
|
+
case ValueTag.Boolean:
|
|
30
|
+
return value.value ? 1 : 0;
|
|
31
|
+
case ValueTag.Empty:
|
|
32
|
+
return 0;
|
|
33
|
+
case ValueTag.String:
|
|
34
|
+
case ValueTag.Error:
|
|
35
|
+
return undefined;
|
|
36
|
+
default:
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function toInteger(value) {
|
|
41
|
+
const numeric = toNumber(value);
|
|
42
|
+
if (numeric === undefined || !Number.isFinite(numeric)) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
return Math.trunc(numeric);
|
|
46
|
+
}
|
|
47
|
+
export function toBoolean(value) {
|
|
48
|
+
switch (value.tag) {
|
|
49
|
+
case ValueTag.Boolean:
|
|
50
|
+
return value.value;
|
|
51
|
+
case ValueTag.Number:
|
|
52
|
+
return value.value !== 0;
|
|
53
|
+
case ValueTag.Empty:
|
|
54
|
+
return false;
|
|
55
|
+
case ValueTag.String:
|
|
56
|
+
case ValueTag.Error:
|
|
57
|
+
return undefined;
|
|
58
|
+
default:
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export function toStringValue(value) {
|
|
63
|
+
switch (value.tag) {
|
|
64
|
+
case ValueTag.Empty:
|
|
65
|
+
return '';
|
|
66
|
+
case ValueTag.Number:
|
|
67
|
+
return String(value.value);
|
|
68
|
+
case ValueTag.Boolean:
|
|
69
|
+
return value.value ? 'TRUE' : 'FALSE';
|
|
70
|
+
case ValueTag.String:
|
|
71
|
+
return value.value;
|
|
72
|
+
case ValueTag.Error:
|
|
73
|
+
return '';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function compareScalars(left, right) {
|
|
77
|
+
if ((left.tag === ValueTag.String || left.tag === ValueTag.Empty) && (right.tag === ValueTag.String || right.tag === ValueTag.Empty)) {
|
|
78
|
+
const normalizedLeft = toStringValue(left).toUpperCase();
|
|
79
|
+
const normalizedRight = toStringValue(right).toUpperCase();
|
|
80
|
+
if (normalizedLeft === normalizedRight) {
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
return normalizedLeft < normalizedRight ? -1 : 1;
|
|
84
|
+
}
|
|
85
|
+
const leftNum = toNumber(left);
|
|
86
|
+
const rightNum = toNumber(right);
|
|
87
|
+
if (leftNum === undefined || rightNum === undefined) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
if (leftNum === rightNum) {
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
return leftNum < rightNum ? -1 : 1;
|
|
94
|
+
}
|
|
95
|
+
export function requireCellVector(arg) {
|
|
96
|
+
if (!isRangeArg(arg)) {
|
|
97
|
+
return errorValue(ErrorCode.Value);
|
|
98
|
+
}
|
|
99
|
+
if (arg.refKind !== 'cells') {
|
|
100
|
+
return errorValue(ErrorCode.Value);
|
|
101
|
+
}
|
|
102
|
+
if (arg.rows !== 1 && arg.cols !== 1) {
|
|
103
|
+
return errorValue(ErrorCode.NA);
|
|
104
|
+
}
|
|
105
|
+
return arg;
|
|
106
|
+
}
|
|
107
|
+
export function requireCellRange(arg) {
|
|
108
|
+
if (!isRangeArg(arg) || arg.refKind !== 'cells') {
|
|
109
|
+
return errorValue(ErrorCode.Value);
|
|
110
|
+
}
|
|
111
|
+
return arg;
|
|
112
|
+
}
|
|
113
|
+
export function getRangeValue(range, row, col) {
|
|
114
|
+
const index = row * range.cols + col;
|
|
115
|
+
return range.values[index] ?? { tag: ValueTag.Empty };
|
|
116
|
+
}
|
|
117
|
+
export function arrayResult(values, rows, cols) {
|
|
118
|
+
return { kind: 'array', values, rows, cols };
|
|
119
|
+
}
|
|
120
|
+
export function collectNumericSeries(arg, mode) {
|
|
121
|
+
const values = [];
|
|
122
|
+
const cells = isRangeArg(arg) ? arg.values : [arg];
|
|
123
|
+
if (isRangeArg(arg) && arg.refKind !== 'cells') {
|
|
124
|
+
return errorValue(ErrorCode.Value);
|
|
125
|
+
}
|
|
126
|
+
for (const cell of cells) {
|
|
127
|
+
if (cell.tag === ValueTag.Error) {
|
|
128
|
+
return cell;
|
|
129
|
+
}
|
|
130
|
+
if (cell.tag === ValueTag.Number) {
|
|
131
|
+
values.push(cell.value);
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (mode === 'strict') {
|
|
135
|
+
return errorValue(ErrorCode.Value);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return values;
|
|
139
|
+
}
|
|
140
|
+
export function numericAggregateCandidate(value) {
|
|
141
|
+
return value.tag === ValueTag.Number ? value.value : undefined;
|
|
142
|
+
}
|
|
143
|
+
export function toCellRange(arg) {
|
|
144
|
+
if (!isRangeArg(arg)) {
|
|
145
|
+
return { kind: 'range', values: [arg], refKind: 'cells', rows: 1, cols: 1 };
|
|
146
|
+
}
|
|
147
|
+
if (arg.refKind !== 'cells') {
|
|
148
|
+
return errorValue(ErrorCode.Value);
|
|
149
|
+
}
|
|
150
|
+
return arg;
|
|
151
|
+
}
|
|
152
|
+
export function toNumericMatrix(arg) {
|
|
153
|
+
const range = toCellRange(arg);
|
|
154
|
+
if (!isRangeArg(range)) {
|
|
155
|
+
return range;
|
|
156
|
+
}
|
|
157
|
+
const matrix = [];
|
|
158
|
+
for (let row = 0; row < range.rows; row += 1) {
|
|
159
|
+
const rowValues = [];
|
|
160
|
+
for (let col = 0; col < range.cols; col += 1) {
|
|
161
|
+
const numeric = toNumber(getRangeValue(range, row, col));
|
|
162
|
+
if (numeric === undefined) {
|
|
163
|
+
return errorValue(ErrorCode.Value);
|
|
164
|
+
}
|
|
165
|
+
rowValues.push(numeric);
|
|
166
|
+
}
|
|
167
|
+
matrix.push(rowValues);
|
|
168
|
+
}
|
|
169
|
+
return matrix;
|
|
170
|
+
}
|
|
171
|
+
export function flattenNumbers(arg) {
|
|
172
|
+
if (!isRangeArg(arg)) {
|
|
173
|
+
const numeric = toNumber(arg);
|
|
174
|
+
return numeric === undefined ? errorValue(ErrorCode.Value) : [numeric];
|
|
175
|
+
}
|
|
176
|
+
const values = [];
|
|
177
|
+
for (const value of arg.values) {
|
|
178
|
+
const numeric = toNumber(value);
|
|
179
|
+
if (numeric === undefined) {
|
|
180
|
+
return errorValue(ErrorCode.Value);
|
|
181
|
+
}
|
|
182
|
+
values.push(numeric);
|
|
183
|
+
}
|
|
184
|
+
return values;
|
|
185
|
+
}
|
|
186
|
+
export function pickRangeRow(range, row) {
|
|
187
|
+
const values = [];
|
|
188
|
+
for (let col = 0; col < range.cols; col += 1) {
|
|
189
|
+
values.push(getRangeValue(range, row, col));
|
|
190
|
+
}
|
|
191
|
+
return values;
|
|
192
|
+
}
|
|
193
|
+
export function firstLookupError(args) {
|
|
194
|
+
return args.find((arg) => isError(arg));
|
|
195
|
+
}
|
|
196
|
+
export function matchesCompiledCriteria(value, compiled) {
|
|
197
|
+
if (isError(value)) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
if (compiled.wildcardPattern) {
|
|
201
|
+
const matches = compiled.wildcardPattern.test(toStringValue(value));
|
|
202
|
+
return compiled.operator === '=' ? matches : !matches;
|
|
203
|
+
}
|
|
204
|
+
const comparison = compareScalars(value, compiled.operand);
|
|
205
|
+
if (comparison === undefined) {
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
switch (compiled.operator) {
|
|
209
|
+
case '=':
|
|
210
|
+
return comparison === 0;
|
|
211
|
+
case '<>':
|
|
212
|
+
return comparison !== 0;
|
|
213
|
+
case '>':
|
|
214
|
+
return comparison > 0;
|
|
215
|
+
case '>=':
|
|
216
|
+
return comparison >= 0;
|
|
217
|
+
case '<':
|
|
218
|
+
return comparison < 0;
|
|
219
|
+
case '<=':
|
|
220
|
+
return comparison <= 0;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
export function compileCriteriaMatcher(criteria) {
|
|
224
|
+
let { operator, operand } = parseCriteria(criteria);
|
|
225
|
+
let wildcardPattern;
|
|
226
|
+
if (operand.tag === ValueTag.String && (operator === '=' || operator === '<>') && hasWildcardPattern(operand.value)) {
|
|
227
|
+
wildcardPattern = wildcardPatternToRegExp(operand.value);
|
|
228
|
+
}
|
|
229
|
+
else if (operand.tag === ValueTag.String && operand.value.includes('~')) {
|
|
230
|
+
operand = {
|
|
231
|
+
tag: ValueTag.String,
|
|
232
|
+
value: unescapeCriteriaPattern(operand.value),
|
|
233
|
+
stringId: operand.stringId,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
operator,
|
|
238
|
+
operand,
|
|
239
|
+
...(wildcardPattern ? { wildcardPattern } : {}),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
export function matchesCriteria(value, criteria) {
|
|
243
|
+
return matchesCompiledCriteria(value, compileCriteriaMatcher(criteria));
|
|
244
|
+
}
|
|
245
|
+
function isCriteriaOperator(value) {
|
|
246
|
+
return value === '=' || value === '<>' || value === '>' || value === '>=' || value === '<' || value === '<=';
|
|
247
|
+
}
|
|
248
|
+
function hasWildcardPattern(pattern) {
|
|
249
|
+
for (let index = 0; index < pattern.length; index += 1) {
|
|
250
|
+
const char = pattern[index];
|
|
251
|
+
if (char === '~') {
|
|
252
|
+
index += 1;
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
if (char === '*' || char === '?') {
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
function wildcardPatternToRegExp(pattern) {
|
|
262
|
+
let source = '^';
|
|
263
|
+
for (let index = 0; index < pattern.length; index += 1) {
|
|
264
|
+
const char = pattern[index];
|
|
265
|
+
if (char === undefined) {
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
if (char === '~') {
|
|
269
|
+
const escaped = pattern[index + 1];
|
|
270
|
+
if (escaped !== undefined) {
|
|
271
|
+
source += escapeRegexFragment(escaped);
|
|
272
|
+
index += 1;
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
source += escapeRegexFragment(char);
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
if (char === '*') {
|
|
279
|
+
source += '.*';
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
if (char === '?') {
|
|
283
|
+
source += '.';
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
source += escapeRegexFragment(char);
|
|
287
|
+
}
|
|
288
|
+
source += '$';
|
|
289
|
+
return new RegExp(source, 'i');
|
|
290
|
+
}
|
|
291
|
+
function escapeRegexFragment(value) {
|
|
292
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
293
|
+
}
|
|
294
|
+
function unescapeCriteriaPattern(pattern) {
|
|
295
|
+
let unescaped = '';
|
|
296
|
+
for (let index = 0; index < pattern.length; index += 1) {
|
|
297
|
+
const char = pattern[index];
|
|
298
|
+
if (char === undefined) {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
if (char === '~') {
|
|
302
|
+
const escaped = pattern[index + 1];
|
|
303
|
+
if (escaped !== undefined) {
|
|
304
|
+
unescaped += escaped;
|
|
305
|
+
index += 1;
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
unescaped += char;
|
|
310
|
+
}
|
|
311
|
+
return unescaped;
|
|
312
|
+
}
|
|
313
|
+
function parseCriteria(criteria) {
|
|
314
|
+
if (criteria.tag !== ValueTag.String) {
|
|
315
|
+
return { operator: '=', operand: criteria };
|
|
316
|
+
}
|
|
317
|
+
const match = /^(<=|>=|<>|=|<|>)(.*)$/.exec(criteria.value);
|
|
318
|
+
if (!match) {
|
|
319
|
+
return { operator: '=', operand: criteria };
|
|
320
|
+
}
|
|
321
|
+
const operator = match[1] ?? '=';
|
|
322
|
+
return {
|
|
323
|
+
operator: isCriteriaOperator(operator) ? operator : '=',
|
|
324
|
+
operand: parseCriteriaOperand(match[2] ?? ''),
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
function parseCriteriaOperand(raw) {
|
|
328
|
+
const trimmed = raw.trim();
|
|
329
|
+
if (trimmed === '') {
|
|
330
|
+
return { tag: ValueTag.String, value: '', stringId: 0 };
|
|
331
|
+
}
|
|
332
|
+
const upper = trimmed.toUpperCase();
|
|
333
|
+
if (upper === 'TRUE' || upper === 'FALSE') {
|
|
334
|
+
return { tag: ValueTag.Boolean, value: upper === 'TRUE' };
|
|
335
|
+
}
|
|
336
|
+
const numeric = Number(trimmed);
|
|
337
|
+
if (Number.isFinite(numeric)) {
|
|
338
|
+
return { tag: ValueTag.Number, value: numeric };
|
|
339
|
+
}
|
|
340
|
+
return { tag: ValueTag.String, value: trimmed, stringId: 0 };
|
|
341
|
+
}
|
|
342
|
+
//# sourceMappingURL=lookup-core-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup-core-helpers.js","sourceRoot":"","sources":["../../src/builtins/lookup-core-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,6 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
kind: 'range';
|
|
5
|
-
values: CellValue[];
|
|
6
|
-
refKind: 'cells' | 'rows' | 'cols';
|
|
7
|
-
rows: number;
|
|
8
|
-
cols: number;
|
|
9
|
-
sheetName?: string;
|
|
10
|
-
start?: string;
|
|
11
|
-
end?: string;
|
|
12
|
-
}
|
|
13
|
-
export type LookupBuiltinArgument = CellValue | RangeBuiltinArgument;
|
|
14
|
-
export type LookupBuiltin = (...args: LookupBuiltinArgument[]) => EvaluationResult;
|
|
15
|
-
export interface LookupBuiltinResolverOptions {
|
|
16
|
-
resolveIndexedExactMatch?: (lookupValue: CellValue, range: RangeBuiltinArgument) => number | undefined;
|
|
17
|
-
}
|
|
1
|
+
import { compileCriteriaMatcher, matchesCompiledCriteria, type CompiledCriteriaMatcher, type CriteriaOperator, type LookupBuiltin, type LookupBuiltinArgument, type LookupBuiltinResolverOptions, type RangeBuiltinArgument } from './lookup-core-helpers.js';
|
|
2
|
+
export { compileCriteriaMatcher, matchesCompiledCriteria };
|
|
3
|
+
export type { CompiledCriteriaMatcher, CriteriaOperator, LookupBuiltin, LookupBuiltinArgument, LookupBuiltinResolverOptions, RangeBuiltinArgument, };
|
|
18
4
|
export declare const lookupBuiltins: Record<string, LookupBuiltin>;
|
|
19
5
|
export declare function createLookupBuiltinResolver(options?: LookupBuiltinResolverOptions): (name: string) => LookupBuiltin | undefined;
|
|
20
|
-
export type CriteriaOperator = '=' | '<>' | '>' | '>=' | '<' | '<=';
|
|
21
|
-
export interface CompiledCriteriaMatcher {
|
|
22
|
-
readonly operator: CriteriaOperator;
|
|
23
|
-
readonly operand: CellValue;
|
|
24
|
-
readonly wildcardPattern?: RegExp;
|
|
25
|
-
}
|
|
26
|
-
export declare function matchesCompiledCriteria(value: CellValue, compiled: CompiledCriteriaMatcher): boolean;
|
|
27
|
-
export declare function compileCriteriaMatcher(criteria: CellValue): CompiledCriteriaMatcher;
|
|
28
6
|
export declare function getLookupBuiltin(name: string): LookupBuiltin | undefined;
|