chore: update api-client

This commit is contained in:
Nicolas Meienberger 2026-04-16 21:42:42 +02:00
parent 85f0eca73b
commit ccaa7e17be
No known key found for this signature in database

View file

@ -80,7 +80,7 @@ export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unkn
>; >;
}; };
export const createSseClient = <TData = unknown>({ export function createSseClient<TData = unknown>({
onRequest, onRequest,
onSseError, onSseError,
onSseEvent, onSseEvent,
@ -92,7 +92,7 @@ export const createSseClient = <TData = unknown>({
sseSleepFn, sseSleepFn,
url, url,
...options ...options
}: ServerSentEventsOptions): ServerSentEventsResult<TData> => { }: ServerSentEventsOptions): ServerSentEventsResult<TData> {
let lastEventId: string | undefined; let lastEventId: string | undefined;
const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms))); const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
@ -156,8 +156,7 @@ export const createSseClient = <TData = unknown>({
const { done, value } = await reader.read(); const { done, value } = await reader.read();
if (done) break; if (done) break;
buffer += value; buffer += value;
// Normalize line endings: CRLF -> LF, then CR -> LF buffer = buffer.replace(/\r\n?/g, '\n'); // normalize line endings
buffer = buffer.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
const chunks = buffer.split('\n\n'); const chunks = buffer.split('\n\n');
buffer = chunks.pop() ?? ''; buffer = chunks.pop() ?? '';
@ -241,4 +240,4 @@ export const createSseClient = <TData = unknown>({
const stream = createStream(); const stream = createStream();
return { stream }; return { stream };
}; }