UNPKG

@jsxtools/eslint-plugin-jsx-a11y

Version:

Static AST checker for accessibility rules on JSX elements for flat ESLint Config.

18 lines (15 loc) 677 B
import { getLiteralPropValue, getProp, elementType } from './module/jsx-ast-utils.js'; const getElementType = (context) => { const { settings } = context; const polymorphicPropName = settings["jsx-a11y"]?.polymorphicPropName; const componentMap = settings["jsx-a11y"]?.components; return (node) => { const polymorphicProp = polymorphicPropName ? getLiteralPropValue(getProp(node.attributes, polymorphicPropName)) : void 0; const rawType = polymorphicProp ?? elementType(node); if (!componentMap) { return rawType; } return Object.hasOwn(componentMap, rawType) ? componentMap[rawType] : rawType; }; }; export { getElementType as default };