sse-utils v1.1.0
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-utilsExamples
Individual Messages
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);Multiple Messages
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);TODO
- Add support for asynchronous (de)serializers
API
Table of Contents
SSEObject
Type: object
Properties
dataany The payload of the messageidstring? The ID of the message (for reconnection)eventstring? The type of event being sent
Serializer
Custom serialization function
Type: function
Parameters
payloadany
Returns string
Deserializer
Custom deserialization function
Type: function
Parameters
datastring
Returns any
stringify
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
stringifyAll
Stringify an array of data to SSE messages
Parameters
payloadarray<SSEObject> An array of SSEObjects to be serializedserializerSerializer? 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
sseObjectstring The SSE message to parsedeserializerDeserializer? 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
parseAll
Parse multiple SSE messages and return an array of SSEObjects
Parameters
sseObjectsstring The SSE messages to parsedeserializerDeserializer? 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