adopt method

Future<String> adopt(
  1. String path, {
  2. String? extension,
})

Moves path into the session directory unless it is already inside.

Implementation

Future<String> adopt(String path, {String? extension}) async {
  if (path.startsWith('${directory.path}/')) {
    return path;
  }
  final ext = extension ?? _extensionOf(path);
  final target = newPath(ext, prefix: 'src');
  try {
    await File(path).rename(target);
  } on FileSystemException {
    await File(path).copy(target);
  }
  return target;
}