UNPKG

@oiij/use

Version:

Som Composable Functions for Vue 3

44 lines (43 loc) 1.76 kB
import * as _vueuse_core6 from "@vueuse/core"; import { Ref, ShallowRef } from "vue"; //#region src/composables/use-event-source.d.ts type State = 'CONNECTING' | 'OPEN' | 'CLOSED'; type AutoRetry = boolean | { retries?: number; delay?: number; onFailed?: () => void; }; type UseEventSourceOptions = EventSourceInit & { manual?: boolean; autoRetry?: AutoRetry; parseMessage?: boolean; handlerKey?: string; }; type MessageRaw = any; interface HandlerType { [key: string]: any; } declare function useEventSource<T extends HandlerType = HandlerType, D extends MessageRaw = MessageRaw>(url?: string | URL | Ref<string | URL>, options?: UseEventSourceOptions): { source: ShallowRef<EventSource | null>; url: Ref<string | URL | undefined, string | URL | undefined>; status: Ref<State, State>; data: Ref<D | null, D | null>; dataRecord: Ref<D[], D[]>; messageEvent: Ref<MessageEvent<D> | null, MessageEvent<D> | null>; messageEventRecord: Ref<MessageEvent<D>[], MessageEvent<D>[]>; error: Ref<Event | null, Event | null>; controller: ShallowRef<AbortController>; connect: (url?: string | URL, options?: EventSourceInit) => void; reconnect: () => void; close: () => void; destroy: () => void; registerHandler: <K extends keyof T>(type: K, handler: (data: T[K]) => void) => () => void; cancelHandler: <K extends keyof T>(type: K, handler: (data: T[K]) => void) => void; registerEvent: (type: string, handler: (ev: MessageEvent<D>) => void) => void; onOpen: _vueuse_core6.EventHookOn<Event>; onMessage: _vueuse_core6.EventHookOn<MessageEvent<any>>; onError: _vueuse_core6.EventHookOn<Event>; }; type UseEventSourceReturns = ReturnType<typeof useEventSource>; //#endregion export { UseEventSourceReturns, useEventSource };