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