FieldsArray: fixed splice method to check incoming items and register their keys in pool;

This commit is contained in:
Alexander Cerutti
2021-10-24 16:29:41 +02:00
parent 7c9716c589
commit 505520813a

View File

@@ -95,7 +95,17 @@ export default class FieldsArray extends Array<Schemas.Field> {
this[sharedKeysPoolSymbol].delete(item.key),
);
return super.splice(start, deleteCount, ...items);
let validItems = items ?? [];
if (validItems.length) {
validItems = Schemas.filterValid(Schemas.Field, items);
for (let i = 0; i < validItems.length; i++) {
this[sharedKeysPoolSymbol].add(validItems[i].key);
}
}
return super.splice(start, deleteCount, ...validItems);
}
get length(): number {