@bilig/formula 0.1.102 → 0.3.0

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.
@@ -3,6 +3,10 @@ const CELL_REF_RE = /^(\$?)([A-Z]+)(\$?)([1-9][0-9]*)$/;
3
3
  const COLUMN_REF_RE = /^(\$?)([A-Z]+)$/;
4
4
  const ROW_REF_RE = /^(\$?)([1-9][0-9]*)$/;
5
5
  export function buildRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol) {
6
+ const fastKey = tryBuildFastRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol);
7
+ if (fastKey !== undefined) {
8
+ return fastKey;
9
+ }
6
10
  const tokens = lexFormula(source.startsWith('=') ? source.slice(1) : source);
7
11
  const keyParts = [];
8
12
  for (let index = 0; index < tokens.length;) {
@@ -22,11 +26,6 @@ export function buildRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol)
22
26
  index = explicitSheetMatch.nextIndex;
23
27
  continue;
24
28
  }
25
- if (token.kind === 'identifier' && tokens[index + 1]?.kind === 'lparen') {
26
- keyParts.push(`fn:${token.value.toUpperCase()}`);
27
- index += 1;
28
- continue;
29
- }
30
29
  const referenceMatch = matchTemplateReference(tokens, index, ownerRow, ownerCol);
31
30
  if (referenceMatch) {
32
31
  keyParts.push(referenceMatch.key);
@@ -38,6 +37,188 @@ export function buildRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol)
38
37
  }
39
38
  return keyParts.join('|');
40
39
  }
40
+ function tryBuildFastRelativeFormulaTemplateTokenKey(source, ownerRow, ownerCol) {
41
+ const input = source.startsWith('=') ? source.slice(1) : source;
42
+ if (input.includes("'") ||
43
+ input.includes('"') ||
44
+ input.includes('!') ||
45
+ input.includes('#') ||
46
+ input.includes('.') ||
47
+ input.includes('[') ||
48
+ input.includes(']')) {
49
+ return undefined;
50
+ }
51
+ const keyParts = [];
52
+ let index = 0;
53
+ while (index < input.length) {
54
+ index = skipWhitespace(input, index);
55
+ if (index >= input.length) {
56
+ break;
57
+ }
58
+ const char = input[index];
59
+ if (isIdentifierStart(char)) {
60
+ const identifier = readIdentifier(input, index);
61
+ const nextIndex = skipWhitespace(input, identifier.nextIndex);
62
+ if (input[nextIndex] === '(') {
63
+ keyParts.push(`fn:${identifier.text.toUpperCase()}`);
64
+ index = identifier.nextIndex;
65
+ continue;
66
+ }
67
+ const referenceMatch = matchFastTemplateReference(input, index, ownerRow, ownerCol);
68
+ if (!referenceMatch) {
69
+ return undefined;
70
+ }
71
+ keyParts.push(referenceMatch.key);
72
+ index = referenceMatch.nextIndex;
73
+ continue;
74
+ }
75
+ if (isDigit(char)) {
76
+ const rowRangeMatch = matchFastTemplateReference(input, index, ownerRow, ownerCol);
77
+ if (rowRangeMatch?.kind === 'range') {
78
+ keyParts.push(rowRangeMatch.key);
79
+ index = rowRangeMatch.nextIndex;
80
+ continue;
81
+ }
82
+ const number = readNumber(input, index);
83
+ keyParts.push(`tok:number:${JSON.stringify(number.text)}`);
84
+ index = number.nextIndex;
85
+ continue;
86
+ }
87
+ const tokenKind = fastTokenKindForChar(char);
88
+ if (!tokenKind) {
89
+ return undefined;
90
+ }
91
+ keyParts.push(`tok:${tokenKind}:${JSON.stringify(char)}`);
92
+ index += 1;
93
+ }
94
+ keyParts.push('eof');
95
+ return keyParts.join('|');
96
+ }
97
+ function matchFastTemplateReference(input, index, ownerRow, ownerCol) {
98
+ const startRef = parseFastReferenceToken(input, index, ownerRow, ownerCol, false);
99
+ if (!startRef) {
100
+ return undefined;
101
+ }
102
+ const afterStart = skipWhitespace(input, startRef.nextIndex);
103
+ if (input[afterStart] === ':') {
104
+ const endRef = parseFastReferenceToken(input, skipWhitespace(input, afterStart + 1), ownerRow, ownerCol, true);
105
+ if (!endRef || endRef.kind !== startRef.kind) {
106
+ return undefined;
107
+ }
108
+ const refKind = startRef.kind === 'cell' ? 'cells' : startRef.kind === 'row' ? 'rows' : 'cols';
109
+ return {
110
+ key: `range:${refKind}:.:${startRef.key}:${endRef.key}`,
111
+ nextIndex: endRef.nextIndex,
112
+ kind: 'range',
113
+ };
114
+ }
115
+ if (startRef.kind === 'row') {
116
+ return undefined;
117
+ }
118
+ return {
119
+ key: `${startRef.kind}:.:${startRef.key}`,
120
+ nextIndex: startRef.nextIndex,
121
+ kind: 'single',
122
+ };
123
+ }
124
+ function parseFastReferenceToken(input, index, ownerRow, ownerCol, allowStandaloneRow) {
125
+ const token = isDigit(input[index]) ? readNumber(input, index) : readIdentifier(input, index);
126
+ const upperValue = token.text.toUpperCase();
127
+ const cell = parseCellReferenceParts(upperValue);
128
+ if (cell) {
129
+ return {
130
+ kind: 'cell',
131
+ key: buildRelativeCellReferenceKey(cell, ownerRow, ownerCol),
132
+ nextIndex: token.nextIndex,
133
+ };
134
+ }
135
+ const column = parseAxisReferenceParts(upperValue, 'column');
136
+ if (column) {
137
+ return {
138
+ kind: 'col',
139
+ key: buildRelativeAxisReferenceKey(column, ownerCol),
140
+ nextIndex: token.nextIndex,
141
+ };
142
+ }
143
+ if (!allowStandaloneRow) {
144
+ return undefined;
145
+ }
146
+ const row = parseAxisReferenceParts(token.text, 'row');
147
+ if (!row) {
148
+ return undefined;
149
+ }
150
+ return {
151
+ kind: 'row',
152
+ key: buildRelativeAxisReferenceKey(row, ownerRow),
153
+ nextIndex: token.nextIndex,
154
+ };
155
+ }
156
+ function readIdentifier(input, index) {
157
+ let nextIndex = index;
158
+ while (nextIndex < input.length) {
159
+ const char = input[nextIndex];
160
+ if (!isIdentifierPart(char)) {
161
+ break;
162
+ }
163
+ nextIndex += 1;
164
+ }
165
+ return {
166
+ text: input.slice(index, nextIndex),
167
+ nextIndex,
168
+ };
169
+ }
170
+ function readNumber(input, index) {
171
+ let nextIndex = index;
172
+ while (nextIndex < input.length && isDigit(input[nextIndex])) {
173
+ nextIndex += 1;
174
+ }
175
+ return {
176
+ text: input.slice(index, nextIndex),
177
+ nextIndex,
178
+ };
179
+ }
180
+ function skipWhitespace(input, index) {
181
+ let nextIndex = index;
182
+ while (nextIndex < input.length && /\s/.test(input[nextIndex])) {
183
+ nextIndex += 1;
184
+ }
185
+ return nextIndex;
186
+ }
187
+ function isIdentifierStart(char) {
188
+ return (char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z') || char === '$' || char === '_';
189
+ }
190
+ function isIdentifierPart(char) {
191
+ return isIdentifierStart(char) || isDigit(char);
192
+ }
193
+ function isDigit(char) {
194
+ return char >= '0' && char <= '9';
195
+ }
196
+ function fastTokenKindForChar(char) {
197
+ switch (char) {
198
+ case '(':
199
+ return 'lparen';
200
+ case ')':
201
+ return 'rparen';
202
+ case '+':
203
+ return 'plus';
204
+ case '-':
205
+ return 'minus';
206
+ case '*':
207
+ return 'star';
208
+ case '/':
209
+ return 'slash';
210
+ case '^':
211
+ return 'caret';
212
+ case ',':
213
+ return 'comma';
214
+ case ';':
215
+ return 'semicolon';
216
+ case '&':
217
+ return 'ampersand';
218
+ default:
219
+ return undefined;
220
+ }
221
+ }
41
222
  function matchTemplateReferenceWithExplicitSheet(tokens, index, ownerRow, ownerCol) {
42
223
  const sheetToken = tokens[index];
43
224
  if ((sheetToken?.kind !== 'identifier' && sheetToken?.kind !== 'quotedIdentifier') || tokens[index + 1]?.kind !== 'bang') {
@@ -57,9 +238,6 @@ function matchTemplateReference(tokens, index, ownerRow, ownerCol, sheetName) {
57
238
  }
58
239
  if (tokens[index + 1]?.kind === 'colon') {
59
240
  const endToken = tokens[index + 2];
60
- if (!endToken) {
61
- return undefined;
62
- }
63
241
  const endRef = parseReferenceToken(endToken, ownerRow, ownerCol, true);
64
242
  if (!endRef || endRef.kind !== startRef.kind) {
65
243
  return undefined;
@@ -76,9 +254,6 @@ function matchTemplateReference(tokens, index, ownerRow, ownerCol, sheetName) {
76
254
  nextIndex: index + 2,
77
255
  };
78
256
  }
79
- if (startToken.kind === 'number' && sheetName === undefined) {
80
- return undefined;
81
- }
82
257
  return {
83
258
  key: `${startRef.kind}:${templateSheetKey(sheetName)}:${startRef.key}`,
84
259
  nextIndex: index + 1,
@@ -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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"}