UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

1 lines 1.65 kB
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/execution/hooks.ts"],"names":[],"mappings":"AAQA,SAAS,aAAa,CAAQ,IAA2B,EAAE,IAAW;IACpE,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAGD,MAAM,UAAU,wBAAwB,CACtC,sBAA8C,EAC9C,sBAA8C,EAC9C,qBAA4D;IAE5D,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC7E,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,aAAa,CAAC,qBAAqB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,qBAAqB;SAClB,IAAI,CAAC,GAAG,EAAE;QACT,aAAa,CAAC,qBAAqB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["/** @category Execution */\n\nimport type { SharedExecutionContext } from './createSharedExecutionContext.ts';\nimport type {\n AsyncWorkFinishedInfo,\n ValidatedExecutionArgs,\n} from './ExecutionArgs.ts';\n\nfunction runHookSafely<TInfo>(hook: (info: TInfo) => void, info: TInfo): void {\n try {\n hook?.(info);\n } catch {\n // ignore hook errors\n }\n}\n\n/** @internal */\nexport function runAsyncWorkFinishedHook(\n validatedExecutionArgs: ValidatedExecutionArgs,\n sharedExecutionContext: SharedExecutionContext,\n asyncWorkFinishedHook: (info: AsyncWorkFinishedInfo) => void,\n): void {\n const maybeWaitForAsyncWork = sharedExecutionContext.asyncWorkTracker.wait();\n if (maybeWaitForAsyncWork === undefined) {\n runHookSafely(asyncWorkFinishedHook, { validatedExecutionArgs });\n return;\n }\n maybeWaitForAsyncWork\n .then(() => {\n runHookSafely(asyncWorkFinishedHook, { validatedExecutionArgs });\n })\n .catch(() => undefined);\n}\n"]}