getListMapValue method

Future<List<Map<String, dynamic>>> getListMapValue(
  1. String key
)

Implementation

Future<List<Map<String, dynamic>>> getListMapValue(String key) async {
  String? jsonString = _storage.read<String>(key);

  if (jsonString == null && isWeb) {
    try {
      final localVal = html.window.localStorage[key];
      if (localVal != null && localVal.isNotEmpty) {
        jsonString = localVal;
        await _storage.write(key, jsonString);
      } else {
        final cookieVal = _getCookie(key);
        if (cookieVal != null && cookieVal.isNotEmpty) {
          jsonString = cookieVal;
          await _storage.write(key, jsonString);
        }
      }
    } catch (_) {}
  }

  if (jsonString != null && jsonString.isNotEmpty) {
    final decoded = jsonDecode(jsonString);
    if (decoded is List) {
      return decoded.map<Map<String, dynamic>>((e) => Map<String, dynamic>.from(e)).toList();
    }
  }

  return [];
}