UNPKG

1.28 kBJavaScriptView Raw
1Object.defineProperty(exports, "__esModule", { value: true });
2var graphql_1 = require("graphql");
3var error_1 = require("graphql/error");
4var errors_1 = require("./errors");
5var getResponseKeyFromInfo_1 = require("./getResponseKeyFromInfo");
6// Resolver that knows how to:
7// a) handle aliases for proxied schemas
8// b) handle errors from proxied schemas
9var defaultMergedResolver = function (parent, args, context, info) {
10 if (!parent) {
11 return null;
12 }
13 var responseKey = getResponseKeyFromInfo_1.getResponseKeyFromInfo(info);
14 var errorResult = errors_1.getErrorsFromParent(parent, responseKey);
15 if (errorResult.kind === 'OWN') {
16 throw error_1.locatedError(new Error(errorResult.error.message), info.fieldNodes, graphql_1.responsePathAsArray(info.path));
17 }
18 var result = parent[responseKey];
19 if (result == null) {
20 result = parent[info.fieldName];
21 }
22 // subscription result mapping
23 if (!result && parent.data && parent.data[responseKey]) {
24 result = parent.data[responseKey];
25 }
26 if (errorResult.errors) {
27 result = errors_1.annotateWithChildrenErrors(result, errorResult.errors);
28 }
29 return result;
30};
31exports.default = defaultMergedResolver;
32//# sourceMappingURL=defaultMergedResolver.js.map
\No newline at end of file