diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-02-24 12:46:49 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-02-24 13:35:52 -0400 |
commit | 52113ef4d1976c353bda1a0e5f187d8ba93468c7 (patch) | |
tree | f612fec3ec1e5a43d943175d357d2f5c2e8412f2 | |
parent | 5447c0ac287aec69ce649f22ad926cd2c8b78e6c (diff) |
data: withSortedList: double-refactor stabletoUnstable magic
It's still still magic though.
-rw-r--r-- | src/data/composite/data/withSortedList.js | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/data/composite/data/withSortedList.js b/src/data/composite/data/withSortedList.js index 51309e19..9ee0766b 100644 --- a/src/data/composite/data/withSortedList.js +++ b/src/data/composite/data/withSortedList.js @@ -107,20 +107,14 @@ export default templateCompositeFrom({ }; const stableToUnstable = - symbols - .map( - (current, index) => - (index === 0 - ? false - : isEqual(current, symbols[index - 1]))) - .reduce( - (accumulator, equalsPrevious, index) => - (index === 0 - ? accumulator - : (equalsPrevious - ? push(accumulator, accumulator.at(-1)) - : push(accumulator, accumulator.at(-1) + 1))), - [0]); + symbols.reduce( + (accumulator, current, index) => + (index === 0 + ? push(accumulator, 0) + : (isEqual(current, symbols[index - 1]) + ? push(accumulator, accumulator.at(-1)) + : push(accumulator, accumulator.at(-1) + 1))), + []); const unstableSortIndices = originalIndices |