Left Curve Software Stack
    Preparing search index...

    Type Alias SubscriptionOptions<TData>

    type SubscriptionOptions<TData> = {
        batch?: boolean;
        emitter: EventEmitter;
        fallbackDelay?: number;
        getStatus: () => { isConnected: boolean };
        httpInterval: number;
        httpQuery?: () => Promise<TData>;
        onError?: (error: unknown) => void;
        polling?: boolean;
        wsSubscribe: (listener: (data: TData) => void) => () => void;
    }

    Type Parameters

    • TData
    Index

    Properties

    batch?: boolean

    When true, uses a shared batch poller instead of per-subscription setInterval.

    emitter: EventEmitter

    EventEmitter that fires "connected" and "closed" events.

    fallbackDelay?: number

    Milliseconds to wait after WS disconnect before starting HTTP polling.

    5000
    
    getStatus: () => { isConnected: boolean }

    Returns current WS connection status.

    httpInterval: number

    Polling interval in milliseconds when using HTTP fallback.

    httpQuery?: () => Promise<TData>

    One-shot HTTP query returning the same data shape as the WS event. When undefined, HTTP fallback is disabled (WS-only subscription).

    onError?: (error: unknown) => void

    Called on HTTP polling errors (silent retry on next interval).

    polling?: boolean

    When false, disables HTTP polling fallback (WS-only mode). Default: true.

    wsSubscribe: (listener: (data: TData) => void) => () => void

    Start a WS subscription that calls listener on each event. Returns an unsubscribe function.