// ignore_for_file: non_constant_identifier_names
// ignore_for_file: camel_case_types
// ignore_for_file: prefer_single_quotes

// This file is automatically generated. DO NOT EDIT, all your changes would be lost.
import 'package:flutter/material.dart' show debugPrint;
import 'package:domain/entity/auth_login_entity.dart';
import 'package:domain/entity/captcha_img_entity.dart';
import 'package:domain/entity/comm_payment_detail_entity.dart';
import 'package:domain/entity/facility_book_entity.dart';
import 'package:domain/entity/facility_index_entity.dart';
import 'package:domain/entity/facility_page_entity.dart';
import 'package:domain/entity/feedback_detail_entity.dart';
import 'package:domain/entity/feedback_list_entity.dart';
import 'package:domain/entity/form_content_entity.dart';
import 'package:domain/entity/form_detail_entity.dart';
import 'package:domain/entity/form_list_entity.dart';
import 'package:domain/entity/form_option_entity.dart';
import 'package:domain/entity/form_order_entity.dart';
import 'package:domain/entity/form_submitted_entity.dart';
import 'package:domain/entity/form_submitted_page_entity.dart';
import 'package:domain/entity/garage_sale_history_entity.dart';
import 'package:domain/entity/garage_sale_rent_detail_entity.dart';
import 'package:domain/entity/garage_sale_rent_entity.dart';
import 'package:domain/entity/home_list_entity.dart';
import 'package:domain/entity/id_address_entity.dart';
import 'package:domain/entity/id_name_entity.dart';
import 'package:domain/entity/join_estate_success_entity.dart';
import 'package:domain/entity/latest_news_detail_entity.dart';
import 'package:domain/entity/latest_news_page_entity.dart';
import 'package:domain/entity/myfollowing_list_entity.dart';
import 'package:domain/entity/myposts_newsfeed_entity.dart';
import 'package:domain/entity/myposts_sale_rent_entity.dart';
import 'package:domain/entity/newsfeed_comment_publish_entity.dart';
import 'package:domain/entity/newsfeed_detail_entity.dart';
import 'package:domain/entity/newsfeed_following_entity.dart';
import 'package:domain/entity/newsfeed_foryou_entity.dart';
import 'package:domain/entity/newsfeed_news_entity.dart';
import 'package:domain/entity/notice_board_announ_detail_entity.dart';
import 'package:domain/entity/notice_board_announ_entity.dart';
import 'package:domain/entity/notice_board_documents_entity.dart';
import 'package:domain/entity/notice_board_event_detail_entity.dart';
import 'package:domain/entity/notice_board_event_entity.dart';
import 'package:domain/entity/notification_page_entity.dart';
import 'package:domain/entity/paid_service_detail_entity.dart';
import 'package:domain/entity/paid_service_entity.dart';
import 'package:domain/entity/paid_service_pay_success_info_entity.dart';
import 'package:domain/entity/payment_intent_entity.dart';
import 'package:domain/entity/payment_page_entity.dart';
import 'package:domain/entity/property_news_detail_entity.dart';
import 'package:domain/entity/property_news_entity.dart';
import 'package:domain/entity/property_sale_rent_entity.dart';
import 'package:domain/entity/repair_service_entity.dart';
import 'package:domain/entity/rewards_active_detail_entity.dart';
import 'package:domain/entity/rewards_buy_entity.dart';
import 'package:domain/entity/rewards_category_entity.dart';
import 'package:domain/entity/rewards_detail_entity.dart';
import 'package:domain/entity/rewards_history_earned_entity.dart';
import 'package:domain/entity/rewards_home_entity.dart';
import 'package:domain/entity/rewards_home_tes_entity.dart';
import 'package:domain/entity/rewards_home_test_entity.dart';
import 'package:domain/entity/rewards_home_tx_entity.dart';
import 'package:domain/entity/rewards_index_entity.dart';
import 'package:domain/entity/rewards_list_entity.dart';
import 'package:domain/entity/rewards_my_detail_entity.dart';
import 'package:domain/entity/rewards_my_entity.dart';
import 'package:domain/entity/rewards_search_entity.dart';
import 'package:domain/entity/server_time.dart';
import 'package:domain/entity/service_category_entity.dart';
import 'package:domain/entity/service_evaluate_list_entity.dart';
import 'package:domain/entity/service_in_progress_entity.dart';
import 'package:domain/entity/service_order_detail_entity.dart';
import 'package:domain/entity/service_repair_detail_entity.dart';
import 'package:domain/entity/service_time_period_entity.dart';
import 'package:domain/entity/text_kon_entity.dart';
import 'package:domain/entity/user_me_entity.dart';
import 'package:domain/entity/visitor_page_entity.dart';

JsonConvert jsonConvert = JsonConvert();

typedef JsonConvertFunction<T> = T Function(Map<String, dynamic> json);
typedef EnumConvertFunction<T> = T Function(String value);
typedef ConvertExceptionHandler = void Function(Object error, StackTrace stackTrace);
extension MapSafeExt<K, V> on Map<K, V> {
  T? getOrNull<T>(K? key) {
    if (!containsKey(key) || key == null) {
      return null;
    } else {
      return this[key] as T?;
    }
  }
}

class JsonConvert {
  static ConvertExceptionHandler? onError;
  JsonConvertClassCollection convertFuncMap = JsonConvertClassCollection();

  /// When you are in the development, to generate a new model class, hot-reload doesn't find new generation model class, you can build on MaterialApp method called jsonConvert. ReassembleConvertFuncMap (); This method only works in a development environment
  /// https://flutter.cn/docs/development/tools/hot-reload
  /// class MyApp extends StatelessWidget {
  ///    const MyApp({Key? key})
  ///        : super(key: key);
  ///
  ///    @override
  ///    Widget build(BuildContext context) {
  ///      jsonConvert.reassembleConvertFuncMap();
  ///      return MaterialApp();
  ///    }
  /// }
  void reassembleConvertFuncMap() {
    bool isReleaseMode = const bool.fromEnvironment('dart.vm.product');
    if (!isReleaseMode) {
      convertFuncMap = JsonConvertClassCollection();
    }
  }

  T? convert<T>(dynamic value, {EnumConvertFunction? enumConvert}) {
    if (value == null) {
      return null;
    }
    if (value is T) {
      return value;
    }
    try {
      return _asT<T>(value, enumConvert: enumConvert);
    } catch (e, stackTrace) {
      debugPrint('asT<$T> $e $stackTrace');
      if (onError != null) {
        onError!(e, stackTrace);
      }
      return null;
    }
  }

  List<T?>? convertList<T>(List<dynamic>? value, {EnumConvertFunction? enumConvert}) {
    if (value == null) {
      return null;
    }
    try {
      return value.map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)).toList();
    } catch (e, stackTrace) {
      debugPrint('asT<$T> $e $stackTrace');
      if (onError != null) {
        onError!(e, stackTrace);
      }
      return <T>[];
    }
  }

  List<T>? convertListNotNull<T>(dynamic value, {EnumConvertFunction? enumConvert}) {
    if (value == null) {
      return null;
    }
    try {
      return (value as List<dynamic>).map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)!).toList();
    } catch (e, stackTrace) {
      debugPrint('asT<$T> $e $stackTrace');
      if (onError != null) {
        onError!(e, stackTrace);
      }
      return <T>[];
    }
  }

  T? _asT<T extends Object?>(dynamic value,
      {EnumConvertFunction? enumConvert}) {
    final String type = T.toString();
    final String valueS = value.toString();
    if (enumConvert != null) {
      return enumConvert(valueS) as T;
    } else if (type == "String") {
      return valueS as T;
    } else if (type == "int") {
      final int? intValue = int.tryParse(valueS);
      if (intValue == null) {
        return double.tryParse(valueS)?.toInt() as T?;
      } else {
        return intValue as T;
      }
    } else if (type == "double") {
      return double.parse(valueS) as T;
    } else if (type == "DateTime") {
      return DateTime.parse(valueS) as T;
    } else if (type == "bool") {
      if (valueS == '0' || valueS == '1') {
        return (valueS == '1') as T;
      }
      return (valueS == 'true') as T;
    } else if (type == "Map" || type.startsWith("Map<")) {
      return value as T;
    } else {
      if (convertFuncMap.containsKey(type)) {
        if (value == null) {
          return null;
        }
        var covertFunc = convertFuncMap[type]!;
        if (covertFunc is Map<String, dynamic>) {
          return covertFunc(value as Map<String, dynamic>) as T;
        } else {
          return covertFunc(Map<String, dynamic>.from(value)) as T;
        }
      } else {
        throw UnimplementedError('$type unimplemented,you can try running the app again');
      }
    }
  }

  //list is returned by type
  static M? _getListChildType<M>(List<Map<String, dynamic>> data) {
    if (<AuthLoginEntity>[] is M) {
      return data.map<AuthLoginEntity>((Map<String, dynamic> e) => AuthLoginEntity.fromJson(e)).toList() as M;
    }
    if (<CaptchaImgEntity>[] is M) {
      return data.map<CaptchaImgEntity>((Map<String, dynamic> e) => CaptchaImgEntity.fromJson(e)).toList() as M;
    }
    if (<CommPaymentDetailEntity>[] is M) {
      return data.map<CommPaymentDetailEntity>((Map<String, dynamic> e) => CommPaymentDetailEntity.fromJson(e)).toList() as M;
    }
    if (<CommPaymentDetailOrderable>[] is M) {
      return data.map<CommPaymentDetailOrderable>((Map<String, dynamic> e) => CommPaymentDetailOrderable.fromJson(e)).toList() as M;
    }
    if (<FacilityBookEntity>[] is M) {
      return data.map<FacilityBookEntity>((Map<String, dynamic> e) => FacilityBookEntity.fromJson(e)).toList() as M;
    }
    if (<FacilityBookFacilityType>[] is M) {
      return data.map<FacilityBookFacilityType>((Map<String, dynamic> e) => FacilityBookFacilityType.fromJson(e)).toList() as M;
    }
    if (<FacilityBookFacilities>[] is M) {
      return data.map<FacilityBookFacilities>((Map<String, dynamic> e) => FacilityBookFacilities.fromJson(e)).toList() as M;
    }
    if (<FacilityBookFacilitiesPeriods>[] is M) {
      return data.map<FacilityBookFacilitiesPeriods>((Map<String, dynamic> e) => FacilityBookFacilitiesPeriods.fromJson(e)).toList() as M;
    }
    if (<FacilityIndexEntity>[] is M) {
      return data.map<FacilityIndexEntity>((Map<String, dynamic> e) => FacilityIndexEntity.fromJson(e)).toList() as M;
    }
    if (<FacilityPageEntity>[] is M) {
      return data.map<FacilityPageEntity>((Map<String, dynamic> e) => FacilityPageEntity.fromJson(e)).toList() as M;
    }
    if (<FacilityDetail>[] is M) {
      return data.map<FacilityDetail>((Map<String, dynamic> e) => FacilityDetail.fromJson(e)).toList() as M;
    }
    if (<FacilityPageListBooking>[] is M) {
      return data.map<FacilityPageListBooking>((Map<String, dynamic> e) => FacilityPageListBooking.fromJson(e)).toList() as M;
    }
    if (<FacilityPageListFacility>[] is M) {
      return data.map<FacilityPageListFacility>((Map<String, dynamic> e) => FacilityPageListFacility.fromJson(e)).toList() as M;
    }
    if (<FacilityPageListTimePeriod>[] is M) {
      return data.map<FacilityPageListTimePeriod>((Map<String, dynamic> e) => FacilityPageListTimePeriod.fromJson(e)).toList() as M;
    }
    if (<FacilityOrder>[] is M) {
      return data.map<FacilityOrder>((Map<String, dynamic> e) => FacilityOrder.fromJson(e)).toList() as M;
    }
    if (<FeedbackDetailEntity>[] is M) {
      return data.map<FeedbackDetailEntity>((Map<String, dynamic> e) => FeedbackDetailEntity.fromJson(e)).toList() as M;
    }
    if (<FeedbackDetailReplies>[] is M) {
      return data.map<FeedbackDetailReplies>((Map<String, dynamic> e) => FeedbackDetailReplies.fromJson(e)).toList() as M;
    }
    if (<FeedbackListEntity>[] is M) {
      return data.map<FeedbackListEntity>((Map<String, dynamic> e) => FeedbackListEntity.fromJson(e)).toList() as M;
    }
    if (<FeedbackItemEntity>[] is M) {
      return data.map<FeedbackItemEntity>((Map<String, dynamic> e) => FeedbackItemEntity.fromJson(e)).toList() as M;
    }
    if (<FormContentEntity>[] is M) {
      return data.map<FormContentEntity>((Map<String, dynamic> e) => FormContentEntity.fromJson(e)).toList() as M;
    }
    if (<FormDetailEntity>[] is M) {
      return data.map<FormDetailEntity>((Map<String, dynamic> e) => FormDetailEntity.fromJson(e)).toList() as M;
    }
    if (<FormOrder>[] is M) {
      return data.map<FormOrder>((Map<String, dynamic> e) => FormOrder.fromJson(e)).toList() as M;
    }
    if (<FormListEntity>[] is M) {
      return data.map<FormListEntity>((Map<String, dynamic> e) => FormListEntity.fromJson(e)).toList() as M;
    }
    if (<FormOptionEntity>[] is M) {
      return data.map<FormOptionEntity>((Map<String, dynamic> e) => FormOptionEntity.fromJson(e)).toList() as M;
    }
    if (<FormOrderEntity>[] is M) {
      return data.map<FormOrderEntity>((Map<String, dynamic> e) => FormOrderEntity.fromJson(e)).toList() as M;
    }
    if (<FormOrderOrder>[] is M) {
      return data.map<FormOrderOrder>((Map<String, dynamic> e) => FormOrderOrder.fromJson(e)).toList() as M;
    }
    if (<FormSubmittedEntity>[] is M) {
      return data.map<FormSubmittedEntity>((Map<String, dynamic> e) => FormSubmittedEntity.fromJson(e)).toList() as M;
    }
    if (<FormSubmittedEstateOnlineForm>[] is M) {
      return data.map<FormSubmittedEstateOnlineForm>((Map<String, dynamic> e) => FormSubmittedEstateOnlineForm.fromJson(e)).toList() as M;
    }
    if (<FormSubmittedOrder>[] is M) {
      return data.map<FormSubmittedOrder>((Map<String, dynamic> e) => FormSubmittedOrder.fromJson(e)).toList() as M;
    }
    if (<FormSubmittedPageEntity>[] is M) {
      return data.map<FormSubmittedPageEntity>((Map<String, dynamic> e) => FormSubmittedPageEntity.fromJson(e)).toList() as M;
    }
    if (<GarageSaleHistoryEntity>[] is M) {
      return data.map<GarageSaleHistoryEntity>((Map<String, dynamic> e) => GarageSaleHistoryEntity.fromJson(e)).toList() as M;
    }
    if (<GarageSaleHistoryList>[] is M) {
      return data.map<GarageSaleHistoryList>((Map<String, dynamic> e) => GarageSaleHistoryList.fromJson(e)).toList() as M;
    }
    if (<GarageSaleHistoryListOrderProducts>[] is M) {
      return data.map<GarageSaleHistoryListOrderProducts>((Map<String, dynamic> e) => GarageSaleHistoryListOrderProducts.fromJson(e)).toList() as M;
    }
    if (<GarageSaleRentDetailEntity>[] is M) {
      return data.map<GarageSaleRentDetailEntity>((Map<String, dynamic> e) => GarageSaleRentDetailEntity.fromJson(e)).toList() as M;
    }
    if (<GarageSaleRentDetailAccount>[] is M) {
      return data.map<GarageSaleRentDetailAccount>((Map<String, dynamic> e) => GarageSaleRentDetailAccount.fromJson(e)).toList() as M;
    }
    if (<GarageSaleRentEntity>[] is M) {
      return data.map<GarageSaleRentEntity>((Map<String, dynamic> e) => GarageSaleRentEntity.fromJson(e)).toList() as M;
    }
    if (<GarageSaleRentList>[] is M) {
      return data.map<GarageSaleRentList>((Map<String, dynamic> e) => GarageSaleRentList.fromJson(e)).toList() as M;
    }
    if (<GarageSaleRentListAccount>[] is M) {
      return data.map<GarageSaleRentListAccount>((Map<String, dynamic> e) => GarageSaleRentListAccount.fromJson(e)).toList() as M;
    }
    if (<HomeListEntity>[] is M) {
      return data.map<HomeListEntity>((Map<String, dynamic> e) => HomeListEntity.fromJson(e)).toList() as M;
    }
    if (<HomeListBanners>[] is M) {
      return data.map<HomeListBanners>((Map<String, dynamic> e) => HomeListBanners.fromJson(e)).toList() as M;
    }
    if (<HomeListLatestTransactions>[] is M) {
      return data.map<HomeListLatestTransactions>((Map<String, dynamic> e) => HomeListLatestTransactions.fromJson(e)).toList() as M;
    }
    if (<HomeListPropertyNews>[] is M) {
      return data.map<HomeListPropertyNews>((Map<String, dynamic> e) => HomeListPropertyNews.fromJson(e)).toList() as M;
    }
    if (<IdAddressEntity>[] is M) {
      return data.map<IdAddressEntity>((Map<String, dynamic> e) => IdAddressEntity.fromJson(e)).toList() as M;
    }
    if (<IdNameEntity>[] is M) {
      return data.map<IdNameEntity>((Map<String, dynamic> e) => IdNameEntity.fromJson(e)).toList() as M;
    }
    if (<JoinEstateSuccessEntity>[] is M) {
      return data.map<JoinEstateSuccessEntity>((Map<String, dynamic> e) => JoinEstateSuccessEntity.fromJson(e)).toList() as M;
    }
    if (<JoinEstateSuccessEstate>[] is M) {
      return data.map<JoinEstateSuccessEstate>((Map<String, dynamic> e) => JoinEstateSuccessEstate.fromJson(e)).toList() as M;
    }
    if (<JoinEstateSuccessEstateInformation>[] is M) {
      return data.map<JoinEstateSuccessEstateInformation>((Map<String, dynamic> e) => JoinEstateSuccessEstateInformation.fromJson(e)).toList() as M;
    }
    if (<LatestNewsDetailEntity>[] is M) {
      return data.map<LatestNewsDetailEntity>((Map<String, dynamic> e) => LatestNewsDetailEntity.fromJson(e)).toList() as M;
    }
    if (<LatestNewsPageEntity>[] is M) {
      return data.map<LatestNewsPageEntity>((Map<String, dynamic> e) => LatestNewsPageEntity.fromJson(e)).toList() as M;
    }
    if (<LatestNewsList>[] is M) {
      return data.map<LatestNewsList>((Map<String, dynamic> e) => LatestNewsList.fromJson(e)).toList() as M;
    }
    if (<MyfollowingListEntity>[] is M) {
      return data.map<MyfollowingListEntity>((Map<String, dynamic> e) => MyfollowingListEntity.fromJson(e)).toList() as M;
    }
    if (<MypostsNewsfeedEntity>[] is M) {
      return data.map<MypostsNewsfeedEntity>((Map<String, dynamic> e) => MypostsNewsfeedEntity.fromJson(e)).toList() as M;
    }
    if (<MypostsNewsfeedList>[] is M) {
      return data.map<MypostsNewsfeedList>((Map<String, dynamic> e) => MypostsNewsfeedList.fromJson(e)).toList() as M;
    }
    if (<MypostsNewsfeedListAccount>[] is M) {
      return data.map<MypostsNewsfeedListAccount>((Map<String, dynamic> e) => MypostsNewsfeedListAccount.fromJson(e)).toList() as M;
    }
    if (<MypostsSaleRentEntity>[] is M) {
      return data.map<MypostsSaleRentEntity>((Map<String, dynamic> e) => MypostsSaleRentEntity.fromJson(e)).toList() as M;
    }
    if (<MypostsSaleRentList>[] is M) {
      return data.map<MypostsSaleRentList>((Map<String, dynamic> e) => MypostsSaleRentList.fromJson(e)).toList() as M;
    }
    if (<NewsfeedCommentPublishEntity>[] is M) {
      return data.map<NewsfeedCommentPublishEntity>((Map<String, dynamic> e) => NewsfeedCommentPublishEntity.fromJson(e)).toList() as M;
    }
    if (<NewsfeedDetailEntity>[] is M) {
      return data.map<NewsfeedDetailEntity>((Map<String, dynamic> e) => NewsfeedDetailEntity.fromJson(e)).toList() as M;
    }
    if (<NewsfeedDetailAccount>[] is M) {
      return data.map<NewsfeedDetailAccount>((Map<String, dynamic> e) => NewsfeedDetailAccount.fromJson(e)).toList() as M;
    }
    if (<NewsfeedDetailComments>[] is M) {
      return data.map<NewsfeedDetailComments>((Map<String, dynamic> e) => NewsfeedDetailComments.fromJson(e)).toList() as M;
    }
    if (<NewsfeedDetailCommentsAccount>[] is M) {
      return data.map<NewsfeedDetailCommentsAccount>((Map<String, dynamic> e) => NewsfeedDetailCommentsAccount.fromJson(e)).toList() as M;
    }
    if (<NewsfeedDetailCommentsToAccount>[] is M) {
      return data.map<NewsfeedDetailCommentsToAccount>((Map<String, dynamic> e) => NewsfeedDetailCommentsToAccount.fromJson(e)).toList() as M;
    }
    if (<NewsfeedFollowingEntity>[] is M) {
      return data.map<NewsfeedFollowingEntity>((Map<String, dynamic> e) => NewsfeedFollowingEntity.fromJson(e)).toList() as M;
    }
    if (<NewsfeedFollowingList>[] is M) {
      return data.map<NewsfeedFollowingList>((Map<String, dynamic> e) => NewsfeedFollowingList.fromJson(e)).toList() as M;
    }
    if (<NewsfeedFollowingListAccount>[] is M) {
      return data.map<NewsfeedFollowingListAccount>((Map<String, dynamic> e) => NewsfeedFollowingListAccount.fromJson(e)).toList() as M;
    }
    if (<NewsfeedForyouEntity>[] is M) {
      return data.map<NewsfeedForyouEntity>((Map<String, dynamic> e) => NewsfeedForyouEntity.fromJson(e)).toList() as M;
    }
    if (<NewsfeedForyouList>[] is M) {
      return data.map<NewsfeedForyouList>((Map<String, dynamic> e) => NewsfeedForyouList.fromJson(e)).toList() as M;
    }
    if (<NewsfeedForyouListAccount>[] is M) {
      return data.map<NewsfeedForyouListAccount>((Map<String, dynamic> e) => NewsfeedForyouListAccount.fromJson(e)).toList() as M;
    }
    if (<NewsfeedNewsEntity>[] is M) {
      return data.map<NewsfeedNewsEntity>((Map<String, dynamic> e) => NewsfeedNewsEntity.fromJson(e)).toList() as M;
    }
    if (<NewsfeedNewsList>[] is M) {
      return data.map<NewsfeedNewsList>((Map<String, dynamic> e) => NewsfeedNewsList.fromJson(e)).toList() as M;
    }
    if (<NewsfeedNewsListAccount>[] is M) {
      return data.map<NewsfeedNewsListAccount>((Map<String, dynamic> e) => NewsfeedNewsListAccount.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardAnnounDetailEntity>[] is M) {
      return data.map<NoticeBoardAnnounDetailEntity>((Map<String, dynamic> e) => NoticeBoardAnnounDetailEntity.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardAnnounEntity>[] is M) {
      return data.map<NoticeBoardAnnounEntity>((Map<String, dynamic> e) => NoticeBoardAnnounEntity.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardAnnounList>[] is M) {
      return data.map<NoticeBoardAnnounList>((Map<String, dynamic> e) => NoticeBoardAnnounList.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardDocumentsEntity>[] is M) {
      return data.map<NoticeBoardDocumentsEntity>((Map<String, dynamic> e) => NoticeBoardDocumentsEntity.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardDocumentsList>[] is M) {
      return data.map<NoticeBoardDocumentsList>((Map<String, dynamic> e) => NoticeBoardDocumentsList.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardEventDetailEntity>[] is M) {
      return data.map<NoticeBoardEventDetailEntity>((Map<String, dynamic> e) => NoticeBoardEventDetailEntity.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardEventEntity>[] is M) {
      return data.map<NoticeBoardEventEntity>((Map<String, dynamic> e) => NoticeBoardEventEntity.fromJson(e)).toList() as M;
    }
    if (<NoticeBoardEventList>[] is M) {
      return data.map<NoticeBoardEventList>((Map<String, dynamic> e) => NoticeBoardEventList.fromJson(e)).toList() as M;
    }
    if (<NotificationPageEntity>[] is M) {
      return data.map<NotificationPageEntity>((Map<String, dynamic> e) => NotificationPageEntity.fromJson(e)).toList() as M;
    }
    if (<NotificationPageList>[] is M) {
      return data.map<NotificationPageList>((Map<String, dynamic> e) => NotificationPageList.fromJson(e)).toList() as M;
    }
    if (<NotificationPageListData>[] is M) {
      return data.map<NotificationPageListData>((Map<String, dynamic> e) => NotificationPageListData.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailEntity>[] is M) {
      return data.map<PaidServiceDetailEntity>((Map<String, dynamic> e) => PaidServiceDetailEntity.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailMerchant>[] is M) {
      return data.map<PaidServiceDetailMerchant>((Map<String, dynamic> e) => PaidServiceDetailMerchant.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailCategory>[] is M) {
      return data.map<PaidServiceDetailCategory>((Map<String, dynamic> e) => PaidServiceDetailCategory.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailProducts>[] is M) {
      return data.map<PaidServiceDetailProducts>((Map<String, dynamic> e) => PaidServiceDetailProducts.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailEvaluations>[] is M) {
      return data.map<PaidServiceDetailEvaluations>((Map<String, dynamic> e) => PaidServiceDetailEvaluations.fromJson(e)).toList() as M;
    }
    if (<PaidServiceDetailEvaluationsAccount>[] is M) {
      return data.map<PaidServiceDetailEvaluationsAccount>((Map<String, dynamic> e) => PaidServiceDetailEvaluationsAccount.fromJson(e)).toList() as M;
    }
    if (<PaidServiceEntity>[] is M) {
      return data.map<PaidServiceEntity>((Map<String, dynamic> e) => PaidServiceEntity.fromJson(e)).toList() as M;
    }
    if (<PaidServiceList>[] is M) {
      return data.map<PaidServiceList>((Map<String, dynamic> e) => PaidServiceList.fromJson(e)).toList() as M;
    }
    if (<PaidServiceListMerchant>[] is M) {
      return data.map<PaidServiceListMerchant>((Map<String, dynamic> e) => PaidServiceListMerchant.fromJson(e)).toList() as M;
    }
    if (<PaidServiceListCategory>[] is M) {
      return data.map<PaidServiceListCategory>((Map<String, dynamic> e) => PaidServiceListCategory.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoEntity>[] is M) {
      return data.map<PaidServicePaySuccessInfoEntity>((Map<String, dynamic> e) => PaidServicePaySuccessInfoEntity.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoAccount>[] is M) {
      return data.map<PaidServicePaySuccessInfoAccount>((Map<String, dynamic> e) => PaidServicePaySuccessInfoAccount.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoOrderService>[] is M) {
      return data.map<PaidServicePaySuccessInfoOrderService>((Map<String, dynamic> e) => PaidServicePaySuccessInfoOrderService.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoMerchant>[] is M) {
      return data.map<PaidServicePaySuccessInfoMerchant>((Map<String, dynamic> e) => PaidServicePaySuccessInfoMerchant.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoStaff>[] is M) {
      return data.map<PaidServicePaySuccessInfoStaff>((Map<String, dynamic> e) => PaidServicePaySuccessInfoStaff.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoOrderProducts>[] is M) {
      return data.map<PaidServicePaySuccessInfoOrderProducts>((Map<String, dynamic> e) => PaidServicePaySuccessInfoOrderProducts.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoEstate>[] is M) {
      return data.map<PaidServicePaySuccessInfoEstate>((Map<String, dynamic> e) => PaidServicePaySuccessInfoEstate.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoEstateUnit>[] is M) {
      return data.map<PaidServicePaySuccessInfoEstateUnit>((Map<String, dynamic> e) => PaidServicePaySuccessInfoEstateUnit.fromJson(e)).toList() as M;
    }
    if (<PaidServicePaySuccessInfoOrder>[] is M) {
      return data.map<PaidServicePaySuccessInfoOrder>((Map<String, dynamic> e) => PaidServicePaySuccessInfoOrder.fromJson(e)).toList() as M;
    }
    if (<PaymentIntentEntity>[] is M) {
      return data.map<PaymentIntentEntity>((Map<String, dynamic> e) => PaymentIntentEntity.fromJson(e)).toList() as M;
    }
    if (<PaymentPageEntity>[] is M) {
      return data.map<PaymentPageEntity>((Map<String, dynamic> e) => PaymentPageEntity.fromJson(e)).toList() as M;
    }
    if (<PaymentPageList>[] is M) {
      return data.map<PaymentPageList>((Map<String, dynamic> e) => PaymentPageList.fromJson(e)).toList() as M;
    }
    if (<OrderableEntity>[] is M) {
      return data.map<OrderableEntity>((Map<String, dynamic> e) => OrderableEntity.fromJson(e)).toList() as M;
    }
    if (<PropertyNewsDetailEntity>[] is M) {
      return data.map<PropertyNewsDetailEntity>((Map<String, dynamic> e) => PropertyNewsDetailEntity.fromJson(e)).toList() as M;
    }
    if (<PropertyNewsEntity>[] is M) {
      return data.map<PropertyNewsEntity>((Map<String, dynamic> e) => PropertyNewsEntity.fromJson(e)).toList() as M;
    }
    if (<PropertyNewsList>[] is M) {
      return data.map<PropertyNewsList>((Map<String, dynamic> e) => PropertyNewsList.fromJson(e)).toList() as M;
    }
    if (<PropertySaleRentEntity>[] is M) {
      return data.map<PropertySaleRentEntity>((Map<String, dynamic> e) => PropertySaleRentEntity.fromJson(e)).toList() as M;
    }
    if (<PropertySaleRentList>[] is M) {
      return data.map<PropertySaleRentList>((Map<String, dynamic> e) => PropertySaleRentList.fromJson(e)).toList() as M;
    }
    if (<RepairServiceEntity>[] is M) {
      return data.map<RepairServiceEntity>((Map<String, dynamic> e) => RepairServiceEntity.fromJson(e)).toList() as M;
    }
    if (<RepairServiceList>[] is M) {
      return data.map<RepairServiceList>((Map<String, dynamic> e) => RepairServiceList.fromJson(e)).toList() as M;
    }
    if (<RepairServiceListMerchant>[] is M) {
      return data.map<RepairServiceListMerchant>((Map<String, dynamic> e) => RepairServiceListMerchant.fromJson(e)).toList() as M;
    }
    if (<RepairServiceListCategory>[] is M) {
      return data.map<RepairServiceListCategory>((Map<String, dynamic> e) => RepairServiceListCategory.fromJson(e)).toList() as M;
    }
    if (<RewardsActiveDetailEntity>[] is M) {
      return data.map<RewardsActiveDetailEntity>((Map<String, dynamic> e) => RewardsActiveDetailEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsActiveDetailData>[] is M) {
      return data.map<RewardsActiveDetailData>((Map<String, dynamic> e) => RewardsActiveDetailData.fromJson(e)).toList() as M;
    }
    if (<RewardsActiveDetailDataAccount>[] is M) {
      return data.map<RewardsActiveDetailDataAccount>((Map<String, dynamic> e) => RewardsActiveDetailDataAccount.fromJson(e)).toList() as M;
    }
    if (<RewardsActiveDetailDataReward>[] is M) {
      return data.map<RewardsActiveDetailDataReward>((Map<String, dynamic> e) => RewardsActiveDetailDataReward.fromJson(e)).toList() as M;
    }
    if (<RewardsBuyEntity>[] is M) {
      return data.map<RewardsBuyEntity>((Map<String, dynamic> e) => RewardsBuyEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsBuyReward>[] is M) {
      return data.map<RewardsBuyReward>((Map<String, dynamic> e) => RewardsBuyReward.fromJson(e)).toList() as M;
    }
    if (<RewardsBuyRewardRedeemable>[] is M) {
      return data.map<RewardsBuyRewardRedeemable>((Map<String, dynamic> e) => RewardsBuyRewardRedeemable.fromJson(e)).toList() as M;
    }
    if (<RewardsCategoryEntity>[] is M) {
      return data.map<RewardsCategoryEntity>((Map<String, dynamic> e) => RewardsCategoryEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsDetailEntity>[] is M) {
      return data.map<RewardsDetailEntity>((Map<String, dynamic> e) => RewardsDetailEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsDetailRedeemable>[] is M) {
      return data.map<RewardsDetailRedeemable>((Map<String, dynamic> e) => RewardsDetailRedeemable.fromJson(e)).toList() as M;
    }
    if (<RewardsHistoryEarnedEntity>[] is M) {
      return data.map<RewardsHistoryEarnedEntity>((Map<String, dynamic> e) => RewardsHistoryEarnedEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsHistoryEarnedList>[] is M) {
      return data.map<RewardsHistoryEarnedList>((Map<String, dynamic> e) => RewardsHistoryEarnedList.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeEntity>[] is M) {
      return data.map<RewardsHomeEntity>((Map<String, dynamic> e) => RewardsHomeEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeData>[] is M) {
      return data.map<RewardsHomeData>((Map<String, dynamic> e) => RewardsHomeData.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeDataRewards>[] is M) {
      return data.map<RewardsHomeDataRewards>((Map<String, dynamic> e) => RewardsHomeDataRewards.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeTesEntity>[] is M) {
      return data.map<RewardsHomeTesEntity>((Map<String, dynamic> e) => RewardsHomeTesEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeTesRewards>[] is M) {
      return data.map<RewardsHomeTesRewards>((Map<String, dynamic> e) => RewardsHomeTesRewards.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeTestEntity>[] is M) {
      return data.map<RewardsHomeTestEntity>((Map<String, dynamic> e) => RewardsHomeTestEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsHomeTxEntity>[] is M) {
      return data.map<RewardsHomeTxEntity>((Map<String, dynamic> e) => RewardsHomeTxEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsIndexEntity>[] is M) {
      return data.map<RewardsIndexEntity>((Map<String, dynamic> e) => RewardsIndexEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsIndexContinuous>[] is M) {
      return data.map<RewardsIndexContinuous>((Map<String, dynamic> e) => RewardsIndexContinuous.fromJson(e)).toList() as M;
    }
    if (<RewardsIndexTasks>[] is M) {
      return data.map<RewardsIndexTasks>((Map<String, dynamic> e) => RewardsIndexTasks.fromJson(e)).toList() as M;
    }
    if (<RewardsListEntity>[] is M) {
      return data.map<RewardsListEntity>((Map<String, dynamic> e) => RewardsListEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsListList>[] is M) {
      return data.map<RewardsListList>((Map<String, dynamic> e) => RewardsListList.fromJson(e)).toList() as M;
    }
    if (<RewardsMyDetailEntity>[] is M) {
      return data.map<RewardsMyDetailEntity>((Map<String, dynamic> e) => RewardsMyDetailEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsMyDetailAccount>[] is M) {
      return data.map<RewardsMyDetailAccount>((Map<String, dynamic> e) => RewardsMyDetailAccount.fromJson(e)).toList() as M;
    }
    if (<RewardsMyDetailReward>[] is M) {
      return data.map<RewardsMyDetailReward>((Map<String, dynamic> e) => RewardsMyDetailReward.fromJson(e)).toList() as M;
    }
    if (<RewardsMyEntity>[] is M) {
      return data.map<RewardsMyEntity>((Map<String, dynamic> e) => RewardsMyEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsMyList>[] is M) {
      return data.map<RewardsMyList>((Map<String, dynamic> e) => RewardsMyList.fromJson(e)).toList() as M;
    }
    if (<RewardsMyListReward>[] is M) {
      return data.map<RewardsMyListReward>((Map<String, dynamic> e) => RewardsMyListReward.fromJson(e)).toList() as M;
    }
    if (<RewardsSearchEntity>[] is M) {
      return data.map<RewardsSearchEntity>((Map<String, dynamic> e) => RewardsSearchEntity.fromJson(e)).toList() as M;
    }
    if (<RewardsSearchRewards>[] is M) {
      return data.map<RewardsSearchRewards>((Map<String, dynamic> e) => RewardsSearchRewards.fromJson(e)).toList() as M;
    }
    if (<ServerTime>[] is M) {
      return data.map<ServerTime>((Map<String, dynamic> e) => ServerTime.fromJson(e)).toList() as M;
    }
    if (<ServiceCategoryEntity>[] is M) {
      return data.map<ServiceCategoryEntity>((Map<String, dynamic> e) => ServiceCategoryEntity.fromJson(e)).toList() as M;
    }
    if (<ServiceEvaluateListEntity>[] is M) {
      return data.map<ServiceEvaluateListEntity>((Map<String, dynamic> e) => ServiceEvaluateListEntity.fromJson(e)).toList() as M;
    }
    if (<ServiceEvaluateListList>[] is M) {
      return data.map<ServiceEvaluateListList>((Map<String, dynamic> e) => ServiceEvaluateListList.fromJson(e)).toList() as M;
    }
    if (<ServiceEvaluateListListAccount>[] is M) {
      return data.map<ServiceEvaluateListListAccount>((Map<String, dynamic> e) => ServiceEvaluateListListAccount.fromJson(e)).toList() as M;
    }
    if (<ServiceInProgressEntity>[] is M) {
      return data.map<ServiceInProgressEntity>((Map<String, dynamic> e) => ServiceInProgressEntity.fromJson(e)).toList() as M;
    }
    if (<ServiceInProgressList>[] is M) {
      return data.map<ServiceInProgressList>((Map<String, dynamic> e) => ServiceInProgressList.fromJson(e)).toList() as M;
    }
    if (<ServiceInProgressListService>[] is M) {
      return data.map<ServiceInProgressListService>((Map<String, dynamic> e) => ServiceInProgressListService.fromJson(e)).toList() as M;
    }
    if (<ServiceInProgressListMerchant>[] is M) {
      return data.map<ServiceInProgressListMerchant>((Map<String, dynamic> e) => ServiceInProgressListMerchant.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailEntity>[] is M) {
      return data.map<ServiceOrderDetailEntity>((Map<String, dynamic> e) => ServiceOrderDetailEntity.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailAccount>[] is M) {
      return data.map<ServiceOrderDetailAccount>((Map<String, dynamic> e) => ServiceOrderDetailAccount.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailOrderService>[] is M) {
      return data.map<ServiceOrderDetailOrderService>((Map<String, dynamic> e) => ServiceOrderDetailOrderService.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailMerchant>[] is M) {
      return data.map<ServiceOrderDetailMerchant>((Map<String, dynamic> e) => ServiceOrderDetailMerchant.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailStaff>[] is M) {
      return data.map<ServiceOrderDetailStaff>((Map<String, dynamic> e) => ServiceOrderDetailStaff.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailOrderProducts>[] is M) {
      return data.map<ServiceOrderDetailOrderProducts>((Map<String, dynamic> e) => ServiceOrderDetailOrderProducts.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailEstate>[] is M) {
      return data.map<ServiceOrderDetailEstate>((Map<String, dynamic> e) => ServiceOrderDetailEstate.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailEstateUnit>[] is M) {
      return data.map<ServiceOrderDetailEstateUnit>((Map<String, dynamic> e) => ServiceOrderDetailEstateUnit.fromJson(e)).toList() as M;
    }
    if (<ServiceOrderDetailOrder>[] is M) {
      return data.map<ServiceOrderDetailOrder>((Map<String, dynamic> e) => ServiceOrderDetailOrder.fromJson(e)).toList() as M;
    }
    if (<ServiceRepairDetailEntity>[] is M) {
      return data.map<ServiceRepairDetailEntity>((Map<String, dynamic> e) => ServiceRepairDetailEntity.fromJson(e)).toList() as M;
    }
    if (<ServiceRepairDetailMerchant>[] is M) {
      return data.map<ServiceRepairDetailMerchant>((Map<String, dynamic> e) => ServiceRepairDetailMerchant.fromJson(e)).toList() as M;
    }
    if (<ServiceRepairDetailCategory>[] is M) {
      return data.map<ServiceRepairDetailCategory>((Map<String, dynamic> e) => ServiceRepairDetailCategory.fromJson(e)).toList() as M;
    }
    if (<ServiceTimePeriodEntity>[] is M) {
      return data.map<ServiceTimePeriodEntity>((Map<String, dynamic> e) => ServiceTimePeriodEntity.fromJson(e)).toList() as M;
    }
    if (<TextKonEntity>[] is M) {
      return data.map<TextKonEntity>((Map<String, dynamic> e) => TextKonEntity.fromJson(e)).toList() as M;
    }
    if (<UserMeEntity>[] is M) {
      return data.map<UserMeEntity>((Map<String, dynamic> e) => UserMeEntity.fromJson(e)).toList() as M;
    }
    if (<UserMeHouseholds>[] is M) {
      return data.map<UserMeHouseholds>((Map<String, dynamic> e) => UserMeHouseholds.fromJson(e)).toList() as M;
    }
    if (<UserMeEstates>[] is M) {
      return data.map<UserMeEstates>((Map<String, dynamic> e) => UserMeEstates.fromJson(e)).toList() as M;
    }
    if (<UserMeEstatesAccounts>[] is M) {
      return data.map<UserMeEstatesAccounts>((Map<String, dynamic> e) => UserMeEstatesAccounts.fromJson(e)).toList() as M;
    }
    if (<UserMeEstatesAccountsUnit>[] is M) {
      return data.map<UserMeEstatesAccountsUnit>((Map<String, dynamic> e) => UserMeEstatesAccountsUnit.fromJson(e)).toList() as M;
    }
    if (<UserMeDefaultUnit>[] is M) {
      return data.map<UserMeDefaultUnit>((Map<String, dynamic> e) => UserMeDefaultUnit.fromJson(e)).toList() as M;
    }
    if (<UserMeInformation>[] is M) {
      return data.map<UserMeInformation>((Map<String, dynamic> e) => UserMeInformation.fromJson(e)).toList() as M;
    }
    if (<VisitorPageEntity>[] is M) {
      return data.map<VisitorPageEntity>((Map<String, dynamic> e) => VisitorPageEntity.fromJson(e)).toList() as M;
    }
    if (<VisitorPageList>[] is M) {
      return data.map<VisitorPageList>((Map<String, dynamic> e) => VisitorPageList.fromJson(e)).toList() as M;
    }

    debugPrint("$M not found");

    return null;
  }

  static M? fromJsonAsT<M>(dynamic json) {
    if (json is M) {
      return json;
    }
    if (json is List) {
      return _getListChildType<M>(json.map((dynamic e) => e as Map<String, dynamic>).toList());
    } else {
      return jsonConvert.convert<M>(json);
    }
  }
}

class JsonConvertClassCollection {
  Map<String, JsonConvertFunction> convertFuncMap = {
    (AuthLoginEntity).toString(): AuthLoginEntity.fromJson,
    (CaptchaImgEntity).toString(): CaptchaImgEntity.fromJson,
    (CommPaymentDetailEntity).toString(): CommPaymentDetailEntity.fromJson,
    (CommPaymentDetailOrderable).toString(): CommPaymentDetailOrderable.fromJson,
    (FacilityBookEntity).toString(): FacilityBookEntity.fromJson,
    (FacilityBookFacilityType).toString(): FacilityBookFacilityType.fromJson,
    (FacilityBookFacilities).toString(): FacilityBookFacilities.fromJson,
    (FacilityBookFacilitiesPeriods).toString(): FacilityBookFacilitiesPeriods.fromJson,
    (FacilityIndexEntity).toString(): FacilityIndexEntity.fromJson,
    (FacilityPageEntity).toString(): FacilityPageEntity.fromJson,
    (FacilityDetail).toString(): FacilityDetail.fromJson,
    (FacilityPageListBooking).toString(): FacilityPageListBooking.fromJson,
    (FacilityPageListFacility).toString(): FacilityPageListFacility.fromJson,
    (FacilityPageListTimePeriod).toString(): FacilityPageListTimePeriod.fromJson,
    (FacilityOrder).toString(): FacilityOrder.fromJson,
    (FeedbackDetailEntity).toString(): FeedbackDetailEntity.fromJson,
    (FeedbackDetailReplies).toString(): FeedbackDetailReplies.fromJson,
    (FeedbackListEntity).toString(): FeedbackListEntity.fromJson,
    (FeedbackItemEntity).toString(): FeedbackItemEntity.fromJson,
    (FormContentEntity).toString(): FormContentEntity.fromJson,
    (FormDetailEntity).toString(): FormDetailEntity.fromJson,
    (FormOrder).toString(): FormOrder.fromJson,
    (FormListEntity).toString(): FormListEntity.fromJson,
    (FormOptionEntity).toString(): FormOptionEntity.fromJson,
    (FormOrderEntity).toString(): FormOrderEntity.fromJson,
    (FormOrderOrder).toString(): FormOrderOrder.fromJson,
    (FormSubmittedEntity).toString(): FormSubmittedEntity.fromJson,
    (FormSubmittedEstateOnlineForm).toString(): FormSubmittedEstateOnlineForm.fromJson,
    (FormSubmittedOrder).toString(): FormSubmittedOrder.fromJson,
    (FormSubmittedPageEntity).toString(): FormSubmittedPageEntity.fromJson,
    (GarageSaleHistoryEntity).toString(): GarageSaleHistoryEntity.fromJson,
    (GarageSaleHistoryList).toString(): GarageSaleHistoryList.fromJson,
    (GarageSaleHistoryListOrderProducts).toString(): GarageSaleHistoryListOrderProducts.fromJson,
    (GarageSaleRentDetailEntity).toString(): GarageSaleRentDetailEntity.fromJson,
    (GarageSaleRentDetailAccount).toString(): GarageSaleRentDetailAccount.fromJson,
    (GarageSaleRentEntity).toString(): GarageSaleRentEntity.fromJson,
    (GarageSaleRentList).toString(): GarageSaleRentList.fromJson,
    (GarageSaleRentListAccount).toString(): GarageSaleRentListAccount.fromJson,
    (HomeListEntity).toString(): HomeListEntity.fromJson,
    (HomeListBanners).toString(): HomeListBanners.fromJson,
    (HomeListLatestTransactions).toString(): HomeListLatestTransactions.fromJson,
    (HomeListPropertyNews).toString(): HomeListPropertyNews.fromJson,
    (IdAddressEntity).toString(): IdAddressEntity.fromJson,
    (IdNameEntity).toString(): IdNameEntity.fromJson,
    (JoinEstateSuccessEntity).toString(): JoinEstateSuccessEntity.fromJson,
    (JoinEstateSuccessEstate).toString(): JoinEstateSuccessEstate.fromJson,
    (JoinEstateSuccessEstateInformation).toString(): JoinEstateSuccessEstateInformation.fromJson,
    (LatestNewsDetailEntity).toString(): LatestNewsDetailEntity.fromJson,
    (LatestNewsPageEntity).toString(): LatestNewsPageEntity.fromJson,
    (LatestNewsList).toString(): LatestNewsList.fromJson,
    (MyfollowingListEntity).toString(): MyfollowingListEntity.fromJson,
    (MypostsNewsfeedEntity).toString(): MypostsNewsfeedEntity.fromJson,
    (MypostsNewsfeedList).toString(): MypostsNewsfeedList.fromJson,
    (MypostsNewsfeedListAccount).toString(): MypostsNewsfeedListAccount.fromJson,
    (MypostsSaleRentEntity).toString(): MypostsSaleRentEntity.fromJson,
    (MypostsSaleRentList).toString(): MypostsSaleRentList.fromJson,
    (NewsfeedCommentPublishEntity).toString(): NewsfeedCommentPublishEntity.fromJson,
    (NewsfeedDetailEntity).toString(): NewsfeedDetailEntity.fromJson,
    (NewsfeedDetailAccount).toString(): NewsfeedDetailAccount.fromJson,
    (NewsfeedDetailComments).toString(): NewsfeedDetailComments.fromJson,
    (NewsfeedDetailCommentsAccount).toString(): NewsfeedDetailCommentsAccount.fromJson,
    (NewsfeedDetailCommentsToAccount).toString(): NewsfeedDetailCommentsToAccount.fromJson,
    (NewsfeedFollowingEntity).toString(): NewsfeedFollowingEntity.fromJson,
    (NewsfeedFollowingList).toString(): NewsfeedFollowingList.fromJson,
    (NewsfeedFollowingListAccount).toString(): NewsfeedFollowingListAccount.fromJson,
    (NewsfeedForyouEntity).toString(): NewsfeedForyouEntity.fromJson,
    (NewsfeedForyouList).toString(): NewsfeedForyouList.fromJson,
    (NewsfeedForyouListAccount).toString(): NewsfeedForyouListAccount.fromJson,
    (NewsfeedNewsEntity).toString(): NewsfeedNewsEntity.fromJson,
    (NewsfeedNewsList).toString(): NewsfeedNewsList.fromJson,
    (NewsfeedNewsListAccount).toString(): NewsfeedNewsListAccount.fromJson,
    (NoticeBoardAnnounDetailEntity).toString(): NoticeBoardAnnounDetailEntity.fromJson,
    (NoticeBoardAnnounEntity).toString(): NoticeBoardAnnounEntity.fromJson,
    (NoticeBoardAnnounList).toString(): NoticeBoardAnnounList.fromJson,
    (NoticeBoardDocumentsEntity).toString(): NoticeBoardDocumentsEntity.fromJson,
    (NoticeBoardDocumentsList).toString(): NoticeBoardDocumentsList.fromJson,
    (NoticeBoardEventDetailEntity).toString(): NoticeBoardEventDetailEntity.fromJson,
    (NoticeBoardEventEntity).toString(): NoticeBoardEventEntity.fromJson,
    (NoticeBoardEventList).toString(): NoticeBoardEventList.fromJson,
    (NotificationPageEntity).toString(): NotificationPageEntity.fromJson,
    (NotificationPageList).toString(): NotificationPageList.fromJson,
    (NotificationPageListData).toString(): NotificationPageListData.fromJson,
    (PaidServiceDetailEntity).toString(): PaidServiceDetailEntity.fromJson,
    (PaidServiceDetailMerchant).toString(): PaidServiceDetailMerchant.fromJson,
    (PaidServiceDetailCategory).toString(): PaidServiceDetailCategory.fromJson,
    (PaidServiceDetailProducts).toString(): PaidServiceDetailProducts.fromJson,
    (PaidServiceDetailEvaluations).toString(): PaidServiceDetailEvaluations.fromJson,
    (PaidServiceDetailEvaluationsAccount).toString(): PaidServiceDetailEvaluationsAccount.fromJson,
    (PaidServiceEntity).toString(): PaidServiceEntity.fromJson,
    (PaidServiceList).toString(): PaidServiceList.fromJson,
    (PaidServiceListMerchant).toString(): PaidServiceListMerchant.fromJson,
    (PaidServiceListCategory).toString(): PaidServiceListCategory.fromJson,
    (PaidServicePaySuccessInfoEntity).toString(): PaidServicePaySuccessInfoEntity.fromJson,
    (PaidServicePaySuccessInfoAccount).toString(): PaidServicePaySuccessInfoAccount.fromJson,
    (PaidServicePaySuccessInfoOrderService).toString(): PaidServicePaySuccessInfoOrderService.fromJson,
    (PaidServicePaySuccessInfoMerchant).toString(): PaidServicePaySuccessInfoMerchant.fromJson,
    (PaidServicePaySuccessInfoStaff).toString(): PaidServicePaySuccessInfoStaff.fromJson,
    (PaidServicePaySuccessInfoOrderProducts).toString(): PaidServicePaySuccessInfoOrderProducts.fromJson,
    (PaidServicePaySuccessInfoEstate).toString(): PaidServicePaySuccessInfoEstate.fromJson,
    (PaidServicePaySuccessInfoEstateUnit).toString(): PaidServicePaySuccessInfoEstateUnit.fromJson,
    (PaidServicePaySuccessInfoOrder).toString(): PaidServicePaySuccessInfoOrder.fromJson,
    (PaymentIntentEntity).toString(): PaymentIntentEntity.fromJson,
    (PaymentPageEntity).toString(): PaymentPageEntity.fromJson,
    (PaymentPageList).toString(): PaymentPageList.fromJson,
    (OrderableEntity).toString(): OrderableEntity.fromJson,
    (PropertyNewsDetailEntity).toString(): PropertyNewsDetailEntity.fromJson,
    (PropertyNewsEntity).toString(): PropertyNewsEntity.fromJson,
    (PropertyNewsList).toString(): PropertyNewsList.fromJson,
    (PropertySaleRentEntity).toString(): PropertySaleRentEntity.fromJson,
    (PropertySaleRentList).toString(): PropertySaleRentList.fromJson,
    (RepairServiceEntity).toString(): RepairServiceEntity.fromJson,
    (RepairServiceList).toString(): RepairServiceList.fromJson,
    (RepairServiceListMerchant).toString(): RepairServiceListMerchant.fromJson,
    (RepairServiceListCategory).toString(): RepairServiceListCategory.fromJson,
    (RewardsActiveDetailEntity).toString(): RewardsActiveDetailEntity.fromJson,
    (RewardsActiveDetailData).toString(): RewardsActiveDetailData.fromJson,
    (RewardsActiveDetailDataAccount).toString(): RewardsActiveDetailDataAccount.fromJson,
    (RewardsActiveDetailDataReward).toString(): RewardsActiveDetailDataReward.fromJson,
    (RewardsBuyEntity).toString(): RewardsBuyEntity.fromJson,
    (RewardsBuyReward).toString(): RewardsBuyReward.fromJson,
    (RewardsBuyRewardRedeemable).toString(): RewardsBuyRewardRedeemable.fromJson,
    (RewardsCategoryEntity).toString(): RewardsCategoryEntity.fromJson,
    (RewardsDetailEntity).toString(): RewardsDetailEntity.fromJson,
    (RewardsDetailRedeemable).toString(): RewardsDetailRedeemable.fromJson,
    (RewardsHistoryEarnedEntity).toString(): RewardsHistoryEarnedEntity.fromJson,
    (RewardsHistoryEarnedList).toString(): RewardsHistoryEarnedList.fromJson,
    (RewardsHomeEntity).toString(): RewardsHomeEntity.fromJson,
    (RewardsHomeData).toString(): RewardsHomeData.fromJson,
    (RewardsHomeDataRewards).toString(): RewardsHomeDataRewards.fromJson,
    (RewardsHomeTesEntity).toString(): RewardsHomeTesEntity.fromJson,
    (RewardsHomeTesRewards).toString(): RewardsHomeTesRewards.fromJson,
    (RewardsHomeTestEntity).toString(): RewardsHomeTestEntity.fromJson,
    (RewardsHomeTxEntity).toString(): RewardsHomeTxEntity.fromJson,
    (RewardsIndexEntity).toString(): RewardsIndexEntity.fromJson,
    (RewardsIndexContinuous).toString(): RewardsIndexContinuous.fromJson,
    (RewardsIndexTasks).toString(): RewardsIndexTasks.fromJson,
    (RewardsListEntity).toString(): RewardsListEntity.fromJson,
    (RewardsListList).toString(): RewardsListList.fromJson,
    (RewardsMyDetailEntity).toString(): RewardsMyDetailEntity.fromJson,
    (RewardsMyDetailAccount).toString(): RewardsMyDetailAccount.fromJson,
    (RewardsMyDetailReward).toString(): RewardsMyDetailReward.fromJson,
    (RewardsMyEntity).toString(): RewardsMyEntity.fromJson,
    (RewardsMyList).toString(): RewardsMyList.fromJson,
    (RewardsMyListReward).toString(): RewardsMyListReward.fromJson,
    (RewardsSearchEntity).toString(): RewardsSearchEntity.fromJson,
    (RewardsSearchRewards).toString(): RewardsSearchRewards.fromJson,
    (ServerTime).toString(): ServerTime.fromJson,
    (ServiceCategoryEntity).toString(): ServiceCategoryEntity.fromJson,
    (ServiceEvaluateListEntity).toString(): ServiceEvaluateListEntity.fromJson,
    (ServiceEvaluateListList).toString(): ServiceEvaluateListList.fromJson,
    (ServiceEvaluateListListAccount).toString(): ServiceEvaluateListListAccount.fromJson,
    (ServiceInProgressEntity).toString(): ServiceInProgressEntity.fromJson,
    (ServiceInProgressList).toString(): ServiceInProgressList.fromJson,
    (ServiceInProgressListService).toString(): ServiceInProgressListService.fromJson,
    (ServiceInProgressListMerchant).toString(): ServiceInProgressListMerchant.fromJson,
    (ServiceOrderDetailEntity).toString(): ServiceOrderDetailEntity.fromJson,
    (ServiceOrderDetailAccount).toString(): ServiceOrderDetailAccount.fromJson,
    (ServiceOrderDetailOrderService).toString(): ServiceOrderDetailOrderService.fromJson,
    (ServiceOrderDetailMerchant).toString(): ServiceOrderDetailMerchant.fromJson,
    (ServiceOrderDetailStaff).toString(): ServiceOrderDetailStaff.fromJson,
    (ServiceOrderDetailOrderProducts).toString(): ServiceOrderDetailOrderProducts.fromJson,
    (ServiceOrderDetailEstate).toString(): ServiceOrderDetailEstate.fromJson,
    (ServiceOrderDetailEstateUnit).toString(): ServiceOrderDetailEstateUnit.fromJson,
    (ServiceOrderDetailOrder).toString(): ServiceOrderDetailOrder.fromJson,
    (ServiceRepairDetailEntity).toString(): ServiceRepairDetailEntity.fromJson,
    (ServiceRepairDetailMerchant).toString(): ServiceRepairDetailMerchant.fromJson,
    (ServiceRepairDetailCategory).toString(): ServiceRepairDetailCategory.fromJson,
    (ServiceTimePeriodEntity).toString(): ServiceTimePeriodEntity.fromJson,
    (TextKonEntity).toString(): TextKonEntity.fromJson,
    (UserMeEntity).toString(): UserMeEntity.fromJson,
    (UserMeHouseholds).toString(): UserMeHouseholds.fromJson,
    (UserMeEstates).toString(): UserMeEstates.fromJson,
    (UserMeEstatesAccounts).toString(): UserMeEstatesAccounts.fromJson,
    (UserMeEstatesAccountsUnit).toString(): UserMeEstatesAccountsUnit.fromJson,
    (UserMeDefaultUnit).toString(): UserMeDefaultUnit.fromJson,
    (UserMeInformation).toString(): UserMeInformation.fromJson,
    (VisitorPageEntity).toString(): VisitorPageEntity.fromJson,
    (VisitorPageList).toString(): VisitorPageList.fromJson,
  };

  bool containsKey(String type) {
    return convertFuncMap.containsKey(type);
  }

  JsonConvertFunction? operator [](String key) {
    return convertFuncMap[key];
  }
}