dirname method
Gets the part of path
before the last separator.
context.dirname('path/to/foo.dart'); // -> 'path/to'
context.dirname('path/to'); // -> 'path'
Trailing separators are ignored.
context.dirname('path/to/'); // -> 'path'
Implementation
String dirname(String path) {
var parsed = _parse(path);
parsed.removeTrailingSeparators();
if (parsed.parts.isEmpty) return parsed.root == null ? '.' : parsed.root;
if (parsed.parts.length == 1) {
return parsed.root == null ? '.' : parsed.root;
}
parsed.parts.removeLast();
parsed.separators.removeLast();
parsed.removeTrailingSeparators();
return parsed.toString();
}