deserialize method

dynamic deserialize(
  1. dynamic data
)

Implementation

dynamic deserialize(dynamic data) {
  try {
    if (data is! Map<String, dynamic>) {
      throw FormatException('Expected a Map, but got ${data.runtimeType}');
    }

    if (data.containsKey('error')) {
      throw Exception(data['error']);
    }

    if (data['compressed'] == true) {
      final decompressed = _decompressMap(data['data']);
      data = decompressed;
    }

    return _customDeserializer != null
        ? _customDeserializer!(data['data'])
        : _deserializeInternal(data['data']);
  } catch (e) {
    debugPrint('Deserialization error: $e');
    return null;
  }
}