Skip to content

Commit 372fe26

Browse files
committed
refactor(dynamite,neon,nextcloud): use dart 3.1 utf8.encode as Uint8List
While the entire utf8 converter has been switched to Uint8List the type annotation still remains List<int> for this release. Adding the downcast as this behavior is what we need. A future dart release should also change the type annotations triggering a linter rule. see: dart-lang/sdk#52801 Signed-off-by: Nikolas Rimikis <[email protected]>
1 parent 2c500ae commit 372fe26

File tree

5 files changed

+26
-33
lines changed

5 files changed

+26
-33
lines changed

packages/dynamite/dynamite/lib/src/openapi_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ class OpenAPIBuilder implements Builder {
541541
code.write('if ($parameterName != null) {');
542542
}
543543
code.write(
544-
'_body = Uint8List.fromList(utf8.encode(${result.encode(parameterName, mimeType: mimeType)}));',
544+
'_body = utf8.encode(${result.encode(parameterName, mimeType: mimeType)}) as Uint8List;',
545545
);
546546
if (dartParameterNullable) {
547547
code.write('}');

packages/neon/neon/lib/src/pages/settings.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ class _SettingsPageState extends State<SettingsPage> {
260260
),
261261
),
262262
);
263-
await saveFileWithPickDialog(fileName, Uint8List.fromList(utf8.encode(data)));
263+
await saveFileWithPickDialog(fileName, utf8.encode(data) as Uint8List);
264264
} catch (e, s) {
265265
debugPrint(e.toString());
266266
debugPrint(s.toString());

packages/nextcloud/lib/src/api/notes.openapi.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,9 +336,8 @@ class NotesClient extends DynamiteClient {
336336
}
337337
// coverage:ignore-end
338338
headers['Content-Type'] = 'application/json';
339-
body = Uint8List.fromList(
340-
utf8.encode(json.encode(_jsonSerializers.serialize(settings, specifiedType: const FullType(NotesSettings)))),
341-
);
339+
body = utf8.encode(json.encode(_jsonSerializers.serialize(settings, specifiedType: const FullType(NotesSettings))))
340+
as Uint8List;
342341
final response = await doRequest(
343342
'put',
344343
Uri(path: path, queryParameters: queryParameters.isNotEmpty ? queryParameters : null).toString(),

packages/nextcloud/lib/src/webdav/client.dart

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -247,13 +247,11 @@ class WebDavClient {
247247
'PROPFIND',
248248
_constructPath(path),
249249
data: Stream.value(
250-
Uint8List.fromList(
251-
utf8.encode(
252-
WebDavPropfind(prop: prop ?? WebDavPropWithoutValues())
253-
.toXmlElement(namespaces: namespaces)
254-
.toXmlString(),
255-
),
256-
),
250+
utf8.encode(
251+
WebDavPropfind(prop: prop ?? WebDavPropWithoutValues())
252+
.toXmlElement(namespaces: namespaces)
253+
.toXmlString(),
254+
) as Uint8List,
257255
),
258256
headers: {
259257
if (depth != null) ...{
@@ -277,14 +275,12 @@ class WebDavClient {
277275
'REPORT',
278276
_constructPath(path),
279277
data: Stream.value(
280-
Uint8List.fromList(
281-
utf8.encode(
282-
WebDavOcFilterFiles(
283-
filterRules: filterRules,
284-
prop: prop ?? WebDavPropWithoutValues(), // coverage:ignore-line
285-
).toXmlElement(namespaces: namespaces).toXmlString(),
286-
),
287-
),
278+
utf8.encode(
279+
WebDavOcFilterFiles(
280+
filterRules: filterRules,
281+
prop: prop ?? WebDavPropWithoutValues(), // coverage:ignore-line
282+
).toXmlElement(namespaces: namespaces).toXmlString(),
283+
) as Uint8List,
288284
),
289285
),
290286
);
@@ -304,14 +300,12 @@ class WebDavClient {
304300
'PROPPATCH',
305301
_constructPath(path),
306302
data: Stream.value(
307-
Uint8List.fromList(
308-
utf8.encode(
309-
WebDavPropertyupdate(
310-
set: set != null ? WebDavSet(prop: set) : null,
311-
remove: remove != null ? WebDavRemove(prop: remove) : null,
312-
).toXmlElement(namespaces: namespaces).toXmlString(),
313-
),
314-
),
303+
utf8.encode(
304+
WebDavPropertyupdate(
305+
set: set != null ? WebDavSet(prop: set) : null,
306+
remove: remove != null ? WebDavRemove(prop: remove) : null,
307+
).toXmlElement(namespaces: namespaces).toXmlString(),
308+
) as Uint8List,
315309
),
316310
);
317311
final data = await _parseResponse(response);

packages/nextcloud/test/webdav_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ void main() {
137137
});
138138

139139
test('Get directory props', () async {
140-
final data = Uint8List.fromList(utf8.encode('test'));
140+
final data = utf8.encode('test') as Uint8List;
141141
await client.webdav.mkcol('test');
142142
await client.webdav.put(data, 'test/test.txt');
143143

@@ -169,7 +169,7 @@ void main() {
169169
});
170170

171171
test('Filter files', () async {
172-
final response = await client.webdav.put(Uint8List.fromList(utf8.encode('test')), 'test.txt');
172+
final response = await client.webdav.put(utf8.encode('test') as Uint8List, 'test.txt');
173173
final id = response.headers['oc-fileid']!.first;
174174
await client.webdav.proppatch(
175175
'test.txt',
@@ -202,7 +202,7 @@ void main() {
202202
final uploadTime = DateTime.now();
203203

204204
await client.webdav.put(
205-
Uint8List.fromList(utf8.encode('test')),
205+
utf8.encode('test') as Uint8List,
206206
'test.txt',
207207
lastModified: lastModifiedDate,
208208
created: createdDate,
@@ -237,7 +237,7 @@ void main() {
237237
});
238238

239239
test('Remove properties', () async {
240-
await client.webdav.put(Uint8List.fromList(utf8.encode('test')), 'test.txt');
240+
await client.webdav.put(utf8.encode('test') as Uint8List, 'test.txt');
241241

242242
var updated = await client.webdav.proppatch(
243243
'test.txt',
@@ -323,7 +323,7 @@ void main() {
323323
('put_get_utf8_segment', 'res-%e2%82%ac'),
324324
]) {
325325
test(name, () async {
326-
final content = Uint8List.fromList(utf8.encode('This is a test file'));
326+
final content = utf8.encode('This is a test file') as Uint8List;
327327

328328
final response = await client.webdav.put(content, path);
329329
expect(response.statusCode, 201);

0 commit comments

Comments
 (0)