Spaces:
Running
Running
| import { toError } from '../jsutils/toError.mjs'; | |
| import { GraphQLError } from './GraphQLError.mjs'; | |
| /** | |
| * 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. | |
| */ | |
| export function locatedError(rawOriginalError, nodes, path) { | |
| var _nodes; | |
| const originalError = toError(rawOriginalError); // Note: this uses a brand-check to support GraphQL errors originating from other contexts. | |
| if (isLocatedGraphQLError(originalError)) { | |
| return originalError; | |
| } | |
| return new 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); | |
| } | |