- Adjust parse.getMessages signature
- Add node.js support
- Upgrade to TypeScript 4.9
- Add exports in package.json
- This package is now pure ESM. Please read this.
This release adds support for esmodule imports (see #4).
This release improves the performance of parsing the response stream and fixes some corner cases to better match the spec.
-
The
id
,event
, anddata
fields are now initialized to empty strings, per the spec (they were previouslyundefined
) -
The
onmessage
callback is now called for all messages (it was previously triggered only for messages with adata
field) -
If a message contains multiple
data
fields, they will be concatenated together into a single string. For example, the following message:data: Foo data:Bar data data: Baz
will result in
{ data: 'Foo\nBar\n\nBaz' }
-
If the server sends an
id
field with an empty value, the last-event-id header will no longer be sent on the next reconnect.
- The internal
parseStream
function has been removed. The parse implementation was previously based on async generators, which required a lot of supporting code in both the typescript-generated polyfill as well as the javascript engine. The new implementation is based on simple callbacks, which should be much faster.
- Updated examples in readme to fix typos, added more comments.
- Changed
if
statements in parse.ts to test for specific values instead of truthy/falsy values.
- Changed the default onOpen validator to allow charset and boundary directives in the content-type