From 0f37e96aa2d703c7d55a90d62e623510fe656c66 Mon Sep 17 00:00:00 2001 From: Henry Dineen Date: Thu, 4 Apr 2024 23:20:16 -0400 Subject: [PATCH 1/3] Fix operation.setContext() type --- .api-reports/api-report-core.md | 5 ++++- .api-reports/api-report-link_batch-http.md | 5 ++++- .api-reports/api-report-link_batch.md | 5 ++++- .api-reports/api-report-link_context.md | 5 ++++- .api-reports/api-report-link_core.md | 5 ++++- .api-reports/api-report-link_error.md | 5 ++++- .api-reports/api-report-link_http.md | 5 ++++- .api-reports/api-report-link_persisted-queries.md | 5 ++++- .api-reports/api-report-link_remove-typename.md | 5 ++++- .api-reports/api-report-link_retry.md | 5 ++++- .api-reports/api-report-link_schema.md | 5 ++++- .api-reports/api-report-link_subscriptions.md | 5 ++++- .api-reports/api-report-link_utils.md | 5 ++++- .api-reports/api-report-link_ws.md | 5 ++++- .api-reports/api-report-react.md | 5 ++++- .api-reports/api-report-react_components.md | 5 ++++- .api-reports/api-report-react_context.md | 5 ++++- .api-reports/api-report-react_hoc.md | 5 ++++- .api-reports/api-report-react_hooks.md | 5 ++++- .api-reports/api-report-react_internal.md | 5 ++++- .api-reports/api-report-react_ssr.md | 5 ++++- .api-reports/api-report-testing.md | 5 ++++- .api-reports/api-report-testing_core.md | 5 ++++- .api-reports/api-report-utilities.md | 5 ++++- .api-reports/api-report.md | 5 ++++- .changeset/strange-needles-suffer.md | 5 +++++ src/link/core/types.ts | 5 ++++- 27 files changed, 109 insertions(+), 26 deletions(-) create mode 100644 .changeset/strange-needles-suffer.md diff --git a/.api-reports/api-report-core.md b/.api-reports/api-report-core.md index b405231b1df..d73743d3a81 100644 --- a/.api-reports/api-report-core.md +++ b/.api-reports/api-report-core.md @@ -1562,7 +1562,10 @@ export interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_batch-http.md b/.api-reports/api-report-link_batch-http.md index ce5dded3739..cf2e7f161f9 100644 --- a/.api-reports/api-report-link_batch-http.md +++ b/.api-reports/api-report-link_batch-http.md @@ -204,7 +204,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_batch.md b/.api-reports/api-report-link_batch.md index a547973287d..6d830c0cd39 100644 --- a/.api-reports/api-report-link_batch.md +++ b/.api-reports/api-report-link_batch.md @@ -178,7 +178,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_context.md b/.api-reports/api-report-link_context.md index af79db73e52..6c9d037cf78 100644 --- a/.api-reports/api-report-link_context.md +++ b/.api-reports/api-report-link_context.md @@ -149,7 +149,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_core.md b/.api-reports/api-report-link_core.md index f488d284b51..2daef318dd8 100644 --- a/.api-reports/api-report-link_core.md +++ b/.api-reports/api-report-link_core.md @@ -149,7 +149,10 @@ export interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_error.md b/.api-reports/api-report-link_error.md index af048d6fe6b..b5e55399b81 100644 --- a/.api-reports/api-report-link_error.md +++ b/.api-reports/api-report-link_error.md @@ -198,7 +198,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_http.md b/.api-reports/api-report-link_http.md index fbd71df7348..7882b606b13 100644 --- a/.api-reports/api-report-link_http.md +++ b/.api-reports/api-report-link_http.md @@ -242,7 +242,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_persisted-queries.md b/.api-reports/api-report-link_persisted-queries.md index 14e7a0b47db..0d57c040a5f 100644 --- a/.api-reports/api-report-link_persisted-queries.md +++ b/.api-reports/api-report-link_persisted-queries.md @@ -204,7 +204,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_remove-typename.md b/.api-reports/api-report-link_remove-typename.md index f50798f5f02..8b703f577f1 100644 --- a/.api-reports/api-report-link_remove-typename.md +++ b/.api-reports/api-report-link_remove-typename.md @@ -155,7 +155,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_retry.md b/.api-reports/api-report-link_retry.md index a4a61a6ea1d..b852fc904c8 100644 --- a/.api-reports/api-report-link_retry.md +++ b/.api-reports/api-report-link_retry.md @@ -159,7 +159,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_schema.md b/.api-reports/api-report-link_schema.md index fcbee50828b..1fa99953f43 100644 --- a/.api-reports/api-report-link_schema.md +++ b/.api-reports/api-report-link_schema.md @@ -147,7 +147,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_subscriptions.md b/.api-reports/api-report-link_subscriptions.md index 8745a5772cb..038fb43bae0 100644 --- a/.api-reports/api-report-link_subscriptions.md +++ b/.api-reports/api-report-link_subscriptions.md @@ -158,7 +158,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_utils.md b/.api-reports/api-report-link_utils.md index 061cad690e5..7d0cf7eea6b 100644 --- a/.api-reports/api-report-link_utils.md +++ b/.api-reports/api-report-link_utils.md @@ -55,7 +55,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-link_ws.md b/.api-reports/api-report-link_ws.md index 72a8165e4f0..0cb2808f90f 100644 --- a/.api-reports/api-report-link_ws.md +++ b/.api-reports/api-report-link_ws.md @@ -148,7 +148,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react.md b/.api-reports/api-report-react.md index a12089d47fc..5492231ee81 100644 --- a/.api-reports/api-report-react.md +++ b/.api-reports/api-report-react.md @@ -1417,7 +1417,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: Context) => Context; + setContext: { + (context: Context): void; + (updateContext: (previousContext: Context) => Context): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_components.md b/.api-reports/api-report-react_components.md index 75bdf5cdc69..89fc1dcee6e 100644 --- a/.api-reports/api-report-react_components.md +++ b/.api-reports/api-report-react_components.md @@ -1181,7 +1181,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_context.md b/.api-reports/api-report-react_context.md index 89bdcc1f98d..f3c996da5a2 100644 --- a/.api-reports/api-report-react_context.md +++ b/.api-reports/api-report-react_context.md @@ -1120,7 +1120,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_hoc.md b/.api-reports/api-report-react_hoc.md index 2a2c95db36a..2bae476feb1 100644 --- a/.api-reports/api-report-react_hoc.md +++ b/.api-reports/api-report-react_hoc.md @@ -1141,7 +1141,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_hooks.md b/.api-reports/api-report-react_hooks.md index 8e157061ac6..f99bf5ece32 100644 --- a/.api-reports/api-report-react_hooks.md +++ b/.api-reports/api-report-react_hooks.md @@ -1364,7 +1364,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_internal.md b/.api-reports/api-report-react_internal.md index 86141628ec6..8409066f7b6 100644 --- a/.api-reports/api-report-react_internal.md +++ b/.api-reports/api-report-react_internal.md @@ -1250,7 +1250,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-react_ssr.md b/.api-reports/api-report-react_ssr.md index 5a8d6bfde63..d4ca3a05cac 100644 --- a/.api-reports/api-report-react_ssr.md +++ b/.api-reports/api-report-react_ssr.md @@ -1105,7 +1105,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-testing.md b/.api-reports/api-report-testing.md index c02d6cfd1ec..2a3ae2f53d2 100644 --- a/.api-reports/api-report-testing.md +++ b/.api-reports/api-report-testing.md @@ -1213,7 +1213,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-testing_core.md b/.api-reports/api-report-testing_core.md index 2a3357aa0e2..142c6fcea49 100644 --- a/.api-reports/api-report-testing_core.md +++ b/.api-reports/api-report-testing_core.md @@ -1168,7 +1168,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report-utilities.md b/.api-reports/api-report-utilities.md index 02656941096..cc7fdb6b7e8 100644 --- a/.api-reports/api-report-utilities.md +++ b/.api-reports/api-report-utilities.md @@ -1903,7 +1903,10 @@ interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.api-reports/api-report.md b/.api-reports/api-report.md index 6d1e721d379..453ad594f9d 100644 --- a/.api-reports/api-report.md +++ b/.api-reports/api-report.md @@ -1922,7 +1922,10 @@ export interface Operation { // (undocumented) query: DocumentNode; // (undocumented) - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; // (undocumented) variables: Record; } diff --git a/.changeset/strange-needles-suffer.md b/.changeset/strange-needles-suffer.md new file mode 100644 index 00000000000..23cd112467b --- /dev/null +++ b/.changeset/strange-needles-suffer.md @@ -0,0 +1,5 @@ +--- +"@apollo/client": patch +--- + +Fix operation.setContext() type diff --git a/src/link/core/types.ts b/src/link/core/types.ts index 37fdae3cb57..57fab27e83c 100644 --- a/src/link/core/types.ts +++ b/src/link/core/types.ts @@ -76,7 +76,10 @@ export interface Operation { variables: Record; operationName: string; extensions: Record; - setContext: (context: DefaultContext) => DefaultContext; + setContext: { + (context: DefaultContext): void; + (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + }; getContext: () => DefaultContext; } From a9d6bf5c50c1f16ef1973db956914a5489d5585c Mon Sep 17 00:00:00 2001 From: "Henry Q. Dineen" Date: Fri, 5 Apr 2024 10:54:21 -0400 Subject: [PATCH 2/3] result should be `Partial` Co-authored-by: Lenz Weber-Tronic --- .api-reports/api-report-core.md | 4 ++-- .api-reports/api-report-link_batch-http.md | 4 ++-- .api-reports/api-report-link_batch.md | 4 ++-- .api-reports/api-report-link_context.md | 4 ++-- .api-reports/api-report-link_core.md | 4 ++-- .api-reports/api-report-link_error.md | 4 ++-- .api-reports/api-report-link_http.md | 4 ++-- .api-reports/api-report-link_persisted-queries.md | 4 ++-- .api-reports/api-report-link_remove-typename.md | 4 ++-- .api-reports/api-report-link_retry.md | 4 ++-- .api-reports/api-report-link_schema.md | 4 ++-- .api-reports/api-report-link_subscriptions.md | 4 ++-- .api-reports/api-report-link_utils.md | 4 ++-- .api-reports/api-report-link_ws.md | 4 ++-- .api-reports/api-report-react.md | 4 ++-- .api-reports/api-report-react_components.md | 4 ++-- .api-reports/api-report-react_context.md | 4 ++-- .api-reports/api-report-react_hoc.md | 4 ++-- .api-reports/api-report-react_hooks.md | 4 ++-- .api-reports/api-report-react_internal.md | 4 ++-- .api-reports/api-report-react_ssr.md | 4 ++-- .api-reports/api-report-testing.md | 4 ++-- .api-reports/api-report-testing_core.md | 4 ++-- .api-reports/api-report-utilities.md | 4 ++-- .api-reports/api-report.md | 4 ++-- src/link/core/types.ts | 8 ++++++-- 26 files changed, 56 insertions(+), 52 deletions(-) diff --git a/.api-reports/api-report-core.md b/.api-reports/api-report-core.md index d73743d3a81..7ebb32f55bf 100644 --- a/.api-reports/api-report-core.md +++ b/.api-reports/api-report-core.md @@ -1563,8 +1563,8 @@ export interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_batch-http.md b/.api-reports/api-report-link_batch-http.md index cf2e7f161f9..89008cc6985 100644 --- a/.api-reports/api-report-link_batch-http.md +++ b/.api-reports/api-report-link_batch-http.md @@ -205,8 +205,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_batch.md b/.api-reports/api-report-link_batch.md index 6d830c0cd39..6f6464edbbd 100644 --- a/.api-reports/api-report-link_batch.md +++ b/.api-reports/api-report-link_batch.md @@ -179,8 +179,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_context.md b/.api-reports/api-report-link_context.md index 6c9d037cf78..76a7c4e5344 100644 --- a/.api-reports/api-report-link_context.md +++ b/.api-reports/api-report-link_context.md @@ -150,8 +150,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_core.md b/.api-reports/api-report-link_core.md index 2daef318dd8..ce472253f3c 100644 --- a/.api-reports/api-report-link_core.md +++ b/.api-reports/api-report-link_core.md @@ -150,8 +150,8 @@ export interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_error.md b/.api-reports/api-report-link_error.md index b5e55399b81..245cc7946c9 100644 --- a/.api-reports/api-report-link_error.md +++ b/.api-reports/api-report-link_error.md @@ -199,8 +199,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_http.md b/.api-reports/api-report-link_http.md index 7882b606b13..f51aeded9bb 100644 --- a/.api-reports/api-report-link_http.md +++ b/.api-reports/api-report-link_http.md @@ -243,8 +243,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_persisted-queries.md b/.api-reports/api-report-link_persisted-queries.md index 0d57c040a5f..7a977f4ce55 100644 --- a/.api-reports/api-report-link_persisted-queries.md +++ b/.api-reports/api-report-link_persisted-queries.md @@ -205,8 +205,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_remove-typename.md b/.api-reports/api-report-link_remove-typename.md index 8b703f577f1..05dcca3dac0 100644 --- a/.api-reports/api-report-link_remove-typename.md +++ b/.api-reports/api-report-link_remove-typename.md @@ -156,8 +156,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_retry.md b/.api-reports/api-report-link_retry.md index b852fc904c8..173a281dd67 100644 --- a/.api-reports/api-report-link_retry.md +++ b/.api-reports/api-report-link_retry.md @@ -160,8 +160,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_schema.md b/.api-reports/api-report-link_schema.md index 1fa99953f43..14459f745e9 100644 --- a/.api-reports/api-report-link_schema.md +++ b/.api-reports/api-report-link_schema.md @@ -148,8 +148,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_subscriptions.md b/.api-reports/api-report-link_subscriptions.md index 038fb43bae0..a67c5415721 100644 --- a/.api-reports/api-report-link_subscriptions.md +++ b/.api-reports/api-report-link_subscriptions.md @@ -159,8 +159,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_utils.md b/.api-reports/api-report-link_utils.md index 7d0cf7eea6b..edce7cda76d 100644 --- a/.api-reports/api-report-link_utils.md +++ b/.api-reports/api-report-link_utils.md @@ -56,8 +56,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-link_ws.md b/.api-reports/api-report-link_ws.md index 0cb2808f90f..7969b0cdbc1 100644 --- a/.api-reports/api-report-link_ws.md +++ b/.api-reports/api-report-link_ws.md @@ -149,8 +149,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react.md b/.api-reports/api-report-react.md index 5492231ee81..c4115be5fd7 100644 --- a/.api-reports/api-report-react.md +++ b/.api-reports/api-report-react.md @@ -1418,8 +1418,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: Context): void; - (updateContext: (previousContext: Context) => Context): void; + (context: Partial): void; + (updateContext: (previousContext: Context) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_components.md b/.api-reports/api-report-react_components.md index 89fc1dcee6e..386e5695215 100644 --- a/.api-reports/api-report-react_components.md +++ b/.api-reports/api-report-react_components.md @@ -1182,8 +1182,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_context.md b/.api-reports/api-report-react_context.md index f3c996da5a2..c22522d001f 100644 --- a/.api-reports/api-report-react_context.md +++ b/.api-reports/api-report-react_context.md @@ -1121,8 +1121,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_hoc.md b/.api-reports/api-report-react_hoc.md index 2bae476feb1..4cce3484ea4 100644 --- a/.api-reports/api-report-react_hoc.md +++ b/.api-reports/api-report-react_hoc.md @@ -1142,8 +1142,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_hooks.md b/.api-reports/api-report-react_hooks.md index f99bf5ece32..fa1e902e956 100644 --- a/.api-reports/api-report-react_hooks.md +++ b/.api-reports/api-report-react_hooks.md @@ -1365,8 +1365,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_internal.md b/.api-reports/api-report-react_internal.md index 8409066f7b6..fc31f60c36a 100644 --- a/.api-reports/api-report-react_internal.md +++ b/.api-reports/api-report-react_internal.md @@ -1251,8 +1251,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-react_ssr.md b/.api-reports/api-report-react_ssr.md index d4ca3a05cac..3f0889dc424 100644 --- a/.api-reports/api-report-react_ssr.md +++ b/.api-reports/api-report-react_ssr.md @@ -1106,8 +1106,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-testing.md b/.api-reports/api-report-testing.md index 2a3ae2f53d2..38e50d72d1e 100644 --- a/.api-reports/api-report-testing.md +++ b/.api-reports/api-report-testing.md @@ -1214,8 +1214,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-testing_core.md b/.api-reports/api-report-testing_core.md index 142c6fcea49..3f6eab5b00f 100644 --- a/.api-reports/api-report-testing_core.md +++ b/.api-reports/api-report-testing_core.md @@ -1169,8 +1169,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report-utilities.md b/.api-reports/api-report-utilities.md index cc7fdb6b7e8..0cc74f0953c 100644 --- a/.api-reports/api-report-utilities.md +++ b/.api-reports/api-report-utilities.md @@ -1904,8 +1904,8 @@ interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/.api-reports/api-report.md b/.api-reports/api-report.md index 453ad594f9d..6eb1093955c 100644 --- a/.api-reports/api-report.md +++ b/.api-reports/api-report.md @@ -1923,8 +1923,8 @@ export interface Operation { query: DocumentNode; // (undocumented) setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + (updateContext: (previousContext: DefaultContext) => Partial): void; }; // (undocumented) variables: Record; diff --git a/src/link/core/types.ts b/src/link/core/types.ts index 57fab27e83c..a898f1a598e 100644 --- a/src/link/core/types.ts +++ b/src/link/core/types.ts @@ -77,8 +77,12 @@ export interface Operation { operationName: string; extensions: Record; setContext: { - (context: DefaultContext): void; - (updateContext: (previousContext: DefaultContext) => DefaultContext): void; + (context: Partial): void; + ( + updateContext: ( + previousContext: DefaultContext + ) => Partial + ): void; }; getContext: () => DefaultContext; } From cd2a7ecbfeb8202a942210433a028a16ec7196eb Mon Sep 17 00:00:00 2001 From: Henry Dineen Date: Fri, 5 Apr 2024 11:05:22 -0400 Subject: [PATCH 3/3] use getContext/setContext types in createOperation impl --- src/link/utils/createOperation.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/link/utils/createOperation.ts b/src/link/utils/createOperation.ts index db9ad4b48a8..5093711a54f 100644 --- a/src/link/utils/createOperation.ts +++ b/src/link/utils/createOperation.ts @@ -5,14 +5,14 @@ export function createOperation( operation: GraphQLRequest ): Operation { let context = { ...starting }; - const setContext = (next: any) => { + const setContext: Operation["setContext"] = (next) => { if (typeof next === "function") { context = { ...context, ...next(context) }; } else { context = { ...context, ...next }; } }; - const getContext = () => ({ ...context }); + const getContext: Operation["getContext"] = () => ({ ...context }); Object.defineProperty(operation, "setContext", { enumerable: false,