Skip to content

Commit

Permalink
Refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Dec 26, 2021
1 parent 1f08666 commit 46e363b
Showing 1 changed file with 31 additions and 20 deletions.
51 changes: 31 additions & 20 deletions src/system/footer/shared_2.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,29 +82,40 @@ const reduceEachPropDimensions = function (

const reduceAllPropDimensions = function (allDimensions, systems) {
return allDimensions.reduce(
(allDimensionsA, dimensions, index) =>
Object.keys(dimensions).reduceRight((allDimensionsB, dimensionName) => {
const matching = systems.filter((system) =>
allDimensionsB.some((dimensionsB, indexB) =>
Object.entries(dimensionsB).every(
([dimensionNameB, dimensionValueB]) =>
system.dimensions[dimensionNameB] === dimensionValueB ||
(indexB === index && dimensionNameB === dimensionName),
),
reduceOnePropDimensions.bind(undefined, systems),
allDimensions,
)
}

const reduceOnePropDimensions = function (
systems,
allDimensionsA,
dimensions,
index,
) {
return Object.keys(dimensions).reduceRight(
(allDimensionsB, dimensionName) => {
const matching = systems.filter((system) =>
allDimensionsB.some((dimensionsB, indexB) =>
Object.entries(dimensionsB).every(
([dimensionNameB, dimensionValueB]) =>
system.dimensions[dimensionNameB] === dimensionValueB ||
(indexB === index && dimensionNameB === dimensionName),
),
)
),
)

if (matching.length !== allDimensionsB.length) {
return allDimensionsB
}
if (matching.length !== allDimensionsB.length) {
return allDimensionsB
}

return [
...allDimensionsB.slice(0, index),
omit.default(allDimensionsB[index], [dimensionName]),
...allDimensionsB.slice(index + 1),
]
}, allDimensionsA),
allDimensions,
return [
...allDimensionsB.slice(0, index),
omit.default(allDimensionsB[index], [dimensionName]),
...allDimensionsB.slice(index + 1),
]
},
allDimensionsA,
)
}

Expand Down

0 comments on commit 46e363b

Please sign in to comment.