| 'use strict'; |
| |
| var arrayBufferToBinaryString = require('./arrayBufferToBinaryString'); |
| |
| // shim for browsers that don't support it |
| module.exports = function (blob, callback) { |
| var reader = new FileReader(); |
| var hasBinaryString = typeof reader.readAsBinaryString === 'function'; |
| reader.onloadend = function (e) { |
| var result = e.target.result || ''; |
| if (hasBinaryString) { |
| return callback(result); |
| } |
| callback(arrayBufferToBinaryString(result)); |
| }; |
| if (hasBinaryString) { |
| reader.readAsBinaryString(blob); |
| } else { |
| reader.readAsArrayBuffer(blob); |
| } |
| }; |