@@ -17,6 +17,7 @@ import {
17
17
createServerAdapter ,
18
18
ServerAdapter ,
19
19
ServerAdapterBaseObject ,
20
+ ServerAdapterInitialContext ,
20
21
ServerAdapterRequestHandler ,
21
22
useCORS ,
22
23
useErrorHandling ,
@@ -454,10 +455,7 @@ export class YogaServer<
454
455
request : Request ;
455
456
batched : boolean ;
456
457
} ,
457
- // eslint-disable-next-line @typescript-eslint/ban-types
458
- ...args : { } extends TServerContext
459
- ? [ serverContext ?: TServerContext | undefined ]
460
- : [ serverContext : TServerContext ]
458
+ serverContext : TServerContext ,
461
459
) {
462
460
try {
463
461
let result : ExecutionResult | AsyncIterable < ExecutionResult > | undefined ;
@@ -478,7 +476,7 @@ export class YogaServer<
478
476
479
477
if ( result == null ) {
480
478
const additionalContext =
481
- args [ 0 ] ? .request === request
479
+ serverContext . request === request
482
480
? {
483
481
params,
484
482
}
@@ -487,9 +485,10 @@ export class YogaServer<
487
485
params,
488
486
} ;
489
487
490
- const initialContext = args [ 0 ]
491
- ? Object . assign ( batched ? Object . create ( args [ 0 ] ) : args [ 0 ] , additionalContext )
492
- : additionalContext ;
488
+ const initialContext = Object . assign (
489
+ batched ? Object . create ( serverContext ) : serverContext ,
490
+ additionalContext ,
491
+ ) ;
493
492
494
493
const enveloped = this . getEnveloped ( initialContext ) ;
495
494
@@ -537,7 +536,7 @@ export class YogaServer<
537
536
538
537
handle : ServerAdapterRequestHandler < TServerContext > = async (
539
538
request : Request ,
540
- serverContext : TServerContext ,
539
+ serverContext : TServerContext & ServerAdapterInitialContext ,
541
540
) => {
542
541
let url = new Proxy ( { } as URL , {
543
542
get : ( _target , prop , _receiver ) => {
@@ -623,11 +622,12 @@ export type YogaServerInstance<
623
622
export function createYoga <
624
623
TServerContext extends Record < string , any > = { } ,
625
624
TUserContext extends Record < string , any > = { } ,
626
- > ( options : YogaServerOptions < TServerContext , TUserContext > ) {
625
+ > (
626
+ options : YogaServerOptions < TServerContext , TUserContext > ,
627
+ ) : YogaServerInstance < TServerContext , TUserContext > {
627
628
const server = new YogaServer < TServerContext , TUserContext > ( options ) ;
628
629
return createServerAdapter < TServerContext , YogaServer < TServerContext , TUserContext > > ( server , {
629
630
fetchAPI : server . fetchAPI ,
630
631
plugins : server [ 'plugins' ] ,
631
- } ) as unknown as YogaServerInstance < TServerContext , TUserContext > ;
632
- // TODO: Fix in @whatwg -node/server later
632
+ } ) ;
633
633
}
0 commit comments