createDirIfNotExists function

Future<Directory> createDirIfNotExists (dynamic path, { bool temporary: false, bool recursive: true })

Implementation

Future<Directory> createDirIfNotExists(path,{bool temporary = false, bool recursive = true}) {
  var completer = new Completer<Directory>();

  Directory directory = new Directory(path);
  directory.exists().then((bool exists) {
    if(exists) { completer.complete(directory); }
    else if (temporary) {
      directory.createTemp().then((Directory directory) {
        completer.complete(directory);
      });
    }
    else {
      directory.create(recursive: recursive).then((Directory directory) {
        completer.complete(directory);
      });
    }
  });

  return completer.future;
}