UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

22 lines 940 B
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'; } };