@atlaskit/eslint-plugin-design-system
Version:
The essential plugin for use with the Atlassian Design System.
28 lines (27 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getUniqueButtonItemName = void 0;
var _hasImportOfName = require("./has-import-of-name");
var getUniqueButtonItemName = exports.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 || (0, _hasImportOfName.hasImportOfName)(importNode, 'ButtonItem');
}, false);
if (currentButtonItemNameExistsOtherThanMenu) {
var suffix = 1;
while (currentButtonItemNameExistsOtherThanMenu) {
suffix += 1;
currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce(function (acc, importNode) {
return acc || (0, _hasImportOfName.hasImportOfName)(importNode, "ButtonItem".concat(suffix));
}, false);
}
return "ButtonItem".concat(suffix);
} else {
return 'ButtonItem';
}
};