@@ -103,6 +103,7 @@ abstract class RequestProcessorAgent<TBase, TMeans extends TBase> {
103103
104104 abstract modify < TExt > (
105105 this : void ,
106+ context : RequestContext < TMeans > ,
106107 modification : RequestModification < TMeans , TExt > ,
107108 ) : Promise < RequestModification < TMeans , TExt > > ;
108109
@@ -135,6 +136,7 @@ class RootRequestProcessorAgent<TMeans> extends RequestProcessorAgent<TMeans, TM
135136
136137 modify < TExt > (
137138 this : void ,
139+ _context : RequestContext < TMeans > ,
138140 modification : RequestModification < TMeans , TExt > ,
139141 ) : Promise < RequestModification < TMeans , TExt > > {
140142 return Promise . resolve ( modification ) ;
@@ -150,13 +152,16 @@ async function nextRequestProcessorAgent<TBase, TMeans extends TBase, TExt>(
150152 modification : RequestModification < TMeans , TExt > | RequestModifier < TMeans , TExt > ,
151153) : Promise < RequestProcessorAgent < TBase , TMeans & TExt > > {
152154 if ( isRequestModifier ( modification ) ) {
153- return new ModifierRequestProcessingAgent (
155+ return new ModifierRequestProcessingAgent < TBase , TMeans , TExt > (
154156 prev ,
155157 modification ,
156- await prev . modify ( await modification . modification ( prev . context ) ) ,
158+ await prev . modify ( prev . context , await modification . modification ( prev . context ) ) ,
157159 ) ;
158160 }
159- return new ModificationRequestProcessorAgent ( prev , await prev . modify ( modification ) ) ;
161+ return new ModificationRequestProcessorAgent < TBase , TMeans , TExt > (
162+ prev ,
163+ await prev . modify ( prev . context , modification ) ,
164+ ) ;
160165}
161166
162167/**
@@ -169,6 +174,7 @@ class ModificationRequestProcessorAgent<TBase, TMeans extends TBase, TExt>
169174
170175 readonly modify : < TNext > (
171176 this : void ,
177+ context : RequestContext < TMeans & TExt > ,
172178 modification : RequestModification < TMeans & TExt , TNext > ,
173179 ) => Promise < RequestModification < TMeans & TExt , TNext > > ;
174180
@@ -204,6 +210,7 @@ class ModifierRequestProcessingAgent<TBase, TMeans extends TBase, TExt>
204210
205211 readonly modify : < TNext > (
206212 this : void ,
213+ context : RequestContext < TMeans & TExt > ,
207214 modification : RequestModification < TMeans & TExt , TNext > ,
208215 ) => Promise < RequestModification < TMeans & TExt , TNext > > ;
209216
@@ -220,8 +227,12 @@ class ModifierRequestProcessingAgent<TBase, TMeans extends TBase, TExt>
220227 super ( prev . config ) ;
221228
222229 if ( modifier . modifyNext ) {
223- this . modify = async < TNext > ( mod : RequestModification < TMeans & TExt , TNext > ) => prev . modify (
224- modifier . modifyNext ! ( this . context , mod ) as RequestModification < TMeans , TNext > ,
230+ this . modify = async < TNext > (
231+ context : RequestContext < TMeans & TExt > ,
232+ mod : RequestModification < TMeans & TExt , TNext > ,
233+ ) => prev . modify (
234+ context as RequestContext < TMeans > ,
235+ modifier . modifyNext ! ( context , mod ) as RequestModification < TMeans , TNext > ,
225236 ) as Promise < RequestModification < TMeans & TExt , TNext > > ;
226237 } else {
227238 this . modify = prev . modify as this[ 'modify' ] ;
0 commit comments