formatRedisReply function
A reply as redis-cli prints it.
Implementation
String formatRedisReply(Object? reply, [String indent = '']) => switch (reply) {
null => '(nil)',
final int number => '(integer) $number',
final double number => '(double) $number',
final bool flag => '(boolean) $flag',
final RedisCommandException error => '(error) ${error.message}',
final String text => jsonEncode(text),
final List<Object?> items when items.isEmpty => '(empty array)',
final List<Object?> items => [
for (var i = 0; i < items.length; i++)
'${i == 0 ? '' : indent}${i + 1}) '
'${formatRedisReply(items[i], '$indent${' ' * '${i + 1}) '.length}')}',
].join('\n'),
final Map<Object?, Object?> map => formatRedisReply([
for (final MapEntry(:key, :value) in map.entries) ...[key, value],
], indent),
_ => '$reply',
};