SSE Utils
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).
Installation
npm install sse-utils
Examples
Individual Messages
let sse = ; let input = data: foo: 'bar';let sseString = sse;console;let output = sse;console;
Multiple Messages
let sse = ; let input = data: foo: 'bar' data: bar: 'baz';let sseString = sse;console; let output = sse;console;
TODO
- Add support for asynchronous (de)serializers
API
Table of Contents
SSEObject
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
Serializer
Custom serialization function
Type: function
Parameters
payload
any
Returns string
Deserializer
Custom deserialization function
Type: function
Parameters
data
string
Returns any
stringify
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
stringifyAll
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
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
parseAll
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