set method

Future set(
  1. dynamic data, {
  2. bool log = true,
  3. bool append = false,
  4. String appendSplit = "\n",
  5. FileMode mode = FileMode.write,
  6. Encoding encoding = utf8,
  7. bool flush = false,
})

Implementation

Future set(
  var data, {
  bool log = true,
  bool append = false,
  String appendSplit = "\n",
  FileMode mode = FileMode.write,
  Encoding encoding = utf8,
  bool flush = false,
}) async {
  if (data.runtimeType != String) {
    data = data.toString();
  }

  if (log) {
    for (var streamId in storageListeners.getPathStreamIds(_fileShortPath)) {
      if (storageListeners.hasStreamId(_fileShortPath, streamId)) {
        storageListeners.getDate(_fileShortPath, streamId);
      }
    }
  }
  if (log) {
    for (var streamId in storageListeners.getPathStreamIds(dirPath)) {
      if (storageListeners.hasStreamId(dirPath, streamId)) {
        storageListeners.getDate(dirPath, streamId);
      }
    }
  }
  if (append) {
    String currentData = await get();
    data = "$currentData$appendSplit$data";
  }

  ioFile = await ioFile.writeAsString(data);
}