run method

FutureOr<List<String>>? run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

run() {
  final stackTraceLines = StackTrace.current.toString().split('\n');
  if (UniversalPlatform.isWeb) {
    return ['test'];
  } else if (UniversalPlatform.isAndroid || UniversalPlatform.isIOS || UniversalPlatform.isMacOS) {
    final preIndex = stackTraceLines.indexWhere((element) => element.contains('Linio'));
    final realIndex = stackTraceLines.indexWhere((element) => !element.contains('Linio'), preIndex);
    final line = stackTraceLines[realIndex];
    final startPointPrefix = line.indexOf('(');
    final lastPointPrefix = line.indexOf(')') + 1;
    final point = line.substring(startPointPrefix, lastPointPrefix);
    return [point];
  } else {
    return ['Unknown log point'];
  }
}