basename static method

String basename(
  1. String name, {
  2. String? suffix,
})

Removes any leading directory components from name.

If suffix is specified and it is identical to the end of name, it is removed from name as well.

If name is null returns null.

Implementation

static String basename(String name, {String? suffix}) {
  if (name.isEmpty) {
    return '';
  }

  final segments = pathos.split(name);
  if (pathos.isAbsolute(name)) {
    if (segments.length == 1) {
      return '';
    }
  }

  var result = segments.last;
  if (suffix != null && suffix.isNotEmpty) {
    final index = result.lastIndexOf(suffix);
    if (index != -1) {
      result = result.substring(0, index);
    }
  }

  return result;
}