UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

15 lines (14 loc) 763 B
import {createNetworkErrorFromResponse} from "../../../../../../../../misc/errors/network-error/create-network-error.mjs"; import {fulfilledObservable} from "../../../../../../../pipes/built-in/with-notifications/then/derived/fulfilled/fulfilled-observable.mjs"; import {throwError} from "../../../../others/throw-error/throw-error.mjs"; import {fromPromise} from "../../../../promise/from-promise/from-promise.mjs"; import {fromFetch} from "../../from-fetch.mjs"; export function fromFetchJSON(requestInfo, requestInit) { return fulfilledObservable(fromFetch(requestInfo, requestInit), response => { if (response.ok) { return fromPromise(response.json()); } else { return throwError(createNetworkErrorFromResponse(response)); } }); }