Skip to content

Commit ffe6d39

Browse files
authored
Merge pull request #152 from simplabs/has-task-call-expression-helper
Move `hasTaskCallExpression` to utils
2 parents 93a0547 + e52889e commit ffe6d39

File tree

3 files changed

+28
-53
lines changed

3 files changed

+28
-53
lines changed

rules/no-debug.js

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const { hasTaskDecorator } = require('../utils/utils');
3+
const { hasTaskDecorator, hasTaskCallExpression } = require('../utils/utils');
44

55
module.exports = {
66
create(context) {
@@ -47,31 +47,6 @@ module.exports = {
4747
},
4848
};
4949

50-
function hasTaskCallExpression(node) {
51-
return Boolean(findTaskCallExpression(node));
52-
}
53-
54-
function findTaskCallExpression(node) {
55-
if (isTaskCallExpression(node)) {
56-
return node;
57-
}
58-
59-
if (node.type === 'CallExpression' && node.callee.type === 'MemberExpression') {
60-
return findTaskCallExpression(node.callee.object);
61-
}
62-
}
63-
64-
function isTaskCallExpression(node) {
65-
return (
66-
node.type === 'CallExpression' &&
67-
node.callee.type === 'Identifier' &&
68-
node.callee.name === 'task' &&
69-
node.arguments[0] &&
70-
node.arguments[0].type === 'FunctionExpression' &&
71-
node.arguments[0].generator
72-
);
73-
}
74-
7550
function hasDebugCallee(node) {
7651
let { callee } = node;
7752
return (

rules/require-task-name-suffix.js

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const { hasTaskDecorator } = require('../utils/utils');
3+
const { hasTaskDecorator, hasTaskCallExpression } = require('../utils/utils');
44

55
module.exports = {
66
create(context) {
@@ -52,28 +52,3 @@ module.exports = {
5252
};
5353
},
5454
};
55-
56-
function hasTaskCallExpression(node) {
57-
return Boolean(findTaskCallExpression(node));
58-
}
59-
60-
function findTaskCallExpression(node) {
61-
if (isTaskCallExpression(node)) {
62-
return node;
63-
}
64-
65-
if (node.type === 'CallExpression' && node.callee.type === 'MemberExpression') {
66-
return findTaskCallExpression(node.callee.object);
67-
}
68-
}
69-
70-
function isTaskCallExpression(node) {
71-
return (
72-
node.type === 'CallExpression' &&
73-
node.callee.type === 'Identifier' &&
74-
node.callee.name === 'task' &&
75-
node.arguments[0] &&
76-
node.arguments[0].type === 'FunctionExpression' &&
77-
node.arguments[0].generator
78-
);
79-
}

utils/utils.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const TASK_TYPES = ['task', 'restartableTask', 'dropTask', 'keepLatestTask', 'enqueueTask'];
44

5-
module.exports = { hasTaskDecorator };
5+
module.exports = { hasTaskDecorator, hasTaskCallExpression };
66

77
function hasTaskDecorator(node) {
88
if (!node.decorators) return false;
@@ -19,3 +19,28 @@ function hasTaskDecorator(node) {
1919
);
2020
});
2121
}
22+
23+
function hasTaskCallExpression(node) {
24+
return Boolean(findTaskCallExpression(node));
25+
}
26+
27+
function findTaskCallExpression(node) {
28+
if (isTaskCallExpression(node)) {
29+
return node;
30+
}
31+
32+
if (node.type === 'CallExpression' && node.callee.type === 'MemberExpression') {
33+
return findTaskCallExpression(node.callee.object);
34+
}
35+
}
36+
37+
function isTaskCallExpression(node) {
38+
return (
39+
node.type === 'CallExpression' &&
40+
node.callee.type === 'Identifier' &&
41+
node.callee.name === 'task' &&
42+
node.arguments[0] &&
43+
node.arguments[0].type === 'FunctionExpression' &&
44+
node.arguments[0].generator
45+
);
46+
}

0 commit comments

Comments
 (0)