(iterable)
| 513 | * @returns {Comparator<T>} comparator |
| 514 | */ |
| 515 | const keepOriginalOrder = (iterable) => { |
| 516 | /** @type {Map<T, number>} */ |
| 517 | const map = new Map(); |
| 518 | let i = 0; |
| 519 | for (const item of iterable) { |
| 520 | map.set(item, i++); |
| 521 | } |
| 522 | return (a, b) => |
| 523 | compareNumbers( |
| 524 | /** @type {number} */ (map.get(a)), |
| 525 | /** @type {number} */ (map.get(b)) |
| 526 | ); |
| 527 | }; |
| 528 | |
| 529 | /** |
| 530 | * Compares chunks natural. |
no test coverage detected