@bilig/workbook 0.86.1 → 0.90.4
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 +31 -18
- package/dist/command-bundle.js +6 -15
- package/dist/command-bundle.js.map +1 -1
- package/dist/command-ranges.js +11 -4
- package/dist/command-ranges.js.map +1 -1
- package/dist/command-receipt-ranges.d.ts +7 -0
- package/dist/command-receipt-ranges.js +64 -0
- package/dist/command-receipt-ranges.js.map +1 -0
- package/dist/command-result-undo.d.ts +2 -0
- package/dist/command-result-undo.js +148 -0
- package/dist/command-result-undo.js.map +1 -0
- package/dist/command-result.js +76 -154
- package/dist/command-result.js.map +1 -1
- package/dist/features.js +88 -63
- package/dist/features.js.map +1 -1
- package/dist/find.d.ts +16 -0
- package/dist/find.js +94 -12
- package/dist/find.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model.js +7 -7
- package/dist/model.js.map +1 -1
- package/dist/plan-data.js +15 -12
- package/dist/plan-data.js.map +1 -1
- package/dist/readback.js +1 -1
- package/dist/readback.js.map +1 -1
- package/dist/ref-data.d.ts +16 -0
- package/dist/ref-data.js +368 -0
- package/dist/ref-data.js.map +1 -0
- package/dist/requirements.js +1 -1
- package/dist/requirements.js.map +1 -1
- package/dist/result.d.ts +1 -1
- package/dist/run.js +1 -1
- package/dist/run.js.map +1 -1
- package/dist/verify.js +1 -1
- package/dist/verify.js.map +1 -1
- package/package.json +3 -3
package/dist/features.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { commandReceiptChangedRangeIssues, normalizeCommandReceiptChangedRanges } from './command-receipt-ranges.js';
|
|
1
2
|
import { isWorkbookOp } from './guards.js';
|
|
2
3
|
import { WorkbookActionInputError, isWorkbookActionInput, normalizeWorkbookActionInput } from './input.js';
|
|
3
4
|
export const workbookCommandCategories = Object.freeze([
|
|
@@ -88,6 +89,16 @@ function inputPath(basePath, error) {
|
|
|
88
89
|
function ownValue(value, key) {
|
|
89
90
|
return Object.getOwnPropertyDescriptor(value, key)?.value;
|
|
90
91
|
}
|
|
92
|
+
function ownAccessorKeys(value, keys) {
|
|
93
|
+
const accessors = [];
|
|
94
|
+
for (const key of keys) {
|
|
95
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
96
|
+
if (descriptor !== undefined && !('value' in descriptor)) {
|
|
97
|
+
accessors.push(key);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return accessors;
|
|
101
|
+
}
|
|
91
102
|
function arrayDataValues(value, guard) {
|
|
92
103
|
if (!Array.isArray(value)) {
|
|
93
104
|
return null;
|
|
@@ -164,11 +175,19 @@ export function checkWorkbookCommandRequest(value) {
|
|
|
164
175
|
});
|
|
165
176
|
}
|
|
166
177
|
const issues = [];
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
const accessorKeys = new Set(ownAccessorKeys(value, ['featureId', 'commandId', 'category', 'mode', 'input']));
|
|
179
|
+
accessorKeys.forEach((key) => {
|
|
180
|
+
issues.push(commandRequestIssue(key, `Workbook command request ${key} must be a data property`));
|
|
181
|
+
});
|
|
182
|
+
if (!accessorKeys.has('featureId')) {
|
|
183
|
+
pushRequiredCommandRequestStringIssue(issues, value, 'featureId', 'feature id');
|
|
184
|
+
}
|
|
185
|
+
if (!accessorKeys.has('commandId')) {
|
|
186
|
+
pushRequiredCommandRequestStringIssue(issues, value, 'commandId', 'command id');
|
|
187
|
+
}
|
|
188
|
+
const category = accessorKeys.has('category') ? undefined : ownValue(value, 'category');
|
|
189
|
+
const mode = accessorKeys.has('mode') ? undefined : ownValue(value, 'mode');
|
|
190
|
+
const input = accessorKeys.has('input') ? undefined : ownValue(value, 'input');
|
|
172
191
|
if (category !== undefined && !isWorkbookCommandCategory(category)) {
|
|
173
192
|
issues.push(commandRequestIssue('category', 'Workbook command request category is invalid'));
|
|
174
193
|
}
|
|
@@ -284,25 +303,9 @@ function pushCommandReceiptChangedRangesIssues(issues, value) {
|
|
|
284
303
|
if (value === undefined) {
|
|
285
304
|
return;
|
|
286
305
|
}
|
|
287
|
-
|
|
288
|
-
issues.push(commandReceiptIssue(
|
|
289
|
-
|
|
290
|
-
}
|
|
291
|
-
const accessorPath = firstAccessorPath(value, 'changedRanges');
|
|
292
|
-
if (accessorPath !== null) {
|
|
293
|
-
issues.push(commandReceiptIssue(accessorPath, 'Workbook command receipt changed ranges must contain only data properties'));
|
|
294
|
-
return;
|
|
295
|
-
}
|
|
296
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
297
|
-
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
298
|
-
if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
|
|
299
|
-
issues.push(commandReceiptIssue(`changedRanges[${index}]`, 'Workbook command receipt changed ranges must contain only data properties'));
|
|
300
|
-
continue;
|
|
301
|
-
}
|
|
302
|
-
if (!isCellRangeRefData(descriptor.value)) {
|
|
303
|
-
issues.push(commandReceiptIssue(`changedRanges[${index}]`, 'Workbook command receipt changed range is invalid'));
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
+
commandReceiptChangedRangeIssues(value).forEach((issue) => {
|
|
307
|
+
issues.push(commandReceiptIssue(issue.path, issue.message));
|
|
308
|
+
});
|
|
306
309
|
}
|
|
307
310
|
function pushCommandReceiptUndoIssues(issues, value) {
|
|
308
311
|
if (value === undefined) {
|
|
@@ -312,12 +315,20 @@ function pushCommandReceiptUndoIssues(issues, value) {
|
|
|
312
315
|
issues.push(commandReceiptIssue('undo', 'Workbook command receipt undo must be an object'));
|
|
313
316
|
return;
|
|
314
317
|
}
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
318
|
+
const accessorKeys = new Set(ownAccessorKeys(value, ['id', 'ops']));
|
|
319
|
+
accessorKeys.forEach((key) => {
|
|
320
|
+
issues.push(commandReceiptIssue(`undo.${key}`, `Workbook command receipt undo ${key} must be a data property`));
|
|
321
|
+
});
|
|
322
|
+
if (!accessorKeys.has('id')) {
|
|
323
|
+
const id = ownValue(value, 'id');
|
|
324
|
+
pushOptionalCommandReceiptStringIssue(issues, id, 'undo.id', 'undo id');
|
|
325
|
+
if (id === undefined) {
|
|
326
|
+
issues.push(commandReceiptIssue('undo.id', 'Workbook command receipt undo id must be a string'));
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
if (!accessorKeys.has('ops')) {
|
|
330
|
+
pushCommandReceiptOpsIssues(issues, ownValue(value, 'ops'), 'undo.ops', 'undo');
|
|
319
331
|
}
|
|
320
|
-
pushCommandReceiptOpsIssues(issues, ownValue(value, 'ops'), 'undo.ops', 'undo');
|
|
321
332
|
}
|
|
322
333
|
function pushCommandReceiptErrorsIssues(issues, value) {
|
|
323
334
|
if (value === undefined) {
|
|
@@ -342,7 +353,16 @@ function pushCommandReceiptErrorsIssues(issues, value) {
|
|
|
342
353
|
}
|
|
343
354
|
}
|
|
344
355
|
function dataArrayLength(value) {
|
|
345
|
-
|
|
356
|
+
if (!Array.isArray(value)) {
|
|
357
|
+
return null;
|
|
358
|
+
}
|
|
359
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
360
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
361
|
+
if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
|
|
362
|
+
return null;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return value.length;
|
|
346
366
|
}
|
|
347
367
|
function pushCommandReceiptStatusInvariantIssues(issues, value) {
|
|
348
368
|
const status = ownValue(value, 'status');
|
|
@@ -428,6 +448,9 @@ function normalizeReceiptUndo(value) {
|
|
|
428
448
|
if (!isRecord(value)) {
|
|
429
449
|
return undefined;
|
|
430
450
|
}
|
|
451
|
+
if (ownAccessorKeys(value, ['id', 'ops']).length > 0) {
|
|
452
|
+
return undefined;
|
|
453
|
+
}
|
|
431
454
|
const id = ownValue(value, 'id');
|
|
432
455
|
if (typeof id !== 'string') {
|
|
433
456
|
return undefined;
|
|
@@ -470,7 +493,7 @@ function normalizedCommandReceipt(value) {
|
|
|
470
493
|
const errors = ownValue(value, 'errors');
|
|
471
494
|
if ((previewOps !== undefined && !isEngineOpArray(previewOps)) ||
|
|
472
495
|
(appliedOps !== undefined && !isEngineOpArray(appliedOps)) ||
|
|
473
|
-
(changedRanges !== undefined &&
|
|
496
|
+
(changedRanges !== undefined && normalizeCommandReceiptChangedRanges(changedRanges) === null) ||
|
|
474
497
|
(proof !== undefined && !isWorkbookActionInput(proof)) ||
|
|
475
498
|
(metadata !== undefined && !isWorkbookActionInput(metadata)) ||
|
|
476
499
|
(message !== undefined && typeof message !== 'string') ||
|
|
@@ -495,7 +518,7 @@ function normalizedCommandReceipt(value) {
|
|
|
495
518
|
...(normalizedUndo !== undefined ? { undo: normalizedUndo } : {}),
|
|
496
519
|
...(changedRanges !== undefined
|
|
497
520
|
? {
|
|
498
|
-
changedRanges:
|
|
521
|
+
changedRanges: normalizeCommandReceiptChangedRanges(changedRanges),
|
|
499
522
|
}
|
|
500
523
|
: {}),
|
|
501
524
|
...(proof !== undefined ? { proof: normalizeWorkbookActionInput(proof) } : {}),
|
|
@@ -516,22 +539,43 @@ export function checkWorkbookCommandReceipt(value) {
|
|
|
516
539
|
});
|
|
517
540
|
}
|
|
518
541
|
const issues = [];
|
|
519
|
-
|
|
542
|
+
const accessorKeys = new Set(ownAccessorKeys(value, [
|
|
543
|
+
'status',
|
|
544
|
+
'featureId',
|
|
545
|
+
'commandId',
|
|
546
|
+
'category',
|
|
547
|
+
'previewOps',
|
|
548
|
+
'appliedOps',
|
|
549
|
+
'undo',
|
|
550
|
+
'changedRanges',
|
|
551
|
+
'proof',
|
|
552
|
+
'message',
|
|
553
|
+
'metadata',
|
|
554
|
+
'errors',
|
|
555
|
+
]));
|
|
556
|
+
accessorKeys.forEach((key) => {
|
|
557
|
+
issues.push(commandReceiptIssue(key, `Workbook command receipt ${key} must be a data property`));
|
|
558
|
+
});
|
|
559
|
+
if (!accessorKeys.has('status') && !isWorkbookCommandReceiptStatus(ownValue(value, 'status'))) {
|
|
520
560
|
issues.push(commandReceiptIssue('status', 'Workbook command receipt status is invalid'));
|
|
521
561
|
}
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
562
|
+
if (!accessorKeys.has('featureId')) {
|
|
563
|
+
pushRequiredCommandReceiptStringIssue(issues, value, 'featureId', 'feature id');
|
|
564
|
+
}
|
|
565
|
+
if (!accessorKeys.has('commandId')) {
|
|
566
|
+
pushRequiredCommandReceiptStringIssue(issues, value, 'commandId', 'command id');
|
|
567
|
+
}
|
|
568
|
+
if (!accessorKeys.has('category') && !isWorkbookCommandCategory(ownValue(value, 'category'))) {
|
|
525
569
|
issues.push(commandReceiptIssue('category', 'Workbook command receipt category is invalid'));
|
|
526
570
|
}
|
|
527
|
-
pushCommandReceiptOpsIssues(issues, ownValue(value, 'previewOps'), 'previewOps', 'preview');
|
|
528
|
-
pushCommandReceiptOpsIssues(issues, ownValue(value, 'appliedOps'), 'appliedOps', 'applied');
|
|
529
|
-
pushCommandReceiptUndoIssues(issues, ownValue(value, 'undo'));
|
|
530
|
-
pushCommandReceiptChangedRangesIssues(issues, ownValue(value, 'changedRanges'));
|
|
531
|
-
pushCommandReceiptInputIssue(issues, ownValue(value, 'proof'), 'proof', 'proof');
|
|
532
|
-
pushOptionalCommandReceiptStringIssue(issues, ownValue(value, 'message'), 'message', 'message');
|
|
533
|
-
pushCommandReceiptInputIssue(issues, ownValue(value, 'metadata'), 'metadata', 'metadata');
|
|
534
|
-
pushCommandReceiptErrorsIssues(issues, ownValue(value, 'errors'));
|
|
571
|
+
pushCommandReceiptOpsIssues(issues, accessorKeys.has('previewOps') ? undefined : ownValue(value, 'previewOps'), 'previewOps', 'preview');
|
|
572
|
+
pushCommandReceiptOpsIssues(issues, accessorKeys.has('appliedOps') ? undefined : ownValue(value, 'appliedOps'), 'appliedOps', 'applied');
|
|
573
|
+
pushCommandReceiptUndoIssues(issues, accessorKeys.has('undo') ? undefined : ownValue(value, 'undo'));
|
|
574
|
+
pushCommandReceiptChangedRangesIssues(issues, accessorKeys.has('changedRanges') ? undefined : ownValue(value, 'changedRanges'));
|
|
575
|
+
pushCommandReceiptInputIssue(issues, accessorKeys.has('proof') ? undefined : ownValue(value, 'proof'), 'proof', 'proof');
|
|
576
|
+
pushOptionalCommandReceiptStringIssue(issues, accessorKeys.has('message') ? undefined : ownValue(value, 'message'), 'message', 'message');
|
|
577
|
+
pushCommandReceiptInputIssue(issues, accessorKeys.has('metadata') ? undefined : ownValue(value, 'metadata'), 'metadata', 'metadata');
|
|
578
|
+
pushCommandReceiptErrorsIssues(issues, accessorKeys.has('errors') ? undefined : ownValue(value, 'errors'));
|
|
535
579
|
if (issues.length === 0) {
|
|
536
580
|
pushCommandReceiptStatusInvariantIssues(issues, value);
|
|
537
581
|
}
|
|
@@ -585,21 +629,9 @@ function normalizeReceiptOp(commandId, op, label) {
|
|
|
585
629
|
}
|
|
586
630
|
return deepFreezeOpClone(op);
|
|
587
631
|
}
|
|
588
|
-
function normalizeReceiptRange(commandId, range) {
|
|
589
|
-
if (!isCellRangeRefData(range)) {
|
|
590
|
-
throw new Error(`Workbook command receipt ${commandId} changed range is invalid`);
|
|
591
|
-
}
|
|
592
|
-
return deepFreezeRangeClone(commandId, range);
|
|
593
|
-
}
|
|
594
632
|
function isEngineOpArray(value) {
|
|
595
633
|
return arrayDataValues(value, isWorkbookOp) !== null;
|
|
596
634
|
}
|
|
597
|
-
function isCellRangeRefData(value) {
|
|
598
|
-
return (isRecord(value) &&
|
|
599
|
-
typeof ownValue(value, 'sheetName') === 'string' &&
|
|
600
|
-
typeof ownValue(value, 'startAddress') === 'string' &&
|
|
601
|
-
typeof ownValue(value, 'endAddress') === 'string');
|
|
602
|
-
}
|
|
603
635
|
function isString(value) {
|
|
604
636
|
return typeof value === 'string';
|
|
605
637
|
}
|
|
@@ -640,13 +672,6 @@ function deepFreezeOpClone(value) {
|
|
|
640
672
|
}
|
|
641
673
|
return deepFreeze(cloned, new WeakSet());
|
|
642
674
|
}
|
|
643
|
-
function deepFreezeRangeClone(commandId, value) {
|
|
644
|
-
const cloned = cloneData(value);
|
|
645
|
-
if (!isCellRangeRefData(cloned)) {
|
|
646
|
-
throw new Error(`Workbook command receipt ${commandId} changed range clone is invalid`);
|
|
647
|
-
}
|
|
648
|
-
return deepFreeze(cloned, new WeakSet());
|
|
649
|
-
}
|
|
650
675
|
function deepFreeze(value, seen) {
|
|
651
676
|
if (typeof value !== 'object' || value === null) {
|
|
652
677
|
return value;
|
package/dist/features.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
|
package/dist/find.d.ts
CHANGED
|
@@ -41,6 +41,21 @@ export interface WorkbookRowsRef extends WorkbookBaseRef {
|
|
|
41
41
|
readonly column: (name: string) => WorkbookColumnRef;
|
|
42
42
|
}
|
|
43
43
|
export type WorkbookRef = WorkbookRangeRef | WorkbookNameRef | WorkbookTableRef | WorkbookColumnRef | WorkbookRowsRef;
|
|
44
|
+
export type WorkbookRefIssueCode = 'invalid_type' | 'missing_field' | 'invalid_field';
|
|
45
|
+
export interface WorkbookRefIssue {
|
|
46
|
+
readonly code: WorkbookRefIssueCode;
|
|
47
|
+
readonly path: string;
|
|
48
|
+
readonly message: string;
|
|
49
|
+
}
|
|
50
|
+
export type WorkbookRefCheckResult = {
|
|
51
|
+
readonly status: 'valid';
|
|
52
|
+
readonly ref: WorkbookRef;
|
|
53
|
+
readonly data: WorkbookRefData;
|
|
54
|
+
readonly issues: readonly [];
|
|
55
|
+
} | {
|
|
56
|
+
readonly status: 'invalid';
|
|
57
|
+
readonly issues: readonly WorkbookRefIssue[];
|
|
58
|
+
};
|
|
44
59
|
export interface WorkbookBaseRefData {
|
|
45
60
|
readonly kind: WorkbookRefKind;
|
|
46
61
|
readonly id: string;
|
|
@@ -79,6 +94,7 @@ export interface WorkbookRowsRefData extends WorkbookBaseRefData {
|
|
|
79
94
|
export type WorkbookRefData = WorkbookRangeRefData | WorkbookNameRefData | WorkbookTableRefData | WorkbookColumnRefData | WorkbookRowsRefData;
|
|
80
95
|
export declare const workbookRefKinds: readonly ["range", "name", "table", "column", "rows"];
|
|
81
96
|
export declare function isWorkbookRefKind(value: unknown): value is WorkbookRefKind;
|
|
97
|
+
export declare function checkWorkbookRef(value: unknown): WorkbookRefCheckResult;
|
|
82
98
|
export declare function isWorkbookRef(value: unknown): value is WorkbookRef;
|
|
83
99
|
export declare function isWorkbookRefData(value: unknown): value is WorkbookRefData;
|
|
84
100
|
export declare function collectWorkbookRefs(value: unknown): readonly WorkbookRef[];
|
package/dist/find.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isLiteralInput } from '@bilig/protocol';
|
|
2
2
|
import { cleanIdPart, literalIdPart, literalLabel, normalizeColumnSelector, normalizeRangeRef, normalizeRowsSelector, normalizeTableSelector, requiredSelectorText, isWorkbookRowOperator, isWorkbookRowValueCompatible, } from './selectors.js';
|
|
3
|
+
import { checkWorkbookRefData } from './ref-data.js';
|
|
3
4
|
export { isWorkbookRowOperator, isWorkbookRowValueCompatible, normalizeRangeRef, workbookRowOperators, workbookRowOperatorValueTypes, } from './selectors.js';
|
|
4
5
|
function hasOwnString(value, key) {
|
|
5
6
|
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
@@ -9,6 +10,32 @@ function hasOwnFunction(value, key) {
|
|
|
9
10
|
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
10
11
|
return descriptor !== undefined && typeof descriptor.value === 'function';
|
|
11
12
|
}
|
|
13
|
+
function workbookRefIssue(code, path, message) {
|
|
14
|
+
return Object.freeze({
|
|
15
|
+
code,
|
|
16
|
+
path,
|
|
17
|
+
message,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function ownDataValue(value, key) {
|
|
21
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
22
|
+
return descriptor !== undefined && descriptor.enumerable && 'value' in descriptor ? descriptor.value : undefined;
|
|
23
|
+
}
|
|
24
|
+
function pushRequiredLiveHelperIssue(issues, value, path, key) {
|
|
25
|
+
const fieldPath = `${path}.${key}`;
|
|
26
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
27
|
+
if (descriptor === undefined) {
|
|
28
|
+
issues.push(workbookRefIssue('missing_field', fieldPath, `Workbook ref ${fieldPath} is required`));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!('value' in descriptor)) {
|
|
32
|
+
issues.push(workbookRefIssue('invalid_field', fieldPath, `Workbook ref ${fieldPath} must be a data property`));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (typeof descriptor.value !== 'function') {
|
|
36
|
+
issues.push(workbookRefIssue('invalid_field', fieldPath, `Workbook ref ${fieldPath} must be a function`));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
12
39
|
export const workbookRefKinds = Object.freeze(['range', 'name', 'table', 'column', 'rows']);
|
|
13
40
|
const WORKBOOK_REF_KIND_SET = new Set(workbookRefKinds);
|
|
14
41
|
export function isWorkbookRefKind(value) {
|
|
@@ -142,7 +169,7 @@ function isWorkbookColumnRefData(value) {
|
|
|
142
169
|
const rows = Object.getOwnPropertyDescriptor(value, 'rows')?.value;
|
|
143
170
|
return isWorkbookTableRefData(table) && (rows === undefined || isWorkbookRowsRefData(rows));
|
|
144
171
|
}
|
|
145
|
-
|
|
172
|
+
function isWorkbookRefCore(value) {
|
|
146
173
|
if (typeof value !== 'object' || value === null || !hasValidBaseRef(value)) {
|
|
147
174
|
return false;
|
|
148
175
|
}
|
|
@@ -159,22 +186,77 @@ export function isWorkbookRef(value) {
|
|
|
159
186
|
return isWorkbookRowsRef(value);
|
|
160
187
|
}
|
|
161
188
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
189
|
+
function pushLiveRefIssues(issues, value, path) {
|
|
190
|
+
const dataCheck = checkWorkbookRefData(value);
|
|
191
|
+
if (dataCheck.status !== 'valid') {
|
|
192
|
+
dataCheck.issues.forEach((issue) => {
|
|
193
|
+
issues.push(workbookRefIssue(issue.code, issue.path, issue.message));
|
|
194
|
+
});
|
|
195
|
+
return;
|
|
165
196
|
}
|
|
166
|
-
|
|
197
|
+
if (typeof value !== 'object' || value === null) {
|
|
198
|
+
issues.push(workbookRefIssue('invalid_type', path, `Workbook ref ${path} must be an object`));
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
switch (dataCheck.ref.kind) {
|
|
167
202
|
case 'range':
|
|
168
|
-
return isCellRangeRef(Object.getOwnPropertyDescriptor(value, 'range')?.value);
|
|
169
203
|
case 'name':
|
|
170
|
-
return
|
|
204
|
+
return;
|
|
171
205
|
case 'table':
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
206
|
+
pushRequiredLiveHelperIssue(issues, value, path, 'column');
|
|
207
|
+
return;
|
|
208
|
+
case 'rows': {
|
|
209
|
+
pushRequiredLiveHelperIssue(issues, value, path, 'column');
|
|
210
|
+
const table = ownDataValue(value, 'table');
|
|
211
|
+
if (table !== undefined) {
|
|
212
|
+
pushLiveRefIssues(issues, table, `${path}.table`);
|
|
213
|
+
}
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
case 'column': {
|
|
217
|
+
pushLiveRefIssues(issues, ownDataValue(value, 'table'), `${path}.table`);
|
|
218
|
+
const rows = ownDataValue(value, 'rows');
|
|
219
|
+
if (rows !== undefined) {
|
|
220
|
+
pushLiveRefIssues(issues, rows, `${path}.rows`);
|
|
221
|
+
}
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export function checkWorkbookRef(value) {
|
|
227
|
+
const dataCheck = checkWorkbookRefData(value);
|
|
228
|
+
if (dataCheck.status !== 'valid') {
|
|
229
|
+
return Object.freeze({
|
|
230
|
+
status: 'invalid',
|
|
231
|
+
issues: Object.freeze(dataCheck.issues.map((issue) => workbookRefIssue(issue.code, issue.path, issue.message))),
|
|
232
|
+
});
|
|
177
233
|
}
|
|
234
|
+
const issues = [];
|
|
235
|
+
pushLiveRefIssues(issues, value, 'ref');
|
|
236
|
+
if (issues.length > 0) {
|
|
237
|
+
return Object.freeze({
|
|
238
|
+
status: 'invalid',
|
|
239
|
+
issues: Object.freeze(issues),
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
if (!isWorkbookRefCore(value)) {
|
|
243
|
+
return Object.freeze({
|
|
244
|
+
status: 'invalid',
|
|
245
|
+
issues: Object.freeze([workbookRefIssue('invalid_field', 'ref', 'Workbook ref is invalid')]),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
return Object.freeze({
|
|
249
|
+
status: 'valid',
|
|
250
|
+
ref: value,
|
|
251
|
+
data: dataCheck.ref,
|
|
252
|
+
issues: Object.freeze([]),
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
export function isWorkbookRef(value) {
|
|
256
|
+
return checkWorkbookRef(value).status === 'valid';
|
|
257
|
+
}
|
|
258
|
+
export function isWorkbookRefData(value) {
|
|
259
|
+
return checkWorkbookRefData(value).status === 'valid';
|
|
178
260
|
}
|
|
179
261
|
export function collectWorkbookRefs(value) {
|
|
180
262
|
const refs = [];
|