sveltekit-eventsource - v1.0.0
    Preparing search index...

    Class EventSource<S>

    Client-side typed wrapper around the browser's native EventSource.

    This class:

    • enforces typed application events based on App.Events
    • centralizes all decoding into a single pipeline
    • implements a protocol-level control channel (magic events)
    • provides chainable helper methods (on, once, off)
    const es = new EventSource<"status">("/sse");

    es.onOpen(() => console.log("connected"));
    es.on("heartbeat", (n) => console.log(n));
    es.onClose(() => console.log("closed"));

    Type Parameters

    • S extends keyof App.Events

      Stream name (key of App.Events)

    Implements

    Index

    Constructors

    • Create a new client-side SSE connection.

      Type Parameters

      • S extends "status"

        Stream name (key of App.Events)

      Parameters

      • url: string | URL

        SSE endpoint URL

      • init: ClientInit<S> = {}

        Client configuration options

      Returns EventSource<S>

    Accessors

    • get withCredentials(): boolean

      Whether credentials are sent with the EventSource request.

      Returns boolean

    Methods

    • Close the connection (client-initiated).

      Emits a close event with { initiator: "client" }.

      Returns void

    • Remove a listener previously registered with on or once.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventType: K
      • listener: (data: Events[S][K]) => void

      Returns this

    • Listen to a typed application event.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventType: K
      • listener: (data: Events[S][K]) => void

      Returns this

    • Listen once to a typed application event.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventType: K
      • listener: (data: Events[S][K]) => void

      Returns this

    • Register a close listener.

      Parameters

      • listener: (e: CustomEvent<{ initiator: "server" | "client" }>) => void

      Returns this

    • Register an error listener.

      Parameters

      • listener: (error: Event) => void

      Returns this

    • Register a message listener.

      Parameters

      • listener: (data: any) => void

      Returns this

    • Register an open listener.

      Parameters

      • listener: () => void

      Returns this