For those lazzy bastard who don't like the FileReader :)
npm install screw-filereader
A promisified Blob reader was proposed. But not as a external API like FileReader... Nooo - this is prototyped to blob directly!
This makes it easier to read stuff from Blob's and File's
Here is an example
// require('screw-filereader')// import screw-filereaderarrayBuffer = await blob // awaits a promisetext = await blobtext // awaits a promisedataUrl = await blob // awaits a promisestream = blob // returns a web ReadableStream// BinaryString has been avoided// - Binaries just don't work well with strings face it.// Send the blob with ajax instead or use ArrayBuffer if you want to work with the data//// Until someone gives me a good reason why I should add them// Just bonuses// ------------json = await blob // awaits a promise (rejects if fail to parse)img = await blob // awaits a new Image object (rejects if fail to load)// returns a blob url (same as [webkit]URL.createObjectURL(blob))// can also return null if it's not possible like on chrome for iOS...url = blob || await blob // this is what blob.image() dose behind the scene...
blob.image() will read the Exif rotation in jpeg images and rotate it accordingly
If streams are enhanced with web-streams-polyfill then you get all
the benefits of pipes as well ✌️
Otherwise only a ReadableStream without pipe will be returned (but only in Blink)