export type GetApiApiV1StreamArgs = {'X-Query-Validation'?: 'strict' | undefined, 'Last-Event-ID'?: string | undefined, last_event_id?: string | undefined, seq?: string | undefined, event?: string | undefined, condition_id?: string | undefined, min_grade?: ('S' | 'A' | 'B' | 'C' | 'D' | 'F') | undefined, wallet?: string | undefined, min_size?: string | undefined}; export type GetApiApiV1StreamOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Resumable real-time event stream (SSE) * * GET /api/v1/stream * * Also accepts auth: oauth2 */ export const getApiApiV1Stream = async (args: GetApiApiV1StreamArgs, options?: GetApiApiV1StreamOptions) => { const {baseUrl = "https://api.0xinsider.com", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "text/event-stream") if (args['X-Query-Validation'] != null) headers.set("X-Query-Validation", String(args['X-Query-Validation'])) if (args['Last-Event-ID'] != null) headers.set("Last-Event-ID", String(args['Last-Event-ID'])) if (args.last_event_id != null) query.append("last_event_id", String(args.last_event_id)) if (args.seq != null) query.append("seq", String(args.seq)) if (args.event != null) query.append("event", String(args.event)) if (args.condition_id != null) query.append("condition_id", String(args.condition_id)) if (args.min_grade != null) query.append("min_grade", String(args.min_grade)) if (args.wallet != null) query.append("wallet", String(args.wallet)) if (args.min_size != null) query.append("min_size", String(args.min_size)) if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1/stream${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.text() };