IHTSDO/snomed-interaction-components

View on GitHub
external-libs/ZeroClipboard.js

Summary

Maintainability
F
1 wk
Test Coverage

File ZeroClipboard.js has 1634 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*!
 * ZeroClipboard
 * The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
 * Copyright (c) 2014 Jon Rohan, James M. Greene
 * Licensed MIT
Severity: Major
Found in external-libs/ZeroClipboard.js - About 4 days to fix

    Function has too many statements (125). Maximum allowed is 30.
    Open

    (function(window, undefined) {
    Severity: Minor
    Found in external-libs/ZeroClipboard.js by eslint

    enforce a maximum number of statements allowed in function blocks (max-statements)

    The max-statements rule allows you to specify the maximum number of statements allowed in a function.

    function foo() {
      var bar = 1; // one statement
      var baz = 2; // two statements
      var qux = 3; // three statements
    }

    Rule Details

    This rule enforces a maximum number of statements allowed in function blocks.

    Options

    This rule has a number or object option:

    • "max" (default 10) enforces a maximum number of statements allows in function blocks

    Deprecated: The object property maximum is deprecated; please use the object property max instead.

    This rule has an object option:

    • "ignoreTopLevelFunctions": true ignores top-level functions

    max

    Examples of incorrect code for this rule with the default { "max": 10 } option:

    /*eslint max-statements: ["error", 10]*/
    /*eslint-env es6*/
    
    function foo() {
      var foo1 = 1;
      var foo2 = 2;
      var foo3 = 3;
      var foo4 = 4;
      var foo5 = 5;
      var foo6 = 6;
      var foo7 = 7;
      var foo8 = 8;
      var foo9 = 9;
      var foo10 = 10;
    
      var foo11 = 11; // Too many.
    }
    
    let foo = () => {
      var foo1 = 1;
      var foo2 = 2;
      var foo3 = 3;
      var foo4 = 4;
      var foo5 = 5;
      var foo6 = 6;
      var foo7 = 7;
      var foo8 = 8;
      var foo9 = 9;
      var foo10 = 10;
    
      var foo11 = 11; // Too many.
    };

    Examples of correct code for this rule with the default { "max": 10 } option:

    /*eslint max-statements: ["error", 10]*/
    /*eslint-env es6*/
    
    function foo() {
      var foo1 = 1;
      var foo2 = 2;
      var foo3 = 3;
      var foo4 = 4;
      var foo5 = 5;
      var foo6 = 6;
      var foo7 = 7;
      var foo8 = 8;
      var foo9 = 9;
      var foo10 = 10;
      return function () {
    
        // The number of statements in the inner function does not count toward the
        // statement maximum.
    
        return 42;
      };
    }
    
    let foo = () => {
      var foo1 = 1;
      var foo2 = 2;
      var foo3 = 3;
      var foo4 = 4;
      var foo5 = 5;
      var foo6 = 6;
      var foo7 = 7;
      var foo8 = 8;
      var foo9 = 9;
      var foo10 = 10;
      return function () {
    
        // The number of statements in the inner function does not count toward the
        // statement maximum.
    
        return 42;
      };
    }

    ignoreTopLevelFunctions

    Examples of additional correct code for this rule with the { "max": 10 }, { "ignoreTopLevelFunctions": true } options:

    /*eslint max-statements: ["error", 10, { "ignoreTopLevelFunctions": true }]*/
    
    function foo() {
      var foo1 = 1;
      var foo2 = 2;
      var foo3 = 3;
      var foo4 = 4;
      var foo5 = 5;
      var foo6 = 6;
      var foo7 = 7;
      var foo8 = 8;
      var foo9 = 9;
      var foo10 = 10;
      var foo11 = 11;
    }

    Related Rules

    • [complexity](complexity.md)
    • [max-depth](max-depth.md)
    • [max-len](max-len.md)
    • [max-nested-callbacks](max-nested-callbacks.md)
    • [max-params](max-params.md) Source: http://eslint.org/docs/rules/

    Function has a complexity of 33.
    Open

      var _preprocessEvent = function(event) {
    Severity: Minor
    Found in external-libs/ZeroClipboard.js by eslint

    Limit Cyclomatic Complexity (complexity)

    Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

    function a(x) {
        if (true) {
            return x; // 1st path
        } else if (false) {
            return x+1; // 2nd path
        } else {
            return 4; // 3rd path
        }
    }

    Rule Details

    This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

    Examples of incorrect code for a maximum of 2:

    /*eslint complexity: ["error", 2]*/
    
    function a(x) {
        if (true) {
            return x;
        } else if (false) {
            return x+1;
        } else {
            return 4; // 3rd path
        }
    }

    Examples of correct code for a maximum of 2:

    /*eslint complexity: ["error", 2]*/
    
    function a(x) {
        if (true) {
            return x;
        } else {
            return 4;
        }
    }

    Options

    Optionally, you may specify a max object property:

    "complexity": ["error", 2]

    is equivalent to

    "complexity": ["error", { "max": 2 }]

    Deprecated: the object property maximum is deprecated. Please use the property max instead.

    When Not To Use It

    If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

    Further Reading

    Related Rules

    • [max-depth](max-depth.md)
    • [max-len](max-len.md)
    • [max-nested-callbacks](max-nested-callbacks.md)
    • [max-params](max-params.md)
    • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

    Function _preprocessEvent has 115 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      var _preprocessEvent = function(event) {
        var element = event.target || _currentElement || null;
        var sourceIsSwf = event._source === "swf";
        delete event._source;
        var flashErrorNames = [ "flash-disabled", "flash-outdated", "flash-unavailable", "flash-deactivated", "flash-overdue" ];
    Severity: Major
    Found in external-libs/ZeroClipboard.js - About 4 hrs to fix

      Function has a complexity of 20.
      Open

        var _createEvent = function(event) {
      Severity: Minor
      Found in external-libs/ZeroClipboard.js by eslint

      Limit Cyclomatic Complexity (complexity)

      Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

      function a(x) {
          if (true) {
              return x; // 1st path
          } else if (false) {
              return x+1; // 2nd path
          } else {
              return 4; // 3rd path
          }
      }

      Rule Details

      This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

      Examples of incorrect code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else if (false) {
              return x+1;
          } else {
              return 4; // 3rd path
          }
      }

      Examples of correct code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else {
              return 4;
          }
      }

      Options

      Optionally, you may specify a max object property:

      "complexity": ["error", 2]

      is equivalent to

      "complexity": ["error", { "max": 2 }]

      Deprecated: the object property maximum is deprecated. Please use the property max instead.

      When Not To Use It

      If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

      Further Reading

      Related Rules

      • [max-depth](max-depth.md)
      • [max-len](max-len.md)
      • [max-nested-callbacks](max-nested-callbacks.md)
      • [max-params](max-params.md)
      • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

      Function has a complexity of 18.
      Open

        var _mapClipDataToFlash = function(clipData) {
      Severity: Minor
      Found in external-libs/ZeroClipboard.js by eslint

      Limit Cyclomatic Complexity (complexity)

      Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

      function a(x) {
          if (true) {
              return x; // 1st path
          } else if (false) {
              return x+1; // 2nd path
          } else {
              return 4; // 3rd path
          }
      }

      Rule Details

      This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

      Examples of incorrect code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else if (false) {
              return x+1;
          } else {
              return 4; // 3rd path
          }
      }

      Examples of correct code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else {
              return 4;
          }
      }

      Options

      Optionally, you may specify a max object property:

      "complexity": ["error", 2]

      is equivalent to

      "complexity": ["error", { "max": 2 }]

      Deprecated: the object property maximum is deprecated. Please use the property max instead.

      When Not To Use It

      If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

      Further Reading

      Related Rules

      • [max-depth](max-depth.md)
      • [max-len](max-len.md)
      • [max-nested-callbacks](max-nested-callbacks.md)
      • [max-params](max-params.md)
      • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

      Function has a complexity of 14.
      Open

        var _vars = function(options) {
      Severity: Minor
      Found in external-libs/ZeroClipboard.js by eslint

      Limit Cyclomatic Complexity (complexity)

      Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

      function a(x) {
          if (true) {
              return x; // 1st path
          } else if (false) {
              return x+1; // 2nd path
          } else {
              return 4; // 3rd path
          }
      }

      Rule Details

      This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

      Examples of incorrect code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else if (false) {
              return x+1;
          } else {
              return 4; // 3rd path
          }
      }

      Examples of correct code for a maximum of 2:

      /*eslint complexity: ["error", 2]*/
      
      function a(x) {
          if (true) {
              return x;
          } else {
              return 4;
          }
      }

      Options

      Optionally, you may specify a max object property:

      "complexity": ["error", 2]

      is equivalent to

      "complexity": ["error", { "max": 2 }]

      Deprecated: the object property maximum is deprecated. Please use the property max instead.

      When Not To Use It

      If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

      Further Reading

      Related Rules

      • [max-depth](max-depth.md)
      • [max-len](max-len.md)
      • [max-nested-callbacks](max-nested-callbacks.md)
      • [max-params](max-params.md)
      • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

      Function _detectFlashSupport has 60 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        var _detectFlashSupport = function(ActiveXObject) {
          var plugin, ax, mimeType, hasFlash = false, isActiveX = false, isPPAPI = false, flashVersion = "";
          /**
         * Derived from Apple's suggested sniffer.
         * @param {String} desc e.g. "Shockwave Flash 7.0 r61"
      Severity: Major
      Found in external-libs/ZeroClipboard.js - About 2 hrs to fix

        Function _createEvent has 60 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          var _createEvent = function(event) {
            var eventType;
            if (typeof event === "string" && event) {
              eventType = event;
              event = {};
        Severity: Major
        Found in external-libs/ZeroClipboard.js - About 2 hrs to fix

          Function has a complexity of 12.
          Open

            var _on = function(eventType, listener) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 12.
          Open

            var _fireMouseEvent = function(event) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 12.
          Open

            var _addMouseData = function(event) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 12.
          Open

            var _detectFlashSupport = function(ActiveXObject) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 12.
          Open

            var _clientOn = function(eventType, listener) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 11.
          Open

            var _addClass = function(element, value) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 11.
          Open

            var _clientOff = function(eventType, listener) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 11.
          Open

            var _off = function(eventType, listener) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 11.
          Open

            var _config = function(options) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 10.
          Open

            var _extractDomain = function(originOrUrl) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 10.
          Open

            var _clientUnclip = function(elements) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 9.
          Open

            var _embedSwf = function() {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 9.
          Open

            var _clientDispatchCallbacks = function(event) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 9.
          Open

            var _getCurrentScriptUrl = function() {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Function has a complexity of 9.
          Open

            var _dispatchCallbacks = function(event) {
          Severity: Minor
          Found in external-libs/ZeroClipboard.js by eslint

          Limit Cyclomatic Complexity (complexity)

          Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

          function a(x) {
              if (true) {
                  return x; // 1st path
              } else if (false) {
                  return x+1; // 2nd path
              } else {
                  return 4; // 3rd path
              }
          }

          Rule Details

          This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

          Examples of incorrect code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else if (false) {
                  return x+1;
              } else {
                  return 4; // 3rd path
              }
          }

          Examples of correct code for a maximum of 2:

          /*eslint complexity: ["error", 2]*/
          
          function a(x) {
              if (true) {
                  return x;
              } else {
                  return 4;
              }
          }

          Options

          Optionally, you may specify a max object property:

          "complexity": ["error", 2]

          is equivalent to

          "complexity": ["error", { "max": 2 }]

          Deprecated: the object property maximum is deprecated. Please use the property max instead.

          When Not To Use It

          If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

          Further Reading

          Related Rules

          • [max-depth](max-depth.md)
          • [max-len](max-len.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

          Consider simplifying this complex logical expression.
          Open

              if (el && el.nodeType === 1 && el.ownerDocument && ancestorEl && (ancestorEl.nodeType === 1 && ancestorEl.ownerDocument && ancestorEl.ownerDocument === el.ownerDocument || ancestorEl.nodeType === 9 && !ancestorEl.ownerDocument && ancestorEl === el.ownerDocument)) {
                do {
                  if (el === ancestorEl) {
                    return true;
                  }
          Severity: Critical
          Found in external-libs/ZeroClipboard.js - About 2 hrs to fix

            Function has a complexity of 8.
            Open

              var _removeClass = function(element, value) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 8.
            Open

              var _focus = function(element) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 8.
            Open

              var _deepCopy = function(source) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

              var _clientShouldEmit = function(event) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

            (function(window, undefined) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

              var _clientClip = function(elements) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has too many statements (31). Maximum allowed is 30.
            Open

              var _detectFlashSupport = function(ActiveXObject) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            enforce a maximum number of statements allowed in function blocks (max-statements)

            The max-statements rule allows you to specify the maximum number of statements allowed in a function.

            function foo() {
              var bar = 1; // one statement
              var baz = 2; // two statements
              var qux = 3; // three statements
            }

            Rule Details

            This rule enforces a maximum number of statements allowed in function blocks.

            Options

            This rule has a number or object option:

            • "max" (default 10) enforces a maximum number of statements allows in function blocks

            Deprecated: The object property maximum is deprecated; please use the object property max instead.

            This rule has an object option:

            • "ignoreTopLevelFunctions": true ignores top-level functions

            max

            Examples of incorrect code for this rule with the default { "max": 10 } option:

            /*eslint max-statements: ["error", 10]*/
            /*eslint-env es6*/
            
            function foo() {
              var foo1 = 1;
              var foo2 = 2;
              var foo3 = 3;
              var foo4 = 4;
              var foo5 = 5;
              var foo6 = 6;
              var foo7 = 7;
              var foo8 = 8;
              var foo9 = 9;
              var foo10 = 10;
            
              var foo11 = 11; // Too many.
            }
            
            let foo = () => {
              var foo1 = 1;
              var foo2 = 2;
              var foo3 = 3;
              var foo4 = 4;
              var foo5 = 5;
              var foo6 = 6;
              var foo7 = 7;
              var foo8 = 8;
              var foo9 = 9;
              var foo10 = 10;
            
              var foo11 = 11; // Too many.
            };

            Examples of correct code for this rule with the default { "max": 10 } option:

            /*eslint max-statements: ["error", 10]*/
            /*eslint-env es6*/
            
            function foo() {
              var foo1 = 1;
              var foo2 = 2;
              var foo3 = 3;
              var foo4 = 4;
              var foo5 = 5;
              var foo6 = 6;
              var foo7 = 7;
              var foo8 = 8;
              var foo9 = 9;
              var foo10 = 10;
              return function () {
            
                // The number of statements in the inner function does not count toward the
                // statement maximum.
            
                return 42;
              };
            }
            
            let foo = () => {
              var foo1 = 1;
              var foo2 = 2;
              var foo3 = 3;
              var foo4 = 4;
              var foo5 = 5;
              var foo6 = 6;
              var foo7 = 7;
              var foo8 = 8;
              var foo9 = 9;
              var foo10 = 10;
              return function () {
            
                // The number of statements in the inner function does not count toward the
                // statement maximum.
            
                return 42;
              };
            }

            ignoreTopLevelFunctions

            Examples of additional correct code for this rule with the { "max": 10 }, { "ignoreTopLevelFunctions": true } options:

            /*eslint max-statements: ["error", 10, { "ignoreTopLevelFunctions": true }]*/
            
            function foo() {
              var foo1 = 1;
              var foo2 = 2;
              var foo3 = 3;
              var foo4 = 4;
              var foo5 = 5;
              var foo6 = 6;
              var foo7 = 7;
              var foo8 = 8;
              var foo9 = 9;
              var foo10 = 10;
              var foo11 = 11;
            }

            Related Rules

            • [complexity](complexity.md)
            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

              var _mapClipResultsFromFlash = function(clipResults, formatMap) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

              var _getDOMObjectPosition = function(obj) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

              var _extend = function() {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function has a complexity of 7.
            Open

                var _extractAllDomains = function(origins) {
            Severity: Minor
            Found in external-libs/ZeroClipboard.js by eslint

            Limit Cyclomatic Complexity (complexity)

            Cyclomatic complexity measures the number of linearly independent paths through a program's source code. This rule allows setting a cyclomatic complexity threshold.

            function a(x) {
                if (true) {
                    return x; // 1st path
                } else if (false) {
                    return x+1; // 2nd path
                } else {
                    return 4; // 3rd path
                }
            }

            Rule Details

            This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20).

            Examples of incorrect code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else if (false) {
                    return x+1;
                } else {
                    return 4; // 3rd path
                }
            }

            Examples of correct code for a maximum of 2:

            /*eslint complexity: ["error", 2]*/
            
            function a(x) {
                if (true) {
                    return x;
                } else {
                    return 4;
                }
            }

            Options

            Optionally, you may specify a max object property:

            "complexity": ["error", 2]

            is equivalent to

            "complexity": ["error", { "max": 2 }]

            Deprecated: the object property maximum is deprecated. Please use the property max instead.

            When Not To Use It

            If you can't determine an appropriate complexity limit for your code, then it's best to disable this rule.

            Further Reading

            Related Rules

            • [max-depth](max-depth.md)
            • [max-len](max-len.md)
            • [max-nested-callbacks](max-nested-callbacks.md)
            • [max-params](max-params.md)
            • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

            Function _determineScriptAccess has 42 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              var _determineScriptAccess = function() {
                var _extractAllDomains = function(origins) {
                  var i, len, tmp, resultsArray = [];
                  if (typeof origins === "string") {
                    origins = [ origins ];
            Severity: Minor
            Found in external-libs/ZeroClipboard.js - About 1 hr to fix

              Consider simplifying this complex logical expression.
              Open

                    if (!(_clipData["text/html"] || _clipData["text/plain"]) && targetEl && (htmlContent = targetEl.value || targetEl.outerHTML || targetEl.innerHTML) && (textContent = targetEl.value || targetEl.textContent || targetEl.innerText)) {
                      event.clipboardData.clearData();
                      event.clipboardData.setData("text/plain", textContent);
                      if (htmlContent !== textContent) {
                        event.clipboardData.setData("text/html", htmlContent);
              Severity: Critical
              Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                Function _addMouseData has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  var _addMouseData = function(event) {
                    if (event && /^_(?:click|mouse(?:over|out|down|up|move))$/.test(event.type)) {
                      var srcElement = event.target;
                      var fromElement = event.type === "_mouseover" && event.relatedTarget ? event.relatedTarget : undefined;
                      var toElement = event.type === "_mouseout" && event.relatedTarget ? event.relatedTarget : undefined;
                Severity: Minor
                Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                  Function _clientOn has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    var _clientOn = function(eventType, listener) {
                      var i, len, events, added = {}, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
                      if (typeof eventType === "string" && eventType) {
                        events = eventType.toLowerCase().split(/\s+/);
                      } else if (typeof eventType === "object" && eventType && typeof listener === "undefined") {
                  Severity: Minor
                  Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                    Function _mapClipDataToFlash has 39 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                      var _mapClipDataToFlash = function(clipData) {
                        var newClipData = {}, formatMap = {};
                        if (!(typeof clipData === "object" && clipData)) {
                          return;
                        }
                    Severity: Minor
                    Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                      Function _on has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                        var _on = function(eventType, listener) {
                          var i, len, events, added = {};
                          if (typeof eventType === "string" && eventType) {
                            events = eventType.toLowerCase().split(/\s+/);
                          } else if (typeof eventType === "object" && eventType && typeof listener === "undefined") {
                      Severity: Minor
                      Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                        Function _unembedSwf has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                          var _unembedSwf = function() {
                            var flashBridge = _flashState.bridge;
                            if (flashBridge) {
                              var htmlBridge = _getHtmlBridge(flashBridge);
                              if (htmlBridge) {
                        Severity: Minor
                        Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                          Function _vars has 34 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            var _vars = function(options) {
                              var i, len, domain, domains, str = "", trustedOriginsExpanded = [];
                              if (options.trustedDomains) {
                                if (typeof options.trustedDomains === "string") {
                                  domains = [ options.trustedDomains ];
                          Severity: Minor
                          Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                            Consider simplifying this complex logical expression.
                            Open

                                if (event && /^_(?:click|mouse(?:over|out|down|up|move))$/.test(event.type)) {
                                  var srcElement = event.target;
                                  var fromElement = event.type === "_mouseover" && event.relatedTarget ? event.relatedTarget : undefined;
                                  var toElement = event.type === "_mouseout" && event.relatedTarget ? event.relatedTarget : undefined;
                                  var pos = _getDOMObjectPosition(srcElement);
                            Severity: Critical
                            Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                              Function _clientUnclip has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                var _clientUnclip = function(elements) {
                                  var meta = _clientMeta[this.id];
                                  if (!meta) {
                                    return this;
                                  }
                              Severity: Minor
                              Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                Function _addMouseHandlers has 32 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                  var _addMouseHandlers = function(element) {
                                    if (!(element && element.nodeType === 1)) {
                                      return;
                                    }
                                    var _suppressMouseEvents = function(event) {
                                Severity: Minor
                                Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                  Function _clientOff has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                    var _clientOff = function(eventType, listener) {
                                      var i, len, foundIndex, events, perEventHandlers, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
                                      if (arguments.length === 0) {
                                        events = _keys(handlers);
                                      } else if (typeof eventType === "string" && eventType) {
                                  Severity: Minor
                                  Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                    Function _off has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                      var _off = function(eventType, listener) {
                                        var i, len, foundIndex, events, perEventHandlers;
                                        if (arguments.length === 0) {
                                          events = _keys(_handlers);
                                        } else if (typeof eventType === "string" && eventType) {
                                    Severity: Minor
                                    Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                      Function _embedSwf has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                        var _embedSwf = function() {
                                          var len, flashBridge = _flashState.bridge, container = _getHtmlBridge(flashBridge);
                                          if (!flashBridge) {
                                            var allowScriptAccess = _determineScriptAccess(_window.location.host, _globalConfig);
                                            var allowNetworking = allowScriptAccess === "never" ? "none" : "all";
                                      Severity: Minor
                                      Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                        Function _clientDispatchCallbacks has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                        Open

                                          var _clientDispatchCallbacks = function(event) {
                                            if (!(typeof event === "object" && event && event.type)) {
                                              return;
                                            }
                                            var async = _shouldPerformAsync(event);
                                        Severity: Minor
                                        Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                          Function _config has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                          Open

                                            var _config = function(options) {
                                              if (typeof options === "object" && options !== null) {
                                                for (var prop in options) {
                                                  if (_hasOwn.call(options, prop)) {
                                                    if (/^(?:forceHandCursor|title|zIndex|bubbleEvents)$/.test(prop)) {
                                          Severity: Minor
                                          Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                            Function _dispatchCallbacks has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                            Open

                                              var _dispatchCallbacks = function(event) {
                                                if (!(typeof event === "object" && event && event.type)) {
                                                  return;
                                                }
                                                var async = _shouldPerformAsync(event);
                                            Severity: Minor
                                            Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                              Function _addClass has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                                              Open

                                                var _addClass = function(element, value) {
                                                  if (!element || element.nodeType !== 1) {
                                                    return element;
                                                  }
                                                  if (element.classList) {
                                              Severity: Minor
                                              Found in external-libs/ZeroClipboard.js - About 1 hr to fix

                                                Avoid deeply nested control flow statements.
                                                Open

                                                            if (prop === "containerId" || prop === "swfObjectId") {
                                                              if (_isValidHtml4Id(options[prop])) {
                                                                _globalConfig[prop] = options[prop];
                                                              } else {
                                                                throw new Error("The specified `" + prop + "` value is not valid as an HTML4 Element ID");
                                                Severity: Major
                                                Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                  Avoid deeply nested control flow statements.
                                                  Open

                                                              if (className.indexOf(" " + classNames[c] + " ") < 0) {
                                                                setClass += " " + classNames[c];
                                                              }
                                                  Severity: Major
                                                  Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                    Avoid deeply nested control flow statements.
                                                    Open

                                                                if (target !== copy && copy !== undefined) {
                                                                  target[prop] = copy;
                                                                }
                                                    Severity: Major
                                                    Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                      Avoid deeply nested control flow statements.
                                                      Open

                                                                  while (foundIndex !== -1) {
                                                                    perEventHandlers.splice(foundIndex, 1);
                                                                    foundIndex = perEventHandlers.indexOf(listener, foundIndex);
                                                                  }
                                                      Severity: Major
                                                      Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                        Avoid deeply nested control flow statements.
                                                        Open

                                                                    if (_globalConfig.autoActivate === true) {
                                                                      _removeMouseHandlers(elements[i]);
                                                                    }
                                                        Severity: Major
                                                        Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                          Avoid deeply nested control flow statements.
                                                          Open

                                                                      while (foundIndex !== -1) {
                                                                        perEventHandlers.splice(foundIndex, 1);
                                                                        foundIndex = perEventHandlers.indexOf(listener, foundIndex);
                                                                      }
                                                          Severity: Major
                                                          Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                            Avoid deeply nested control flow statements.
                                                            Open

                                                                          if (htmlBridge.parentNode) {
                                                                            htmlBridge.parentNode.removeChild(htmlBridge);
                                                                          }
                                                            Severity: Major
                                                            Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                              Avoid deeply nested control flow statements.
                                                              Open

                                                                            for (var prop in flashBridge) {
                                                                              if (typeof flashBridge[prop] === "function") {
                                                                                flashBridge[prop] = null;
                                                                              }
                                                                            }
                                                              Severity: Major
                                                              Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                                Avoid deeply nested control flow statements.
                                                                Open

                                                                              if (flashBridge.parentNode) {
                                                                                flashBridge.parentNode.removeChild(flashBridge);
                                                                              }
                                                                Severity: Major
                                                                Found in external-libs/ZeroClipboard.js - About 45 mins to fix

                                                                  Avoid too many return statements within this function.
                                                                  Open

                                                                      return undefined;
                                                                  Severity: Major
                                                                  Found in external-libs/ZeroClipboard.js - About 30 mins to fix

                                                                    Avoid too many return statements within this function.
                                                                    Open

                                                                          return jsPath;
                                                                    Severity: Major
                                                                    Found in external-libs/ZeroClipboard.js - About 30 mins to fix

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                          if (originOrUrl == null || originOrUrl === "") {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      unnecessary '.apply()'.
                                                                      Open

                                                                                trustedOriginsExpanded.push.apply(trustedOriginsExpanded, [ domain, "//" + domain, _window.location.protocol + "//" + domain ]);
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary .call() and .apply(). (no-useless-call)

                                                                      The function invocation can be written by Function.prototype.call() and Function.prototype.apply(). But Function.prototype.call() and Function.prototype.apply() are slower than the normal function invocation.

                                                                      Rule Details

                                                                      This rule is aimed to flag usage of Function.prototype.call() and Function.prototype.apply() that can be replaced with the normal function invocation.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-call: "error"*/
                                                                      
                                                                      // These are same as `foo(1, 2, 3);`
                                                                      foo.call(undefined, 1, 2, 3);
                                                                      foo.apply(undefined, [1, 2, 3]);
                                                                      foo.call(null, 1, 2, 3);
                                                                      foo.apply(null, [1, 2, 3]);
                                                                      
                                                                      // These are same as `obj.foo(1, 2, 3);`
                                                                      obj.foo.call(obj, 1, 2, 3);
                                                                      obj.foo.apply(obj, [1, 2, 3]);

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-call: "error"*/
                                                                      
                                                                      // The `this` binding is different.
                                                                      foo.call(obj, 1, 2, 3);
                                                                      foo.apply(obj, [1, 2, 3]);
                                                                      obj.foo.call(null, 1, 2, 3);
                                                                      obj.foo.apply(null, [1, 2, 3]);
                                                                      obj.foo.call(otherObj, 1, 2, 3);
                                                                      obj.foo.apply(otherObj, [1, 2, 3]);
                                                                      
                                                                      // The argument list is variadic.
                                                                      foo.apply(undefined, args);
                                                                      foo.apply(null, args);
                                                                      obj.foo.apply(obj, args);

                                                                      Known Limitations

                                                                      This rule compares code statically to check whether or not thisArg is changed. So if the code about thisArg is a dynamic expression, this rule cannot judge correctly.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-call: "error"*/
                                                                      
                                                                      a[i++].foo.call(a[i++], 1, 2, 3);

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-call: "error"*/
                                                                      
                                                                      a[++i].foo.call(a[i], 1, 2, 3);

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary .call() and .apply(), you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                            if ((arg = args[i]) != null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                          var cacheBust = options == null || options && options.cacheBust === true;
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Expected '===' and instead saw '=='.
                                                                      Open

                                                                          var cacheBust = options == null || options && options.cacheBust === true;
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Empty block statement.
                                                                      Open

                                                                            } catch (e) {}
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      disallow empty block statements (no-empty)

                                                                      Empty block statements, while not technically errors, usually occur due to refactoring that wasn't completed. They can cause confusion when reading code.

                                                                      Rule Details

                                                                      This rule disallows empty block statements. This rule ignores block statements which contain a comment (for example, in an empty catch or finally block of a try statement to indicate that execution should continue regardless of errors).

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-empty: "error"*/
                                                                      
                                                                      if (foo) {
                                                                      }
                                                                      
                                                                      while (foo) {
                                                                      }
                                                                      
                                                                      switch(foo) {
                                                                      }
                                                                      
                                                                      try {
                                                                          doSomething();
                                                                      } catch(ex) {
                                                                      
                                                                      } finally {
                                                                      
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-empty: "error"*/
                                                                      
                                                                      if (foo) {
                                                                          // empty
                                                                      }
                                                                      
                                                                      while (foo) {
                                                                          /* empty */
                                                                      }
                                                                      
                                                                      try {
                                                                          doSomething();
                                                                      } catch (ex) {
                                                                          // continue regardless of error
                                                                      }
                                                                      
                                                                      try {
                                                                          doSomething();
                                                                      } finally {
                                                                          /* continue regardless of error */
                                                                      }

                                                                      Options

                                                                      This rule has an object option for exceptions:

                                                                      • "allowEmptyCatch": true allows empty catch clauses (that is, which do not contain a comment)

                                                                      allowEmptyCatch

                                                                      Examples of additional correct code for this rule with the { "allowEmptyCatch": true } option:

                                                                      /* eslint no-empty: ["error", { "allowEmptyCatch": true }] */
                                                                      try {
                                                                          doSomething();
                                                                      } catch (ex) {}
                                                                      
                                                                      try {
                                                                          doSomething();
                                                                      }
                                                                      catch (ex) {}
                                                                      finally {
                                                                          /* continue regardless of error */
                                                                      }

                                                                      When Not To Use It

                                                                      If you intentionally use empty block statements then you can disable this rule.

                                                                      Related Rules

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                            if (jsDir == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                          if (typeof source !== "object" || source == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Expected '===' and instead saw '=='.
                                                                      Open

                                                                                } else if (_flashState.bridge == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Shadowing of global property 'undefined'.
                                                                      Open

                                                                      (function(window, undefined) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Shadowing of Restricted Names (no-shadow-restricted-names)

                                                                      ES5 §15.1.1 Value Properties of the Global Object (NaN, Infinity, undefined) as well as strict mode restricted identifiers eval and arguments are considered to be restricted names in JavaScript. Defining them to mean something else can have unintended consequences and confuse others reading the code. For example, there's nothing prevent you from writing:

                                                                      var undefined = "foo";

                                                                      Then any code used within the same scope would not get the global undefined, but rather the local version with a very different meaning.

                                                                      Rule Details

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-shadow-restricted-names: "error"*/
                                                                      
                                                                      function NaN(){}
                                                                      
                                                                      !function(Infinity){};
                                                                      
                                                                      var undefined;
                                                                      
                                                                      try {} catch(eval){}

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-shadow-restricted-names: "error"*/
                                                                      
                                                                      var Object;
                                                                      
                                                                      function f(a, b){}

                                                                      Further Reading

                                                                      Related Rules

                                                                      Expected a conditional expression and instead saw an assignment.
                                                                      Open

                                                                          if (jsPath = _getCurrentScriptUrlFromError()) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      disallow assignment operators in conditional statements (no-cond-assign)

                                                                      In conditional statements, it is very easy to mistype a comparison operator (such as ==) as an assignment operator (such as =). For example:

                                                                      // Check the user's job title
                                                                      if (user.jobTitle = "manager") {
                                                                          // user.jobTitle is now incorrect
                                                                      }

                                                                      There are valid reasons to use assignment operators in conditional statements. However, it can be difficult to tell whether a specific assignment was intentional.

                                                                      Rule Details

                                                                      This rule disallows ambiguous assignment operators in test conditions of if, for, while, and do...while statements.

                                                                      Options

                                                                      This rule has a string option:

                                                                      • "except-parens" (default) allows assignments in test conditions only if they are enclosed in parentheses (for example, to allow reassigning a variable in the test of a while or do...while loop)
                                                                      • "always" disallows all assignments in test conditions

                                                                      except-parens

                                                                      Examples of incorrect code for this rule with the default "except-parens" option:

                                                                      /*eslint no-cond-assign: "error"*/
                                                                      
                                                                      // Unintentional assignment
                                                                      var x;
                                                                      if (x = 0) {
                                                                          var b = 1;
                                                                      }
                                                                      
                                                                      // Practical example that is similar to an error
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while (someNode = someNode.parentNode);
                                                                      }

                                                                      Examples of correct code for this rule with the default "except-parens" option:

                                                                      /*eslint no-cond-assign: "error"*/
                                                                      
                                                                      // Assignment replaced by comparison
                                                                      var x;
                                                                      if (x === 0) {
                                                                          var b = 1;
                                                                      }
                                                                      
                                                                      // Practical example that wraps the assignment in parentheses
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while ((someNode = someNode.parentNode));
                                                                      }
                                                                      
                                                                      // Practical example that wraps the assignment and tests for 'null'
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while ((someNode = someNode.parentNode) !== null);
                                                                      }

                                                                      always

                                                                      Examples of incorrect code for this rule with the "always" option:

                                                                      /*eslint no-cond-assign: ["error", "always"]*/
                                                                      
                                                                      // Unintentional assignment
                                                                      var x;
                                                                      if (x = 0) {
                                                                          var b = 1;
                                                                      }
                                                                      
                                                                      // Practical example that is similar to an error
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while (someNode = someNode.parentNode);
                                                                      }
                                                                      
                                                                      // Practical example that wraps the assignment in parentheses
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while ((someNode = someNode.parentNode));
                                                                      }
                                                                      
                                                                      // Practical example that wraps the assignment and tests for 'null'
                                                                      function setHeight(someNode) {
                                                                          "use strict";
                                                                          do {
                                                                              someNode.height = "100px";
                                                                          } while ((someNode = someNode.parentNode) !== null);
                                                                      }

                                                                      Examples of correct code for this rule with the "always" option:

                                                                      /*eslint no-cond-assign: ["error", "always"]*/
                                                                      
                                                                      // Assignment replaced by comparison
                                                                      var x;
                                                                      if (x === 0) {
                                                                          var b = 1;
                                                                      }

                                                                      Related Rules

                                                                      Use ‘===’ to compare with ‘null’.
                                                                      Open

                                                                                } else if (_flashState.bridge == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow Null Comparisons (no-eq-null)

                                                                      Comparing to null without a type-checking operator (== or !=), can have unintended results as the comparison will evaluate to true when comparing to not just a null, but also an undefined value.

                                                                      if (foo == null) {
                                                                        bar();
                                                                      }

                                                                      Rule Details

                                                                      The no-eq-null rule aims reduce potential bug and unwanted behavior by ensuring that comparisons to null only match null, and not also undefined. As such it will flag comparisons to null when using == and !=.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo == null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux != null) {
                                                                        baz();
                                                                      }

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-eq-null: "error"*/
                                                                      
                                                                      if (foo === null) {
                                                                        bar();
                                                                      }
                                                                      
                                                                      while (qux !== null) {
                                                                        baz();
                                                                      }

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Expected '!==' and instead saw '!='.
                                                                      Open

                                                                            if ((arg = args[i]) != null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Expected '===' and instead saw '=='.
                                                                      Open

                                                                            if (jsDir == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Expected '===' and instead saw '=='.
                                                                      Open

                                                                          if (originOrUrl == null || originOrUrl === "") {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Unexpected string concatenation of literals.
                                                                      Open

                                                                            tmpDiv.innerHTML = '<object id="' + _globalConfig.swfObjectId + '" name="' + _globalConfig.swfObjectId + '" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Disallow unnecessary concatenation of strings (no-useless-concat)

                                                                      It's unnecessary to concatenate two strings together, such as:

                                                                      var foo = "a" + "b";

                                                                      This code is likely the result of refactoring where a variable was removed from the concatenation (such as "a" + b + "b"). In such a case, the concatenation isn't important and the code can be rewritten as:

                                                                      var foo = "ab";

                                                                      Rule Details

                                                                      This rule aims to flag the concatenation of 2 literals when they could be combined into a single literal. Literals can be strings or template literals.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      /*eslint-env es6*/
                                                                      
                                                                      // these are the same as "10"
                                                                      var a = `some` + `string`;
                                                                      var a = '1' + '0';
                                                                      var a = '1' + `0`;
                                                                      var a = `1` + '0';
                                                                      var a = `1` + `0`;

                                                                      Examples of correct code for this rule:

                                                                      /*eslint no-useless-concat: "error"*/
                                                                      
                                                                      // when a non string is included
                                                                      var c = a + b;
                                                                      var c = '1' + a;
                                                                      var a = 1 + '1';
                                                                      var c = 1 - 2;
                                                                      // when the string concatenation is multiline
                                                                      var c = "foo" +
                                                                          "bar";

                                                                      When Not To Use It

                                                                      If you don't want to be notified about unnecessary string concatenation, you can safely disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Expected '===' and instead saw '=='.
                                                                      Open

                                                                          if (typeof source !== "object" || source == null) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require === and !== (eqeqeq)

                                                                      It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

                                                                      The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

                                                                      • [] == false
                                                                      • [] == ![]
                                                                      • 3 == "03"

                                                                      If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

                                                                      Rule Details

                                                                      This rule is aimed at eliminating the type-unsafe equality operators.

                                                                      Examples of incorrect code for this rule:

                                                                      /*eslint eqeqeq: "error"*/
                                                                      
                                                                      if (x == 42) { }
                                                                      
                                                                      if ("" == text) { }
                                                                      
                                                                      if (obj.getStuff() != undefined) { }

                                                                      The --fix option on the command line automatically fixes some problems reported by this rule. A problem is only fixed if one of the operands is a typeof expression, or if both operands are literals with the same type.

                                                                      Options

                                                                      always

                                                                      The "always" option (default) enforces the use of === and !== in every situation (except when you opt-in to more specific handling of null [see below]).

                                                                      Examples of incorrect code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a == b
                                                                      foo == true
                                                                      bananas != 1
                                                                      value == undefined
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      Examples of correct code for the "always" option:

                                                                      /*eslint eqeqeq: ["error", "always"]*/
                                                                      
                                                                      a === b
                                                                      foo === true
                                                                      bananas !== 1
                                                                      value === undefined
                                                                      typeof foo === 'undefined'
                                                                      'hello' !== 'world'
                                                                      0 === 0
                                                                      true === true
                                                                      foo === null

                                                                      This rule optionally takes a second argument, which should be an object with the following supported properties:

                                                                      • "null": Customize how this rule treats null literals. Possible values:
                                                                        • always (default) - Always use === or !==.
                                                                        • never - Never use === or !== with null.
                                                                        • ignore - Do not apply this rule to null.

                                                                      smart

                                                                      The "smart" option enforces the use of === and !== except for these cases:

                                                                      • Comparing two literal values
                                                                      • Evaluating the value of typeof
                                                                      • Comparing against null

                                                                      Examples of incorrect code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      // comparing two variables requires ===
                                                                      a == b
                                                                      
                                                                      // only one side is a literal
                                                                      foo == true
                                                                      bananas != 1
                                                                      
                                                                      // comparing to undefined requires ===
                                                                      value == undefined

                                                                      Examples of correct code for the "smart" option:

                                                                      /*eslint eqeqeq: ["error", "smart"]*/
                                                                      
                                                                      typeof foo == 'undefined'
                                                                      'hello' != 'world'
                                                                      0 == 0
                                                                      true == true
                                                                      foo == null

                                                                      allow-null

                                                                      Deprecated: Instead of using this option use "always" and pass a "null" option property with value "ignore". This will tell eslint to always enforce strict equality except when comparing with the null literal.

                                                                      ["error", "always", {"null": "ignore"}]

                                                                      When Not To Use It

                                                                      If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

                                                                      Wrap an immediate function invocation in parentheses.
                                                                      Open

                                                                        var _determineScriptAccess = function() {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require IIFEs to be Wrapped (wrap-iife)

                                                                      You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

                                                                      // function expression could be unwrapped
                                                                      var x = function () { return { y: 1 };}();
                                                                      
                                                                      // function declaration must be wrapped
                                                                      function () { /* side effects */ }(); // SyntaxError

                                                                      Rule Details

                                                                      This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

                                                                      Options

                                                                      This rule has two options, a string option and an object option.

                                                                      String option:

                                                                      • "outside" enforces always wrapping the call expression. The default is "outside".
                                                                      • "inside" enforces always wrapping the function expression.
                                                                      • "any" enforces always wrapping, but allows either style.

                                                                      Object option:

                                                                      • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

                                                                      outside

                                                                      Examples of incorrect code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      Examples of correct code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      inside

                                                                      Examples of incorrect code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      Examples of correct code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      any

                                                                      Examples of incorrect code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped

                                                                      Examples of correct code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      functionPrototypeMethods

                                                                      Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = function(){ foo(); }()
                                                                      var x = (function(){ foo(); }())
                                                                      var x = function(){ foo(); }.call(bar)
                                                                      var x = (function(){ foo(); }.call(bar))

                                                                      Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = (function(){ foo(); })()
                                                                      var x = (function(){ foo(); }).call(bar)

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Move the invocation into the parens that contain the function.
                                                                      Open

                                                                      (function(window, undefined) {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require IIFEs to be Wrapped (wrap-iife)

                                                                      You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

                                                                      // function expression could be unwrapped
                                                                      var x = function () { return { y: 1 };}();
                                                                      
                                                                      // function declaration must be wrapped
                                                                      function () { /* side effects */ }(); // SyntaxError

                                                                      Rule Details

                                                                      This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

                                                                      Options

                                                                      This rule has two options, a string option and an object option.

                                                                      String option:

                                                                      • "outside" enforces always wrapping the call expression. The default is "outside".
                                                                      • "inside" enforces always wrapping the function expression.
                                                                      • "any" enforces always wrapping, but allows either style.

                                                                      Object option:

                                                                      • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

                                                                      outside

                                                                      Examples of incorrect code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      Examples of correct code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      inside

                                                                      Examples of incorrect code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      Examples of correct code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      any

                                                                      Examples of incorrect code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped

                                                                      Examples of correct code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      functionPrototypeMethods

                                                                      Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = function(){ foo(); }()
                                                                      var x = (function(){ foo(); }())
                                                                      var x = function(){ foo(); }.call(bar)
                                                                      var x = (function(){ foo(); }.call(bar))

                                                                      Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = (function(){ foo(); })()
                                                                      var x = (function(){ foo(); }).call(bar)

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Wrap an immediate function invocation in parentheses.
                                                                      Open

                                                                        var _window = window, _document = _window.document, _navigator = _window.navigator, _setTimeout = _window.setTimeout, _encodeURIComponent = _window.encodeURIComponent, _ActiveXObject = _window.ActiveXObject, _Error = _window.Error, _parseInt = _window.Number.parseInt || _window.parseInt, _parseFloat = _window.Number.parseFloat || _window.parseFloat, _isNaN = _window.Number.isNaN || _window.isNaN, _round = _window.Math.round, _now = _window.Date.now, _keys = _window.Object.keys, _defineProperty = _window.Object.defineProperty, _hasOwn = _window.Object.prototype.hasOwnProperty, _slice = _window.Array.prototype.slice, _unwrap = function() {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require IIFEs to be Wrapped (wrap-iife)

                                                                      You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

                                                                      // function expression could be unwrapped
                                                                      var x = function () { return { y: 1 };}();
                                                                      
                                                                      // function declaration must be wrapped
                                                                      function () { /* side effects */ }(); // SyntaxError

                                                                      Rule Details

                                                                      This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

                                                                      Options

                                                                      This rule has two options, a string option and an object option.

                                                                      String option:

                                                                      • "outside" enforces always wrapping the call expression. The default is "outside".
                                                                      • "inside" enforces always wrapping the function expression.
                                                                      • "any" enforces always wrapping, but allows either style.

                                                                      Object option:

                                                                      • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

                                                                      outside

                                                                      Examples of incorrect code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      Examples of correct code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      inside

                                                                      Examples of incorrect code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      Examples of correct code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      any

                                                                      Examples of incorrect code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped

                                                                      Examples of correct code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      functionPrototypeMethods

                                                                      Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = function(){ foo(); }()
                                                                      var x = (function(){ foo(); }())
                                                                      var x = function(){ foo(); }.call(bar)
                                                                      var x = (function(){ foo(); }.call(bar))

                                                                      Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = (function(){ foo(); })()
                                                                      var x = (function(){ foo(); }).call(bar)

                                                                      Source: http://eslint.org/docs/rules/

                                                                      Move the invocation into the parens that contain the function.
                                                                      Open

                                                                                (function removeSwfFromIE() {
                                                                      Severity: Minor
                                                                      Found in external-libs/ZeroClipboard.js by eslint

                                                                      Require IIFEs to be Wrapped (wrap-iife)

                                                                      You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

                                                                      // function expression could be unwrapped
                                                                      var x = function () { return { y: 1 };}();
                                                                      
                                                                      // function declaration must be wrapped
                                                                      function () { /* side effects */ }(); // SyntaxError

                                                                      Rule Details

                                                                      This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

                                                                      Options

                                                                      This rule has two options, a string option and an object option.

                                                                      String option:

                                                                      • "outside" enforces always wrapping the call expression. The default is "outside".
                                                                      • "inside" enforces always wrapping the function expression.
                                                                      • "any" enforces always wrapping, but allows either style.

                                                                      Object option:

                                                                      • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

                                                                      outside

                                                                      Examples of incorrect code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      Examples of correct code for the default "outside" option:

                                                                      /*eslint wrap-iife: ["error", "outside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      inside

                                                                      Examples of incorrect code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression

                                                                      Examples of correct code for the "inside" option:

                                                                      /*eslint wrap-iife: ["error", "inside"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      any

                                                                      Examples of incorrect code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = function () { return { y: 1 };}(); // unwrapped

                                                                      Examples of correct code for the "any" option:

                                                                      /*eslint wrap-iife: ["error", "any"]*/
                                                                      
                                                                      var x = (function () { return { y: 1 };}()); // wrapped call expression
                                                                      var x = (function () { return { y: 1 };})(); // wrapped function expression

                                                                      functionPrototypeMethods

                                                                      Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = function(){ foo(); }()
                                                                      var x = (function(){ foo(); }())
                                                                      var x = function(){ foo(); }.call(bar)
                                                                      var x = (function(){ foo(); }.call(bar))

                                                                      Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

                                                                      /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
                                                                      
                                                                      var x = (function(){ foo(); })()
                                                                      var x = (function(){ foo(); }).call(bar)

                                                                      Source: http://eslint.org/docs/rules/

                                                                      There are no issues that match your filters.

                                                                      Category
                                                                      Status