solium-plugin-security
Version:
Official Solium Plugin for Security-related lint rules
45 lines (30 loc) • 917 B
JavaScript
/**
* @fileoverview Discourage use of abstract functions
* @author Nicolas Feignon <nfeignon@gmail.com>
*/
;
module.exports = {
meta: {
docs: {
recommended: false,
type: "off",
description: "Discourage use of abstract functions"
},
schema: []
},
create: function(context) {
function inspectFunctionDeclaration(emitted) {
const node = emitted.node;
// If function is NOT abstract, exit now.
if (emitted.exit || !node.is_abstract) {
return;
}
const message = node.name ?
`${node.name}: Avoid using abstract functions.` : "Avoid using abstract fallback function.";
context.report({ node, message });
}
return {
FunctionDeclaration: inspectFunctionDeclaration
};
}
};