| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:io'; |
| |
| /// Provides utility extensions for file system uris. |
| extension UriExtension on Uri { |
| /// Get the file s system entity associated with this uri. |
| FileSystemEntity get fileSystemEntity { |
| if (path.endsWith(Platform.pathSeparator) || path.endsWith('/')) { |
| return Directory.fromUri(this); |
| } |
| return File.fromUri(this); |
| } |
| } |
| |
| /// Convert a file system path to a uri. |
| Uri fileSystemPathToUri(String path) { |
| if (path.endsWith(Platform.pathSeparator) || path.endsWith('/')) { |
| return Uri.directory(path); |
| } |
| return Uri.file(path); |
| } |