@@ -46,118 +46,118 @@ final class RuntimeConfigGenerator {
46
46
writer .addDependency (TypeScriptDependency .AWS_SDK_NODE_HTTP_HANDLER );
47
47
writer .addImport ("NodeHttpHandler" , "NodeHttpHandler" ,
48
48
TypeScriptDependency .AWS_SDK_NODE_HTTP_HANDLER .packageName );
49
- writer .write ("requestHandler: new NodeHttpHandler(), " );
49
+ writer .write ("new NodeHttpHandler()" );
50
50
},
51
51
"sha256" , writer -> {
52
52
writer .addDependency (TypeScriptDependency .AWS_SDK_HASH_NODE );
53
53
writer .addImport ("Hash" , "Hash" ,
54
54
TypeScriptDependency .AWS_SDK_HASH_NODE .packageName );
55
- writer .write ("sha256: Hash.bind(null, \" sha256\" ), " );
55
+ writer .write ("Hash.bind(null, \" sha256\" )" );
56
56
},
57
57
"bodyLengthChecker" , writer -> {
58
58
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_NODE );
59
59
writer .addImport ("calculateBodyLength" , "calculateBodyLength" ,
60
60
TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_NODE .packageName );
61
- writer .write ("bodyLengthChecker: calculateBodyLength, " );
61
+ writer .write ("calculateBodyLength" );
62
62
},
63
63
"streamCollector" , writer -> {
64
64
writer .addDependency (TypeScriptDependency .AWS_SDK_NODE_HTTP_HANDLER );
65
65
writer .addImport ("streamCollector" , "streamCollector" ,
66
66
TypeScriptDependency .AWS_SDK_NODE_HTTP_HANDLER .packageName );
67
- writer .write ("streamCollector, " );
67
+ writer .write ("streamCollector" );
68
68
},
69
69
"base64Decoder" , writer -> {
70
70
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE );
71
71
writer .addImport ("fromBase64" , "fromBase64" ,
72
72
TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE .packageName );
73
- writer .write ("base64Decoder: fromBase64, " );
73
+ writer .write ("fromBase64" );
74
74
},
75
75
"base64Encoder" , writer -> {
76
76
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE );
77
77
writer .addImport ("toBase64" , "toBase64" ,
78
78
TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE .packageName );
79
- writer .write ("base64Encoder: toBase64, " );
79
+ writer .write ("toBase64" );
80
80
},
81
81
"utf8Decoder" , writer -> {
82
82
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE );
83
83
writer .addImport ("fromUtf8" , "fromUtf8" ,
84
84
TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE .packageName );
85
- writer .write ("utf8Decoder: fromUtf8, " );
85
+ writer .write ("fromUtf8" );
86
86
},
87
87
"utf8Encoder" , writer -> {
88
88
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE );
89
89
writer .addImport ("toUtf8" , "toUtf8" ,
90
90
TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE .packageName );
91
- writer .write ("utf8Encoder: toUtf8, " );
91
+ writer .write ("toUtf8" );
92
92
}
93
93
);
94
94
private final Map <String , Consumer <TypeScriptWriter >> browserRuntimeConfigDefaults = MapUtils .of (
95
95
"requestHandler" , writer -> {
96
96
writer .addDependency (TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER );
97
97
writer .addImport ("FetchHttpHandler" , "FetchHttpHandler" ,
98
98
TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER .packageName );
99
- writer .write ("requestHandler: new FetchHttpHandler(), " );
99
+ writer .write ("new FetchHttpHandler()" );
100
100
},
101
101
"sha256" , writer -> {
102
102
writer .addDependency (TypeScriptDependency .AWS_CRYPTO_SHA256_BROWSER );
103
103
writer .addImport ("Sha256" , "Sha256" ,
104
104
TypeScriptDependency .AWS_CRYPTO_SHA256_BROWSER .packageName );
105
- writer .write ("sha256: Sha256, " );
105
+ writer .write ("Sha256" );
106
106
},
107
107
"bodyLengthChecker" , writer -> {
108
108
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_BROWSER );
109
109
writer .addImport ("calculateBodyLength" , "calculateBodyLength" ,
110
110
TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_BROWSER .packageName );
111
- writer .write ("bodyLengthChecker: calculateBodyLength, " );
111
+ writer .write ("calculateBodyLength" );
112
112
},
113
113
"streamCollector" , writer -> {
114
114
writer .addDependency (TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER );
115
115
writer .addImport ("streamCollector" , "streamCollector" ,
116
116
TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER .packageName );
117
- writer .write ("streamCollector, " );
117
+ writer .write ("streamCollector" );
118
118
},
119
119
"base64Decoder" , writer -> {
120
120
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER );
121
121
writer .addImport ("fromBase64" , "fromBase64" ,
122
122
TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER .packageName );
123
- writer .write ("base64Decoder: fromBase64, " );
123
+ writer .write ("fromBase64" );
124
124
},
125
125
"base64Encoder" , writer -> {
126
126
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER );
127
127
writer .addImport ("toBase64" , "toBase64" ,
128
128
TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER .packageName );
129
- writer .write ("base64Encoder: toBase64, " );
129
+ writer .write ("toBase64" );
130
130
},
131
131
"utf8Decoder" , writer -> {
132
132
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER );
133
133
writer .addImport ("fromUtf8" , "fromUtf8" ,
134
134
TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER .packageName );
135
- writer .write ("utf8Decoder: fromUtf8, " );
135
+ writer .write ("fromUtf8" );
136
136
},
137
137
"utf8Encoder" , writer -> {
138
138
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER );
139
139
writer .addImport ("toUtf8" , "toUtf8" ,
140
140
TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER .packageName );
141
- writer .write ("utf8Encoder: toUtf8, " );
141
+ writer .write ("toUtf8" );
142
142
}
143
143
);
144
144
private final Map <String , Consumer <TypeScriptWriter >> reactNativeRuntimeConfigDefaults = MapUtils .of (
145
145
"sha256" , writer -> {
146
146
writer .addDependency (TypeScriptDependency .AWS_CRYPTO_SHA256_JS );
147
147
writer .addImport ("Sha256" , "Sha256" ,
148
148
TypeScriptDependency .AWS_CRYPTO_SHA256_JS .packageName );
149
- writer .write ("sha256: Sha256, " );
149
+ writer .write ("Sha256" );
150
150
}
151
151
);
152
152
private final Map <String , Consumer <TypeScriptWriter >> sharedRuntimeConfigDefaults = MapUtils .of (
153
153
"disableHostPrefix" , writer -> {
154
- writer .write ("disableHostPrefix: false, " );
154
+ writer .write ("false" );
155
155
},
156
156
"urlParser" , writer -> {
157
157
writer .addDependency (TypeScriptDependency .AWS_SDK_URL_PARSER );
158
158
writer .addImport ("parseUrl" , "parseUrl" ,
159
159
TypeScriptDependency .AWS_SDK_URL_PARSER .packageName );
160
- writer .write ("urlParser: parseUrl, " );
160
+ writer .write ("parseUrl" );
161
161
}
162
162
);
163
163
@@ -180,24 +180,32 @@ void generate(LanguageTarget target) {
180
180
String template = TypeScriptUtils .loadResourceAsString (target .getTemplateFileName ());
181
181
String contents = template
182
182
.replace ("${clientModuleName}" , symbolProvider .toSymbol (service ).getNamespace ())
183
+ .replace ("${clientConfigName}" , symbolProvider .toSymbol (service ).getName () + "Config" )
183
184
.replace ("${apiVersion}" , service .getVersion ())
184
185
.replace ("$" , "$$" ) // sanitize template place holders.
185
186
.replace ("$${customizations}" , "${L@customizations}" );
186
187
187
188
delegator .useFileWriter (target .getTargetFilename (), writer -> {
188
189
// Inject customizations into the ~template.
189
- writer .onSection ("customizations" , original -> {
190
- writer .indent ();
190
+ writer .indent (). onSection ("customizations" , original -> {
191
+ // writer.indent();
191
192
// Start with defaults, use a TreeMap for keeping entries sorted.
192
193
Map <String , Consumer <TypeScriptWriter >> configs =
193
194
new TreeMap <>(getDefaultRuntimeConfigs (target ));
194
195
// Add any integration supplied runtime config writers.
195
196
for (TypeScriptIntegration integration : integrations ) {
196
197
configs .putAll (integration .getRuntimeConfigWriters (settings , model , symbolProvider , target ));
197
198
}
198
- configs .values ().forEach (value -> value .accept (writer ));
199
- writer .dedent ();
199
+ int indentation = target .equals (LanguageTarget .SHARED ) ? 1 : 2 ;
200
+ configs .forEach ((key , value ) -> {
201
+ writer .indent (indentation ).disableNewlines ().openBlock ("$1L: config.$1L ?? " , ",\n " , key ,
202
+ () -> {
203
+ value .accept (writer );
204
+ });
205
+ writer .dedent (indentation );
206
+ });
200
207
});
208
+ writer .dedent ();
201
209
writer .write (contents , "" );
202
210
});
203
211
}
0 commit comments