directory method

ExplorerDirectory directory(
  1. String dirName, {
  2. bool log = true,
})

Implementation

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

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

  if (log) {
    for (var streamId in storageListeners.getPathStreamIds("explorer")) {
      if (storageListeners.hasStreamId("explorer", streamId)) {
        storageListeners.getDate("explorer", streamId);
      }
    }
  }

  ExplorerDirectory explorerDirectory = ExplorerDirectory(
    explorerSource,
    nIODirectory,
    dirNames[0],
    dirNames[0],
    storageListeners,
  );
  for (int i = 1; i < dirNames.length; i++) {
    explorerDirectory = explorerDirectory.directory(
      dirNames[i],
    );
  }

  return explorerDirectory;
}