deserialize<T> method

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

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