13 files changed +18
-20
lines changed Original file line number Diff line number Diff line change @@ -87,7 +87,7 @@ Future<void> _batchedQuery<T extends Model>(
87
87
88
88
void flush () {
89
89
if (keys.isEmpty) return ;
90
- fn (List .from (keys));
90
+ fn (List .of (keys));
91
91
keys.clear ();
92
92
budget = _defaultBudget;
93
93
}
Original file line number Diff line number Diff line change @@ -203,9 +203,10 @@ Future<LikedPackagesResponse> listPackageLikesHandler(
203
203
final authenticatedUser = await requireAuthenticatedWebUser ();
204
204
final user = authenticatedUser.user;
205
205
final packages = await likeBackend.listPackageLikes (user);
206
- final List <PackageLikeResponse > packageLikes = List .from (packages.map (
207
- (like) => PackageLikeResponse (
208
- liked: true , package: like.package, created: like.created)));
206
+ final List <PackageLikeResponse > packageLikes = packages
207
+ .map ((like) => PackageLikeResponse (
208
+ liked: true , package: like.package, created: like.created))
209
+ .toList ();
209
210
return LikedPackagesResponse (likedPackages: packageLikes);
210
211
}
211
212
Original file line number Diff line number Diff line change @@ -461,8 +461,7 @@ Future<shelf.Response> apiSearchHandler(shelf.Request request) async {
461
461
if (sr.errorMessage != null ) 'message' : sr.errorMessage,
462
462
};
463
463
if (hasNextPage) {
464
- final newParams =
465
- Map <String , dynamic >.from (request.requestedUri.queryParameters);
464
+ final newParams = {...request.requestedUri.queryParameters};
466
465
newParams['page' ] = (searchForm.currentPage! + 1 ).toString ();
467
466
final nextPageUrl =
468
467
request.requestedUri.replace (queryParameters: newParams).toString ();
Original file line number Diff line number Diff line change @@ -200,7 +200,7 @@ class StaticFileCache {
200
200
String get etag => _etag ?? = _calculateEtagOfEtags ().substring (0 , 8 );
201
201
202
202
String _calculateEtagOfEtags () {
203
- final files = List < StaticFile >. from ( _files.values);
203
+ final files = _files.values. toList ( );
204
204
files.sort ((a, b) => a.requestPath.compareTo (b.requestPath));
205
205
final concatenatedEtags = files.map ((f) => f.etag).join (' ' );
206
206
final digest = crypto.sha256.convert (utf8.encode (concatenatedEtags));
@@ -402,8 +402,7 @@ class ParsedStaticUrl {
402
402
403
403
factory ParsedStaticUrl .parse (Uri requestedUri) {
404
404
final normalizedRequestPath = path.normalize (requestedUri.path);
405
- final pathSegments =
406
- List <String >.from (Uri (path: normalizedRequestPath).pathSegments);
405
+ final pathSegments = List .of (Uri (path: normalizedRequestPath).pathSegments);
407
406
String ? pathHash;
408
407
var filePath = normalizedRequestPath;
409
408
if (pathSegments.length > 2 && pathSegments[1 ].startsWith ('hash-' )) {
Original file line number Diff line number Diff line change 3
3
// BSD-style license that can be found in the LICENSE file.
4
4
5
5
import 'package:clock/clock.dart' ;
6
+ import 'package:collection/collection.dart' ;
6
7
import 'package:json_annotation/json_annotation.dart' ;
7
8
import 'package:pub_dev/shared/popularity_storage.dart' ;
8
9
@@ -59,8 +60,7 @@ extension UpdateLikesExt on Iterable<PackageDocument> {
59
60
/// The score is normalized into the range of [0.0 - 1.0] using the
60
61
/// ordered list of packages by like counts (same like count gets the same score).
61
62
void updateLikeScores () {
62
- final sortedByLikes = List <PackageDocument >.from (this )
63
- ..sort ((a, b) => a.likeCount.compareTo (b.likeCount));
63
+ final sortedByLikes = sorted ((a, b) => a.likeCount.compareTo (b.likeCount));
64
64
for (var i = 0 ; i < sortedByLikes.length; i++ ) {
65
65
if (i > 0 &&
66
66
sortedByLikes[i - 1 ].likeCount == sortedByLikes[i].likeCount) {
Original file line number Diff line number Diff line change @@ -128,7 +128,7 @@ class PackageDocument {
128
128
Map <String , dynamic > toJson () => _$PackageDocumentToJson (this );
129
129
130
130
@JsonKey (includeFromJson: false , includeToJson: false )
131
- late final tagsForLookup = Set < String >. from (tags);
131
+ late final Set < String > tagsForLookup = Set . of (tags);
132
132
}
133
133
134
134
/// A reference to an API doc page
Original file line number Diff line number Diff line change @@ -82,7 +82,7 @@ class YoutubeBackend {
82
82
/// Algorithm description at [YoutubeBackend.getTopPackageOfWeekVideos] .
83
83
@visibleForTesting
84
84
List <T > selectRandomVideos <T >(math.Random random, List <T > source, int count) {
85
- final selectable = List < T >. from (source);
85
+ final selectable = List . of (source);
86
86
final selected = < T > [];
87
87
while (selected.length < count && selectable.isNotEmpty) {
88
88
if (selected.isEmpty) {
Original file line number Diff line number Diff line change 5
5
import 'dart:convert' show json;
6
6
import 'dart:io' ;
7
7
8
- import 'package:collection/collection.dart' show UnmodifiableSetView;
9
8
import 'package:gcloud/service_scope.dart' as ss;
10
9
import 'package:json_annotation/json_annotation.dart' ;
11
10
import 'package:meta/meta.dart' ;
@@ -454,7 +453,7 @@ class AdminId {
454
453
required this .oauthUserId,
455
454
required this .email,
456
455
required Iterable <AdminPermission ?> permissions,
457
- }) : permissions = UnmodifiableSetView ( Set .from (permissions) );
456
+ }) : permissions = Set .unmodifiable (permissions.nonNulls );
458
457
459
458
factory AdminId .fromJson (Map <String , dynamic > json) =>
460
459
_$AdminIdFromJson (json);
Original file line number Diff line number Diff line change @@ -318,7 +318,7 @@ String _rewriteAbsoluteUrl(String url) {
318
318
if (uri.host == 'github.com' ) {
319
319
final segments = uri.pathSegments;
320
320
if (segments.length > 3 && segments[2 ] == 'blob' ) {
321
- final newSegments = List < String >. from (segments);
321
+ final newSegments = List . of (segments);
322
322
newSegments[2 ] = 'raw' ;
323
323
return uri.replace (pathSegments: newSegments).toString ();
324
324
}
Original file line number Diff line number Diff line change @@ -398,7 +398,7 @@ String? getRepositoryUrl(
398
398
}
399
399
try {
400
400
final uri = Uri .parse (repository! );
401
- final segments = List < String >. from (uri.pathSegments);
401
+ final segments = List . of (uri.pathSegments);
402
402
while (segments.isNotEmpty && segments.last.isEmpty) {
403
403
segments.removeLast ();
404
404
}
Original file line number Diff line number Diff line change @@ -135,7 +135,7 @@ class LastNTracker<T extends Comparable<T>> {
135
135
136
136
T ? _getP (double p) {
137
137
if (_lastItems.isEmpty) return null ;
138
- final List <T > list = List . from (_lastItems );
138
+ final List <T > list = _lastItems. toList ( );
139
139
list.sort ();
140
140
return list[(list.length * p).floor ()];
141
141
}
Original file line number Diff line number Diff line change @@ -356,7 +356,7 @@ final class _GoogleCloudCompute extends CloudCompute {
356
356
);
357
357
358
358
@override
359
- List <String > get zones => List .from (_zones);
359
+ List <String > get zones => List .of (_zones);
360
360
361
361
@override
362
362
String generateInstanceName () => 'worker-${Ulid ()}' ;
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ class MemDatastore implements Datastore {
21
21
Future <List <Key >> allocateIds (List <Key > keys) async {
22
22
return keys.map ((k) {
23
23
if (k.elements.last.id == null ) {
24
- final elements = List < KeyElement >. from (k.elements);
24
+ final elements = List . of (k.elements);
25
25
final last = elements.removeLast ();
26
26
elements.add (KeyElement (last.kind, _unusedId++ ));
27
27
return Key (elements, partition: k.partition);
0 commit comments