30 lines
		
	
	
		
			738 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			738 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { createParser } from "./index.js";
 | |
| import { ParseError } from "./index.js";
 | |
| class EventSourceParserStream extends TransformStream {
 | |
|   constructor({ onError, onRetry, onComment } = {}) {
 | |
|     let parser;
 | |
|     super({
 | |
|       start(controller) {
 | |
|         parser = createParser({
 | |
|           onEvent: (event) => {
 | |
|             controller.enqueue(event);
 | |
|           },
 | |
|           onError(error) {
 | |
|             onError === "terminate" ? controller.error(error) : typeof onError == "function" && onError(error);
 | |
|           },
 | |
|           onRetry,
 | |
|           onComment
 | |
|         });
 | |
|       },
 | |
|       transform(chunk) {
 | |
|         parser.feed(chunk);
 | |
|       }
 | |
|     });
 | |
|   }
 | |
| }
 | |
| export {
 | |
|   EventSourceParserStream,
 | |
|   ParseError
 | |
| };
 | |
| //# sourceMappingURL=stream.js.map
 |