interface SseClientOptions

Configuration for createSseClient.

Type Parameters

TEvents extends SseEventMap = SseEventMap

Properties

readonly
url: string

Absolute SSE endpoint URL.

readonly
optional
headers: HeadersInit

Headers cloned into every initial and reconnect request.

readonly
optional
fetch: (
input: RequestInfo,
) => Promise<Response>

Injectable streaming transport. Defaults to global fetch.

readonly
optional
timing: IClientTiming

Injectable clock and sleep seam. Defaults to createDefaultClientTiming().

readonly
optional
signal: AbortSignal

External signal that closes the stream and prevents reconnects.

readonly
optional
reconnect: SseReconnectOptions

Reconnect behavior after an ended or failed stream.

readonly
optional
parse: (event: RawSseEvent) => TEvents[keyof TEvents]

Parses one raw SSE event. Defaults to JSON.parse and is typed against the event map so applications can refine payloads by event name.

readonly
onEvent: (event: SseEvent<keyof TEvents & string, TEvents[keyof TEvents]>) => void | Promise<void>

Receives every parsed data-bearing event in stream order.

readonly
optional
onError: (error: unknown) => void

Receives recoverable transport or parse errors before a reconnect attempt.

readonly
optional
onStateChange: (state: SseClientState) => void

Receives each state transition.

Usage

import { type SseClientOptions } from "sdk/src/index.ts";