16 lines
		
	
	
		
			318 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			318 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const {asyncIterator} = Symbol;
 | 
						|
 | 
						|
const readBlob = async function* (blob) {
 | 
						|
  if (blob.stream) {
 | 
						|
    yield* blob.stream()
 | 
						|
  } else if (blob.arrayBuffer) {
 | 
						|
    yield await blob.arrayBuffer()
 | 
						|
  } else if (blob[asyncIterator]) {
 | 
						|
    yield* blob[asyncIterator]();
 | 
						|
  } else {
 | 
						|
    yield blob;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
export default readBlob;
 |