deserialize<T> method

  1. @override
T deserialize<T>(
  1. dynamic data, [
  2. Type? t
])

Deserialize the provided json data to an object of type t or T.

Implementation

@override
T deserialize<T>(
  dynamic data, [
  Type? t,
]) {
  t ??= T;
  if (customConstructors.containsKey(t)) {
    return customConstructors[t]!(data, this) as T;
  }
  if (t == _i4.ChatJoinChannel) {
    return _i4.ChatJoinChannel.fromJson(data, this) as T;
  }
  if (t == _i5.ChatJoinChannelFailed) {
    return _i5.ChatJoinChannelFailed.fromJson(data, this) as T;
  }
  if (t == _i6.ChatJoinedChannel) {
    return _i6.ChatJoinedChannel.fromJson(data, this) as T;
  }
  if (t == _i7.ChatLeaveChannel) {
    return _i7.ChatLeaveChannel.fromJson(data, this) as T;
  }
  if (t == _i8.ChatMessage) {
    return _i8.ChatMessage.fromJson(data, this) as T;
  }
  if (t == _i9.ChatMessageAttachment) {
    return _i9.ChatMessageAttachment.fromJson(data, this) as T;
  }
  if (t == _i10.ChatMessageAttachmentUploadDescription) {
    return _i10.ChatMessageAttachmentUploadDescription.fromJson(data, this)
        as T;
  }
  if (t == _i11.ChatMessageChunk) {
    return _i11.ChatMessageChunk.fromJson(data, this) as T;
  }
  if (t == _i12.ChatMessagePost) {
    return _i12.ChatMessagePost.fromJson(data, this) as T;
  }
  if (t == _i13.ChatReadMessage) {
    return _i13.ChatReadMessage.fromJson(data, this) as T;
  }
  if (t == _i14.ChatRequestMessageChunk) {
    return _i14.ChatRequestMessageChunk.fromJson(data, this) as T;
  }
  if (t == _i1.getType<_i4.ChatJoinChannel?>()) {
    return (data != null ? _i4.ChatJoinChannel.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i5.ChatJoinChannelFailed?>()) {
    return (data != null
        ? _i5.ChatJoinChannelFailed.fromJson(data, this)
        : null) as T;
  }
  if (t == _i1.getType<_i6.ChatJoinedChannel?>()) {
    return (data != null ? _i6.ChatJoinedChannel.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i7.ChatLeaveChannel?>()) {
    return (data != null ? _i7.ChatLeaveChannel.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i8.ChatMessage?>()) {
    return (data != null ? _i8.ChatMessage.fromJson(data, this) : null) as T;
  }
  if (t == _i1.getType<_i9.ChatMessageAttachment?>()) {
    return (data != null
        ? _i9.ChatMessageAttachment.fromJson(data, this)
        : null) as T;
  }
  if (t == _i1.getType<_i10.ChatMessageAttachmentUploadDescription?>()) {
    return (data != null
        ? _i10.ChatMessageAttachmentUploadDescription.fromJson(data, this)
        : null) as T;
  }
  if (t == _i1.getType<_i11.ChatMessageChunk?>()) {
    return (data != null ? _i11.ChatMessageChunk.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i12.ChatMessagePost?>()) {
    return (data != null ? _i12.ChatMessagePost.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i13.ChatReadMessage?>()) {
    return (data != null ? _i13.ChatReadMessage.fromJson(data, this) : null)
        as T;
  }
  if (t == _i1.getType<_i14.ChatRequestMessageChunk?>()) {
    return (data != null
        ? _i14.ChatRequestMessageChunk.fromJson(data, this)
        : null) as T;
  }
  if (t == _i1.getType<List<_i15.ChatMessageAttachment>?>()) {
    return (data != null
        ? (data as List)
            .map((e) => deserialize<_i15.ChatMessageAttachment>(e))
            .toList()
        : null) as dynamic;
  }
  if (t == List<_i15.ChatMessage>) {
    return (data as List)
        .map((e) => deserialize<_i15.ChatMessage>(e))
        .toList() as dynamic;
  }
  if (t == _i1.getType<List<_i15.ChatMessageAttachment>?>()) {
    return (data != null
        ? (data as List)
            .map((e) => deserialize<_i15.ChatMessageAttachment>(e))
            .toList()
        : null) as dynamic;
  }
  try {
    return _i3.Protocol().deserialize<T>(data, t);
  } catch (_) {}
  try {
    return _i2.Protocol().deserialize<T>(data, t);
  } catch (_) {}
  return super.deserialize<T>(data, t);
}