@lifaon/rx-js-light
Version:
Blazing fast Observables
15 lines (14 loc) • 763 B
JavaScript
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));
}
});
}