diff --git a/rules/sort-objects.ts b/rules/sort-objects.ts index 71aeb7cc0..fafae3b58 100644 --- a/rules/sort-objects.ts +++ b/rules/sort-objects.ts @@ -102,8 +102,12 @@ export default createEslintRule({ }) let matchedContextOptions = getMatchingContextOptions({ nodeNames: nodeObject.properties - .map(property => getNodeName({ sourceCode, property })) - .filter(nodeName => nodeName !== null), + .filter( + property => + property.type !== 'SpreadElement' && + property.type !== 'RestElement', + ) + .map(property => getNodeName({ sourceCode, property })), contextOptions: context.options, }).find(options => { if (!options.useConfigurationIf?.callingFunctionNamePattern) { @@ -309,7 +313,6 @@ export default createEslintRule({ let lastProperty = accumulator.at(-1)?.at(-1) - let name: string let dependencies: string[] = [] let { setCustomGroups, defineGroup, getGroup } = useGroups(options) @@ -317,14 +320,6 @@ export default createEslintRule({ let selectors: Selector[] = [] let modifiers: Modifier[] = [] - if (property.key.type === 'Identifier') { - ;({ name } = property.key) - } else if (property.key.type === 'Literal') { - name = `${property.key.value}` - } else { - name = sourceCode.getText(property.key) - } - if (property.value.type === 'AssignmentPattern') { dependencies = extractDependencies(property.value) } @@ -355,6 +350,7 @@ export default createEslintRule({ defineGroup(predefinedGroup) } + let name = getNodeName({ sourceCode, property }) if (Array.isArray(options.customGroups)) { for (let customGroup of options.customGroups) { if ( @@ -631,15 +627,9 @@ let getNodeName = ({ sourceCode, property, }: { - property: - | TSESTree.ObjectLiteralElement - | TSESTree.RestElement - | TSESTree.Property sourceCode: ReturnType -}): string | null => { - if (property.type === 'SpreadElement' || property.type === 'RestElement') { - return null - } + property: TSESTree.Property +}): string => { if (property.key.type === 'Identifier') { return property.key.name } else if (property.key.type === 'Literal') {