kai-jacobsen/kontentblocks

View on GitHub
js/src/wpMediaExt/KB.media.Gallery.js

Summary

Maintainability
A
1 hr
Test Coverage

Function bindHandlers has 27 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    bindHandlers: function () {
      var handlers, checkCounts;

      media.view.MediaFrame.Select.prototype.bindHandlers.apply(this, arguments);

Severity: Minor
Found in js/src/wpMediaExt/KB.media.Gallery.js - About 1 hr to fix

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

    (function (wp, $) {

    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