dirname method Null safety

String dirname(
  1. 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) {
  final parsed = _parse(path);
  parsed.removeTrailingSeparators();
  if (parsed.parts.isEmpty) return parsed.root ?? '.';
  if (parsed.parts.length == 1) return parsed.root ?? '.';
  parsed.parts.removeLast();
  parsed.separators.removeLast();
  parsed.removeTrailingSeparators();
  return parsed.toString();
}