fetch-event-source
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-alpha.2 • Public • Published

FetchEventSource

FetchEventSource

Fetch implementation of EventSource with more functionality like setting HTTP headers and support for Node.js. Written in TypeScript with the types includes in the package.

Features

  • Lightweight! 4kb in size (2kb gzip)
  • Tested on latest Safari, Firefox, Chrome on MacOS

Installation

yarn add fetch-event-source
npm install --save fetch-event-source

Usage

The API is the same as EventSource.

import FetchEventSource from 'fetch-event-source';
 
const eventSource = new FetchEventSource('/sse');
eventSource.addListener('open', () => console.log('SSE Open'));
eventSource.addListener('error', (err) => console.log('SSE Error', err));
eventSource.addListener('message', (e) => console.log('SSE Data', e.data));

Node.js

You can import in node using either syntax.

import FetchEventSource from 'fetch-event-source/server';

Or

const FetchEventSource = require('fetch-event-source/server');

API

Constructor

new FetchEventSource(Config)

Config

Typescript Config Definition

interface FetchEventSourceConfiguration {
    /** set custom fetch implementation */
    fetch?: typeof fetch;
    /** set custom headers to add to SSE request */
    headers?: Headers;
    /** automatically starts the SSE request */
    autoStart?: boolean;
    /** send cookies to cross-origin URLs */
    withCredentials?: boolean;
    /** initial reconnection delay */
    reconnectionDelay?: number;
}

Testing

All tests run using Jest in Node.js using this command.

yarn test

Similar Projects

Readme

Keywords

Package Sidebar

Install

npm i fetch-event-source

Weekly Downloads

148

Version

1.0.0-alpha.2

License

MIT

Unpacked Size

112 kB

Total Files

23

Last publish

Collaborators

  • skyllo