@rushstack/eslint-config
Version:
A TypeScript ESLint ruleset designed for large teams and projects
38 lines • 1.51 kB
JavaScript
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
function expandNamingConventionSelectors(inputBlocks) {
const firstPassBlocks = [];
// Expand "selectors" --> "selector"
for (const block of inputBlocks) {
for (const selector of block.selectors) {
const expandedBlock = { ...block, selector: selector };
delete expandedBlock.selectors;
firstPassBlocks.push(expandedBlock);
}
}
// Expand "enforceLeadingUnderscoreWhenPrivate" --> "leadingUnderscore"
const secondPassBlocks = [];
for (const block of firstPassBlocks) {
if (block.enforceLeadingUnderscoreWhenPrivate) {
const expandedBlock1 = {
...block,
leadingUnderscore: 'allow'
};
delete expandedBlock1.enforceLeadingUnderscoreWhenPrivate;
secondPassBlocks.push(expandedBlock1);
const expandedBlock2 = {
...block,
modifiers: [...(block.modifiers ?? []), 'private'],
leadingUnderscore: 'require'
};
delete expandedBlock2.enforceLeadingUnderscoreWhenPrivate;
secondPassBlocks.push(expandedBlock2);
}
else {
secondPassBlocks.push(block);
}
}
return secondPassBlocks;
}
export { expandNamingConventionSelectors };
//# sourceMappingURL=_macros.js.map