UNPKG

@data-client/core

Version:

Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch

18 lines (16 loc) 520 B
import { createOptimistic } from '../../controller/actions/createOptimistic.js'; import type { State, FetchAction } from '../../types.js'; export function fetchReducer(state: State<unknown>, action: FetchAction) { if (action.endpoint.getOptimisticResponse && action.endpoint.sideEffect) { const setAction = createOptimistic( action.endpoint, action.args, action.meta.fetchedAt, ); return { ...state, optimistic: [...state.optimistic, setAction], }; } return state; }