apollo-client
Version:
A simple yet functional GraphQL client.
36 lines • 1.43 kB
JavaScript
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
import { isMutationInitAction, isMutationResultAction, isMutationErrorAction, isStoreResetAction, } from '../actions';
export function mutations(previousState, action) {
if (previousState === void 0) { previousState = {}; }
if (isMutationInitAction(action)) {
var newState = __assign({}, previousState);
newState[action.mutationId] = {
mutationString: action.mutationString,
variables: action.variables,
loading: true,
error: null,
};
return newState;
}
else if (isMutationResultAction(action)) {
var newState = __assign({}, previousState);
newState[action.mutationId] = __assign({}, previousState[action.mutationId], { loading: false, error: null });
return newState;
}
else if (isMutationErrorAction(action)) {
var newState = __assign({}, previousState);
newState[action.mutationId] = __assign({}, previousState[action.mutationId], { loading: false, error: action.error });
}
else if (isStoreResetAction(action)) {
return {};
}
return previousState;
}
//# sourceMappingURL=store.js.map