Blame view
node_modules/eslint/lib/rules/func-names.js
1.3 KB
c39994410
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
/** * @fileoverview Rule to warn when a function expression does not have a name. * @author Kyle T. Nunery * @copyright 2015 Brandon Mills. All rights reserved. * @copyright 2014 Kyle T. Nunery. All rights reserved. */ "use strict"; //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ module.exports = function(context) { /** * Determines whether the current FunctionExpression node is a get, set, or * shorthand method in an object literal or a class. * @returns {boolean} True if the node is a get, set, or shorthand method. */ function isObjectOrClassMethod() { var parent = context.getAncestors().pop(); return (parent.type === "MethodDefinition" || ( parent.type === "Property" && ( parent.method || parent.kind === "get" || parent.kind === "set" ) )); } return { "FunctionExpression": function(node) { var name = node.id && node.id.name; if (!name && !isObjectOrClassMethod()) { context.report(node, "Missing function expression name."); } } }; }; module.exports.schema = []; |