dirname method

String dirname (String path)

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();
}