eslint-plugin-ft-flow
Version:
Flowtype linting rules for ESLint by flow-typed
33 lines (25 loc) • 688 B
Flow
// A wrapper around ESLint's core rule no-unused-expressions, additionally ignores type cast
// expressions.
import {
getBuiltinRule,
} from '../utilities/getBuiltinRule';
const noUnusedExpressionsRule = getBuiltinRule('no-unused-expressions');
const { meta } = noUnusedExpressionsRule;
const create = (context) => {
const coreChecks = noUnusedExpressionsRule.create(context);
return {
ExpressionStatement(node) {
if (
node.expression.type === 'TypeCastExpression'
|| node.expression.type === 'OptionalCallExpression'
) {
return;
}
coreChecks.ExpressionStatement(node);
},
};
};
export default {
create,
meta,
};