apollo-client-code-first-request
Version:
27 lines • 1.13 kB
JavaScript
exports.__esModule = true;
exports.parseApolloResponseData = void 0;
var parse_object_by_scalar_util_1 = require("./parse-object-by-scalar.util");
function parseApolloResponseData(queries, data) {
return Object.keys(data).reduce(function (prev, curr) {
var query = queries.find(function (_a) {
var name = _a.name;
return name === curr;
});
if (!query)
return prev;
if (Array.isArray(data[curr]) !== Array.isArray(query.responseRef)) {
throw new Error('responseRef must be Array when response is Array.');
}
if (Array.isArray(data[curr])) {
prev[curr] = data[curr]
.map(function (item) { return ((0, parse_object_by_scalar_util_1.parseObjectByScalar)(query.responseRef[0], item)); });
}
else {
prev[curr] = (0, parse_object_by_scalar_util_1.parseObjectByScalar)(query.responseRef, data[curr]);
}
return prev;
}, {});
}
exports.parseApolloResponseData = parseApolloResponseData;
//# sourceMappingURL=parse-apollo-response-data.util.js.map
;