Skip to content

Commit 79cc0ce

Browse files
authored
fix: Remove unneeded capture from endpoint params block (#978)
1 parent 4987ff7 commit 79cc0ce

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/integration/middlewares/OperationEndpointResolverMiddleware.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,17 @@ open class OperationEndpointResolverMiddleware(
8080
op: OperationShape,
8181
) {
8282
val params = mutableListOf<String>()
83+
var shouldCaptureConfig = false
8384
ctx.service.getTrait<EndpointRuleSetTrait>()?.ruleSet?.let { node ->
8485
val ruleSet = EndpointRuleSet.fromNode(node)
8586
val staticContextParams = op.getTrait<StaticContextParamsTrait>()?.parameters ?: emptyMap()
8687
val operationContextParams = op.getTrait<OperationContextParamsTrait>()?.parameters ?: emptyMap()
8788
val clientContextParams = ctx.service.getTrait<ClientContextParamsTrait>()?.parameters ?: emptyMap()
8889
val parameters = ruleSet.parameters.toList()
8990
val setToUseForUniqueVarNamesInOperationContextParamCodegen = mutableSetOf<String>()
91+
if (clientContextParams.isNotEmpty() || parameters.any { it.isBuiltIn }) {
92+
shouldCaptureConfig = true
93+
}
9094
parameters
9195
.toList()
9296
.sortedBy { it.name.toString() }
@@ -113,9 +117,11 @@ open class OperationEndpointResolverMiddleware(
113117
}
114118
}
115119
}
120+
val capture = "[config] ".takeIf { shouldCaptureConfig } ?: ""
116121
writer.openBlock(
117-
"let endpointParamsBlock = { [config] (context: \$N) in",
122+
"let endpointParamsBlock = { \$L(context: \$N) in",
118123
"}",
124+
capture,
119125
SmithyTypes.Context,
120126
) {
121127
writer.write("EndpointParams(\$L)", params.joinToString(", "))

0 commit comments

Comments
 (0)