Repair error in merge

This commit is contained in:
Tony Garnock-Jones 2021-09-10 15:47:16 +02:00
parent d26e38ded0
commit 4afc6d4c94
1 changed files with 5 additions and 2 deletions

View File

@ -64,8 +64,11 @@ export function merge<T>(
}
function walkMany(a: Array<Value<T>>, b: Array<Value<T>>): Array<Value<T>> {
if (a.length !== b.length) die();
return a.map((aa, i) => walk(aa, b[i]));
if (a.length <= b.length) {
return b.map((bb, i) => (i < a.length) ? walk(a[i], bb) : bb);
} else {
return a.map((aa, i) => (i < b.length) ? walk(aa, b[i]) : aa);
}
}
return items.reduce(walk, item0);