20
20
import static software .amazon .smithy .typescript .codegen .CodegenUtils .writeClientCommandStreamingOutputType ;
21
21
22
22
import java .nio .file .Paths ;
23
+ import java .util .HashSet ;
23
24
import java .util .List ;
24
25
import java .util .Map ;
25
26
import java .util .Optional ;
@@ -191,18 +192,8 @@ private void generateEndpointParameterInstructionProvider() {
191
192
"return {" , "};" ,
192
193
() -> {
193
194
RuleSetParameterFinder parameterFinder = new RuleSetParameterFinder (service );
194
- parameterFinder .getBuiltInParams ().forEach ((name , type ) -> {
195
- writer .write (
196
- "$L: { type: \" builtInParams\" , name: \" $L\" }," ,
197
- name , EndpointsParamNameMap .getLocalName (name )
198
- );
199
- });
200
- parameterFinder .getClientContextParams ().forEach ((name , type ) -> {
201
- writer .write (
202
- "$L: { type: \" clientContextParams\" , name: \" $L\" }," ,
203
- name , EndpointsParamNameMap .getLocalName (name )
204
- );
205
- });
195
+ Set <String > paramNames = new HashSet <>();
196
+
206
197
Shape operationInput = model .getShape (operation .getInputShape ()).get ();
207
198
parameterFinder .getStaticContextParamValues (operationInput ).forEach ((name , value ) -> {
208
199
writer .write (
@@ -216,6 +207,24 @@ private void generateEndpointParameterInstructionProvider() {
216
207
name , EndpointsParamNameMap .getLocalName (name )
217
208
);
218
209
});
210
+ parameterFinder .getClientContextParams ().forEach ((name , type ) -> {
211
+ if (!paramNames .contains (name )) {
212
+ writer .write (
213
+ "$L: { type: \" clientContextParams\" , name: \" $L\" }," ,
214
+ name , EndpointsParamNameMap .getLocalName (name )
215
+ );
216
+ }
217
+ paramNames .add (name );
218
+ });
219
+ parameterFinder .getBuiltInParams ().forEach ((name , type ) -> {
220
+ if (!paramNames .contains (name )) {
221
+ writer .write (
222
+ "$L: { type: \" builtInParams\" , name: \" $L\" }," ,
223
+ name , EndpointsParamNameMap .getLocalName (name )
224
+ );
225
+ }
226
+ paramNames .add (name );
227
+ });
219
228
}
220
229
);
221
230
}
0 commit comments