Skip to content

Commit 0298c54

Browse files
talentlessguyMichaelDeBoey
authored andcommitted
[Refactor] avoid spreading things that are already arrays
Co-authored-by: v1rtl <[email protected]> Co-authored-by: Michaël De Boey <[email protected]>
1 parent 2314d08 commit 0298c54

9 files changed

+13
-11
lines changed

__mocks__/genInteractives.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import type { JSXElementMockType } from './JSXElementMock';
1212

1313
const { fromEntries } = Object;
1414

15-
const domElements = [...dom.keys()];
16-
const roleNames = [...roles.keys()];
15+
const domElements = dom.keys();
16+
const roleNames = roles.keys();
1717

1818
const interactiveElementsMap = {
1919
a: [{ prop: 'href', value: '#' }],

__tests__/src/rules/aria-props-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import getSuggestion from '../../../src/util/getSuggestion';
1919
// -----------------------------------------------------------------------------
2020

2121
const ruleTester = new RuleTester();
22-
const ariaAttributes = [...aria.keys()];
22+
const ariaAttributes = aria.keys();
2323

2424
const errorMessage = (name) => {
2525
const suggestions = getSuggestion(name, ariaAttributes);

__tests__/src/rules/aria-role-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const errorMessage = {
2424
type: 'JSXAttribute',
2525
};
2626

27-
const roleKeys = [...roles.keys()];
27+
const roleKeys = roles.keys();
2828

2929
const validRoles = roleKeys.filter((role) => roles.get(role).abstract === false);
3030
const invalidRoles = roleKeys.filter((role) => roles.get(role).abstract === true);

__tests__/src/rules/aria-unsupported-elements-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const errorMessage = (invalidProp) => ({
2626
type: 'JSXOpeningElement',
2727
});
2828

29-
const domElements = [...dom.keys()];
29+
const domElements = dom.keys();
3030
// Generate valid test cases
3131
const roleValidityTests = domElements.map((element) => {
3232
const isReserved = dom.get(element).reserved || false;

src/rules/role-has-required-aria-props.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import isSemanticRoleElement from '../util/isSemanticRoleElement';
2020

2121
const schema = generateObjSchema();
2222

23+
const roleKeys = roles.keys();
24+
2325
export default {
2426
meta: {
2527
docs: {
@@ -59,7 +61,7 @@ export default {
5961

6062
const normalizedValues = String(roleAttrValue).toLowerCase().split(' ');
6163
const validRoles = normalizedValues
62-
.filter((val) => [...roles.keys()].indexOf(val) > -1);
64+
.filter((val) => roleKeys.indexOf(val) > -1);
6365

6466
// Check semantic DOM elements
6567
// For example, <input type="checkbox" role="switch" />

src/util/isInteractiveElement.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414

1515
import attributesComparator from './attributesComparator';
1616

17-
const roleKeys = [...roles.keys()];
17+
const roleKeys = roles.keys();
1818
const elementRoleEntries = [...elementRoles];
1919

2020
const nonInteractiveRoles = new Set(roleKeys

src/util/isInteractiveRole.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { roles as rolesMap } from 'aria-query';
33
import type { Node } from 'ast-types-flow';
44
import { getProp, getLiteralPropValue } from 'jsx-ast-utils';
55

6-
const roles = [...rolesMap.keys()];
6+
const roles = rolesMap.keys();
77
const interactiveRoles = roles.filter((name) => (
88
!rolesMap.get(name).abstract
99
&& rolesMap.get(name).superClass.some((klasses) => klasses.includes('widget'))

src/util/isNonInteractiveElement.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type { Node } from 'ast-types-flow';
1515

1616
import attributesComparator from './attributesComparator';
1717

18-
const roleKeys = [...roles.keys()];
18+
const roleKeys = roles.keys();
1919
const elementRoleEntries = [...elementRoles];
2020

2121
const nonInteractiveRoles = new Set(roleKeys
@@ -62,7 +62,7 @@ const nonInteractiveElementRoleSchemas = elementRoleEntries.flatMap(([elementSch
6262

6363
const nonInteractiveAXObjects = new Set(AXObjects.keys().filter((name) => ['window', 'structure'].includes(AXObjects.get(name).type)));
6464

65-
const nonInteractiveElementAXObjectSchemas = [...elementAXObjects].flatMap(([elementSchema, AXObjectsArr]) => (AXObjectsArr.every((role): boolean => nonInteractiveAXObjects.has(role)) ? [elementSchema] : []));
65+
const nonInteractiveElementAXObjectSchemas = elementAXObjects.flatMap(([elementSchema, AXObjectsArr]) => (AXObjectsArr.every((role): boolean => nonInteractiveAXObjects.has(role)) ? [elementSchema] : []));
6666

6767
function checkIsNonInteractiveElement(tagName, attributes): boolean {
6868
function elementSchemaMatcher(elementSchema) {

src/util/isNonInteractiveRole.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import type { Node } from 'ast-types-flow';
1010
import { getProp, getLiteralPropValue } from 'jsx-ast-utils';
1111

12-
const nonInteractiveRoles = [...rolesMap.keys()].filter((name) => (
12+
const nonInteractiveRoles = rolesMap.keys().filter((name) => (
1313
!rolesMap.get(name).abstract
1414
&& !rolesMap.get(name).superClass.some((klasses) => klasses.includes('widget'))
1515
));

0 commit comments

Comments
 (0)