@bilig/workbook 0.67.11 → 0.67.13
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/README.md +12 -0
- package/dist/check.d.ts +1 -1
- package/dist/find.d.ts +3 -45
- package/dist/find.js +20 -191
- package/dist/find.js.map +1 -1
- package/dist/model.d.ts +1 -1
- package/dist/model.js +209 -46
- package/dist/model.js.map +1 -1
- package/dist/readback.d.ts +3 -3
- package/dist/readback.js +326 -30
- package/dist/readback.js.map +1 -1
- package/dist/result.d.ts +2 -2
- package/dist/result.js +1 -0
- package/dist/result.js.map +1 -1
- package/dist/selectors.d.ts +73 -0
- package/dist/selectors.js +250 -0
- package/dist/selectors.js.map +1 -0
- package/package.json +3 -3
package/dist/readback.js
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
|
+
import { isLiteralInput } from '@bilig/protocol';
|
|
2
|
+
import { isWorkbookRef } from './find.js';
|
|
3
|
+
import { isWorkbookActionInput } from './input.js';
|
|
1
4
|
function refKey(ref) {
|
|
2
5
|
return `${ref.kind}:${ref.id}`;
|
|
3
6
|
}
|
|
4
|
-
function readbackKey(readback) {
|
|
5
|
-
return refKey(readback.target);
|
|
6
|
-
}
|
|
7
|
-
function findReadback(readbacks, target) {
|
|
8
|
-
return readbacks.get(refKey(target));
|
|
9
|
-
}
|
|
10
|
-
function hasValue(readback) {
|
|
11
|
-
return Object.prototype.hasOwnProperty.call(readback, 'value');
|
|
12
|
-
}
|
|
13
|
-
function hasFormula(readback) {
|
|
14
|
-
return Object.prototype.hasOwnProperty.call(readback, 'formula');
|
|
15
|
-
}
|
|
16
7
|
function issue(input) {
|
|
17
8
|
return input;
|
|
18
9
|
}
|
|
10
|
+
function invalidReadback(message) {
|
|
11
|
+
return issue({
|
|
12
|
+
code: 'readback_invalid',
|
|
13
|
+
message,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
19
16
|
function missingReadback(check) {
|
|
20
17
|
return issue({
|
|
21
18
|
code: 'readback_missing',
|
|
22
|
-
check,
|
|
19
|
+
check: check.result,
|
|
23
20
|
...(check.target !== undefined ? { target: check.target } : {}),
|
|
24
|
-
message: `${check.
|
|
21
|
+
message: `${check.label} has no readback`,
|
|
25
22
|
});
|
|
26
23
|
}
|
|
27
24
|
function unexpectedReadback(readback) {
|
|
@@ -34,37 +31,320 @@ function unexpectedReadback(readback) {
|
|
|
34
31
|
function valueMismatch(check, expected, actual) {
|
|
35
32
|
return issue({
|
|
36
33
|
code: 'value_mismatch',
|
|
37
|
-
check,
|
|
34
|
+
check: check.result,
|
|
38
35
|
...(check.target !== undefined ? { target: check.target } : {}),
|
|
39
36
|
expected,
|
|
40
37
|
...(actual !== undefined ? { actual } : {}),
|
|
41
38
|
message: actual === undefined
|
|
42
|
-
? `${check.
|
|
43
|
-
: `${check.
|
|
39
|
+
? `${check.label} has no value readback`
|
|
40
|
+
: `${check.label} expected value ${JSON.stringify(expected)} but read ${JSON.stringify(actual)}`,
|
|
44
41
|
});
|
|
45
42
|
}
|
|
46
43
|
function formulaMismatch(check, expected, actual) {
|
|
47
44
|
return issue({
|
|
48
45
|
code: 'formula_mismatch',
|
|
49
|
-
check,
|
|
46
|
+
check: check.result,
|
|
50
47
|
...(check.target !== undefined ? { target: check.target } : {}),
|
|
51
48
|
expected,
|
|
52
49
|
...(actual !== undefined ? { actual } : {}),
|
|
53
50
|
message: actual === undefined
|
|
54
|
-
? `${check.
|
|
55
|
-
: `${check.
|
|
51
|
+
? `${check.label} has no formula readback`
|
|
52
|
+
: `${check.label} expected formula ${expected} but read ${actual ?? 'null'}`,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function valid(value) {
|
|
56
|
+
return {
|
|
57
|
+
status: 'valid',
|
|
58
|
+
value,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function invalid(message) {
|
|
62
|
+
return {
|
|
63
|
+
status: 'invalid',
|
|
64
|
+
issue: invalidReadback(message),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function isRecord(value) {
|
|
68
|
+
return typeof value === 'object' && value !== null;
|
|
69
|
+
}
|
|
70
|
+
function optionalDataValue(value, key, path) {
|
|
71
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
72
|
+
if (descriptor === undefined) {
|
|
73
|
+
return { status: 'missing' };
|
|
74
|
+
}
|
|
75
|
+
if (!('value' in descriptor)) {
|
|
76
|
+
return {
|
|
77
|
+
status: 'invalid',
|
|
78
|
+
issue: invalidReadback(`Workbook readback proof at ${path} must be a data property`),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
status: 'present',
|
|
83
|
+
value: descriptor.value,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function requiredDataValue(value, key, path) {
|
|
87
|
+
const property = optionalDataValue(value, key, path);
|
|
88
|
+
if (property.status === 'invalid') {
|
|
89
|
+
return property;
|
|
90
|
+
}
|
|
91
|
+
if (property.status === 'missing') {
|
|
92
|
+
return invalid(`Workbook readback proof at ${path} is missing`);
|
|
93
|
+
}
|
|
94
|
+
return valid(property.value);
|
|
95
|
+
}
|
|
96
|
+
function arrayDataValues(value, path, mapEntry) {
|
|
97
|
+
if (!Array.isArray(value)) {
|
|
98
|
+
return invalid(`Workbook readback proof at ${path} must be an array`);
|
|
99
|
+
}
|
|
100
|
+
const entries = [];
|
|
101
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
102
|
+
const entryPath = `${path}[${index}]`;
|
|
103
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
104
|
+
if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
|
|
105
|
+
return invalid(`Workbook readback proof at ${entryPath} is invalid`);
|
|
106
|
+
}
|
|
107
|
+
const entry = mapEntry(descriptor.value, entryPath);
|
|
108
|
+
if (entry.status === 'invalid') {
|
|
109
|
+
return entry;
|
|
110
|
+
}
|
|
111
|
+
entries.push(entry.value);
|
|
112
|
+
}
|
|
113
|
+
return valid(entries);
|
|
114
|
+
}
|
|
115
|
+
function normalizeRef(value, path) {
|
|
116
|
+
if (!isWorkbookRef(value)) {
|
|
117
|
+
return invalid(`Workbook reference at ${path} is invalid`);
|
|
118
|
+
}
|
|
119
|
+
return valid(value);
|
|
120
|
+
}
|
|
121
|
+
function normalizeRefArray(value, path) {
|
|
122
|
+
return arrayDataValues(value, path, normalizeRef);
|
|
123
|
+
}
|
|
124
|
+
function normalizeFormulaLabel(value, path) {
|
|
125
|
+
if (!isRecord(value)) {
|
|
126
|
+
return invalid(`Workbook formula label at ${path} is invalid`);
|
|
127
|
+
}
|
|
128
|
+
const name = requiredDataValue(value, 'name', `${path}.name`);
|
|
129
|
+
if (name.status === 'invalid') {
|
|
130
|
+
return name;
|
|
131
|
+
}
|
|
132
|
+
if (typeof name.value !== 'string') {
|
|
133
|
+
return invalid(`Workbook formula label at ${path}.name is invalid`);
|
|
134
|
+
}
|
|
135
|
+
const ref = requiredDataValue(value, 'ref', `${path}.ref`);
|
|
136
|
+
if (ref.status === 'invalid') {
|
|
137
|
+
return ref;
|
|
138
|
+
}
|
|
139
|
+
const checkedRef = normalizeRef(ref.value, `${path}.ref`);
|
|
140
|
+
if (checkedRef.status === 'invalid') {
|
|
141
|
+
return checkedRef;
|
|
142
|
+
}
|
|
143
|
+
return valid({
|
|
144
|
+
name: name.value,
|
|
145
|
+
ref: checkedRef.value,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function normalizeFormulaLabels(value, path) {
|
|
149
|
+
return arrayDataValues(value, path, normalizeFormulaLabel);
|
|
150
|
+
}
|
|
151
|
+
function normalizeExpectation(value, path) {
|
|
152
|
+
if (!isRecord(value)) {
|
|
153
|
+
return invalid(`Workbook check expectation at ${path} is invalid`);
|
|
154
|
+
}
|
|
155
|
+
const kind = requiredDataValue(value, 'kind', `${path}.kind`);
|
|
156
|
+
if (kind.status === 'invalid') {
|
|
157
|
+
return kind;
|
|
158
|
+
}
|
|
159
|
+
if (kind.value === 'valueEquals') {
|
|
160
|
+
const expected = requiredDataValue(value, 'value', `${path}.value`);
|
|
161
|
+
if (expected.status === 'invalid') {
|
|
162
|
+
return expected;
|
|
163
|
+
}
|
|
164
|
+
if (!isLiteralInput(expected.value)) {
|
|
165
|
+
return invalid(`Workbook check expectation at ${path}.value is invalid`);
|
|
166
|
+
}
|
|
167
|
+
return valid({
|
|
168
|
+
kind: 'valueEquals',
|
|
169
|
+
value: expected.value,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
if (kind.value === 'formulaEquals') {
|
|
173
|
+
const formula = requiredDataValue(value, 'formula', `${path}.formula`);
|
|
174
|
+
if (formula.status === 'invalid') {
|
|
175
|
+
return formula;
|
|
176
|
+
}
|
|
177
|
+
if (typeof formula.value !== 'string') {
|
|
178
|
+
return invalid(`Workbook check expectation at ${path}.formula is invalid`);
|
|
179
|
+
}
|
|
180
|
+
const inputs = optionalDataValue(value, 'inputs', `${path}.inputs`);
|
|
181
|
+
if (inputs.status === 'invalid') {
|
|
182
|
+
return inputs;
|
|
183
|
+
}
|
|
184
|
+
const labels = optionalDataValue(value, 'labels', `${path}.labels`);
|
|
185
|
+
if (labels.status === 'invalid') {
|
|
186
|
+
return labels;
|
|
187
|
+
}
|
|
188
|
+
const normalizedInputs = inputs.status === 'present' ? normalizeRefArray(inputs.value, `${path}.inputs`) : undefined;
|
|
189
|
+
if (normalizedInputs?.status === 'invalid') {
|
|
190
|
+
return normalizedInputs;
|
|
191
|
+
}
|
|
192
|
+
const normalizedLabels = labels.status === 'present' ? normalizeFormulaLabels(labels.value, `${path}.labels`) : undefined;
|
|
193
|
+
if (normalizedLabels?.status === 'invalid') {
|
|
194
|
+
return normalizedLabels;
|
|
195
|
+
}
|
|
196
|
+
return valid({
|
|
197
|
+
kind: 'formulaEquals',
|
|
198
|
+
formula: formula.value,
|
|
199
|
+
inputs: normalizedInputs?.value ?? [],
|
|
200
|
+
labels: normalizedLabels?.value ?? [],
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
return invalid(`Workbook check expectation at ${path}.kind is invalid`);
|
|
204
|
+
}
|
|
205
|
+
function normalizeCheck(value, path) {
|
|
206
|
+
if (!isRecord(value)) {
|
|
207
|
+
return invalid(`Workbook check at ${path} is invalid`);
|
|
208
|
+
}
|
|
209
|
+
const status = requiredDataValue(value, 'status', `${path}.status`);
|
|
210
|
+
if (status.status === 'invalid') {
|
|
211
|
+
return status;
|
|
212
|
+
}
|
|
213
|
+
if (status.value !== 'planned' && status.value !== 'passed' && status.value !== 'failed') {
|
|
214
|
+
return invalid(`Workbook check at ${path}.status is invalid`);
|
|
215
|
+
}
|
|
216
|
+
const kind = requiredDataValue(value, 'kind', `${path}.kind`);
|
|
217
|
+
if (kind.status === 'invalid') {
|
|
218
|
+
return kind;
|
|
219
|
+
}
|
|
220
|
+
if (typeof kind.value !== 'string') {
|
|
221
|
+
return invalid(`Workbook check at ${path}.kind is invalid`);
|
|
222
|
+
}
|
|
223
|
+
const message = requiredDataValue(value, 'message', `${path}.message`);
|
|
224
|
+
if (message.status === 'invalid') {
|
|
225
|
+
return message;
|
|
226
|
+
}
|
|
227
|
+
if (typeof message.value !== 'string') {
|
|
228
|
+
return invalid(`Workbook check at ${path}.message is invalid`);
|
|
229
|
+
}
|
|
230
|
+
const target = optionalDataValue(value, 'target', `${path}.target`);
|
|
231
|
+
if (target.status === 'invalid') {
|
|
232
|
+
return target;
|
|
233
|
+
}
|
|
234
|
+
const checkedTarget = target.status === 'present' ? normalizeRef(target.value, `${path}.target`) : undefined;
|
|
235
|
+
if (checkedTarget?.status === 'invalid') {
|
|
236
|
+
return checkedTarget;
|
|
237
|
+
}
|
|
238
|
+
const refs = optionalDataValue(value, 'refs', `${path}.refs`);
|
|
239
|
+
if (refs.status === 'invalid') {
|
|
240
|
+
return refs;
|
|
241
|
+
}
|
|
242
|
+
const checkedRefs = refs.status === 'present' ? normalizeRefArray(refs.value, `${path}.refs`) : undefined;
|
|
243
|
+
if (checkedRefs?.status === 'invalid') {
|
|
244
|
+
return checkedRefs;
|
|
245
|
+
}
|
|
246
|
+
const expectation = optionalDataValue(value, 'expectation', `${path}.expectation`);
|
|
247
|
+
if (expectation.status === 'invalid') {
|
|
248
|
+
return expectation;
|
|
249
|
+
}
|
|
250
|
+
const checkedExpectation = expectation.status === 'present' ? normalizeExpectation(expectation.value, `${path}.expectation`) : undefined;
|
|
251
|
+
if (checkedExpectation?.status === 'invalid') {
|
|
252
|
+
return checkedExpectation;
|
|
253
|
+
}
|
|
254
|
+
const proof = optionalDataValue(value, 'proof', `${path}.proof`);
|
|
255
|
+
if (proof.status === 'invalid') {
|
|
256
|
+
return proof;
|
|
257
|
+
}
|
|
258
|
+
let proofValue;
|
|
259
|
+
if (proof.status === 'present') {
|
|
260
|
+
const candidate = proof.value;
|
|
261
|
+
if (!isWorkbookActionInput(candidate)) {
|
|
262
|
+
return invalid(`Workbook check at ${path}.proof is invalid`);
|
|
263
|
+
}
|
|
264
|
+
proofValue = candidate;
|
|
265
|
+
}
|
|
266
|
+
const result = {
|
|
267
|
+
status: status.value,
|
|
268
|
+
kind: kind.value,
|
|
269
|
+
...(checkedTarget !== undefined ? { target: checkedTarget.value } : {}),
|
|
270
|
+
...(checkedRefs !== undefined ? { refs: checkedRefs.value } : {}),
|
|
271
|
+
message: message.value,
|
|
272
|
+
...(checkedExpectation !== undefined ? { expectation: checkedExpectation.value } : {}),
|
|
273
|
+
...(proofValue !== undefined ? { proof: proofValue } : {}),
|
|
274
|
+
};
|
|
275
|
+
return valid({
|
|
276
|
+
result,
|
|
277
|
+
kind: kind.value,
|
|
278
|
+
...(checkedTarget !== undefined ? { target: checkedTarget.value } : {}),
|
|
279
|
+
...(checkedExpectation !== undefined ? { expectation: checkedExpectation.value } : {}),
|
|
280
|
+
label: checkedTarget?.value.label ?? kind.value,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
function normalizeReadback(value, path) {
|
|
284
|
+
if (!isRecord(value)) {
|
|
285
|
+
return invalid(`Workbook readback at ${path} is invalid`);
|
|
286
|
+
}
|
|
287
|
+
const target = requiredDataValue(value, 'target', `${path}.target`);
|
|
288
|
+
if (target.status === 'invalid') {
|
|
289
|
+
return target;
|
|
290
|
+
}
|
|
291
|
+
const checkedTarget = normalizeRef(target.value, `${path}.target`);
|
|
292
|
+
if (checkedTarget.status === 'invalid') {
|
|
293
|
+
return checkedTarget;
|
|
294
|
+
}
|
|
295
|
+
const valueReadback = optionalDataValue(value, 'value', `${path}.value`);
|
|
296
|
+
if (valueReadback.status === 'invalid') {
|
|
297
|
+
return valueReadback;
|
|
298
|
+
}
|
|
299
|
+
let safeValue = { status: 'missing' };
|
|
300
|
+
if (valueReadback.status === 'present') {
|
|
301
|
+
const candidate = valueReadback.value;
|
|
302
|
+
if (!isLiteralInput(candidate)) {
|
|
303
|
+
return invalid(`Workbook readback at ${path}.value is invalid`);
|
|
304
|
+
}
|
|
305
|
+
safeValue = {
|
|
306
|
+
status: 'present',
|
|
307
|
+
value: candidate,
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
const formulaReadback = optionalDataValue(value, 'formula', `${path}.formula`);
|
|
311
|
+
if (formulaReadback.status === 'invalid') {
|
|
312
|
+
return formulaReadback;
|
|
313
|
+
}
|
|
314
|
+
let safeFormula = { status: 'missing' };
|
|
315
|
+
if (formulaReadback.status === 'present') {
|
|
316
|
+
const candidate = formulaReadback.value;
|
|
317
|
+
if (typeof candidate !== 'string' && candidate !== null) {
|
|
318
|
+
return invalid(`Workbook readback at ${path}.formula is invalid`);
|
|
319
|
+
}
|
|
320
|
+
safeFormula = {
|
|
321
|
+
status: 'present',
|
|
322
|
+
value: candidate,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
const result = {
|
|
326
|
+
target: checkedTarget.value,
|
|
327
|
+
...(safeValue.status === 'present' ? { value: safeValue.value } : {}),
|
|
328
|
+
...(safeFormula.status === 'present' ? { formula: safeFormula.value } : {}),
|
|
329
|
+
};
|
|
330
|
+
return valid({
|
|
331
|
+
result,
|
|
332
|
+
target: checkedTarget.value,
|
|
333
|
+
key: refKey(checkedTarget.value),
|
|
334
|
+
value: safeValue,
|
|
335
|
+
formula: safeFormula,
|
|
56
336
|
});
|
|
57
337
|
}
|
|
58
338
|
function checked(check, status, proof) {
|
|
59
339
|
return {
|
|
60
|
-
...check,
|
|
340
|
+
...check.result,
|
|
61
341
|
status,
|
|
62
342
|
...(proof !== undefined ? { proof } : {}),
|
|
63
343
|
};
|
|
64
344
|
}
|
|
65
345
|
function verifyCheck(check, readbacks) {
|
|
66
346
|
if (check.expectation === undefined) {
|
|
67
|
-
return { check };
|
|
347
|
+
return { check: check.result };
|
|
68
348
|
}
|
|
69
349
|
if (check.target === undefined) {
|
|
70
350
|
return {
|
|
@@ -72,7 +352,7 @@ function verifyCheck(check, readbacks) {
|
|
|
72
352
|
issue: missingReadback(check),
|
|
73
353
|
};
|
|
74
354
|
}
|
|
75
|
-
const readback =
|
|
355
|
+
const readback = readbacks.get(refKey(check.target));
|
|
76
356
|
if (readback === undefined) {
|
|
77
357
|
return {
|
|
78
358
|
check: checked(check, 'failed'),
|
|
@@ -80,7 +360,7 @@ function verifyCheck(check, readbacks) {
|
|
|
80
360
|
};
|
|
81
361
|
}
|
|
82
362
|
if (check.expectation.kind === 'valueEquals') {
|
|
83
|
-
const actual =
|
|
363
|
+
const actual = readback.value.status === 'present' ? readback.value.value : undefined;
|
|
84
364
|
if (actual !== check.expectation.value) {
|
|
85
365
|
return {
|
|
86
366
|
check: checked(check, 'failed'),
|
|
@@ -94,7 +374,7 @@ function verifyCheck(check, readbacks) {
|
|
|
94
374
|
}),
|
|
95
375
|
};
|
|
96
376
|
}
|
|
97
|
-
const actual =
|
|
377
|
+
const actual = readback.formula.status === 'present' ? readback.formula.value : undefined;
|
|
98
378
|
if (actual !== check.expectation.formula) {
|
|
99
379
|
return {
|
|
100
380
|
check: checked(check, 'failed'),
|
|
@@ -109,16 +389,32 @@ function verifyCheck(check, readbacks) {
|
|
|
109
389
|
};
|
|
110
390
|
}
|
|
111
391
|
export function verifyWorkbookReadbacks(checks, readbacks) {
|
|
392
|
+
const checkValidation = arrayDataValues(checks, 'checks', normalizeCheck);
|
|
393
|
+
if (checkValidation.status === 'invalid') {
|
|
394
|
+
return {
|
|
395
|
+
status: 'failed',
|
|
396
|
+
checks: [],
|
|
397
|
+
issues: [checkValidation.issue],
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
const readbackValidation = arrayDataValues(readbacks, 'readbacks', normalizeReadback);
|
|
401
|
+
if (readbackValidation.status === 'invalid') {
|
|
402
|
+
return {
|
|
403
|
+
status: 'failed',
|
|
404
|
+
checks: checkValidation.value.map((check) => check.result),
|
|
405
|
+
issues: [readbackValidation.issue],
|
|
406
|
+
};
|
|
407
|
+
}
|
|
112
408
|
const expectedTargets = new Set();
|
|
113
|
-
|
|
409
|
+
checkValidation.value.forEach((check) => {
|
|
114
410
|
if (check.expectation !== undefined && check.target !== undefined) {
|
|
115
411
|
expectedTargets.add(refKey(check.target));
|
|
116
412
|
}
|
|
117
413
|
});
|
|
118
414
|
const readbackByTarget = new Map();
|
|
119
|
-
|
|
120
|
-
if (!readbackByTarget.has(
|
|
121
|
-
readbackByTarget.set(
|
|
415
|
+
readbackValidation.value.forEach((readback) => {
|
|
416
|
+
if (!readbackByTarget.has(readback.key)) {
|
|
417
|
+
readbackByTarget.set(readback.key, readback);
|
|
122
418
|
}
|
|
123
419
|
});
|
|
124
420
|
const verifiedChecks = [];
|
|
@@ -128,7 +424,7 @@ export function verifyWorkbookReadbacks(checks, readbacks) {
|
|
|
128
424
|
issues.push(unexpectedReadback(readback));
|
|
129
425
|
}
|
|
130
426
|
});
|
|
131
|
-
|
|
427
|
+
checkValidation.value.forEach((check) => {
|
|
132
428
|
const result = verifyCheck(check, readbackByTarget);
|
|
133
429
|
verifiedChecks.push(result.check);
|
|
134
430
|
if (result.issue !== undefined) {
|
package/dist/readback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readback.js","sourceRoot":"","sources":["../src/readback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"readback.js","sourceRoot":"","sources":["../src/readback.ts"],"names":[],"mappings":"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"}
|
package/dist/result.d.ts
CHANGED
|
@@ -42,8 +42,8 @@ export interface WorkbookRunUnverified {
|
|
|
42
42
|
readonly kind: WorkbookRunUnverifiedKind;
|
|
43
43
|
readonly message: string;
|
|
44
44
|
}
|
|
45
|
-
export type WorkbookRunErrorCode = 'action_not_found' | 'invalid_action_input' | 'find_failed' | 'checks_failed' | 'action_failed' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'formula_input_not_labeled' | 'formula_label_not_resolved' | 'formula_label_not_used' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'check_expectation_input_not_labeled' | 'check_expectation_label_not_resolved' | 'check_expectation_label_not_used' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op' | 'adapter_missing_capability' | 'apply_not_verified' | 'apply_mismatch' | 'apply_failed' | 'readback_failed' | 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch' | 'invalid_check_verification' | 'check_verification_failed' | 'check_failed' | 'check_not_verified' | 'runtime_rejected';
|
|
46
|
-
export declare const workbookRunErrorCodes: readonly ("
|
|
45
|
+
export type WorkbookRunErrorCode = 'action_not_found' | 'invalid_action_input' | 'find_failed' | 'checks_failed' | 'action_failed' | 'ref_not_in_refs' | 'duplicate_ref' | 'command_target_not_resolved' | 'formula_input_not_resolved' | 'formula_input_not_labeled' | 'formula_label_not_resolved' | 'formula_label_not_used' | 'invalid_formula' | 'change_target_not_resolved' | 'check_status_not_planned' | 'check_target_not_resolved' | 'check_ref_not_resolved' | 'check_expectation_input_not_resolved' | 'check_expectation_input_not_labeled' | 'check_expectation_label_not_resolved' | 'check_expectation_label_not_used' | 'invalid_check_expectation_formula' | 'invalid_workbook_op' | 'op_target_mismatch' | 'missing_concrete_op' | 'missing_workbook_op' | 'adapter_missing_capability' | 'apply_not_verified' | 'apply_mismatch' | 'apply_failed' | 'readback_failed' | 'readback_invalid' | 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch' | 'invalid_check_verification' | 'check_verification_failed' | 'check_failed' | 'check_not_verified' | 'runtime_rejected';
|
|
46
|
+
export declare const workbookRunErrorCodes: readonly ("action_not_found" | "invalid_action_input" | "find_failed" | "checks_failed" | "action_failed" | "ref_not_in_refs" | "duplicate_ref" | "command_target_not_resolved" | "formula_input_not_resolved" | "formula_input_not_labeled" | "formula_label_not_resolved" | "formula_label_not_used" | "invalid_formula" | "change_target_not_resolved" | "check_status_not_planned" | "check_target_not_resolved" | "check_ref_not_resolved" | "check_expectation_input_not_resolved" | "check_expectation_input_not_labeled" | "check_expectation_label_not_resolved" | "check_expectation_label_not_used" | "invalid_check_expectation_formula" | "invalid_workbook_op" | "op_target_mismatch" | "missing_concrete_op" | "missing_workbook_op" | "adapter_missing_capability" | "apply_not_verified" | "apply_mismatch" | "apply_failed" | "readback_failed" | "readback_invalid" | "readback_missing" | "readback_unexpected" | "value_mismatch" | "formula_mismatch" | "invalid_check_verification" | "check_verification_failed" | "check_failed" | "check_not_verified" | "runtime_rejected")[];
|
|
47
47
|
export declare function isWorkbookRunErrorCode(value: unknown): value is WorkbookRunErrorCode;
|
|
48
48
|
export interface WorkbookRunError {
|
|
49
49
|
readonly code: WorkbookRunErrorCode;
|
package/dist/result.js
CHANGED
package/dist/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAkGA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,kBAAkB;IAClB,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,wBAAwB;IACxB,iBAAiB;IACjB,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,wBAAwB;IACxB,sCAAsC;IACtC,qCAAqC;IACrC,sCAAsC;IACtC,kCAAkC;IAClC,mCAAmC;IACnC,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,4BAA4B;IAC5B,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB;IAClB,4BAA4B;IAC5B,2BAA2B;IAC3B,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CACuB,CAAC,CAAA;AAE5C,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AAC1F,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type CellRangeRef, type LiteralInput } from '@bilig/protocol';
|
|
2
|
+
import type { WorkbookRowsRef, WorkbookTableRef } from './find.js';
|
|
3
|
+
export type WorkbookRowOperator = 'eq' | 'neq' | 'contains' | 'startsWith' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
4
|
+
export type WorkbookRowValueType = 'number' | 'string' | 'boolean' | 'null';
|
|
5
|
+
export declare const workbookRowOperators: readonly ["eq", "neq", "contains", "startsWith", "gt", "gte", "lt", "lte"];
|
|
6
|
+
export declare const workbookRowOperatorValueTypes: Readonly<{
|
|
7
|
+
readonly eq: readonly ("string" | "number" | "boolean" | "null")[];
|
|
8
|
+
readonly neq: readonly ("string" | "number" | "boolean" | "null")[];
|
|
9
|
+
readonly contains: readonly "string"[];
|
|
10
|
+
readonly startsWith: readonly "string"[];
|
|
11
|
+
readonly gt: readonly ("string" | "number")[];
|
|
12
|
+
readonly gte: readonly ("string" | "number")[];
|
|
13
|
+
readonly lt: readonly ("string" | "number")[];
|
|
14
|
+
readonly lte: readonly ("string" | "number")[];
|
|
15
|
+
}>;
|
|
16
|
+
export interface FindTableOptions {
|
|
17
|
+
readonly name?: string;
|
|
18
|
+
readonly sheetName?: string;
|
|
19
|
+
readonly headers?: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export interface FindColumnOptions {
|
|
22
|
+
readonly table: WorkbookTableRef;
|
|
23
|
+
readonly rows?: WorkbookRowsRef;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
}
|
|
26
|
+
export interface FindRowsOptions {
|
|
27
|
+
readonly sheetName?: string;
|
|
28
|
+
readonly table?: WorkbookTableRef;
|
|
29
|
+
readonly where: {
|
|
30
|
+
readonly column: string;
|
|
31
|
+
readonly op: WorkbookRowOperator;
|
|
32
|
+
readonly value: LiteralInput;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface FindRangeCellInput extends CellRangeRef {
|
|
36
|
+
}
|
|
37
|
+
export type FindRangeInput = FindRangeCellInput | {
|
|
38
|
+
readonly sheetName: string;
|
|
39
|
+
readonly address: string;
|
|
40
|
+
} | {
|
|
41
|
+
readonly sheetName: string;
|
|
42
|
+
readonly startAddress: string;
|
|
43
|
+
readonly endAddress?: string;
|
|
44
|
+
};
|
|
45
|
+
export interface NormalizedFindTableOptions {
|
|
46
|
+
readonly name?: string;
|
|
47
|
+
readonly sheetName?: string;
|
|
48
|
+
readonly headers?: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
export interface NormalizedFindColumnOptions {
|
|
51
|
+
readonly table: unknown;
|
|
52
|
+
readonly rows?: unknown;
|
|
53
|
+
readonly name: string;
|
|
54
|
+
}
|
|
55
|
+
export interface NormalizedFindRowsOptions {
|
|
56
|
+
readonly sheetName?: string;
|
|
57
|
+
readonly table?: unknown;
|
|
58
|
+
readonly where: {
|
|
59
|
+
readonly column: string;
|
|
60
|
+
readonly op: WorkbookRowOperator;
|
|
61
|
+
readonly value: LiteralInput;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export declare function cleanIdPart(value: string): string;
|
|
65
|
+
export declare function requiredSelectorText(value: unknown, field: string): string;
|
|
66
|
+
export declare function isWorkbookRowOperator(value: unknown): value is WorkbookRowOperator;
|
|
67
|
+
export declare function isWorkbookRowValueCompatible(op: WorkbookRowOperator, value: LiteralInput): boolean;
|
|
68
|
+
export declare function literalIdPart(value: LiteralInput): string;
|
|
69
|
+
export declare function literalLabel(value: LiteralInput): string;
|
|
70
|
+
export declare function normalizeRangeRef(input: FindRangeInput): CellRangeRef;
|
|
71
|
+
export declare function normalizeTableSelector(options: FindTableOptions): NormalizedFindTableOptions;
|
|
72
|
+
export declare function normalizeColumnSelector(options: FindColumnOptions): NormalizedFindColumnOptions;
|
|
73
|
+
export declare function normalizeRowsSelector(options: FindRowsOptions): NormalizedFindRowsOptions;
|