Skip to content

Commit

Permalink
improve
Browse files Browse the repository at this point in the history
  • Loading branch information
OlivierZal committed Nov 23, 2024
1 parent 01255cb commit 8ee4ad8
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 15 deletions.
21 changes: 9 additions & 12 deletions eslint-utils/build-groups.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,11 @@ const cartesianProduct = (arrays) =>
[[]],
)

const modifierCombos = ({ orderedModifiers }) =>
cartesianProduct(orderedModifiers).map((combo) => combo.filter(Boolean))
const modifierCombos = ({ modifiers }) =>
cartesianProduct(modifiers).map((combo) => combo.filter(Boolean))

const compatibleModifierCombos = ({
modifierIncompatibilities,
orderedModifiers,
}) =>
modifierCombos({ orderedModifiers }).filter((combo) =>
const compatibleModifierCombos = ({ modifierIncompatibilities, modifiers }) =>
modifierCombos({ modifiers }).filter((combo) =>
combo.every((modifier) =>
(modifierIncompatibilities[modifier] ?? []).every(
(incompatibleModifier) => !combo.includes(incompatibleModifier),
Expand All @@ -27,11 +24,11 @@ const compatibleModifierCombos = ({

const buildGroupsForSelector = ({
modifierIncompatibilities,
orderedModifiers,
modifiers,
selector,
selectorIncompatibilities,
}) =>
compatibleModifierCombos({ modifierIncompatibilities, orderedModifiers })
compatibleModifierCombos({ modifierIncompatibilities, modifiers })
.filter((combo) =>
combo.every(
(modifier) =>
Expand All @@ -42,7 +39,7 @@ const buildGroupsForSelector = ({

export const buildGroups = ({
modifierIncompatibilities,
orderedModifiers,
modifiers,
selectorIncompatibilities,
selectors,
}) =>
Expand All @@ -51,7 +48,7 @@ export const buildGroups = ({
const groupPairs = selector.map((pairedSelector) =>
buildGroupsForSelector({
modifierIncompatibilities,
orderedModifiers,
modifiers,
selector: pairedSelector,
selectorIncompatibilities,
}),
Expand All @@ -63,7 +60,7 @@ export const buildGroups = ({
}
return buildGroupsForSelector({
modifierIncompatibilities,
orderedModifiers,
modifiers,
selector,
selectorIncompatibilities,
})
Expand Down
6 changes: 3 additions & 3 deletions eslint-utils/class-groups.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { buildGroups } from './build-groups.js'

const orderedModifiers = [
const modifiers = [
['declare', 'override', ''],
['static', '', 'abstract'],
['decorated', ''],
Expand All @@ -26,7 +26,7 @@ const selectors = [
'method',
]

const allModifiers = orderedModifiers.flat().filter(Boolean)
const allModifiers = modifiers.flat().filter(Boolean)
const baseMethodIncompatibilities = ['declare', 'readonly']
const accessorIncompatibilities = [...baseMethodIncompatibilities, 'optional']
const selectorIncompatibilities = {
Expand Down Expand Up @@ -67,7 +67,7 @@ export const classGroups = {
],
groups: buildGroups({
modifierIncompatibilities,
orderedModifiers,
modifiers,
selectorIncompatibilities,
selectors,
}),
Expand Down

0 comments on commit 8ee4ad8

Please sign in to comment.