Skip to content

Commit c05e61b

Browse files
committed
datatype changes
1 parent 5f58d33 commit c05e61b

File tree

3 files changed

+23
-43
lines changed

3 files changed

+23
-43
lines changed

packages/better_networking/lib/models/http_request_model.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,25 @@ class HttpRequestModel with _$HttpRequestModel {
3131
_$HttpRequestModelFromJson(json);
3232

3333
Map<String, String> get headersMap => rowsToMap(headers) ?? {};
34-
Map<String, dynamic> get paramsMap => rowsToRequestMap(params) ?? {};
34+
Map<String, List<String>> get paramsMap => rowsToRequestMap(params) ?? {};
3535
List<NameValueModel>? get enabledHeaders =>
3636
getEnabledRows(headers, isHeaderEnabledList);
3737
List<NameValueModel>? get enabledParams =>
3838
getEnabledRows(params, isParamEnabledList);
3939

4040
Map<String, String> get enabledHeadersMap => rowsToMap(enabledHeaders) ?? {};
41-
Map<String, dynamic> get enabledParamsMap {
41+
Map<String, List<String>> get enabledParamsMap {
4242
var extractedParams = Uri.parse(url).queryParametersAll;
4343
var userParams = rowsToRequestMap(enabledParams) ?? {};
44-
45-
extractedParams.forEach((key, value) {
46-
userParams[key] = [
47-
...value,
48-
if (userParams.containsKey(key))
49-
...(userParams[key] is List ? List.from(userParams[key]) : [userParams[key]])
50-
];
44+
45+
extractedParams.forEach((key, values) {
46+
if (userParams.containsKey(key)) {
47+
userParams[key]!.addAll(values);
48+
} else {
49+
userParams[key] = List.from(values);
50+
}
5151
});
52-
52+
5353
return userParams;
5454
}
5555

packages/better_networking/lib/utils/http_request_utils.dart

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -97,52 +97,34 @@ String? getRequestBody(APIType type, HttpRequestModel httpRequestModel) {
9797
APIType.graphql => getGraphQLBody(httpRequestModel),
9898
};
9999
}
100-
Map<String, dynamic>? rowsToRequestMap(List<NameValueModel>? rows) {
100+
Map<String, List<String>>? rowsToRequestMap(List<NameValueModel>? rows) {
101101
if (rows == null) {
102102
return null;
103103
}
104-
105-
final Map<String, dynamic> finalMap = {};
106-
104+
final Map<String, List<String>> finalMap = {};
107105
for (var row in rows) {
108106
final key = row.name.trim();
109107
if (key.isEmpty) continue;
110-
111108
final value = row.value.toString();
112-
113109
if (finalMap.containsKey(key)) {
114-
115-
if (finalMap[key] is List) {
116-
(finalMap[key] as List).add(value);
117-
} else {
118-
finalMap[key] = [finalMap[key], value];
119-
}
110+
finalMap[key]!.add(value);
120111
} else {
121-
122-
finalMap[key] = value;
112+
finalMap[key] = [value];
123113
}
124114
}
125-
126115
return finalMap;
127116
}
128117

129-
List<NameValueModel>? requestMapToRows(Map<String, dynamic>? requestMap) {
118+
List<NameValueModel>? requestMapToRows(Map<String, List<String>>? requestMap) {
130119
if (requestMap == null) {
131120
return null;
132121
}
133-
134122
final List<NameValueModel> finalRows = [];
135-
136-
requestMap.forEach((key, value) {
137-
if (value is List) {
138-
for (var item in value) {
139-
finalRows.add(NameValueModel(name: key, value: item.toString()));
140-
}
141-
} else {
142-
finalRows.add(NameValueModel(name: key, value: value.toString()));
123+
requestMap.forEach((key, values) {
124+
for (var value in values) {
125+
finalRows.add(NameValueModel(name: key, value: value));
143126
}
144127
});
145-
146128
return finalRows;
147129
}
148130
// TODO: Expose this function to remove JSON comments

packages/better_networking/lib/utils/uri_utils.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,11 @@ String stripUrlParams(String url) {
5757

5858
Map<String, List<String>> queryParams = uri.queryParametersAll;
5959

60-
Map<String, dynamic>? requestQueryParams = rowsToRequestMap(requestParams);
61-
if (requestQueryParams != null) {
62-
Map<String, List<String>> queryParamsList = requestQueryParams.map((key, value) {
63-
return MapEntry(key, List<String>.from(value is String ? [value] : value));
64-
});
65-
queryParams = mergeMaps(queryParams, queryParamsList, value: (v1, v2) => v1 + v2);
66-
}
60+
Map<String, List<String>>? requestQueryParams = rowsToRequestMap(requestParams);
61+
if (requestQueryParams != null) {
62+
queryParams = mergeMaps(queryParams, requestQueryParams, value: (v1, v2) => v1 + v2);
63+
}
64+
6765
if (queryParams.isNotEmpty) {
6866
uri = uri.replace(queryParameters: queryParams);
6967
}

0 commit comments

Comments
 (0)