blob: 5f1aaef66ec09de0abd682493fa87ff013ac5a66 [file] [log] [blame]
/*
* Image is a Pipe Viewer that displays an image
* @tutorial cat image.jpg | p2b google/p2b/[name]/image
* @fileoverview
*/
import { View } from 'view';
import { PipeViewer } from 'pipe-viewer';
class ImagePipeViewer extends PipeViewer {
get name() {
return 'image';
}
play(stream) {
var viewPromise = new Promise(function(resolve,reject) {
var blobParts = [];
stream.on('data', (chunk) => {
blobParts.push(new Uint8Array(chunk));
});
stream.on('end', () => {
var image = document.createElement('img');
image.style.width = '100%';
var url = URL.createObjectURL(new Blob(blobParts));
image.src = url;
resolve(new View(image));
});
});
return viewPromise;
}
}
export default ImagePipeViewer;