UNPKG

@piadina/fetch-jsonl

Version:

Stream and parse (**JSON Lines**)[https://jsonlines.org/] directly with fetch. Yields parsed JSON objects one line at a time.

25 lines (24 loc) 1.38 kB
export interface FetchJSONLOptions { fetchImpl?: typeof fetch; reviver?: Parameters<typeof JSON.parse>[1]; hooks?: { beforeRequest?: Array<(request: Request) => Request | void | Promise<Request | void>>; }; } export declare class FetchJSONL { #private; private static instance; private hooks; constructor(options?: FetchJSONLOptions); private parseJSON; private applyBeforeRequestHooks; stream<T = unknown, TError extends Error = Error>(input: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; get<T = unknown, TError extends Error = Error>(url: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; post<T = unknown, TError extends Error = Error>(url: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; put<T = unknown, TError extends Error = Error>(url: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; patch<T = unknown, TError extends Error = Error>(url: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; delete<T = unknown, TError extends Error = Error>(url: RequestInfo | URL, init?: RequestInit): AsyncGenerator<T, void, unknown>; } export declare const createInstance: (defaults?: FetchJSONLOptions) => FetchJSONL; declare const fetchJSONL: FetchJSONL; export default fetchJSONL;