d2-ui
Version:
39 lines (30 loc) • 1.01 kB
JavaScript
/**
* @fileoverview Rule to flag references to the undefined variable.
* @author Michael Ficarra
*/
;
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
module.exports = {
meta: {
docs: {
description: "disallow the use of `undefined` as an identifier",
category: "Variables",
recommended: false
},
schema: []
},
create: function(context) {
return {
Identifier: function(node) {
if (node.name === "undefined") {
var parent = context.getAncestors().pop();
if (!parent || parent.type !== "MemberExpression" || node !== parent.property || parent.computed) {
context.report(node, "Unexpected use of undefined.");
}
}
}
};
}
};