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), 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 { get length(): number {