dist/miso.storyboard.deps.0.1.0.js
function createBound(func, thisArg, partialArgs, indicator) {
      var isFunc = isFunction(func),
          isPartial = !partialArgs,
          key = thisArg;

      // juggle arguments
      if (isPartial) {
        var rightIndicator = indicator;
        partialArgs = thisArg;
      }
      else if (!isFunc) {
        if (!indicator) {
          throw new TypeError;
        }
        thisArg = func;
      }

      function bound() {
        // `Function#bind` spec
        // http://es5.github.com/#x15.3.4.5
        var args = arguments,
            thisBinding = isPartial ? this : thisArg;

        if (!isFunc) {
          func = thisArg[key];
        }
        if (partialArgs.length) {
          args = args.length
            ? (args = nativeSlice.call(args), rightIndicator ? args.concat(partialArgs) : partialArgs.concat(args))
            : partialArgs;
        }
        if (this instanceof bound) {
          // ensure `new bound` is an instance of `func`
          noop.prototype = func.prototype;
          thisBinding = new noop;
          noop.prototype = null;

          // mimic the constructor's `return` behavior
          // http://es5.github.com/#x13.2.2
          var result = func.apply(thisBinding, args);
          return isObject(result) ? result : thisBinding;
        }
        return func.apply(thisBinding, args);
      }
      return bound;
    }
function createBound(func, thisArg, partialArgs, indicator) {
      var isFunc = isFunction(func),
          isPartial = !partialArgs,
          key = thisArg;

      // juggle arguments
      if (isPartial) {
        var rightIndicator = indicator;
        partialArgs = thisArg;
      }
      else if (!isFunc) {
        if (!indicator) {
          throw new TypeError;
        }
        thisArg = func;
      }

      function bound() {
        // `Function#bind` spec
        // http://es5.github.com/#x15.3.4.5
        var args = arguments,
            thisBinding = isPartial ? this : thisArg;

        if (!isFunc) {
          func = thisArg[key];
        }
        if (partialArgs.length) {
          args = args.length
            ? (args = nativeSlice.call(args), rightIndicator ? args.concat(partialArgs) : partialArgs.concat(args))
            : partialArgs;
        }
        if (this instanceof bound) {
          // ensure `new bound` is an instance of `func`
          noop.prototype = func.prototype;
          thisBinding = new noop;
          noop.prototype = null;

          // mimic the constructor's `return` behavior
          // http://es5.github.com/#x13.2.2
          var result = func.apply(thisBinding, args);
          return isObject(result) ? result : thisBinding;
        }
        return func.apply(thisBinding, args);
      }
      return bound;
    }
function createBound ( func , thisArg , partialArgs , indicator ) { var isFunc = isFunction ( func ) , isPartial = ! partialArgs , key = thisArg ; // juggle arguments if ( isPartial ) { var rightIndicator = indicator ; partialArgs = thisArg ; } else if ( ! isFunc ) { if ( ! indicator ) { throw new TypeError ; } thisArg = func ; } function bound ( ) { // `Function#bind` spec // http://es5.github.com/#x15.3.4.5 var args = arguments , thisBinding = isPartial ? this : thisArg ; if ( ! isFunc ) { func = thisArg [ key ] ; } if ( partialArgs . length ) { args = args . length ? ( args = nativeSlice . call ( args ) , rightIndicator ? args . concat ( partialArgs ) : partialArgs . concat ( args ) ) : partialArgs ; } if ( this instanceof bound ) { // ensure `new bound` is an instance of `func` noop . prototype = func . prototype ; thisBinding = new noop ; noop . prototype = null ; // mimic the constructor's `return` behavior // http://es5.github.com/#x13.2.2 var result = func . apply ( thisBinding , args ) ; return isObject ( result ) ? result : thisBinding ; } return func . apply ( thisBinding , args ) ; } return bound ; }
Creates a function that, when called, invokes `func` with the `this` binding
of `thisArg` and prepends any `partialArgs` to the arguments passed to the
bound function.

@private
@param {Function|String} func The function to bind or the method name.
@param {Mixed} [thisArg] The `this` binding of `func`.
@param {Array} partialArgs An array of arguments to be partially applied.
@param {Object} [idicator] Used to indicate binding by key or partially
applying arguments from the right.
@returns {Function} Returns the new bound function.
Creates a function that when called invokes func with the this binding of thisArg and prepends any partialArgs to the arguments passed to the bound function .