Spaces:
Running
Running
File size: 1,103 Bytes
d4b85c0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.locatedError = locatedError;
var _toError = require('../jsutils/toError.js');
var _GraphQLError = require('./GraphQLError.js');
/**
* Given an arbitrary value, presumably thrown while attempting to execute a
* GraphQL operation, produce a new GraphQLError aware of the location in the
* document responsible for the original Error.
*/
function locatedError(rawOriginalError, nodes, path) {
var _nodes;
const originalError = (0, _toError.toError)(rawOriginalError); // Note: this uses a brand-check to support GraphQL errors originating from other contexts.
if (isLocatedGraphQLError(originalError)) {
return originalError;
}
return new _GraphQLError.GraphQLError(originalError.message, {
nodes:
(_nodes = originalError.nodes) !== null && _nodes !== void 0
? _nodes
: nodes,
source: originalError.source,
positions: originalError.positions,
path,
originalError,
});
}
function isLocatedGraphQLError(error) {
return Array.isArray(error.path);
}
|