fluttercandies/fconsole

[Discussions] Adding a new log before emitting an event

Opened this issue · 0 comments

Content

  _addRawLog(Log log) {
...
    if (log.type == LogType.error) {
      _hasError = true;
      _emit(FlowLogEvent.error, this);
    } else {
      _emit(FlowLogEvent.log, this);
    }
    this.logs!.add(log);
...
  }

The 'newLog' event will be emitted before it is added to the logs, which means the listener has no way to know the content of the latest log.

I think it's better to move the _emit part after this.logs!.add(log), so the listener is able to access the latest log by using logs[logs.length - 1]

Also, it is possible to change List<Log>? logs to List<Log> logs by giving a default [], so we don't need to do null-check elsewhere.