UNPKG

1.18 kBJavaScriptView Raw
1'use strict';
2
3const {
4 argument,
5 argument2,
6 expectToBeCase,
7 expectNotToBeCase,
8 expectToEqualCase,
9 expectNotToEqualCase,
10 getDocsUrl,
11 method,
12 method2,
13} = require('./util');
14
15module.exports = {
16 meta: {
17 docs: {
18 url: getDocsUrl(__filename),
19 },
20 fixable: 'code',
21 },
22 create(context) {
23 return {
24 CallExpression(node) {
25 const is =
26 expectToBeCase(node, undefined) || expectToEqualCase(node, undefined);
27 const isNot =
28 expectNotToEqualCase(node, undefined) ||
29 expectNotToBeCase(node, undefined);
30
31 if (is || isNot) {
32 context.report({
33 fix(fixer) {
34 if (is) {
35 return [
36 fixer.replaceText(method(node), 'toBeUndefined'),
37 fixer.remove(argument(node)),
38 ];
39 }
40 return [
41 fixer.replaceText(method2(node), 'toBeUndefined'),
42 fixer.remove(argument2(node)),
43 ];
44 },
45 message: 'Use toBeUndefined() instead',
46 node: is ? method(node) : method2(node),
47 });
48 }
49 },
50 };
51 },
52};