This is a small package that aims to be the server sent events equivalent of the JSON built-in module. It allows you to stringify an SSE object so it can be put on the wire. It allows you parse a stringified SSE object (you'll normally use another library to create an SSE client, but this can be helpfull for testing purposes).
This library is "done", in the sense that it is feature complete and has no known bugs. It is still maintained and bugs will be fixed. It also has no dependencies, which means that other than to fix bugs in the library code, there is no reason to make new releases.
npm install sse-utilslet sse = require('sse-utils');
let input = {data: {foo: 'bar'}};
let sseString = sse.stringify(input);
console.log(sseString);
let output = sse.parse(sseString);
console.log(output);let sse = require('sse-utils');
let input = [{data: {foo: 'bar'}}, {data: {bar: 'baz'}}];
let sseString = sse.stringifyAll(input);
console.log(sseString);
let output = sse.parseAll(sseString);
console.log(sseString);- Add support for asynchronous (de)serializers
Type: object
Properties
dataany The payload of the messageidstring? The ID of the message (for reconnection)eventstring? The type of event being sent
Custom serialization function
Type: function
Parameters
payloadany
Returns string
Custom deserialization function
Type: function
Parameters
datastring
Returns any
Stringify the data to an SSE message
Parameters
-
payloadSSEObject The payload of the sse message: contains data, id?, event? -
serializerSerializer? A specialized function that marshals the data into a string (optional) -
Throws TypeError Arguments should have their correct types
Returns string The data as an SSE message
Stringify an array of data to SSE messages
Parameters
-
payloadarray<SSEObject> An array of SSEObjects to be serialized -
serializerSerializer? A specialized function that marshals the data into a string (optional) -
Throws TypeError Arguments should have their correct types
Returns string The data is a single SSE message string
Parse an SSE message and return the data
Parameters
-
sseObjectstring The SSE message to parse -
deserializerDeserializer? A specialized function to reconstruct the payload -
Throws TypeError
sseObjectshould be a string including the terminating newlines
Returns SSEObject The data sent in this SSE message
Parse multiple SSE messages and return an array of SSEObjects
Parameters
-
sseObjectsstring The SSE messages to parse -
deserializerDeserializer? A specialized function to reconstruct the payload -
Throws TypeError
sseObjectsshould be a string including terminating newlines
Returns array<SSEObject> An array with the data sent in the messages