OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import "dart:async" show Future; | 5 import "dart:async" show Future; |
6 import "dart:isolate" show Isolate; | 6 import "dart:isolate" show Isolate; |
7 | 7 |
8 /// Helper function for resolving to a non-relative, non-package URI. | 8 /// Helper function for resolving to a non-relative, non-package URI. |
9 Future<Uri> resolveUri(Uri uri) async { | 9 Future<Uri> resolveUri(Uri uri) { |
10 if (uri.scheme == "package") { | 10 if (uri.scheme == "package") { |
11 return Isolate.resolvePackageUri(uri); | 11 return Isolate.resolvePackageUri(uri).then((resolvedUri) { |
| 12 if (resolvedUri == null) { |
| 13 throw new ArgumentError.value(uri, "uri", "Unknown package"); |
| 14 } |
| 15 return resolvedUri; |
| 16 }); |
12 } | 17 } |
13 return Uri.base.resolveUri(uri); | 18 return new Future<Uri>.value(Uri.base.resolveUri(uri)); |
14 } | 19 } |
OLD | NEW |