renderRunResult function

void renderRunResult(
  1. LiveBlock block,
  2. Object? result
)

Adds the output lines and result of a commands.run result to block.

Implementation

void renderRunResult(LiveBlock block, Object? result) {
  final Object? output = result is Map ? result['output'] : null;
  if (output is List) {
    for (final Object? line in output) {
      if (line is! Map) continue;
      final String message = '${line['message'] ?? ''}';
      switch (line['level']) {
        case 'success':
          block.success(message);
        case 'error':
          block.failure(message);
        case 'warning':
          block.warning(message);
        default:
          block.plain(message);
      }
    }
  }
  final Object? value = result is Map ? result['result'] : null;
  if (value != null) block.json(value);
  if (block.isEmpty) block.success('Done');
}