Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: utils/pub/io.dart

Issue 11865005: Remove Futures class, move methods to Future. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « utils/pub/hosted_source.dart ('k') | utils/pub/validator.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Helper functionality to make working with IO easier. 5 /// Helper functionality to make working with IO easier.
6 library io; 6 library io;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:io'; 9 import 'dart:io';
10 import 'dart:isolate'; 10 import 'dart:isolate';
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 } 52 }
53 53
54 /// Returns the path to [target] from [base]. 54 /// Returns the path to [target] from [base].
55 String relativeTo(target, base) => path.relative(target, from: base); 55 String relativeTo(target, base) => path.relative(target, from: base);
56 56
57 /// Asynchronously determines if [path], which can be a [String] file path, a 57 /// Asynchronously determines if [path], which can be a [String] file path, a
58 /// [File], or a [Directory] exists on the file system. Returns a [Future] that 58 /// [File], or a [Directory] exists on the file system. Returns a [Future] that
59 /// completes with the result. 59 /// completes with the result.
60 Future<bool> exists(path) { 60 Future<bool> exists(path) {
61 path = _getPath(path); 61 path = _getPath(path);
62 return Futures.wait([fileExists(path), dirExists(path)]).then((results) { 62 return Future.wait([fileExists(path), dirExists(path)]).then((results) {
63 return results[0] || results[1]; 63 return results[0] || results[1];
64 }); 64 });
65 } 65 }
66 66
67 /// Asynchronously determines if [file], which can be a [String] file path or a 67 /// Asynchronously determines if [file], which can be a [String] file path or a
68 /// [File], exists on the file system. Returns a [Future] that completes with 68 /// [File], exists on the file system. Returns a [Future] that completes with
69 /// the result. 69 /// the result.
70 Future<bool> fileExists(file) { 70 Future<bool> fileExists(file) {
71 var path = _getPath(file); 71 var path = _getPath(file);
72 return log.ioAsync("Seeing if file $path exists.", 72 return log.ioAsync("Seeing if file $path exists.",
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 if (recursive) { 277 if (recursive) {
278 children.add(doList(new Directory(file), listedDirectories)); 278 children.add(doList(new Directory(file), listedDirectories));
279 } 279 }
280 }; 280 };
281 lister.onFile = (file) { 281 lister.onFile = (file) {
282 if (!includeHiddenFiles && basename(file).startsWith('.')) return; 282 if (!includeHiddenFiles && basename(file).startsWith('.')) return;
283 contents.add(join(dir, basename(file))); 283 contents.add(join(dir, basename(file)));
284 }; 284 };
285 285
286 return completer.future.then((contents) { 286 return completer.future.then((contents) {
287 return Futures.wait(children).then((childContents) { 287 return Future.wait(children).then((childContents) {
288 contents.addAll(flatten(childContents)); 288 contents.addAll(flatten(childContents));
289 return contents; 289 return contents;
290 }); 290 });
291 }); 291 });
292 } 292 }
293 293
294 return doList(_getDirectory(dir), new Set<String>()); 294 return doList(_getDirectory(dir), new Set<String>());
295 } 295 }
296 296
297 /// Asynchronously determines if [dir], which can be a [String] directory path 297 /// Asynchronously determines if [dir], which can be a [String] directory path
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 Directory _getDirectory(entry) { 1028 Directory _getDirectory(entry) {
1029 if (entry is Directory) return entry; 1029 if (entry is Directory) return entry;
1030 return new Directory(entry); 1030 return new Directory(entry);
1031 } 1031 }
1032 1032
1033 /// Gets a [Uri] for [uri], which can either already be one, or be a [String]. 1033 /// Gets a [Uri] for [uri], which can either already be one, or be a [String].
1034 Uri _getUri(uri) { 1034 Uri _getUri(uri) {
1035 if (uri is Uri) return uri; 1035 if (uri is Uri) return uri;
1036 return new Uri.fromString(uri); 1036 return new Uri.fromString(uri);
1037 } 1037 }
OLDNEW
« no previous file with comments | « utils/pub/hosted_source.dart ('k') | utils/pub/validator.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698