code: function(buffer, callback, options) {
          if (options && options.type === 'url') {
              readers.getContentsFromUrl(buffer, function(err, data) {
                  if (err) {
                      return callback(err);
                  }
  
                  module.exports.md5(data, callback, { binary: true });
              });
          } else if (buffer instanceof window.File) {
              readers.getContentsFromFile(buffer, function(err, data) {
                  if (err) {
                      return callback(err);
                  }
  
                  module.exports.md5(data, callback, { binary: true });
              });
          } else {
              // ArrayBuffer, then.
              process.nextTick(function() {
                  addMd5Task(buffer, callback);
              });
          }
      }
docs: Generate an MD5-sum of the given ArrayBuffer
  
  @param  {ArrayBuffer} buffer
  @param  {Function}    callback
  @param  {Object}      [options]