@atlaskit/eslint-plugin-design-system
Version:
The essential plugin for use with the Atlassian Design System.
22 lines • 940 B
JavaScript
import { hasImportOfName } from './has-import-of-name';
export var getUniqueButtonItemName = function getUniqueButtonItemName(menuNode, importDeclarations) {
// Remove menu import node from array
var allImportDeclarationsButMenu = importDeclarations.filter(function (i) {
return i !== menuNode;
});
var currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
return acc || hasImportOfName(importNode, 'ButtonItem');
}, false);
if (currentButtonItemNameExistsOtherThanMenu) {
var suffix = 1;
while (currentButtonItemNameExistsOtherThanMenu) {
suffix += 1;
currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
return acc || hasImportOfName(importNode, "ButtonItem".concat(suffix));
}, false);
}
return "ButtonItem".concat(suffix);
} else {
return 'ButtonItem';
}
};