1 | Object.defineProperty(exports, "__esModule", { value: true });
|
2 | var graphql_1 = require("graphql");
|
3 | var error_1 = require("graphql/error");
|
4 | var errors_1 = require("./errors");
|
5 | var getResponseKeyFromInfo_1 = require("./getResponseKeyFromInfo");
|
6 |
|
7 |
|
8 |
|
9 | var 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 |
|
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 | };
|
31 | exports.default = defaultMergedResolver;
|
32 |
|
\ | No newline at end of file |