Function
pack
(
edit: number,
count: number,
removed: number,
elements: Array<Node<K, V>>
)
Source from the content-addressed store, hash-verified
| 304 | } |
| 305 | |
| 306 | function pack<K, V>( |
| 307 | edit: number, |
| 308 | count: number, |
| 309 | removed: number, |
| 310 | elements: Array<Node<K, V>> |
| 311 | ) { |
| 312 | const children = new Array<Node<K, V>>(count - 1) |
| 313 | let g = 0 |
| 314 | let bitmap = 0 |
| 315 | for (let i = 0, len = elements.length; i < len; ++i) { |
| 316 | if (i !== removed) { |
| 317 | const elem = elements[i] |
| 318 | if (elem && !isEmptyNode(elem)) { |
| 319 | children[g++] = elem |
| 320 | bitmap |= 1 << i |
| 321 | } |
| 322 | } |
| 323 | } |
| 324 | return new IndexedNode(edit, bitmap, children) |
| 325 | } |
| 326 | |
| 327 | function expand<K, V>( |
| 328 | edit: number, |
Tested by
no test coverage detected