fsIdbExportLines function

Future<List<Object>> fsIdbExportLines(
  1. FileSystem fs
)

export a database in a idb export format

Use sandbox to limit what to export

Implementation

Future<List<Object>> fsIdbExportLines(FileSystem fs) async {
  // if already a sembast database use it
  // if (false) {
  if (fs is FileSystemIdb) {
    var fsIdb = fs;
    var idbDatabase = await fsIdb.readyDatabase;
    return idbExportDatabaseLines(idbDatabase);
  } else {
    var newFs = newFileSystemMemory();
    assert(newFs is FileSystemIdb);
    if (await fs.currentDirectory.exists()) {
      await copyDirectory(
        fs.currentDirectory,
        newFs.currentDirectory,
        options: CopyOptions(recursive: true, verbose: false),
      );
    }
    return await fsIdbExportLines(newFs);
  }
}