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-utils
let 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
data
any The payload of the messageid
string? The ID of the message (for reconnection)event
string? The type of event being sent
Custom serialization function
Type: function
Parameters
payload
any
Returns string
Custom deserialization function
Type: function
Parameters
data
string
Returns any
Stringify the data to an SSE message
Parameters
-
payload
SSEObject The payload of the sse message: contains data, id?, event? -
serializer
Serializer? 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
-
payload
array<SSEObject> An array of SSEObjects to be serialized -
serializer
Serializer? 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
-
sseObject
string The SSE message to parse -
deserializer
Deserializer? A specialized function to reconstruct the payload -
Throws TypeError
sseObject
should 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
-
sseObjects
string The SSE messages to parse -
deserializer
Deserializer? A specialized function to reconstruct the payload -
Throws TypeError
sseObjects
should be a string including terminating newlines
Returns array<SSEObject> An array with the data sent in the messages