@bilig/workbook 0.90.0 → 0.90.5

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.
@@ -1,12 +1,22 @@
1
1
  import { commandRangeBounds, commandRangeContains, commandRangeLabel, normalizeCommandRange } from './command-ranges.js';
2
+ import { normalizeCommandResultUndoRef } from './command-result-undo.js';
2
3
  import { checkWorkbookCommandReceipt, normalizeWorkbookCommandReceipt, workbookCommandReceiptOpsMatch, workbookCommandReceiptStatuses, } from './features.js';
3
- import { isWorkbookOp } from './guards.js';
4
4
  export const workbookCommandResultStatuses = Object.freeze([
5
5
  'accepted',
6
6
  ...workbookCommandReceiptStatuses,
7
7
  ]);
8
8
  const WORKBOOK_COMMAND_RESULT_STATUS_SET = new Set(workbookCommandResultStatuses);
9
9
  const acceptedResultSettledFields = Object.freeze(['receipts', 'matched', 'changedRanges', 'revision', 'undo', 'errors']);
10
+ const commandResultDataFields = Object.freeze([
11
+ 'status',
12
+ 'bundleId',
13
+ 'targetRevision',
14
+ 'idempotencyKey',
15
+ 'commandCount',
16
+ 'touchedRanges',
17
+ 'touchedCellCount',
18
+ ...acceptedResultSettledFields,
19
+ ]);
10
20
  export const workbookOpCommandFeatureId = 'workbook-op';
11
21
  export function isWorkbookCommandResultStatus(value) {
12
22
  return typeof value === 'string' && WORKBOOK_COMMAND_RESULT_STATUS_SET.has(value);
@@ -45,7 +55,7 @@ export function workbookCommandResultForReceipts(bundle, receipts, options = {})
45
55
  if (revision !== undefined && !isSafeNonNegativeInteger(revision)) {
46
56
  throw new Error('Workbook command result is invalid: revision must be a safe non-negative integer');
47
57
  }
48
- const undo = options.undo === undefined ? undefined : normalizeUndoRef(options.undo, 'undo');
58
+ const undo = options.undo === undefined ? undefined : normalizeCommandResultUndoRef(options.undo, 'undo');
49
59
  const changedRanges = normalizedReceipts.flatMap((receipt) => [...(receipt.changedRanges ?? [])]);
50
60
  const errors = commandResultErrorsForReceipts(normalizedReceipts);
51
61
  return normalizeWorkbookCommandResult({
@@ -83,37 +93,69 @@ export function checkWorkbookCommandResult(value) {
83
93
  });
84
94
  }
85
95
  const issues = [];
86
- const status = ownValue(value, 'status');
96
+ const accessorKeys = new Set(ownAccessorKeys(value, commandResultDataFields));
97
+ accessorKeys.forEach((key) => {
98
+ issues.push(commandResultIssue('invalid_command_result', key, `Workbook command result ${key} must be a data property`));
99
+ });
100
+ const status = accessorKeys.has('status') ? undefined : ownValue(value, 'status');
87
101
  if (!isWorkbookCommandResultStatus(status)) {
88
102
  issues.push(commandResultIssue('invalid_command_result', 'status', 'Workbook command result status is invalid'));
89
103
  }
90
- pushResultOptionalStringIssue(issues, ownValue(value, 'bundleId'), 'bundleId', 'bundle id');
91
- pushResultSafeIntegerIssue(issues, ownValue(value, 'targetRevision'), 'targetRevision', 'target revision', true);
92
- pushResultRequiredStringIssue(issues, ownValue(value, 'idempotencyKey'), 'idempotencyKey', 'idempotency key');
93
- pushResultSafeIntegerIssue(issues, ownValue(value, 'commandCount'), 'commandCount', 'command count', true);
94
- pushResultRangesIssues(issues, ownValue(value, 'touchedRanges'), 'touchedRanges', 'touched ranges');
95
- pushResultSafeIntegerIssue(issues, ownValue(value, 'touchedCellCount'), 'touchedCellCount', 'touched cell count', true);
104
+ if (!accessorKeys.has('bundleId')) {
105
+ pushResultOptionalStringIssue(issues, ownValue(value, 'bundleId'), 'bundleId', 'bundle id');
106
+ }
107
+ if (!accessorKeys.has('targetRevision')) {
108
+ pushResultSafeIntegerIssue(issues, ownValue(value, 'targetRevision'), 'targetRevision', 'target revision', true);
109
+ }
110
+ if (!accessorKeys.has('idempotencyKey')) {
111
+ pushResultRequiredStringIssue(issues, ownValue(value, 'idempotencyKey'), 'idempotencyKey', 'idempotency key');
112
+ }
113
+ if (!accessorKeys.has('commandCount')) {
114
+ pushResultSafeIntegerIssue(issues, ownValue(value, 'commandCount'), 'commandCount', 'command count', true);
115
+ }
116
+ if (!accessorKeys.has('touchedRanges')) {
117
+ pushResultRangesIssues(issues, ownValue(value, 'touchedRanges'), 'touchedRanges', 'touched ranges');
118
+ }
119
+ if (!accessorKeys.has('touchedCellCount')) {
120
+ pushResultSafeIntegerIssue(issues, ownValue(value, 'touchedCellCount'), 'touchedCellCount', 'touched cell count', true);
121
+ }
96
122
  if (status === 'accepted') {
97
123
  pushAcceptedResultSettledFieldIssues(issues, value);
98
124
  }
99
125
  else if (isWorkbookCommandResultStatus(status)) {
100
- pushResultSafeIntegerIssue(issues, ownValue(value, 'revision'), 'revision', 'revision', false);
101
- pushResultReceiptsIssues(issues, ownValue(value, 'receipts'));
102
- const matched = ownValue(value, 'matched');
103
- if (matched !== null && typeof matched !== 'boolean') {
104
- issues.push(commandResultIssue('invalid_command_result', 'matched', 'Workbook command result matched must be boolean or null'));
105
- }
106
- pushResultRangesIssues(issues, ownValue(value, 'changedRanges'), 'changedRanges', 'changed ranges');
107
- const undo = ownValue(value, 'undo');
108
- if (undo !== undefined) {
109
- try {
110
- normalizeUndoRef(undo, 'undo');
126
+ if (!accessorKeys.has('revision')) {
127
+ pushResultSafeIntegerIssue(issues, ownValue(value, 'revision'), 'revision', 'revision', false);
128
+ }
129
+ if (!accessorKeys.has('receipts')) {
130
+ pushResultReceiptsIssues(issues, ownValue(value, 'receipts'));
131
+ }
132
+ if (!accessorKeys.has('matched')) {
133
+ const matched = ownValue(value, 'matched');
134
+ if (matched !== null && typeof matched !== 'boolean') {
135
+ issues.push(commandResultIssue('invalid_command_result', 'matched', 'Workbook command result matched must be boolean or null'));
111
136
  }
112
- catch (error) {
113
- issues.push(commandResultIssue('invalid_undo', 'undo', errorMessage(error)));
137
+ }
138
+ if (!accessorKeys.has('changedRanges')) {
139
+ pushResultRangesIssues(issues, ownValue(value, 'changedRanges'), 'changedRanges', 'changed ranges');
140
+ }
141
+ const undo = accessorKeys.has('undo') ? undefined : ownValue(value, 'undo');
142
+ if (!accessorKeys.has('undo') && undo !== undefined) {
143
+ const undoAccessorKeys = isRecord(undo) ? ownAccessorKeys(undo, ['id', 'ops']) : [];
144
+ undoAccessorKeys.forEach((key) => {
145
+ issues.push(commandResultIssue('invalid_undo', `undo.${key}`, `Workbook command result undo.${key} must be a data property`));
146
+ });
147
+ if (undoAccessorKeys.length === 0) {
148
+ try {
149
+ normalizeCommandResultUndoRef(undo, 'undo');
150
+ }
151
+ catch (error) {
152
+ issues.push(commandResultIssue('invalid_undo', 'undo', errorMessage(error)));
153
+ }
114
154
  }
115
155
  }
116
- pushResultErrorsIssues(issues, ownValue(value, 'errors'));
156
+ if (!accessorKeys.has('errors')) {
157
+ pushResultErrorsIssues(issues, ownValue(value, 'errors'));
158
+ }
117
159
  }
118
160
  if (issues.length > 0) {
119
161
  return Object.freeze({
@@ -545,7 +587,7 @@ function normalizeWorkbookCommandResultData(value) {
545
587
  receipts: Object.freeze(normalizeResultReceipts(ownValue(value, 'receipts'))),
546
588
  matched: matched === true ? true : matched === false ? false : null,
547
589
  changedRanges: Object.freeze(normalizeResultRanges(ownValue(value, 'changedRanges'), 'changedRanges')),
548
- ...(undo !== undefined ? { undo: normalizeUndoRef(undo, 'undo') } : {}),
590
+ ...(undo !== undefined ? { undo: normalizeCommandResultUndoRef(undo, 'undo') } : {}),
549
591
  ...(Array.isArray(errors) ? { errors: Object.freeze(normalizeResultErrors(errors)) } : {}),
550
592
  });
551
593
  }
@@ -569,50 +611,6 @@ function normalizeResultErrors(errors) {
569
611
  return normalizeExactString(entry, `errors[${String(index)}]`);
570
612
  });
571
613
  }
572
- function normalizeUndoRef(value, path) {
573
- if (!isRecord(value)) {
574
- throw new Error(`Workbook command result ${path} must be an object`);
575
- }
576
- const id = ownValue(value, 'id');
577
- if (typeof id !== 'string') {
578
- throw new Error(`Workbook command result ${path}.id must be a string`);
579
- }
580
- const ops = ownValue(value, 'ops');
581
- if (ops !== undefined && !Array.isArray(ops)) {
582
- throw new Error(`Workbook command result ${path}.ops must be an array`);
583
- }
584
- if (Array.isArray(ops)) {
585
- const accessorPath = firstAccessorPath(ops, `${path}.ops`);
586
- if (accessorPath !== null) {
587
- throw new Error(`Workbook command result ${accessorPath} must contain only data properties`);
588
- }
589
- const normalizedOps = [];
590
- for (let index = 0; index < ops.length; index += 1) {
591
- const op = arrayDataValue(ops, index);
592
- if (op === undefined) {
593
- throw new Error(`Workbook command result ${path}.ops[${String(index)}] must contain only data properties`);
594
- }
595
- normalizedOps.push(normalizeOp(op));
596
- }
597
- return Object.freeze({
598
- id: normalizeExactString(id, `${path}.id`),
599
- ops: Object.freeze(normalizedOps),
600
- });
601
- }
602
- return Object.freeze({
603
- id: normalizeExactString(id, `${path}.id`),
604
- });
605
- }
606
- function normalizeOp(value) {
607
- if (!isWorkbookOp(value)) {
608
- throw new Error('Workbook command result op is invalid');
609
- }
610
- const cloned = cloneData(value);
611
- if (!isWorkbookOp(cloned)) {
612
- throw new Error('Workbook command result op clone is invalid');
613
- }
614
- return freezeData(cloned);
615
- }
616
614
  function normalizeExactString(value, path) {
617
615
  const normalized = value.trim();
618
616
  if (normalized === '') {
@@ -630,6 +628,16 @@ function arrayDataValue(value, index) {
630
628
  function ownValue(value, key) {
631
629
  return Object.getOwnPropertyDescriptor(value, key)?.value;
632
630
  }
631
+ function ownAccessorKeys(value, keys) {
632
+ const accessors = [];
633
+ for (const key of keys) {
634
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
635
+ if (descriptor !== undefined && !('value' in descriptor)) {
636
+ accessors.push(key);
637
+ }
638
+ }
639
+ return accessors;
640
+ }
633
641
  function isRecord(value) {
634
642
  return typeof value === 'object' && value !== null && !Array.isArray(value);
635
643
  }
@@ -639,72 +647,4 @@ function isSafeNonNegativeInteger(value) {
639
647
  function errorMessage(error) {
640
648
  return error instanceof Error ? error.message : String(error);
641
649
  }
642
- function firstAccessorPath(value, path, seen = new WeakSet()) {
643
- if (typeof value !== 'object' || value === null) {
644
- return null;
645
- }
646
- if (seen.has(value)) {
647
- return null;
648
- }
649
- seen.add(value);
650
- for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(value))) {
651
- const childPath = Array.isArray(value) && /^\d+$/.test(key) ? `${path}[${key}]` : `${path}.${key}`;
652
- if (!('value' in descriptor)) {
653
- return childPath;
654
- }
655
- const nestedPath = firstAccessorPath(descriptor.value, childPath, seen);
656
- if (nestedPath !== null) {
657
- return nestedPath;
658
- }
659
- }
660
- return null;
661
- }
662
- function freezeData(value, seen = new WeakSet()) {
663
- if (typeof value !== 'object' || value === null) {
664
- return value;
665
- }
666
- if (seen.has(value)) {
667
- return value;
668
- }
669
- seen.add(value);
670
- Object.values(Object.getOwnPropertyDescriptors(value)).forEach((descriptor) => {
671
- if ('value' in descriptor) {
672
- freezeData(descriptor.value, seen);
673
- }
674
- });
675
- return Object.freeze(value);
676
- }
677
- function cloneData(value, seen = new WeakMap()) {
678
- if (typeof value !== 'object' || value === null) {
679
- return value;
680
- }
681
- const existing = seen.get(value);
682
- if (existing !== undefined) {
683
- return existing;
684
- }
685
- if (Array.isArray(value)) {
686
- const cloned = [];
687
- seen.set(value, cloned);
688
- for (let index = 0; index < value.length; index += 1) {
689
- const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
690
- if (descriptor !== undefined && descriptor.enumerable && 'value' in descriptor) {
691
- cloned[index] = cloneData(descriptor.value, seen);
692
- }
693
- }
694
- return cloned;
695
- }
696
- const cloned = Object.create(Object.getPrototypeOf(value));
697
- seen.set(value, cloned);
698
- Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
699
- if (descriptor.enumerable && 'value' in descriptor) {
700
- Object.defineProperty(cloned, key, {
701
- configurable: true,
702
- enumerable: true,
703
- value: cloneData(descriptor.value, seen),
704
- writable: true,
705
- });
706
- }
707
- });
708
- return cloned;
709
- }
710
650
  //# sourceMappingURL=command-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-result.js","sourceRoot":"","sources":["../src/command-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-result.js","sourceRoot":"","sources":["../src/command-result.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,6 @@ export type OptionalDataValue = {
5
5
  readonly value: unknown;
6
6
  };
7
7
  export declare function isObject(value: unknown): value is object;
8
+ export declare function isObjectRecord(value: unknown): value is object;
8
9
  export declare function optionalDataProperty(value: object, key: string, label: string): OptionalDataValue;
9
10
  export declare function requiredDataProperty(value: object, key: string, label: string): unknown;
@@ -1,6 +1,13 @@
1
1
  export function isObject(value) {
2
2
  return typeof value === 'object' && value !== null;
3
3
  }
4
+ export function isObjectRecord(value) {
5
+ if (!isObject(value) || Array.isArray(value)) {
6
+ return false;
7
+ }
8
+ const prototype = Object.getPrototypeOf(value);
9
+ return prototype === Object.prototype || prototype === null;
10
+ }
4
11
  export function optionalDataProperty(value, key, label) {
5
12
  const descriptor = Object.getOwnPropertyDescriptor(value, key);
6
13
  if (descriptor === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-properties.js","sourceRoot":"","sources":["../src/data-properties.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACrD,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"data-properties.js","sourceRoot":"","sources":["../src/data-properties.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC9C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACrD,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAA;AACvB,CAAC"}
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([
@@ -115,20 +116,6 @@ function arrayDataValues(value, guard) {
115
116
  }
116
117
  return entries;
117
118
  }
118
- function shallowArrayDataValues(value, guard) {
119
- if (!Array.isArray(value)) {
120
- return null;
121
- }
122
- const entries = [];
123
- for (let index = 0; index < value.length; index += 1) {
124
- const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
125
- if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor) || !guard(descriptor.value)) {
126
- return null;
127
- }
128
- entries.push(descriptor.value);
129
- }
130
- return entries;
131
- }
132
119
  function pushCommandRequestInputIssue(issues, value) {
133
120
  if (value === undefined) {
134
121
  return;
@@ -316,20 +303,9 @@ function pushCommandReceiptChangedRangesIssues(issues, value) {
316
303
  if (value === undefined) {
317
304
  return;
318
305
  }
319
- if (!Array.isArray(value)) {
320
- issues.push(commandReceiptIssue('changedRanges', 'Workbook command receipt changed ranges must be an array'));
321
- return;
322
- }
323
- for (let index = 0; index < value.length; index += 1) {
324
- const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
325
- if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
326
- issues.push(commandReceiptIssue(`changedRanges[${index}]`, 'Workbook command receipt changed ranges must contain only data properties'));
327
- continue;
328
- }
329
- if (!isCellRangeRefData(descriptor.value)) {
330
- issues.push(commandReceiptIssue(`changedRanges[${index}]`, 'Workbook command receipt changed range is invalid'));
331
- }
332
- }
306
+ commandReceiptChangedRangeIssues(value).forEach((issue) => {
307
+ issues.push(commandReceiptIssue(issue.path, issue.message));
308
+ });
333
309
  }
334
310
  function pushCommandReceiptUndoIssues(issues, value) {
335
311
  if (value === undefined) {
@@ -339,12 +315,20 @@ function pushCommandReceiptUndoIssues(issues, value) {
339
315
  issues.push(commandReceiptIssue('undo', 'Workbook command receipt undo must be an object'));
340
316
  return;
341
317
  }
342
- const id = ownValue(value, 'id');
343
- pushOptionalCommandReceiptStringIssue(issues, id, 'undo.id', 'undo id');
344
- if (id === undefined) {
345
- issues.push(commandReceiptIssue('undo.id', 'Workbook command receipt undo id must be a string'));
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');
346
331
  }
347
- pushCommandReceiptOpsIssues(issues, ownValue(value, 'ops'), 'undo.ops', 'undo');
348
332
  }
349
333
  function pushCommandReceiptErrorsIssues(issues, value) {
350
334
  if (value === undefined) {
@@ -464,6 +448,9 @@ function normalizeReceiptUndo(value) {
464
448
  if (!isRecord(value)) {
465
449
  return undefined;
466
450
  }
451
+ if (ownAccessorKeys(value, ['id', 'ops']).length > 0) {
452
+ return undefined;
453
+ }
467
454
  const id = ownValue(value, 'id');
468
455
  if (typeof id !== 'string') {
469
456
  return undefined;
@@ -506,7 +493,7 @@ function normalizedCommandReceipt(value) {
506
493
  const errors = ownValue(value, 'errors');
507
494
  if ((previewOps !== undefined && !isEngineOpArray(previewOps)) ||
508
495
  (appliedOps !== undefined && !isEngineOpArray(appliedOps)) ||
509
- (changedRanges !== undefined && shallowArrayDataValues(changedRanges, isCellRangeRefData) === null) ||
496
+ (changedRanges !== undefined && normalizeCommandReceiptChangedRanges(changedRanges) === null) ||
510
497
  (proof !== undefined && !isWorkbookActionInput(proof)) ||
511
498
  (metadata !== undefined && !isWorkbookActionInput(metadata)) ||
512
499
  (message !== undefined && typeof message !== 'string') ||
@@ -531,7 +518,7 @@ function normalizedCommandReceipt(value) {
531
518
  ...(normalizedUndo !== undefined ? { undo: normalizedUndo } : {}),
532
519
  ...(changedRanges !== undefined
533
520
  ? {
534
- changedRanges: Object.freeze(shallowArrayDataValues(changedRanges, isCellRangeRefData).map((range) => normalizeReceiptRange(commandId, range))),
521
+ changedRanges: normalizeCommandReceiptChangedRanges(changedRanges),
535
522
  }
536
523
  : {}),
537
524
  ...(proof !== undefined ? { proof: normalizeWorkbookActionInput(proof) } : {}),
@@ -642,21 +629,9 @@ function normalizeReceiptOp(commandId, op, label) {
642
629
  }
643
630
  return deepFreezeOpClone(op);
644
631
  }
645
- function normalizeReceiptRange(commandId, range) {
646
- if (!isCellRangeRefData(range)) {
647
- throw new Error(`Workbook command receipt ${commandId} changed range is invalid`);
648
- }
649
- return deepFreezeRangeClone(commandId, range);
650
- }
651
632
  function isEngineOpArray(value) {
652
633
  return arrayDataValues(value, isWorkbookOp) !== null;
653
634
  }
654
- function isCellRangeRefData(value) {
655
- return (isRecord(value) &&
656
- typeof ownValue(value, 'sheetName') === 'string' &&
657
- typeof ownValue(value, 'startAddress') === 'string' &&
658
- typeof ownValue(value, 'endAddress') === 'string');
659
- }
660
635
  function isString(value) {
661
636
  return typeof value === 'string';
662
637
  }
@@ -697,19 +672,6 @@ function deepFreezeOpClone(value) {
697
672
  }
698
673
  return deepFreeze(cloned, new WeakSet());
699
674
  }
700
- function deepFreezeRangeClone(commandId, value) {
701
- const sheetName = ownValue(value, 'sheetName');
702
- const startAddress = ownValue(value, 'startAddress');
703
- const endAddress = ownValue(value, 'endAddress');
704
- if (typeof sheetName !== 'string' || typeof startAddress !== 'string' || typeof endAddress !== 'string') {
705
- throw new Error(`Workbook command receipt ${commandId} changed range clone is invalid`);
706
- }
707
- return Object.freeze({
708
- sheetName,
709
- startAddress,
710
- endAddress,
711
- });
712
- }
713
675
  function deepFreeze(value, seen) {
714
676
  if (typeof value !== 'object' || value === null) {
715
677
  return value;