The key is used as index in both chain and index fields.
private emitSet(
originalMap: Map<unknown, unknown>,
key: unknown,
value?: unknown,
): void {
this.emitChange({
arguments: [],
chain: [{ context: originalMap, index: key }],
index: key,
target: originalMap,
newValue: value,
});
}
delete emits undefined for removed keys and returns false when key was absent.
private deleteItem(
originalMap: Map<unknown, unknown>,
key: unknown,
): boolean {
const item = originalMap.get(key);
if (item === undefined) {
return false;
}
originalMap.delete(key);
this.emitSet(originalMap, key);
return true;
}