@@ -46,160 +46,163 @@ 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 ("new NodeHttpHandler()" );
49
+ writer .write ("requestHandler: 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 ("Hash.bind(null, \" sha256\" )" );
55
+ writer .write ("sha256: Hash.bind(null, \" sha256\" ), " );
56
56
},
57
57
"urlParser" , writer -> {
58
58
writer .addDependency (TypeScriptDependency .AWS_SDK_URL_PARSER_NODE );
59
59
writer .addImport ("parseUrl" , "parseUrl" ,
60
60
TypeScriptDependency .AWS_SDK_URL_PARSER_NODE .packageName );
61
- writer .write ("parseUrl" );
61
+ writer .write ("urlParser: parseUrl, " );
62
62
},
63
63
"bodyLengthChecker" , writer -> {
64
64
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_NODE );
65
65
writer .addImport ("calculateBodyLength" , "calculateBodyLength" ,
66
66
TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_NODE .packageName );
67
- writer .write ("calculateBodyLength" );
67
+ writer .write ("bodyLengthChecker: calculateBodyLength, " );
68
68
},
69
69
"streamCollector" , writer -> {
70
70
writer .addDependency (TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_NODE );
71
71
writer .addImport ("streamCollector" , "streamCollector" ,
72
72
TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_NODE .packageName );
73
+ writer .write ("streamCollector," );
73
74
},
74
75
"base64Decoder" , writer -> {
75
76
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE );
76
77
writer .addImport ("fromBase64" , "fromBase64" ,
77
78
TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE .packageName );
78
- writer .write ("fromBase64" );
79
+ writer .write ("base64Decoder: fromBase64, " );
79
80
},
80
81
"base64Encoder" , writer -> {
81
82
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE );
82
83
writer .addImport ("toBase64" , "toBase64" ,
83
84
TypeScriptDependency .AWS_SDK_UTIL_BASE64_NODE .packageName );
84
- writer .write ("toBase64" );
85
+ writer .write ("base64Encoder: toBase64, " );
85
86
},
86
87
"utf8Decoder" , writer -> {
87
88
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE );
88
89
writer .addImport ("fromUtf8" , "fromUtf8" ,
89
90
TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE .packageName );
90
- writer .write ("fromUtf8" );
91
+ writer .write ("utf8Decoder: fromUtf8, " );
91
92
},
92
93
"utf8Encoder" , writer -> {
93
94
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE );
94
95
writer .addImport ("toUtf8" , "toUtf8" ,
95
96
TypeScriptDependency .AWS_SDK_UTIL_UTF8_NODE .packageName );
96
- writer .write ("toUtf8" );
97
+ writer .write ("utf8Encoder: toUtf8, " );
97
98
},
98
99
"defaultUserAgent" , writer -> {
99
100
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_USER_AGENT_NODE );
100
101
writer .addImport ("defaultUserAgent" , "defaultUserAgent" ,
101
102
TypeScriptDependency .AWS_SDK_UTIL_USER_AGENT_NODE .packageName );
102
103
writer .addImport ("name" , "name" , "./package.json" );
103
104
writer .addImport ("version" , "version" , "./package.json" );
104
- writer .write ("defaultUserAgent(name, version)" );
105
+ writer .write ("defaultUserAgent: defaultUserAgent (name, version), " );
105
106
}
106
107
);
107
108
private final Map <String , Consumer <TypeScriptWriter >> browserRuntimeConfigDefaults = MapUtils .of (
108
109
"requestHandler" , writer -> {
109
110
writer .addDependency (TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER );
110
111
writer .addImport ("FetchHttpHandler" , "FetchHttpHandler" ,
111
112
TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER .packageName );
112
- writer .write ("new FetchHttpHandler()" );
113
+ writer .write ("requestHandler: new FetchHttpHandler(), " );
113
114
},
114
115
"sha256" , writer -> {
115
116
writer .addDependency (TypeScriptDependency .AWS_CRYPTO_SHA256_BROWSER );
116
117
writer .addImport ("Sha256" , "Sha256" ,
117
118
TypeScriptDependency .AWS_CRYPTO_SHA256_BROWSER .packageName );
118
- writer .write ("Sha256" );
119
+ writer .write ("sha256: Sha256, " );
119
120
},
120
121
"urlParser" , writer -> {
121
122
writer .addDependency (TypeScriptDependency .AWS_SDK_URL_PARSER_BROWSER );
122
123
writer .addImport ("parseUrl" , "parseUrl" ,
123
124
TypeScriptDependency .AWS_SDK_URL_PARSER_BROWSER .packageName );
124
- writer .write ("parseUrl" );
125
+ writer .write ("urlParser: parseUrl, " );
125
126
},
126
127
"bodyLengthChecker" , writer -> {
127
128
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_BROWSER );
128
129
writer .addImport ("calculateBodyLength" , "calculateBodyLength" ,
129
130
TypeScriptDependency .AWS_SDK_UTIL_BODY_LENGTH_BROWSER .packageName );
130
- writer .write ("calculateBodyLength" );
131
+ writer .write ("bodyLengthChecker: calculateBodyLength, " );
131
132
},
132
133
"streamCollector" , writer -> {
133
134
writer .addDependency (TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_BROWSER );
134
135
writer .addImport ("streamCollector" , "streamCollector" ,
135
136
TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_BROWSER .packageName );
137
+ writer .write ("streamCollector," );
136
138
},
137
139
"base64Decoder" , writer -> {
138
140
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER );
139
141
writer .addImport ("fromBase64" , "fromBase64" ,
140
142
TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER .packageName );
141
- writer .write ("fromBase64" );
143
+ writer .write ("base64Decoder: fromBase64, " );
142
144
},
143
145
"base64Encoder" , writer -> {
144
146
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER );
145
147
writer .addImport ("toBase64" , "toBase64" ,
146
148
TypeScriptDependency .AWS_SDK_UTIL_BASE64_BROWSER .packageName );
147
- writer .write ("toBase64" );
149
+ writer .write ("base64Encoder: toBase64, " );
148
150
},
149
151
"utf8Decoder" , writer -> {
150
152
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER );
151
153
writer .addImport ("fromUtf8" , "fromUtf8" ,
152
154
TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER .packageName );
153
- writer .write ("fromUtf8" );
155
+ writer .write ("utf8Decoder: fromUtf8, " );
154
156
},
155
157
"utf8Encoder" , writer -> {
156
158
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER );
157
159
writer .addImport ("toUtf8" , "toUtf8" ,
158
160
TypeScriptDependency .AWS_SDK_UTIL_UTF8_BROWSER .packageName );
159
- writer .write ("toUtf8" );
161
+ writer .write ("utf8Encoder: toUtf8, " );
160
162
},
161
163
"defaultUserAgent" , writer -> {
162
164
writer .addDependency (TypeScriptDependency .AWS_SDK_UTIL_USER_AGENT_BROWSER );
163
165
writer .addImport ("defaultUserAgent" , "defaultUserAgent" ,
164
166
TypeScriptDependency .AWS_SDK_UTIL_USER_AGENT_BROWSER .packageName );
165
167
writer .addImport ("name" , "name" , "./package.json" );
166
168
writer .addImport ("version" , "version" , "./package.json" );
167
- writer .write ("defaultUserAgent(name, version)" );
169
+ writer .write ("defaultUserAgent: defaultUserAgent (name, version), " );
168
170
}
169
171
);
170
172
private final Map <String , Consumer <TypeScriptWriter >> reactNativeRuntimeConfigDefaults = MapUtils .of (
171
173
"requestHandler" , writer -> {
172
174
writer .addDependency (TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER );
173
175
writer .addImport ("FetchHttpHandler" , "FetchHttpHandler" ,
174
176
TypeScriptDependency .AWS_SDK_FETCH_HTTP_HANDLER .packageName );
175
- writer .write ("new FetchHttpHandler({ bufferBody: true })" );
177
+ writer .write ("requestHandler: new FetchHttpHandler({ bufferBody: true }), " );
176
178
},
177
179
"sha256" , writer -> {
178
180
writer .addDependency (TypeScriptDependency .AWS_CRYPTO_SHA256_JS );
179
181
writer .addImport ("Sha256" , "Sha256" ,
180
182
TypeScriptDependency .AWS_CRYPTO_SHA256_JS .packageName );
181
- writer .write ("Sha256" );
183
+ writer .write ("sha256: Sha256, " );
182
184
},
183
185
"urlParser" , writer -> {
184
186
writer .addDependency (TypeScriptDependency .AWS_SDK_URL_PARSER_BROWSER );
185
187
writer .addImport ("parseUrl" , "parseUrl" ,
186
188
TypeScriptDependency .AWS_SDK_URL_PARSER_BROWSER .packageName );
187
- writer .write ("parseUrl" );
189
+ writer .write ("urlParser: parseUrl, " );
188
190
},
189
191
"streamCollector" , writer -> {
190
192
writer .addDependency (TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_RN );
191
193
writer .addImport ("streamCollector" , "streamCollector" ,
192
194
TypeScriptDependency .AWS_SDK_STREAM_COLLECTOR_RN .packageName );
195
+ writer .write ("streamCollector," );
193
196
},
194
197
"defaultUserAgent" , writer -> {
195
198
writer .addImport ("name" , "name" , "./package.json" );
196
199
writer .addImport ("version" , "version" , "./package.json" );
197
- writer .write ("`aws-sdk-js-v3-react-native-$${name}/$${version}`" );
200
+ writer .write ("defaultUserAgent: `aws-sdk-js-v3-react-native-$${name}/$${version}`, " );
198
201
}
199
202
);
200
203
private final Map <String , Consumer <TypeScriptWriter >> sharedRuntimeConfigDefaults = MapUtils .of (
201
204
"disableHostPrefix" , writer -> {
202
- writer .write ("false" );
205
+ writer .write ("disableHostPrefix: false, " );
203
206
}
204
207
);
205
208
@@ -232,20 +235,18 @@ void generate(LanguageTarget target) {
232
235
writer .indent ();
233
236
Map <String , Consumer <TypeScriptWriter >> defaultConfigs =
234
237
new HashMap (getDefaultRuntimeConfigs (target ));
235
- //TODO: ensure integrations order is always desired.
236
238
Map <String , Consumer <TypeScriptWriter >> aggregatedConfigs = integrations .stream ()
237
- .map (integration -> integration .addRuntimeConfigValues (settings , model , symbolProvider , target ))
239
+ .sorted (Comparator .comparingInt (TypeScriptIntegration ::getOrder ))
240
+ .map (integration -> integration .getRuntimeConfigWriters (
241
+ settings , model , symbolProvider , target ))
238
242
.reduce (defaultConfigs , (aggregated , configMap ) -> {
239
243
aggregated .putAll (configMap );
240
244
return aggregated ;
241
245
});
242
246
aggregatedConfigs .entrySet ().stream ()
243
247
.sorted (Comparator .comparing (Map .Entry ::getKey ))
244
248
.forEach (entry -> {
245
- writer .onSection (entry .getKey (), text -> {
246
- entry .getValue ().accept (writer );
247
- });
248
- writer .write (String .format ("%s: ${L@%s}," , entry .getKey (), entry .getKey ()), "" );
249
+ entry .getValue ().accept (writer );
249
250
});
250
251
writer .dedent ();
251
252
});
0 commit comments