Skip to content

Commit 3dcaaf1

Browse files
committed
chore: update codegen to make runtime config functional
1 parent 401c054 commit 3dcaaf1

14 files changed

+39
-35
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,15 +161,13 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
161161
String signingService = service.getTrait(SigV4Trait.class).get().getName();
162162
return MapUtils.of(
163163
"signingName", writer -> {
164-
writer.write("signingName: $S,", signingService);
164+
writer.write("$S", signingService);
165165
}
166166
);
167167
case BROWSER:
168168
return MapUtils.of(
169169
"credentialDefaultProvider", writer -> {
170-
writer.write(
171-
"credentialDefaultProvider: (_: unknown) => () => Promise.reject(new Error("
172-
+ "\"Credential is missing\")),");
170+
writer.write("((_: unknown) => () => Promise.reject(new Error(\"Credential is missing\")))");
173171
}
174172
);
175173
case NODE:
@@ -186,8 +184,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
186184
writer.addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE);
187185
writer.addImport("defaultProvider", "credentialDefaultProvider",
188186
AwsDependency.CREDENTIAL_PROVIDER_NODE.packageName);
189-
writer.write("credentialDefaultProvider: decorateDefaultCredentialProvider("
190-
+ "credentialDefaultProvider),");
187+
writer.write("decorateDefaultCredentialProvider(credentialDefaultProvider)");
191188
}
192189
);
193190
default:

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsRuntimeConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
103103
.orElse(null);
104104
if (serviceId != null) {
105105
runtimeConfigs.put("serviceId", writer -> {
106-
writer.write("serviceId: $S,", serviceId);
106+
writer.write("$S", serviceId);
107107
});
108108
} else {
109109
LOGGER.info("Cannot generate a serivce ID for the client because no aws.api#Service "
@@ -128,7 +128,7 @@ private Map<String, Consumer<TypeScriptWriter>> getDefaultConfig(
128128
writer.addDependency(TypeScriptDependency.INVALID_DEPENDENCY);
129129
writer.addImport("invalidProvider", "invalidProvider",
130130
TypeScriptDependency.INVALID_DEPENDENCY.packageName);
131-
writer.write("region: invalidProvider(\"Region is missing\"),");
131+
writer.write("invalidProvider(\"Region is missing\")");
132132
});
133133
case NODE:
134134
return MapUtils.of("region", writer -> {
@@ -141,7 +141,7 @@ private Map<String, Consumer<TypeScriptWriter>> getDefaultConfig(
141141
writer.addImport("NODE_REGION_CONFIG_FILE_OPTIONS", "NODE_REGION_CONFIG_FILE_OPTIONS",
142142
TypeScriptDependency.CONFIG_RESOLVER.packageName);
143143
writer.write(
144-
"region: loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),");
144+
"loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS)");
145145
});
146146
default:
147147
return Collections.emptyMap();

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddBodyChecksumGeneratorDependency.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
7272
writer.addDependency(AwsDependency.BODY_CHECKSUM_GENERATOR_NODE);
7373
writer.addImport("bodyChecksumGenerator", "bodyChecksumGenerator",
7474
AwsDependency.BODY_CHECKSUM_GENERATOR_NODE.packageName);
75-
writer.write("bodyChecksumGenerator,");
75+
writer.write("bodyChecksumGenerator");
7676
});
7777
case BROWSER:
7878
return MapUtils.of("bodyChecksumGenerator", writer -> {
7979
writer.addDependency(AwsDependency.BODY_CHECKSUM_GENERATOR_BROWSER);
8080
writer.addImport("bodyChecksumGenerator", "bodyChecksumGenerator",
8181
AwsDependency.BODY_CHECKSUM_GENERATOR_BROWSER.packageName);
82-
writer.write("bodyChecksumGenerator,");
82+
writer.write("bodyChecksumGenerator");
8383
});
8484
default:
8585
return Collections.emptyMap();

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddClientRuntimeConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
9191
return MapUtils.of(
9292
"logger", writer -> {
9393
writer.addImport("Logger", "__Logger", TypeScriptDependency.AWS_SDK_TYPES.packageName);
94-
writer.write("logger: {} as __Logger,");
94+
writer.write("{} as __Logger");
9595
}
9696
);
9797
case BROWSER:
@@ -100,13 +100,13 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
100100
writer.addDependency(TypeScriptDependency.MIDDLEWARE_RETRY);
101101
writer.addImport("DEFAULT_MAX_ATTEMPTS", "DEFAULT_MAX_ATTEMPTS",
102102
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
103-
writer.write("maxAttempts: DEFAULT_MAX_ATTEMPTS,");
103+
writer.write("DEFAULT_MAX_ATTEMPTS");
104104
},
105105
"retryModeProvider", writer -> {
106106
writer.addDependency(TypeScriptDependency.MIDDLEWARE_RETRY);
107107
writer.addImport("DEFAULT_RETRY_MODE", "DEFAULT_RETRY_MODE",
108108
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
109-
writer.write("retryModeProvider: () => Promise.resolve(DEFAULT_RETRY_MODE),");
109+
writer.write("(() => Promise.resolve(DEFAULT_RETRY_MODE))");
110110
}
111111
);
112112
case NODE:
@@ -117,7 +117,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
117117
AwsDependency.NODE_CONFIG_PROVIDER.packageName);
118118
writer.addImport("NODE_MAX_ATTEMPT_CONFIG_OPTIONS", "NODE_MAX_ATTEMPT_CONFIG_OPTIONS",
119119
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
120-
writer.write("maxAttempts: loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),");
120+
writer.write("loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS)");
121121
},
122122
"retryModeProvider", writer -> {
123123
writer.addDependency(AwsDependency.NODE_CONFIG_PROVIDER);
@@ -126,7 +126,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
126126
writer.addDependency(TypeScriptDependency.MIDDLEWARE_RETRY);
127127
writer.addImport("NODE_RETRY_MODE_CONFIG_OPTIONS", "NODE_RETRY_MODE_CONFIG_OPTIONS",
128128
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
129-
writer.write("retryModeProvider: loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS),");
129+
writer.write("loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS)");
130130
}
131131
);
132132
default:

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddEndpointDiscoveryPlugin.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
108108
case BROWSER:
109109
return MapUtils.of(
110110
"endpointDiscoveryEnabledProvider", writer -> {
111-
writer.write("endpointDiscoveryEnabledProvider: () => Promise.resolve(undefined),");
111+
writer.write("() => Promise.resolve(undefined)");
112112
}
113113
);
114114
case NODE:
@@ -118,8 +118,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
118118
writer.addImport("NODE_ENDPOINT_DISCOVERY_CONFIG_OPTIONS",
119119
"NODE_ENDPOINT_DISCOVERY_CONFIG_OPTIONS",
120120
AwsDependency.MIDDLEWARE_ENDPOINT_DISCOVERY.packageName);
121-
writer.write("endpointDiscoveryEnabledProvider: loadNodeConfig("
122-
+ "NODE_ENDPOINT_DISCOVERY_CONFIG_OPTIONS),");
121+
writer.write("loadNodeConfig(NODE_ENDPOINT_DISCOVERY_CONFIG_OPTIONS)");
123122
}
124123
);
125124
default:

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddEventStreamHandlingDependency.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
9595
writer.addDependency(AwsDependency.AWS_SDK_EVENTSTREAM_HANDLER_NODE);
9696
writer.addImport("eventStreamPayloadHandlerProvider", "eventStreamPayloadHandlerProvider",
9797
AwsDependency.AWS_SDK_EVENTSTREAM_HANDLER_NODE.packageName);
98-
writer.write("eventStreamPayloadHandlerProvider,");
98+
writer.write("eventStreamPayloadHandlerProvider");
9999
});
100100
case BROWSER:
101101
/**
@@ -107,7 +107,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
107107
writer.addDependency(TypeScriptDependency.INVALID_DEPENDENCY);
108108
writer.addImport("invalidFunction", "invalidFunction",
109109
TypeScriptDependency.INVALID_DEPENDENCY.packageName);
110-
writer.openBlock("eventStreamPayloadHandlerProvider: () => ({", "}),", () -> {
110+
writer.openBlock("() => ({", "})", () -> {
111111
writer.write("handle: invalidFunction(\"event stream request is not supported in browser.\"),");
112112
});
113113
});
@@ -121,7 +121,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
121121
writer.addDependency(TypeScriptDependency.INVALID_DEPENDENCY);
122122
writer.addImport("invalidFunction", "invalidFunction",
123123
TypeScriptDependency.INVALID_DEPENDENCY.packageName);
124-
writer.openBlock("eventStreamPayloadHandlerProvider: () => ({", "}),", () -> {
124+
writer.openBlock("() => ({", "})", () -> {
125125
writer.write("handle: invalidFunction(\"event stream request "
126126
+ "is not supported in ReactNative.\"),");
127127
});

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddHttp2Dependency.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
4949
writer.addDependency(TypeScriptDependency.AWS_SDK_NODE_HTTP_HANDLER);
5050
writer.addImport("NodeHttp2Handler", "NodeHttp2Handler",
5151
TypeScriptDependency.AWS_SDK_NODE_HTTP_HANDLER.packageName);
52-
writer.write("requestHandler: new NodeHttp2Handler(),");
52+
writer.write("new NodeHttp2Handler()");
5353
});
5454
default:
5555
return Collections.emptyMap();

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddS3Config.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(TypeScrip
8484
switch (target) {
8585
case SHARED:
8686
return MapUtils.of("signingEscapePath", writer -> {
87-
writer.write("signingEscapePath: false,");
87+
writer.write("false");
8888
}, "useArnRegion", writer -> {
89-
writer.write("useArnRegion: false");
89+
writer.write("false");
9090
});
9191
case NODE:
9292
return MapUtils.of("useArnRegion", writer -> {
@@ -95,7 +95,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(TypeScrip
9595
.addDependency(AwsDependency.BUCKET_ENDPOINT_MIDDLEWARE)
9696
.addImport("NODE_USE_ARN_REGION_CONFIG_OPTIONS", "NODE_USE_ARN_REGION_CONFIG_OPTIONS",
9797
AwsDependency.BUCKET_ENDPOINT_MIDDLEWARE.packageName)
98-
.write("useArnRegion: loadNodeConfig(NODE_USE_ARN_REGION_CONFIG_OPTIONS),");
98+
.write("loadNodeConfig(NODE_USE_ARN_REGION_CONFIG_OPTIONS)");
9999
});
100100
default:
101101
return Collections.emptyMap();

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddSqsDependency.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,13 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
9797
writer.addDependency(TypeScriptDependency.AWS_SDK_TYPES);
9898
writer.addImport("HashConstructor", "__HashConstructor",
9999
TypeScriptDependency.AWS_SDK_TYPES.packageName);
100-
writer.write("md5: Hash.bind(null, \"md5\"),");
100+
writer.write("Hash.bind(null, \"md5\")");
101101
});
102102
case BROWSER:
103103
return MapUtils.of("md5", writer -> {
104104
writer.addDependency(TypeScriptDependency.MD5_BROWSER);
105105
writer.addImport("Md5", "Md5", TypeScriptDependency.MD5_BROWSER.packageName);
106-
writer.write("md5: Md5,");
106+
writer.write("Md5");
107107
});
108108
default:
109109
return Collections.emptyMap();

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddTranscribeStreamingDependency.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
6767
writer.addDependency(AwsDependency.TRANSCRIBE_STREAMING_MIDDLEWARE);
6868
writer.addImport("eventStreamPayloadHandler", "eventStreamPayloadHandler",
6969
AwsDependency.TRANSCRIBE_STREAMING_MIDDLEWARE.packageName);
70-
writer.write("eventStreamPayloadHandlerProvider: () => eventStreamPayloadHandler,");
70+
writer.write("() => eventStreamPayloadHandler");
7171
},
7272
"requestHandler", writer -> {
7373
writer.addDependency(AwsDependency.TRANSCRIBE_STREAMING_MIDDLEWARE);
7474
writer.addImport("WebSocketHandler", "WebSocketHandler",
7575
AwsDependency.TRANSCRIBE_STREAMING_MIDDLEWARE.packageName);
76-
writer.write("requestHandler: new WebSocketHandler(),");
76+
writer.write("new WebSocketHandler()");
7777
});
7878

7979
switch (target) {
@@ -83,7 +83,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
8383
writer.addDependency(TypeScriptDependency.AWS_SDK_NODE_HTTP_HANDLER);
8484
writer.addImport("NodeHttp2Handler", "NodeHttp2Handler",
8585
TypeScriptDependency.AWS_SDK_NODE_HTTP_HANDLER.packageName);
86-
writer.write("requestHandler: new NodeHttp2Handler({ disableConcurrentStreams: true }),");
86+
writer.write("new NodeHttp2Handler({ disableConcurrentStreams: true })");
8787
});
8888
case REACT_NATIVE:
8989
case BROWSER:

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddUserAgentDependency.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
9393
}
9494

9595
private void writeDefaultUserAgentProvider(TypeScriptWriter writer, TypeScriptSettings settings, Model model) {
96-
writer.write("defaultUserAgentProvider: defaultUserAgent({"
96+
writer.write("defaultUserAgent({"
9797
// serviceId is optional in defaultUserAgent. serviceId exists only for AWS services
98-
+ (isAwsService(settings, model) ? "serviceId: ClientSharedValues.serviceId, " : "")
99-
+ "clientVersion: packageInfo.version}),");
98+
+ (isAwsService(settings, model) ? "serviceId: clientSharedValues.serviceId, " : "")
99+
+ "clientVersion: packageInfo.version})");
100100
}
101101
}

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsEndpointGeneratorIntegration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
8484
case SHARED:
8585
return MapUtils.of("regionInfoProvider", writer -> {
8686
writer.addImport("defaultRegionInfoProvider", "defaultRegionInfoProvider", "./endpoints");
87-
writer.write("regionInfoProvider: defaultRegionInfoProvider,");
87+
writer.write("defaultRegionInfoProvider");
8888
});
8989
default:
9090
return Collections.emptyMap();

packages/smithy-client/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export * from "./extended-encode-uri-component";
66
export * from "./get-array-if-single-item";
77
export * from "./get-value-from-text-node";
88
export * from "./lazy-json";
9+
export * from "./nullish-coalescing";
910
export * from "./parse-utils";
1011
export * from "./ser-utils";
1112
export * from "./date-utils";
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Same to nullish coalescing operator(`??`). Used to safe code size of
3+
* JavaScript code.
4+
*
5+
* @internal
6+
*/
7+
export const nullishCoalescing = <T>(a: T | undefined | null, b: T) => (a !== null && a !== void 0 ? a : b);

0 commit comments

Comments
 (0)