getDigest method
Implementation
Future<String> getDigest(String type) async {
final data = await _getBytes();
if (data.buffer.lengthInBytes == 0) {
throw 'data buffer has not data. Do not re-use FileDigest in web platform';
}
final digest = Completer<String>();
final worker = html.Worker('./assets/packages/file_digest/assets/worker.js');
worker.addEventListener('message', (event) {
event = event as html.MessageEvent;
if (event.data is String) {
digest.complete(event.data);
worker.terminate();
}
});
worker.postMessage({'type': type, 'data': data}, [data.buffer]);
return digest.future;
}