573
574
private _diffArray<T, R>(
576
>
path: ObjectPath,
577
>
prev: unknown[] | undefined,
578
>
curr: unknown[] | undefined,
579
>
entries: Entry[]
580
>
): void {
581
>
const prevArr = prev || [];
582
>
const currArr = curr || [];
583
>
584
>
const itemSchema = transform.itemSchema;
585
>
const minLen = Math.min(prevArr.length, currArr.length);
586
>
587
>
// If the item schema is an object, we can recurse into it to diff individual
588
>
// properties instead of replacing the entire item. However, we only do this
589
>
// if the key fields match.
590
>
if (itemSchema.kind === TransformKind.Object) {
591
>
const childEntries = itemSchema.children;
592
>
593
>
// Diff common elements by recursing into them
594
>
for (let i = 0; i < minLen; i++) {
595
const prevItem = prevArr[i];
596
const currItem = currArr[i];