export static method
Export data
against fileName
.
For Web, output to LocalStorage
with fileName
as the key.
Encryption based on fileName
.
data
をfileName
に対してエクスポートします。
Webの場合はfileName
をキーにした状態でLocalStorage`に出力します。
fileName
に基づく暗号化を行ないます。
Implementation
static Future<void> export(String fileName, DynamicMap data) async {
if (_completer != null) {
return _completer?.future;
}
_completer = Completer();
try {
WidgetsBinding.instance.scheduleFrameCallback((_) async {
try {
await compute<_ComputeMessaging, void>(
(message) async {
final json =
jsonEncode(_unsupportedObjectFilter(message.data)).toAES(
message.fileName.last().toSHA1(),
);
await File(message.fileName).writeAsString(json);
},
_ComputeMessaging(fileName: fileName, data: data),
);
_completer?.complete();
_completer = null;
} catch (e) {
_completer?.completeError(e);
_completer = null;
} finally {
_completer?.complete();
_completer = null;
}
});
} catch (e) {
_completer?.completeError(e);
_completer = null;
}
}