UNPKG

692 BJavaScriptView Raw
1'use strict';
2const getDocumentationUrl = require('./utils/get-documentation-url');
3
4const message = 'Use `Array.isArray()` instead of `instanceof Array`.';
5const selector = [
6 'BinaryExpression',
7 '[operator="instanceof"]',
8 '[right.type="Identifier"]',
9 '[right.name="Array"]'
10].join('');
11
12const create = context => {
13 const sourceCode = context.getSourceCode();
14
15 return {
16 [selector]: node => context.report({
17 node,
18 message,
19 fix: fixer => fixer.replaceText(
20 node,
21 `Array.isArray(${sourceCode.getText(node.left)})`
22 )
23 })
24 };
25};
26
27module.exports = {
28 create,
29 meta: {
30 type: 'suggestion',
31 docs: {
32 url: getDocumentationUrl(__filename)
33 },
34 fixable: 'code'
35 }
36};