hgetall method

Future<Map<String, String?>> hgetall(
  1. String key
)

hgetall

Implementation

Future<Map<String, String?>> hgetall(String key) async {
  Object result = await _runWithRetryNew(() async {
    return (await RespCommandsTier1(_client!).hgetall(key));
  });

  final map = <String, String?>{};

  if (result is RespType2<dynamic>) {
    final result1 = result.toArray().payload;
    if (result1 != null) {
      for (var i = 0; i < result1.length; i += 2) {
        final key = result1[i].toBulkString().payload;
        final value = result1[i + 1].toBulkString().payload;
        if (key != null) {
          map[key] = value;
        }
      }
    }
    return map;
  }

  final result1 = (result as RespType3<dynamic>).toArray().payload;
  if (result1 != null) {
    for (var i = 0; i < result1.length; i += 2) {
      final key = result1[i].toBulkString().payload;
      final value = result1[i + 1].toBulkString().payload;
      if (key != null) {
        map[key] = value;
      }
    }
  }

  return map;
}