| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports["default"] = void 0; |
| |
| var _jsxAstUtils = require("jsx-ast-utils"); |
| |
| /** |
| * Returns true if all items in baseAttributes are found in attributes. Always |
| * returns true if baseAttributes is empty. |
| */ |
| function attributesComparator() { |
| var baseAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; |
| var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; |
| return baseAttributes.every(function (baseAttr) { |
| return attributes.some(function (attribute) { |
| // Guard against non-JSXAttribute nodes like JSXSpreadAttribute |
| if (attribute.type !== 'JSXAttribute') { |
| return false; |
| } // Attribute matches. |
| |
| |
| if (baseAttr.name !== (0, _jsxAstUtils.propName)(attribute)) { |
| return false; |
| } // Value exists and does not match. |
| |
| |
| if (baseAttr.value && baseAttr.value !== (0, _jsxAstUtils.getLiteralPropValue)(attribute)) { |
| return false; |
| } |
| |
| return true; |
| }); |
| }); |
| } |
| |
| var _default = attributesComparator; |
| exports["default"] = _default; |