in packages/eui/scripts/eslint-plugin/rel.js [14:38]
ArrowFunctionExpression(node) {
// Functional component contains only single argument
if (node.params && node.params.length === 1) {
// Extract object => { foo, bar }
const objectPattern = node.params[0];
if (objectPattern.properties && objectPattern.properties.length) {
// Iterate each Object property to find href or rel
let href = -1;
let rel = -1;
objectPattern.properties.forEach((property, index) => {
if (property.key && property.key.name === 'href') href = index;
if (property.key && property.key.name === 'rel') rel = index;
});
// Error => If href is preset and rel is not preset
if (href !== -1 && rel === -1) {
context.report({
node: objectPattern.properties[href],
message: 'Props must contain rel if href is defined',
});
}
}
}
},