importDatabaseAny function
Future<Database>
importDatabaseAny(
- Object srcData,
- DatabaseFactory dstFactory,
- String dstPath, {
- SembastCodec? codec,
- List<
String> ? storeNames,
Import the exported data (using exportDatabase or exportDatabaseLines or their json encoding or a string of it) into a new database
An optional storeNames
can specify the list of stores to import. If null
All stores are exported.
Implementation
Future<Database> importDatabaseAny(
Object srcData,
DatabaseFactory dstFactory,
String dstPath, {
SembastCodec? codec,
List<String>? storeNames,
}) {
Future<Database> mapImport(Map map) {
return importDatabase(
map,
dstFactory,
dstPath,
codec: codec,
storeNames: storeNames,
);
}
Future<Database> linesImport(List lines) {
return importDatabaseLines(
lines,
dstFactory,
dstPath,
codec: codec,
storeNames: storeNames,
);
}
srcData = decodeImportAny(srcData);
try {
if (srcData is Map) {
return mapImport(srcData);
} else if (srcData is List) {
return linesImport(srcData);
}
} catch (e) {
if (isDebug) {
// ignore: avoid_print
print('import error $e');
}
throw FormatException('invalid export format (error: $e)');
}
throw FormatException('invalid export format (${srcData.runtimeType})');
}