graphql
Version:
A Query Language and Runtime which can target any service.
1 lines • 2.61 kB
Source Map (JSON)
{"version":3,"file":"AbortedGraphQLExecutionError.js","sourceRoot":"","sources":["../../src/execution/AbortedGraphQLExecutionError.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,4BAAsC,SAAQ,KAAK;IAqB9D,YAAY,MAAe,EAAE,MAA+B;QAC1D,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAMD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,8BAA8B,CAAC;IACxC,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAe;IAC5C,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,SAAS,IAAI,MAAM;QACnB,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAClC,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC","sourcesContent":["/** @category Execution */\n\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.ts';\n\n/**\n * Error thrown when GraphQL execution is aborted.\n * @typeParam TResult - Result value type.\n */\nexport class AbortedGraphQLExecutionError<TResult> extends Error {\n /** Partial execution result available when execution was aborted. */\n readonly abortedResult: PromiseOrValue<TResult>;\n\n /**\n * Creates an error for an aborted GraphQL execution.\n * @param reason - Abort reason used as the error cause.\n * @param result - Partial execution result available when execution stopped.\n * @example\n * ```ts\n * import { AbortedGraphQLExecutionError } from 'graphql/execution';\n *\n * const cause = new Error('Request cancelled.');\n * const partialResult = { data: { viewer: null } };\n * const error = new AbortedGraphQLExecutionError(cause, partialResult);\n *\n * error.message; // => 'Request cancelled.'\n * error.cause; // => cause\n * error.abortedResult; // => partialResult\n * ```\n */\n constructor(reason: unknown, result: PromiseOrValue<TResult>) {\n super(getAbortReasonMessage(reason), { cause: reason });\n this.name = 'AbortedGraphQLExecutionError';\n this.abortedResult = result;\n }\n\n /**\n * Returns the value used by `Object.prototype.toString`.\n * @returns The built-in string tag for this object.\n */\n get [Symbol.toStringTag](): string {\n return 'AbortedGraphQLExecutionError';\n }\n}\n\nfunction getAbortReasonMessage(reason: unknown): string {\n if (reason instanceof Error) {\n return reason.message;\n }\n if (\n typeof reason === 'object' &&\n reason !== null &&\n 'message' in reason &&\n typeof reason.message === 'string'\n ) {\n return reason.message;\n }\n return String(reason);\n}\n"]}