| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- "use strict";
- function createSSEParser(callback) {
- let buffer = "";
- let currentEvent = "message";
- function parse(chunk) {
- buffer += chunk;
- const messages = buffer.split("\n\n");
- buffer = messages.pop();
- messages.forEach((message) => {
- if (message.trim()) {
- currentEvent = "message";
- parseMessage(message);
- }
- });
- }
- function parseMessage(message) {
- const lines = message.split("\n");
- let event = "message";
- const dataLines = [];
- lines.forEach((line) => {
- if (line.startsWith("event:")) {
- event = line.slice(6).trim();
- currentEvent = event;
- } else if (line.startsWith("data:")) {
- dataLines.push(line.slice(5).trim());
- }
- });
- if (dataLines.length > 0) {
- dataLines.forEach((data) => {
- callback(currentEvent, data);
- });
- } else if (currentEvent !== "message") {
- callback(currentEvent, null);
- }
- }
- return {
- parse
- };
- }
- exports.createSSEParser = createSSEParser;
- //# sourceMappingURL=../../.sourcemap/mp-alipay/utils/sseParse.js.map
|