Function
getFromBucket
(
self: MutableHashMap<K, V>,
bucket: NonEmptyArray<readonly [K & Equal.Equal, V]>,
key: K & Equal.Equal,
remove = false
)
Source from the content-addressed store, hash-verified
| 188 | } |
| 189 | |
| 190 | const getFromBucket = <K, V>( |
| 191 | self: MutableHashMap<K, V>, |
| 192 | bucket: NonEmptyArray<readonly [K & Equal.Equal, V]>, |
| 193 | key: K & Equal.Equal, |
| 194 | remove = false |
| 195 | ): Option.Option<V> => { |
| 196 | for (let i = 0, len = bucket.length; i < len; i++) { |
| 197 | if (key[Equal.symbol](bucket[i][0])) { |
| 198 | const value = bucket[i][1] |
| 199 | if (remove) { |
| 200 | bucket.splice(i, 1) |
| 201 | self.bucketsSize-- |
| 202 | } |
| 203 | return Option.some(value) |
| 204 | } |
| 205 | } |
| 206 | |
| 207 | return Option.none() |
| 208 | } |
| 209 | |
| 210 | /** |
| 211 | * @since 2.0.0 |
Tested by
no test coverage detected