• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * @fileoverview Rule to disallow an empty pattern
3 * @author Alberto Rodríguez
4 */
5"use strict";
6
7//------------------------------------------------------------------------------
8// Rule Definition
9//------------------------------------------------------------------------------
10
11module.exports = {
12    meta: {
13        type: "problem",
14
15        docs: {
16            description: "disallow empty destructuring patterns",
17            category: "Best Practices",
18            recommended: true,
19            url: "https://eslint.org/docs/rules/no-empty-pattern"
20        },
21
22        schema: [],
23
24        messages: {
25            unexpected: "Unexpected empty {{type}} pattern."
26        }
27    },
28
29    create(context) {
30        return {
31            ObjectPattern(node) {
32                if (node.properties.length === 0) {
33                    context.report({ node, messageId: "unexpected", data: { type: "object" } });
34                }
35            },
36            ArrayPattern(node) {
37                if (node.elements.length === 0) {
38                    context.report({ node, messageId: "unexpected", data: { type: "array" } });
39                }
40            }
41        };
42    }
43};
44