noUnusedExpressions.js 900 B

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports["default"] = void 0;
  6. var _getBuiltinRule = require("../utilities/getBuiltinRule");
  7. // A wrapper around ESLint's core rule no-unused-expressions, additionally ignores type cast
  8. // expressions.
  9. var noUnusedExpressionsRule = (0, _getBuiltinRule.getBuiltinRule)('no-unused-expressions');
  10. var meta = noUnusedExpressionsRule.meta;
  11. var create = function create(context) {
  12. var coreChecks = noUnusedExpressionsRule.create(context);
  13. return {
  14. ExpressionStatement: function ExpressionStatement(node) {
  15. if (node.expression.type === 'TypeCastExpression' || node.expression.type === 'OptionalCallExpression') {
  16. return;
  17. }
  18. coreChecks.ExpressionStatement(node);
  19. }
  20. };
  21. };
  22. var _default = {
  23. create: create,
  24. meta: meta
  25. };
  26. exports["default"] = _default;
  27. module.exports = exports.default;