25 lines
1.3 KiB
Plaintext
25 lines
1.3 KiB
Plaintext
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports["default"] = void 0;
|
|
var _hasown = _interopRequireDefault(require("hasown"));
|
|
var _jsxAstUtils = require("jsx-ast-utils");
|
|
var getElementType = function getElementType(context) {
|
|
var _settings$jsxA11y, _settings$jsxA11y2;
|
|
var settings = context.settings;
|
|
var polymorphicPropName = (_settings$jsxA11y = settings['jsx-a11y']) === null || _settings$jsxA11y === void 0 ? void 0 : _settings$jsxA11y.polymorphicPropName;
|
|
var componentMap = (_settings$jsxA11y2 = settings['jsx-a11y']) === null || _settings$jsxA11y2 === void 0 ? void 0 : _settings$jsxA11y2.components;
|
|
return function (node) {
|
|
var polymorphicProp = polymorphicPropName ? (0, _jsxAstUtils.getLiteralPropValue)((0, _jsxAstUtils.getProp)(node.attributes, polymorphicPropName)) : undefined;
|
|
var rawType = polymorphicProp !== null && polymorphicProp !== void 0 ? polymorphicProp : (0, _jsxAstUtils.elementType)(node);
|
|
if (!componentMap) {
|
|
return rawType;
|
|
}
|
|
return (0, _hasown["default"])(componentMap, rawType) ? componentMap[rawType] : rawType;
|
|
};
|
|
};
|
|
var _default = exports["default"] = getElementType;
|
|
module.exports = exports.default; |