UNPKG

apollo-client

Version:
47 lines 1.94 kB
"use strict"; var actions_1 = require('../actions'); var writeToStore_1 = require('./writeToStore'); var assign = require('lodash.assign'); var storeUtils_1 = require('./storeUtils'); function data(previousState, action, queries, mutations, config) { if (previousState === void 0) { previousState = {}; } if (actions_1.isQueryResultAction(action)) { if (!queries[action.queryId]) { return previousState; } if (action.requestId < queries[action.queryId].lastRequestId) { return previousState; } if (!storeUtils_1.graphQLResultHasError(action.result)) { var queryStoreValue = queries[action.queryId]; var clonedState = assign({}, previousState); var newState = writeToStore_1.writeSelectionSetToStore({ result: action.result.data, dataId: queryStoreValue.minimizedQuery.id, selectionSet: queryStoreValue.minimizedQuery.selectionSet, variables: queryStoreValue.variables, store: clonedState, dataIdFromObject: config.dataIdFromObject, }); return newState; } } else if (actions_1.isMutationResultAction(action)) { if (!action.result.errors) { var queryStoreValue = mutations[action.mutationId]; var clonedState = assign({}, previousState); var newState = writeToStore_1.writeSelectionSetToStore({ result: action.result.data, dataId: queryStoreValue.mutation.id, selectionSet: queryStoreValue.mutation.selectionSet, variables: queryStoreValue.variables, store: clonedState, dataIdFromObject: config.dataIdFromObject, }); return newState; } } return previousState; } exports.data = data; //# sourceMappingURL=store.js.map