| OLD | NEW |
| 1 A comprehensive, cross-platform path manipulation library for Dart. | 1 A comprehensive, cross-platform path manipulation library for Dart. |
| 2 | 2 |
| 3 The path package provides common operations for manipulating file paths: | 3 The path package provides common operations for manipulating file paths: |
| 4 joining, splitting, normalizing, etc. | 4 joining, splitting, normalizing, etc. |
| 5 | 5 |
| 6 We've tried very hard to make this library do the "right" thing on whatever | 6 We've tried very hard to make this library do the "right" thing on whatever |
| 7 platform you run it on. When you use the top-level functions, it will assume the | 7 platform you run it on. When you use the top-level functions, it will assume the |
| 8 current platform's path style and work with that. If you want to specifically | 8 current platform's path style and work with that. If you want to specifically |
| 9 work with paths of a specific style, you can construct a `path.Builder` for that | 9 work with paths of a specific style, you can construct a `path.Builder` for that |
| 10 style. | 10 style. |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 66 |
| 67 Gets the part of [path] before the last separator. | 67 Gets the part of [path] before the last separator. |
| 68 | 68 |
| 69 path.dirname('path/to/foo.dart'); // -> 'path/to' | 69 path.dirname('path/to/foo.dart'); // -> 'path/to' |
| 70 path.dirname('path/to'); // -> 'to' | 70 path.dirname('path/to'); // -> 'to' |
| 71 | 71 |
| 72 Trailing separators are ignored. | 72 Trailing separators are ignored. |
| 73 | 73 |
| 74 builder.dirname('path/to/'); // -> 'path' | 74 builder.dirname('path/to/'); // -> 'path' |
| 75 | 75 |
| 76 If an absolute path contains no directories, only a root, then the root |
| 77 is returned. |
| 78 |
| 79 path.dirname('/'); // -> '/' (posix) |
| 80 path.dirname('c:\'); // -> 'c:\' (windows) |
| 81 |
| 82 If a relative path has no directories, then '.' is returned. |
| 83 path.dirname('foo'); // -> '.' |
| 84 path.dirname(''); // -> '.' |
| 85 |
| 76 ### String extension(String path) | 86 ### String extension(String path) |
| 77 | 87 |
| 78 Gets the file extension of [path]: the portion of [basename] from the last | 88 Gets the file extension of [path]: the portion of [basename] from the last |
| 79 `.` to the end (including the `.` itself). | 89 `.` to the end (including the `.` itself). |
| 80 | 90 |
| 81 path.extension('path/to/foo.dart'); // -> '.dart' | 91 path.extension('path/to/foo.dart'); // -> '.dart' |
| 82 path.extension('path/to/foo'); // -> '' | 92 path.extension('path/to/foo'); // -> '' |
| 83 path.extension('path.to/foo'); // -> '' | 93 path.extension('path.to/foo'); // -> '' |
| 84 path.extension('path/to/foo.dart.js'); // -> '.js' | 94 path.extension('path/to/foo.dart.js'); // -> '.js' |
| 85 | 95 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 path.relative('/root/path/a/b.dart'); // -> 'a/b.dart' | 203 path.relative('/root/path/a/b.dart'); // -> 'a/b.dart' |
| 194 path.relative('/root/other.dart'); // -> '../other.dart' | 204 path.relative('/root/other.dart'); // -> '../other.dart' |
| 195 | 205 |
| 196 If the [from] argument is passed, [path] is made relative to that instead. | 206 If the [from] argument is passed, [path] is made relative to that instead. |
| 197 | 207 |
| 198 path.relative('/root/path/a/b.dart', | 208 path.relative('/root/path/a/b.dart', |
| 199 from: '/root/path'); // -> 'a/b.dart' | 209 from: '/root/path'); // -> 'a/b.dart' |
| 200 path.relative('/root/other.dart', | 210 path.relative('/root/other.dart', |
| 201 from: '/root/path'); // -> '../other.dart' | 211 from: '/root/path'); // -> '../other.dart' |
| 202 | 212 |
| 213 If [path] and/or [from] are relative paths, they are assumed to be relative |
| 214 to the current directory. |
| 215 |
| 203 Since there is no relative path from one drive letter to another on Windows, | 216 Since there is no relative path from one drive letter to another on Windows, |
| 204 this will return an absolute path in that case. | 217 this will return an absolute path in that case. |
| 205 | 218 |
| 206 // Windows | 219 // Windows |
| 207 path.relative(r'D:\other', from: r'C:\home'); // -> 'D:\other' | 220 path.relative(r'D:\other', from: r'C:\home'); // -> 'D:\other' |
| 208 | 221 |
| 209 // URL | 222 // URL |
| 210 path.relative('http://dartlang.org', from: 'http://pub.dartlang.org'); | 223 path.relative('http://dartlang.org', from: 'http://pub.dartlang.org'); |
| 211 // -> 'http://dartlang.org' | 224 // -> 'http://dartlang.org' |
| 212 | 225 |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 * It can accurately tell if a path is absolute based on drive-letters or UNC | 397 * It can accurately tell if a path is absolute based on drive-letters or UNC |
| 385 prefix. | 398 prefix. |
| 386 | 399 |
| 387 * It understands that "/foo" is not an absolute path on Windows. | 400 * It understands that "/foo" is not an absolute path on Windows. |
| 388 | 401 |
| 389 * It knows that "C:\foo\one.txt" and "c:/foo\two.txt" are two files in the | 402 * It knows that "C:\foo\one.txt" and "c:/foo\two.txt" are two files in the |
| 390 same directory. | 403 same directory. |
| 391 | 404 |
| 392 If you find a problem, surprise or something that's unclear, please don't | 405 If you find a problem, surprise or something that's unclear, please don't |
| 393 hesitate to [file a bug](http://dartbug.com/new) and let us know. | 406 hesitate to [file a bug](http://dartbug.com/new) and let us know. |
| OLD | NEW |