dist/bower_components/lazy.js/lazy.js
function createCallback(callback, defaultValue) {
    switch (typeof callback) {
      case "function":
        return callback;

      case "string":
        return function(e) {
          return e[callback];
        };

      case "object":
        return function(e) {
          return Lazy(callback).all(function(value, key) {
            return e[key] === value;
          });
        };

      case "undefined":
        return defaultValue ?
          function() { return defaultValue; } :
          Lazy.identity;

      default:
        throw "Don't know how to make a callback from a " + typeof callback + "!";
    }
  }
function createCallback(callback, defaultValue) {
    switch (typeof callback) {
      case "function":
        return callback;

      case "string":
        return function(e) {
          return e[callback];
        };

      case "object":
        return function(e) {
          return Lazy(callback).all(function(value, key) {
            return e[key] === value;
          });
        };

      case "undefined":
        return defaultValue ?
          function() { return defaultValue; } :
          Lazy.identity;

      default:
        throw "Don't know how to make a callback from a " + typeof callback + "!";
    }
  }
function createCallback ( callback , defaultValue ) { switch ( typeof callback ) { case "function" : return callback ; case "string" : return function ( e ) { return e [ callback ] ; } ; case "object" : return function ( e ) { return Lazy ( callback ) . all ( function ( value , key ) { return e [ key ] === value ; } ) ; } ; case "undefined" : return defaultValue ? function ( ) { return defaultValue ; } : Lazy . identity ; default : throw "Don't know how to make a callback from a " + typeof callback + "!" ; } }
Creates a callback... you know, Lo-Dash style.

- for functions, just returns the function
- for strings, returns a pluck-style callback
- for objects, returns a where-style callback

@private
@param {Function|string|Object} callback A function, string, or object to
convert to a callback.
@param {*} defaultReturn If the callback is undefined, a default return
value to use for the function.
@returns {Function} The callback function.

@examples
createCallback(function() {})                  // instanceof Function
createCallback('foo')                          // instanceof Function
createCallback('foo')({ foo: 'bar'})           // => 'bar'
createCallback({ foo: 'bar' })({ foo: 'bar' }) // => true
createCallback({ foo: 'bar' })({ foo: 'baz' }) // => false
Creates a callback ... you know Lo - Dash style .