directory method

ExplorerDirectory directory(
  1. String dirName, {
  2. String? streamId,
})

Implementation

ExplorerDirectory directory(String dirName, {String? streamId}) {
  List<String> dirNames =
      dirName.contains("/") ? dirName.split("/") : [dirName];
  dirNames = [for (String name in dirNames) name.replaceAll('\\', '/')];

  // Directory nioDirectory = Directory("${ioDirectory.path}/${dirNames[0]}");
  Directory nioDirectory =
      explorerSource.dirSync("${ioDirectory.path}/${dirNames[0]}");
  if (!nioDirectory.existsSync()) nioDirectory.createSync();

  if (streamId != null && storageListeners.hasStreamId(shortPath, streamId)) {
    storageListeners.setDate(shortPath, streamId);
  }

  ExplorerDirectory explorerDirectory = ExplorerDirectory(
    explorerSource,
    nioDirectory,
    dirNames[0],
    "$shortPath/${dirNames[0]}",
    storageListeners,
  );

  for (int i = 1; i < dirNames.length; i++) {
    explorerDirectory = explorerDirectory.directory(dirNames[i]);
  }

  return explorerDirectory;
}