parentOf method

String? parentOf(
  1. String path
)

The directory holding path, or null when path has no directory component: a drive root, a bare root or a relative path without an ancestor.

Implementation

String? parentOf(String path) {
  final String prefix = driveRoot(path) ?? '';
  final String rest = path.substring(prefix.length);
  final int cut = rest.lastIndexOf(separator);
  if (cut < 0) {
    return prefix.isEmpty ? null : prefix;
  }
  final String parent = rest.substring(0, cut);
  if (parent.isEmpty) {
    return prefix.isEmpty ? null : prefix;
  }
  return prefix + parent;
}