Skip to content

Commit c0002ef

Browse files
committed
more updates to the hooks changeset
1 parent 8d30500 commit c0002ef

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

.changeset/strange-ties-mix.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ Additionally, the `onOperation`, `onError`, `onNext` and `onComplete` now have t
1515
#### `schema`
1616

1717
```diff
18+
import { ExecutionArgs } from 'graphql';
1819
import { ServerOptions, SubscribePayload } from 'graphql-ws';
1920

2021
const opts: ServerOptions = {
21-
- schema(ctx, message) {
22+
- schema(ctx, message, argsWithoutSchema: Omit<ExecutionArgs, 'schema'>) {
2223
- const messageId = message.id;
2324
- const messagePayload: SubscribePayload = message.payload;
2425
- },
@@ -32,14 +33,15 @@ const opts: ServerOptions = {
3233
#### `context`
3334

3435
```diff
36+
import { ExecutionArgs } from 'graphql';
3537
import { ServerOptions, SubscribePayload } from 'graphql-ws';
3638

3739
const opts: ServerOptions = {
38-
- context(ctx, message) {
40+
- context(ctx, message, args: ExecutionArgs) {
3941
- const messageId = message.id;
4042
- const messagePayload: SubscribePayload = message.payload;
4143
- },
42-
+ context(ctx, id, payload) {
44+
+ context(ctx, id, payload, args: ExecutionArgs) {
4345
+ const messageId = id;
4446
+ const messagePayload: SubscribePayload = payload;
4547
+ },
@@ -69,14 +71,14 @@ The `SubscribeMessage.payload` is not useful here at all, the `payload` has been
6971

7072
```diff
7173
import { ExecutionArgs } from 'graphql';
72-
import { ServerOptions, SubscribePayload } from 'graphql-ws';
74+
import { ServerOptions, SubscribePayload, OperationResult } from 'graphql-ws';
7375

7476
const opts: ServerOptions = {
75-
- onOperation(ctx, message) {
77+
- onOperation(ctx, message, args: ExecutionArgs, result: OperationResult) {
7678
- const messageId = message.id;
7779
- const messagePayload: SubscribePayload = message.payload;
7880
- },
79-
+ onOperation(ctx, id, payload) {
81+
+ onOperation(ctx, id, payload, args: ExecutionArgs, result: OperationResult) {
8082
+ const messageId = id;
8183
+ const messagePayload: SubscribePayload = payload;
8284
+ },
@@ -111,18 +113,16 @@ const opts: ServerOptions = {
111113
The `NextMessage.payload` (`FormattedExecutionResult`) is not useful here at all, the user has access to `ExecutionResult` that contains actual object references to error instances. The user can always convert and return `FormattedExecutionResult` by serialising the errors with `GraphQLError.toJSON()` method.
112114

113115
```diff
114-
import { ExecutionResult, FormattedExecutionResult } from 'graphql';
116+
import { ExecutionArgs, ExecutionResult, FormattedExecutionResult } from 'graphql';
115117
import { ServerOptions, SubscribePayload } from 'graphql-ws';
116118

117119
const opts: ServerOptions = {
118-
- onNext(ctx, message, _args, result) {
120+
- onNext(ctx, message, args: ExecutionArgs, result: ExecutionResult) {
119121
- const messageId = message.id;
120-
- const graphqlResult: ExecutionResult = result;
121122
- const nextMessagePayload: FormattedExecutionResult = message.payload;
122123
- },
123-
+ onNext(ctx, id, payload, _args, result) {
124+
+ onNext(ctx, id, payload, args: ExecutionArgs, result: ExecutionResult) {
124125
+ const messageId = id;
125-
+ const graphqlResult: ExecutionResult = result;
126126
+ const subscribeMessagePayload: SubscribePayload = payload;
127127
+ const nextMessagePayload: FormattedExecutionResult = { ...result, errors: result.errors?.map((e) => e.toJSON()) };
128128
+ },

0 commit comments

Comments
 (0)