Envelope Error Throw
This example shows how to configure output to throw errors even when using the envelope.
ts
import { Graffle } from './graffle/__.js'
const pokemon = Graffle
.create({
output: {
envelope: {
errors: {
execution: false,
other: false, // default
}
},
},
})
.anyware(({ encode: _ }) => {
throw new Error(`Something went wrong.`)
})
await pokemon.query.pokemons({ name: true })
Outputs
txt
/some/path/to/runPipeline.ts:XX:XX
return new ContextualError(message, {
^
ContextualError: There was an error in the extension "anonymous" (use named functions to improve this error message) while running hook "encode".
at runPipeline (/some/path/to/runPipeline.ts:XX:XX:18)
at async Object.run (/some/path/to/main.ts:XX:XX:22)
at async executeDocument (/some/path/to/requestMethods.ts:XX:XX:18)
at async executeRootField (/some/path/to/requestMethods.ts:XX:XX:18)
at async <anonymous> (/some/path/to/output_envelope_envelope_error-throw__envelope-error-throw.ts:XX:XX:1) {
context: {
hookName: 'encode',
source: 'extension',
extensionName: 'anonymous'
},
cause: Error: Something went wrong.
at <anonymous> (/some/path/to/output_envelope_envelope_error-throw__envelope-error-throw.ts:XX:XX:11)
at applyBody (/some/path/to/main.ts:XX:XX:28)
}
Node.js vXX.XX.XX