UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

16 lines 821 B
import { hasImportOfName } from './has-import-of-name'; export const getUniqueButtonItemName = (menuNode, importDeclarations) => { // Remove menu import node from array const allImportDeclarationsButMenu = importDeclarations.filter(i => i !== menuNode); let currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce((acc, importNode) => acc || hasImportOfName(importNode, 'ButtonItem'), false); if (currentButtonItemNameExistsOtherThanMenu) { let suffix = 1; while (currentButtonItemNameExistsOtherThanMenu) { suffix += 1; currentButtonItemNameExistsOtherThanMenu = allImportDeclarationsButMenu.reduce((acc, importNode) => acc || hasImportOfName(importNode, `ButtonItem${suffix}`), false); } return `ButtonItem${suffix}`; } else { return 'ButtonItem'; } };