class NonEmptyMap extends Map {
constructor(iterable) {
super(iterable);
if (this.size === 0) {
throw new Error('NonEmptyMap cannot be empty');
}
}
delete(key) {
if (this.size === 1) {
throw new Error(`Cannot delete the only NonEmptyMap element: ${key}`);
}
super.delete(key);
}
clear() {
throw new Error('NonEmptyMap cannot be cleared');
}
}