Initialisation
Added the packages and files for the backend server
This commit is contained in:
267
node_modules/graphql/error/GraphQLError.js
generated
vendored
Normal file
267
node_modules/graphql/error/GraphQLError.js
generated
vendored
Normal file
@@ -0,0 +1,267 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true,
|
||||
});
|
||||
exports.GraphQLError = void 0;
|
||||
exports.formatError = formatError;
|
||||
exports.printError = printError;
|
||||
|
||||
var _isObjectLike = require('../jsutils/isObjectLike.js');
|
||||
|
||||
var _location = require('../language/location.js');
|
||||
|
||||
var _printLocation = require('../language/printLocation.js');
|
||||
|
||||
function toNormalizedOptions(args) {
|
||||
const firstArg = args[0];
|
||||
|
||||
if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {
|
||||
return {
|
||||
nodes: firstArg,
|
||||
source: args[1],
|
||||
positions: args[2],
|
||||
path: args[3],
|
||||
originalError: args[4],
|
||||
extensions: args[5],
|
||||
};
|
||||
}
|
||||
|
||||
return firstArg;
|
||||
}
|
||||
/**
|
||||
* A GraphQLError describes an Error found during the parse, validate, or
|
||||
* execute phases of performing a GraphQL operation. In addition to a message
|
||||
* and stack trace, it also includes information about the locations in a
|
||||
* GraphQL document and/or execution result that correspond to the Error.
|
||||
*/
|
||||
|
||||
class GraphQLError extends Error {
|
||||
/**
|
||||
* An array of `{ line, column }` locations within the source GraphQL document
|
||||
* which correspond to this error.
|
||||
*
|
||||
* Errors during validation often contain multiple locations, for example to
|
||||
* point out two things with the same name. Errors during execution include a
|
||||
* single location, the field which produced the error.
|
||||
*
|
||||
* Enumerable, and appears in the result of JSON.stringify().
|
||||
*/
|
||||
|
||||
/**
|
||||
* An array describing the JSON-path into the execution response which
|
||||
* corresponds to this error. Only included for errors during execution.
|
||||
*
|
||||
* Enumerable, and appears in the result of JSON.stringify().
|
||||
*/
|
||||
|
||||
/**
|
||||
* An array of GraphQL AST Nodes corresponding to this error.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The source GraphQL document for the first location of this error.
|
||||
*
|
||||
* Note that if this Error represents more than one node, the source may not
|
||||
* represent nodes after the first node.
|
||||
*/
|
||||
|
||||
/**
|
||||
* An array of character offsets within the source GraphQL document
|
||||
* which correspond to this error.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The original error thrown from a field resolver during execution.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Extension fields to add to the formatted error.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.
|
||||
*/
|
||||
constructor(message, ...rawArgs) {
|
||||
var _this$nodes, _nodeLocations$, _ref;
|
||||
|
||||
const { nodes, source, positions, path, originalError, extensions } =
|
||||
toNormalizedOptions(rawArgs);
|
||||
super(message);
|
||||
this.name = 'GraphQLError';
|
||||
this.path = path !== null && path !== void 0 ? path : undefined;
|
||||
this.originalError =
|
||||
originalError !== null && originalError !== void 0
|
||||
? originalError
|
||||
: undefined; // Compute list of blame nodes.
|
||||
|
||||
this.nodes = undefinedIfEmpty(
|
||||
Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,
|
||||
);
|
||||
const nodeLocations = undefinedIfEmpty(
|
||||
(_this$nodes = this.nodes) === null || _this$nodes === void 0
|
||||
? void 0
|
||||
: _this$nodes.map((node) => node.loc).filter((loc) => loc != null),
|
||||
); // Compute locations in the source for the given nodes/positions.
|
||||
|
||||
this.source =
|
||||
source !== null && source !== void 0
|
||||
? source
|
||||
: nodeLocations === null || nodeLocations === void 0
|
||||
? void 0
|
||||
: (_nodeLocations$ = nodeLocations[0]) === null ||
|
||||
_nodeLocations$ === void 0
|
||||
? void 0
|
||||
: _nodeLocations$.source;
|
||||
this.positions =
|
||||
positions !== null && positions !== void 0
|
||||
? positions
|
||||
: nodeLocations === null || nodeLocations === void 0
|
||||
? void 0
|
||||
: nodeLocations.map((loc) => loc.start);
|
||||
this.locations =
|
||||
positions && source
|
||||
? positions.map((pos) => (0, _location.getLocation)(source, pos))
|
||||
: nodeLocations === null || nodeLocations === void 0
|
||||
? void 0
|
||||
: nodeLocations.map((loc) =>
|
||||
(0, _location.getLocation)(loc.source, loc.start),
|
||||
);
|
||||
const originalExtensions = (0, _isObjectLike.isObjectLike)(
|
||||
originalError === null || originalError === void 0
|
||||
? void 0
|
||||
: originalError.extensions,
|
||||
)
|
||||
? originalError === null || originalError === void 0
|
||||
? void 0
|
||||
: originalError.extensions
|
||||
: undefined;
|
||||
this.extensions =
|
||||
(_ref =
|
||||
extensions !== null && extensions !== void 0
|
||||
? extensions
|
||||
: originalExtensions) !== null && _ref !== void 0
|
||||
? _ref
|
||||
: Object.create(null); // Only properties prescribed by the spec should be enumerable.
|
||||
// Keep the rest as non-enumerable.
|
||||
|
||||
Object.defineProperties(this, {
|
||||
message: {
|
||||
writable: true,
|
||||
enumerable: true,
|
||||
},
|
||||
name: {
|
||||
enumerable: false,
|
||||
},
|
||||
nodes: {
|
||||
enumerable: false,
|
||||
},
|
||||
source: {
|
||||
enumerable: false,
|
||||
},
|
||||
positions: {
|
||||
enumerable: false,
|
||||
},
|
||||
originalError: {
|
||||
enumerable: false,
|
||||
},
|
||||
}); // Include (non-enumerable) stack trace.
|
||||
|
||||
/* c8 ignore start */
|
||||
// FIXME: https://github.com/graphql/graphql-js/issues/2317
|
||||
|
||||
if (
|
||||
originalError !== null &&
|
||||
originalError !== void 0 &&
|
||||
originalError.stack
|
||||
) {
|
||||
Object.defineProperty(this, 'stack', {
|
||||
value: originalError.stack,
|
||||
writable: true,
|
||||
configurable: true,
|
||||
});
|
||||
} else if (Error.captureStackTrace) {
|
||||
Error.captureStackTrace(this, GraphQLError);
|
||||
} else {
|
||||
Object.defineProperty(this, 'stack', {
|
||||
value: Error().stack,
|
||||
writable: true,
|
||||
configurable: true,
|
||||
});
|
||||
}
|
||||
/* c8 ignore stop */
|
||||
}
|
||||
|
||||
get [Symbol.toStringTag]() {
|
||||
return 'GraphQLError';
|
||||
}
|
||||
|
||||
toString() {
|
||||
let output = this.message;
|
||||
|
||||
if (this.nodes) {
|
||||
for (const node of this.nodes) {
|
||||
if (node.loc) {
|
||||
output += '\n\n' + (0, _printLocation.printLocation)(node.loc);
|
||||
}
|
||||
}
|
||||
} else if (this.source && this.locations) {
|
||||
for (const location of this.locations) {
|
||||
output +=
|
||||
'\n\n' +
|
||||
(0, _printLocation.printSourceLocation)(this.source, location);
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
toJSON() {
|
||||
const formattedError = {
|
||||
message: this.message,
|
||||
};
|
||||
|
||||
if (this.locations != null) {
|
||||
formattedError.locations = this.locations;
|
||||
}
|
||||
|
||||
if (this.path != null) {
|
||||
formattedError.path = this.path;
|
||||
}
|
||||
|
||||
if (this.extensions != null && Object.keys(this.extensions).length > 0) {
|
||||
formattedError.extensions = this.extensions;
|
||||
}
|
||||
|
||||
return formattedError;
|
||||
}
|
||||
}
|
||||
|
||||
exports.GraphQLError = GraphQLError;
|
||||
|
||||
function undefinedIfEmpty(array) {
|
||||
return array === undefined || array.length === 0 ? undefined : array;
|
||||
}
|
||||
/**
|
||||
* See: https://spec.graphql.org/draft/#sec-Errors
|
||||
*/
|
||||
|
||||
/**
|
||||
* Prints a GraphQLError to a string, representing useful location information
|
||||
* about the error's position in the source.
|
||||
*
|
||||
* @deprecated Please use `error.toString` instead. Will be removed in v17
|
||||
*/
|
||||
function printError(error) {
|
||||
return error.toString();
|
||||
}
|
||||
/**
|
||||
* Given a GraphQLError, format it according to the rules described by the
|
||||
* Response Format, Errors section of the GraphQL Specification.
|
||||
*
|
||||
* @deprecated Please use `error.toJSON` instead. Will be removed in v17
|
||||
*/
|
||||
|
||||
function formatError(error) {
|
||||
return error.toJSON();
|
||||
}
|
||||
Reference in New Issue
Block a user