@data-client/core
Version:
Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch
12 lines • 2.08 kB
JavaScript
import { createOptimistic } from '../../controller/actions/createOptimistic.js';
export function fetchReducer(state, action) {
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;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVPcHRpbWlzdGljIiwiZmV0Y2hSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJlbmRwb2ludCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsInNpZGVFZmZlY3QiLCJzZXRBY3Rpb24iLCJhcmdzIiwibWV0YSIsImZldGNoZWRBdCIsIm9wdGltaXN0aWMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGUvcmVkdWNlci9mZXRjaFJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlT3B0aW1pc3RpYyB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvYWN0aW9ucy9jcmVhdGVPcHRpbWlzdGljLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhdGUsIEZldGNoQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hSZWR1Y2VyKHN0YXRlOiBTdGF0ZTx1bmtub3duPiwgYWN0aW9uOiBGZXRjaEFjdGlvbikge1xuICBpZiAoYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZSAmJiBhY3Rpb24uZW5kcG9pbnQuc2lkZUVmZmVjdCkge1xuICAgIGNvbnN0IHNldEFjdGlvbiA9IGNyZWF0ZU9wdGltaXN0aWMoXG4gICAgICBhY3Rpb24uZW5kcG9pbnQsXG4gICAgICBhY3Rpb24uYXJncyxcbiAgICAgIGFjdGlvbi5tZXRhLmZldGNoZWRBdCxcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG9wdGltaXN0aWM6IFsuLi5zdGF0ZS5vcHRpbWlzdGljLCBzZXRBY3Rpb25dLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxnQkFBZ0IsUUFBUSw4Q0FBOEM7QUFHL0UsT0FBTyxTQUFTQyxZQUFZQSxDQUFDQyxLQUFxQixFQUFFQyxNQUFtQixFQUFFO0VBQ3ZFLElBQUlBLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDQyxxQkFBcUIsSUFBSUYsTUFBTSxDQUFDQyxRQUFRLENBQUNFLFVBQVUsRUFBRTtJQUN2RSxNQUFNQyxTQUFTLEdBQUdQLGdCQUFnQixDQUNoQ0csTUFBTSxDQUFDQyxRQUFRLEVBQ2ZELE1BQU0sQ0FBQ0ssSUFBSSxFQUNYTCxNQUFNLENBQUNNLElBQUksQ0FBQ0MsU0FDZCxDQUFDO0lBQ0QsT0FBTztNQUNMLEdBQUdSLEtBQUs7TUFDUlMsVUFBVSxFQUFFLENBQUMsR0FBR1QsS0FBSyxDQUFDUyxVQUFVLEVBQUVKLFNBQVM7SUFDN0MsQ0FBQztFQUNIO0VBQ0EsT0FBT0wsS0FBSztBQUNkIiwiaWdub3JlTGlzdCI6W119