* Removes an item from either the unsorted staging area or its resolved * bucket and prunes empty buckets as needed. * @param {T} item an item * @returns {void}
(item)
| 117 | * @returns {void} |
| 118 | */ |
| 119 | delete(item) { |
| 120 | this.size--; |
| 121 | if (this._unsortedItems.has(item)) { |
| 122 | this._unsortedItems.delete(item); |
| 123 | return; |
| 124 | } |
| 125 | const key = this._getKey(item); |
| 126 | const entry = /** @type {Entry<T, K>} */ (this._map.get(key)); |
| 127 | entry.delete(item); |
| 128 | if (entry.size === 0) { |
| 129 | this._deleteKey(key); |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | /** |
| 134 | * Removes an empty bucket key and its corresponding nested entry. |
no test coverage detected