pathNormalize function
Normalize path (resolve . and ..). Roadmap #162.
Implementation
String pathNormalize(String path) {
final String p = path.replaceAll(r'\', '/').replaceAll(RegExp(r'/+'), '/');
final List<String> parts = p.split('/');
final List<String> out = <String>[];
for (final String seg in parts) {
if (seg.isEmpty || seg == '.') continue;
if (seg == '..') {
if (out.isNotEmpty) out.removeLast();
continue;
}
out.add(seg);
}
return out.join('/');
}