pathAppend function

String pathAppend(
  1. String path,
  2. String segment
)

Joins segment onto path with a single forward slash.

Avoids duplicate separators when path ends with or segment starts with a slash. An empty segment leaves path unchanged.

Example:

pathAppend('docs', 'guide.md'); // 'docs/guide.md'
pathAppend('docs/', '/guide.md'); // 'docs//guide.md'

Implementation

String pathAppend(String path, String segment) {
  final String p = path.replaceAll(r'\', '/');
  final String s = segment.replaceAll(r'\', '/');
  if (p.endsWith('/')) return p + s;
  if (s.isEmpty) return p;
  if (s.startsWith('/')) return p + s;
  return '$p/$s';
}