Commit a1d22a2
authored
introduce ValidatedExecutionArgs (#4210)
to safely export buildExecutionContext() as validateExecutionArgs()
motivation: this will allow us to:
1. export `executeOperation()` and `executeSubscription()` for those who would like to use directly.
2. add a `perEventExecutor` option to `ExecutionArgs` that allows one to pass a custom context for execution of each execution event, with the opportunity to clean up the context on return, a la #2485 and #3071, addressing #894, which would not require re-coercion of variables.
The signature of the `perEventExecutor` option would be:
```ts
type SubscriptionEventExecutor = ( validatedExecutionArgs: ValidatedExecutionArgs): PromiseOrValue<ExecutionResult>
```
rather than:
```ts
type SubscriptionEventExecutor = ( executionArgs: ExecutionArgs): PromiseOrValue<ExecutionResult>
```
This might be a first step to integrating `subscribe()` completely into `execute()` (see: #3644) but is also a reasonable stopping place.1 parent b751310 commit a1d22a2
3 files changed
+119
-95
lines changed
0 commit comments