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

import 'package:deus_app/generated/json/drop_menu_item_helper.dart';
import 'package:deus_app/generated/json/equipment_info_entity_helper.dart';
import 'package:deus_app/generated/json/equipment_list_entity_helper.dart';
import 'package:deus_app/generated/json/login_response_entity_helper.dart';
import 'package:deus_app/generated/json/maint_items_list_response_entity_helper.dart';
import 'package:deus_app/generated/json/maint_job_items_list_response_entity_helper.dart';
import 'package:deus_app/generated/json/maint_job_list_response_entity_helper.dart';
import 'package:deus_app/generated/json/patrol_job_detail_response_entity_helper.dart';
import 'package:deus_app/generated/json/patrol_job_edit_emtity_entity_helper.dart';
import 'package:deus_app/generated/json/patrol_job_list_entity_entity_helper.dart';
import 'package:deus_app/generated/json/patrol_job_select_entity_entity_helper.dart';
import 'package:deus_app/generated/json/personal_data_count_entity_helper.dart';
import 'package:deus_app/generated/json/repair_bill_list_response_entity_helper.dart';
import 'package:deus_app/generated/json/repair_detail_response_entity_helper.dart';
import 'package:deus_app/generated/json/repair_query_device_response_entity_helper.dart';
import 'package:deus_app/generated/json/upload_list_entity_entity_helper.dart';
import 'package:deus_app/generated/json/user_response_entity_helper.dart';
import 'package:deus_app/model/drop_menu_item.dart';
import 'package:deus_app/model/equipment_info_entity.dart';
import 'package:deus_app/model/equipment_list_entity.dart';
import 'package:deus_app/model/login_response_entity.dart';
import 'package:deus_app/model/maint_items_list_response_entity.dart';
import 'package:deus_app/model/maint_job_items_list_response_entity.dart';
import 'package:deus_app/model/maint_job_list_response_entity.dart';
import 'package:deus_app/model/patrol_job_detail_response_entity.dart';
import 'package:deus_app/model/patrol_job_edit_emtity_entity.dart';
import 'package:deus_app/model/patrol_job_list_entity_entity.dart';
import 'package:deus_app/model/patrol_job_select_entity_entity.dart';
// This file is automatically generated. DO NOT EDIT, all your changes would be lost.
import 'package:deus_app/model/patrol_response_entity.dart';
import 'package:deus_app/model/personal_data_count_entity.dart';
import 'package:deus_app/model/repair_bill_list_response_entity.dart';
import 'package:deus_app/model/repair_detail_response_entity.dart';
import 'package:deus_app/model/repair_query_device_response_entity.dart';
import 'package:deus_app/model/upload_list_entity_entity.dart';
import 'package:deus_app/model/user_response_entity.dart';

class JsonConvert<T> {
	T fromJson(Map<String, dynamic> json) {
		return _getFromJson<T>(runtimeType, this, json);
	}

  Map<String, dynamic> toJson() {
		return _getToJson<T>(runtimeType, this);
  }

  static _getFromJson<T>(Type type, data, json) {
		switch (type) {
			case RepairBillListResponseEntity:
				return repairBillListResponseEntityFromJson(data as RepairBillListResponseEntity, json) as T;
			case RepairBillListResponseData:
				return repairBillListResponseDataFromJson(data as RepairBillListResponseData, json) as T;
			case RepairBillListResponseDataList:
				return repairBillListResponseDataListFromJson(data as RepairBillListResponseDataList, json) as T;
			case RepairBillListResponseDataListDevice:
				return repairBillListResponseDataListDeviceFromJson(data as RepairBillListResponseDataListDevice, json) as T;
			case RepairBillListResponseDataListLogs:
				return repairBillListResponseDataListLogsFromJson(data as RepairBillListResponseDataListLogs, json) as T;
			case RepairBillListResponseDataQuery:
				return repairBillListResponseDataQueryFromJson(data as RepairBillListResponseDataQuery, json) as T;
			case MaintJobItemsListResponseEntity:
				return maintJobItemsListResponseEntityFromJson(data as MaintJobItemsListResponseEntity, json) as T;
			case MaintJobItemsListResponseData:
				return maintJobItemsListResponseDataFromJson(data as MaintJobItemsListResponseData, json) as T;
			case PatrolJobSelectEntityEntity:
				return patrolJobSelectEntityEntityFromJson(data as PatrolJobSelectEntityEntity, json) as T;
			case PatrolJobSelectEntityData:
				return patrolJobSelectEntityDataFromJson(data as PatrolJobSelectEntityData, json) as T;
			case PatrolJobSelectEntityDataPatrolItemModelVOS:
				return patrolJobSelectEntityDataPatrolItemModelVOSFromJson(data as PatrolJobSelectEntityDataPatrolItemModelVOS, json) as T;
			case PatrolJobSelectEntityDataQuery:
				return patrolJobSelectEntityDataQueryFromJson(data as PatrolJobSelectEntityDataQuery, json) as T;
			case UploadListEntityEntity:
				return uploadListEntityEntityFromJson(data as UploadListEntityEntity, json) as T;
			case PatrolJobEditEmtityEntity:
				return patrolJobEditEmtityEntityFromJson(data as PatrolJobEditEmtityEntity, json) as T;
			case PatrolJobEditEmtityData:
				return patrolJobEditEmtityDataFromJson(data as PatrolJobEditEmtityData, json) as T;
			case PatrolJobListEntityEntity:
				return patrolJobListEntityEntityFromJson(data as PatrolJobListEntityEntity, json) as T;
			case PatrolJobListEntityList:
				return patrolJobListEntityListFromJson(data as PatrolJobListEntityList, json) as T;
			case PatrolJobListEntityQuery:
				return patrolJobListEntityQueryFromJson(data as PatrolJobListEntityQuery, json) as T;
			case RepairQueryDeviceResponseEntity:
				return repairQueryDeviceResponseEntityFromJson(data as RepairQueryDeviceResponseEntity, json) as T;
			case RepairQueryDeviceResponseData:
				return repairQueryDeviceResponseDataFromJson(data as RepairQueryDeviceResponseData, json) as T;
			case RepairQueryDeviceResponseDataList:
				return repairQueryDeviceResponseDataListFromJson(data as RepairQueryDeviceResponseDataList, json) as T;
			case RepairQueryDeviceResponseDataQuery:
				return repairQueryDeviceResponseDataQueryFromJson(data as RepairQueryDeviceResponseDataQuery, json) as T;
			case UserResponseEntity:
				return userResponseEntityFromJson(data as UserResponseEntity, json) as T;
			case UserResponseData:
				return userResponseDataFromJson(data as UserResponseData, json) as T;
			case UserResponseDataUserMenuList:
				return userResponseDataUserMenuListFromJson(data as UserResponseDataUserMenuList, json) as T;
			case UserAppResponseDataUserMenuList:
				return userAppResponseDataUserMenuListFromJson(data as UserAppResponseDataUserMenuList, json) as T;
			case UserResponseDataRoleList:
				return userResponseDataRoleListFromJson(data as UserResponseDataRoleList, json) as T;
			case MaintItemsListResponseEntity:
				return maintItemsListResponseEntityFromJson(data as MaintItemsListResponseEntity, json) as T;
			case MaintItemsListResponseData:
				return maintItemsListResponseDataFromJson(data as MaintItemsListResponseData, json) as T;
			case MaintItemsListResponseDataQuery:
				return maintItemsListResponseDataQueryFromJson(data as MaintItemsListResponseDataQuery, json) as T;
			case MaintItemsListResponseDataList:
				return maintItemsListResponseDataListFromJson(data as MaintItemsListResponseDataList, json) as T;
			case LoginResponseEntity:
				return loginResponseEntityFromJson(data as LoginResponseEntity, json) as T;
			case LoginResponseData:
				return loginResponseDataFromJson(data as LoginResponseData, json) as T;
			case LoginResponseDataUser:
				return loginResponseDataUserFromJson(data as LoginResponseDataUser, json) as T;
			case EquipmentListEntity:
				return equipmentListEntityFromJson(data as EquipmentListEntity, json) as T;
			case EquipmentListData:
				return equipmentListDataFromJson(data as EquipmentListData, json) as T;
			case EquipmentListDataEquipmentVOS:
				return equipmentListDataEquipmentVOSFromJson(data as EquipmentListDataEquipmentVOS, json) as T;
			case EquipmentListDataCountDTO:
				return equipmentListDataCountDTOFromJson(data as EquipmentListDataCountDTO, json) as T;
			case RepairDetailResponseEntity:
				return repairDetailResponseEntityFromJson(data as RepairDetailResponseEntity, json) as T;
			case RepairDetailResponseData:
				return repairDetailResponseDataFromJson(data as RepairDetailResponseData, json) as T;
			case RepairDetailResponseDataLogs:
				return repairDetailResponseDataLogsFromJson(data as RepairDetailResponseDataLogs, json) as T;
			case RepairDetailResponseDataDevice:
				return repairDetailResponseDataDeviceFromJson(data as RepairDetailResponseDataDevice, json) as T;
			case MaintJobListResponseEntity:
				return maintJobListResponseEntityFromJson(data as MaintJobListResponseEntity, json) as T;
			case MaintJobListResponseData:
				return maintJobListResponseDataFromJson(data as MaintJobListResponseData, json) as T;
			case MaintJobListResponseDataList:
				return maintJobListResponseDataListFromJson(data as MaintJobListResponseDataList, json) as T;
			case MaintJobListResponseDataQuery:
				return maintJobListResponseDataQueryFromJson(data as MaintJobListResponseDataQuery, json) as T;
			case PersonalDataCountEntity:
				return personalDataCountEntityFromJson(data as PersonalDataCountEntity, json) as T;
			case PersonalDataCountData:
				return personalDataCountDataFromJson(data as PersonalDataCountData, json) as T;
			case PatrolJobDetailResponseData:
				return patrolJobDetailResponseDataFromJson(data as PatrolJobDetailResponseData, json) as T;
			case PatrolJobDetailResponseDataPatrolItemVOS:
				return patrolJobDetailResponseDataPatrolItemVOSFromJson(data as PatrolJobDetailResponseDataPatrolItemVOS, json) as T;
			case PatrolJobDetailResponseDataEquipmentVOS:
				return patrolJobDetailResponseDataEquipmentVOSFromJson(data as PatrolJobDetailResponseDataEquipmentVOS, json) as T;
			case DropMenuItem:
				return dropMenuItemFromJson(data as DropMenuItem, json) as T;
			case EquipmentInfoEntity:
				return equipmentInfoEntityFromJson(data as EquipmentInfoEntity, json) as T;
			case EquipmentInfoData:
				return equipmentInfoDataFromJson(data as EquipmentInfoData, json) as T;    }
		return data as T;
	}

  static _getToJson<T>(Type type, data) {
		switch (type) {
			case RepairBillListResponseEntity:
				return repairBillListResponseEntityToJson(data as RepairBillListResponseEntity);
			case RepairBillListResponseData:
				return repairBillListResponseDataToJson(data as RepairBillListResponseData);
			case RepairBillListResponseDataList:
				return repairBillListResponseDataListToJson(data as RepairBillListResponseDataList);
			case RepairBillListResponseDataListDevice:
				return repairBillListResponseDataListDeviceToJson(data as RepairBillListResponseDataListDevice);
			case RepairBillListResponseDataListLogs:
				return repairBillListResponseDataListLogsToJson(data as RepairBillListResponseDataListLogs);
			case RepairBillListResponseDataQuery:
				return repairBillListResponseDataQueryToJson(data as RepairBillListResponseDataQuery);
			case MaintJobItemsListResponseEntity:
				return maintJobItemsListResponseEntityToJson(data as MaintJobItemsListResponseEntity);
			case MaintJobItemsListResponseData:
				return maintJobItemsListResponseDataToJson(data as MaintJobItemsListResponseData);
			case PatrolJobSelectEntityEntity:
				return patrolJobSelectEntityEntityToJson(data as PatrolJobSelectEntityEntity);
			case PatrolJobSelectEntityData:
				return patrolJobSelectEntityDataToJson(data as PatrolJobSelectEntityData);
			case PatrolJobSelectEntityDataPatrolItemModelVOS:
				return patrolJobSelectEntityDataPatrolItemModelVOSToJson(data as PatrolJobSelectEntityDataPatrolItemModelVOS);
			case PatrolJobSelectEntityDataQuery:
				return patrolJobSelectEntityDataQueryToJson(data as PatrolJobSelectEntityDataQuery);
			case UploadListEntityEntity:
				return uploadListEntityEntityToJson(data as UploadListEntityEntity);
			case PatrolJobEditEmtityEntity:
				return patrolJobEditEmtityEntityToJson(data as PatrolJobEditEmtityEntity);
			case PatrolJobEditEmtityData:
				return patrolJobEditEmtityDataToJson(data as PatrolJobEditEmtityData);
			case PatrolJobListEntityEntity:
				return patrolJobListEntityEntityToJson(data as PatrolJobListEntityEntity);
			case PatrolJobListEntityList:
				return patrolJobListEntityListToJson(data as PatrolJobListEntityList);
			case PatrolJobListEntityQuery:
				return patrolJobListEntityQueryToJson(data as PatrolJobListEntityQuery);
			case RepairQueryDeviceResponseEntity:
				return repairQueryDeviceResponseEntityToJson(data as RepairQueryDeviceResponseEntity);
			case RepairQueryDeviceResponseData:
				return repairQueryDeviceResponseDataToJson(data as RepairQueryDeviceResponseData);
			case RepairQueryDeviceResponseDataList:
				return repairQueryDeviceResponseDataListToJson(data as RepairQueryDeviceResponseDataList);
			case RepairQueryDeviceResponseDataQuery:
				return repairQueryDeviceResponseDataQueryToJson(data as RepairQueryDeviceResponseDataQuery);
			case UserResponseEntity:
				return userResponseEntityToJson(data as UserResponseEntity);
			case UserResponseData:
				return userResponseDataToJson(data as UserResponseData);
			case UserResponseDataUserMenuList:
				return userResponseDataUserMenuListToJson(data as UserResponseDataUserMenuList);
			case UserAppResponseDataUserMenuList:
				return userAppResponseDataUserMenuListToJson(data as UserAppResponseDataUserMenuList);
			case UserResponseDataRoleList:
				return userResponseDataRoleListToJson(data as UserResponseDataRoleList);
			case MaintItemsListResponseEntity:
				return maintItemsListResponseEntityToJson(data as MaintItemsListResponseEntity);
			case MaintItemsListResponseData:
				return maintItemsListResponseDataToJson(data as MaintItemsListResponseData);
			case MaintItemsListResponseDataQuery:
				return maintItemsListResponseDataQueryToJson(data as MaintItemsListResponseDataQuery);
			case MaintItemsListResponseDataList:
				return maintItemsListResponseDataListToJson(data as MaintItemsListResponseDataList);
			case LoginResponseEntity:
				return loginResponseEntityToJson(data as LoginResponseEntity);
			case LoginResponseData:
				return loginResponseDataToJson(data as LoginResponseData);
			case LoginResponseDataUser:
				return loginResponseDataUserToJson(data as LoginResponseDataUser);
			case EquipmentListEntity:
				return equipmentListEntityToJson(data as EquipmentListEntity);
			case EquipmentListData:
				return equipmentListDataToJson(data as EquipmentListData);
			case EquipmentListDataEquipmentVOS:
				return equipmentListDataEquipmentVOSToJson(data as EquipmentListDataEquipmentVOS);
			case EquipmentListDataCountDTO:
				return equipmentListDataCountDTOToJson(data as EquipmentListDataCountDTO);
			case RepairDetailResponseEntity:
				return repairDetailResponseEntityToJson(data as RepairDetailResponseEntity);
			case RepairDetailResponseData:
				return repairDetailResponseDataToJson(data as RepairDetailResponseData);
			case RepairDetailResponseDataLogs:
				return repairDetailResponseDataLogsToJson(data as RepairDetailResponseDataLogs);
			case RepairDetailResponseDataDevice:
				return repairDetailResponseDataDeviceToJson(data as RepairDetailResponseDataDevice);
			case MaintJobListResponseEntity:
				return maintJobListResponseEntityToJson(data as MaintJobListResponseEntity);
			case MaintJobListResponseData:
				return maintJobListResponseDataToJson(data as MaintJobListResponseData);
			case MaintJobListResponseDataList:
				return maintJobListResponseDataListToJson(data as MaintJobListResponseDataList);
			case MaintJobListResponseDataQuery:
				return maintJobListResponseDataQueryToJson(data as MaintJobListResponseDataQuery);
			case PersonalDataCountEntity:
				return personalDataCountEntityToJson(data as PersonalDataCountEntity);
			case PersonalDataCountData:
				return personalDataCountDataToJson(data as PersonalDataCountData);
			case PatrolJobDetailResponseData:
				return patrolJobDetailResponseDataToJson(data as PatrolJobDetailResponseData);
			case PatrolJobDetailResponseDataPatrolItemVOS:
				return patrolJobDetailResponseDataPatrolItemVOSToJson(data as PatrolJobDetailResponseDataPatrolItemVOS);
			case PatrolJobDetailResponseDataEquipmentVOS:
				return patrolJobDetailResponseDataEquipmentVOSToJson(data as PatrolJobDetailResponseDataEquipmentVOS);
			case DropMenuItem:
				return dropMenuItemToJson(data as DropMenuItem);
			case EquipmentInfoEntity:
				return equipmentInfoEntityToJson(data as EquipmentInfoEntity);
			case EquipmentInfoData:
				return equipmentInfoDataToJson(data as EquipmentInfoData);
			}
			return data as T;
		}
  //Go back to a single instance by type
	static _fromJsonSingle<M>( json) {
		String type = M.toString();
		if(type == (PatrolJobDataResponseEntity).toString()){
			return PatrolJobDataResponseEntity().fromJson(json);
		}
		if(type == (PatrolJobDataVO).toString()){
			return PatrolJobDataVO().fromJson(json);
		}
		if(type == (PatrolJobDeviceResponseData).toString()){
			return PatrolJobDeviceResponseData().fromJson(json);
		}
		if(type == (PatrolJobItemResponseData).toString()){
			return PatrolJobItemResponseData().fromJson(json);
		}
		if(type == (RepairBillListResponseEntity).toString()){
			return RepairBillListResponseEntity().fromJson(json);
		}
		if(type == (RepairBillListResponseData).toString()){
			return RepairBillListResponseData().fromJson(json);
		}
		if(type == (RepairBillListResponseDataList).toString()){
			return RepairBillListResponseDataList().fromJson(json);
		}
		if(type == (RepairBillListResponseDataListDevice).toString()){
			return RepairBillListResponseDataListDevice().fromJson(json);
		}
		if(type == (RepairBillListResponseDataListLogs).toString()){
			return RepairBillListResponseDataListLogs().fromJson(json);
		}
		if(type == (RepairBillListResponseDataQuery).toString()){
			return RepairBillListResponseDataQuery().fromJson(json);
		}
		if(type == (MaintJobItemsListResponseEntity).toString()){
			return MaintJobItemsListResponseEntity().fromJson(json);
		}
		if(type == (MaintJobItemsListResponseData).toString()){
			return MaintJobItemsListResponseData().fromJson(json);
		}
		if(type == (PatrolJobSelectEntityEntity).toString()){
			return PatrolJobSelectEntityEntity().fromJson(json);
		}
		if(type == (PatrolJobSelectEntityData).toString()){
			return PatrolJobSelectEntityData().fromJson(json);
		}
		if(type == (PatrolJobSelectEntityDataPatrolItemModelVOS).toString()){
			return PatrolJobSelectEntityDataPatrolItemModelVOS().fromJson(json);
		}
		if(type == (PatrolJobSelectEntityDataQuery).toString()){
			return PatrolJobSelectEntityDataQuery().fromJson(json);
		}
		if(type == (UploadListEntityEntity).toString()){
			return UploadListEntityEntity().fromJson(json);
		}
		if(type == (PatrolJobEditEmtityEntity).toString()){
			return PatrolJobEditEmtityEntity().fromJson(json);
		}
		if(type == (PatrolJobEditEmtityData).toString()){
			return PatrolJobEditEmtityData().fromJson(json);
		}
		if(type == (PatrolJobListEntityEntity).toString()){
			return PatrolJobListEntityEntity().fromJson(json);
		}
		if(type == (PatrolJobListEntityList).toString()){
			return PatrolJobListEntityList().fromJson(json);
		}
		if(type == (PatrolJobListEntityQuery).toString()){
			return PatrolJobListEntityQuery().fromJson(json);
		}
		if(type == (RepairQueryDeviceResponseEntity).toString()){
			return RepairQueryDeviceResponseEntity().fromJson(json);
		}
		if(type == (RepairQueryDeviceResponseData).toString()){
			return RepairQueryDeviceResponseData().fromJson(json);
		}
		if(type == (RepairQueryDeviceResponseDataList).toString()){
			return RepairQueryDeviceResponseDataList().fromJson(json);
		}
		if(type == (RepairQueryDeviceResponseDataQuery).toString()){
			return RepairQueryDeviceResponseDataQuery().fromJson(json);
		}
		if(type == (UserResponseEntity).toString()){
			return UserResponseEntity().fromJson(json);
		}
		if(type == (UserResponseData).toString()){
			return UserResponseData().fromJson(json);
		}
		if(type == (UserResponseDataUserMenuList).toString()){
			return UserResponseDataUserMenuList().fromJson(json);
		}
		if(type == (UserAppResponseDataUserMenuList).toString()){
			return UserAppResponseDataUserMenuList().fromJson(json);
		}
		if(type == (UserResponseDataRoleList).toString()){
			return UserResponseDataRoleList().fromJson(json);
		}
		if(type == (MaintItemsListResponseEntity).toString()){
			return MaintItemsListResponseEntity().fromJson(json);
		}
		if(type == (MaintItemsListResponseData).toString()){
			return MaintItemsListResponseData().fromJson(json);
		}
		if(type == (MaintItemsListResponseDataQuery).toString()){
			return MaintItemsListResponseDataQuery().fromJson(json);
		}
		if(type == (MaintItemsListResponseDataList).toString()){
			return MaintItemsListResponseDataList().fromJson(json);
		}
		if(type == (LoginResponseEntity).toString()){
			return LoginResponseEntity().fromJson(json);
		}
		if(type == (LoginResponseData).toString()){
			return LoginResponseData().fromJson(json);
		}
		if(type == (LoginResponseDataUser).toString()){
			return LoginResponseDataUser().fromJson(json);
		}
		if(type == (EquipmentListEntity).toString()){
			return EquipmentListEntity().fromJson(json);
		}
		if(type == (EquipmentListData).toString()){
			return EquipmentListData().fromJson(json);
		}
		if(type == (EquipmentListDataEquipmentVOS).toString()){
			return EquipmentListDataEquipmentVOS().fromJson(json);
		}
		if(type == (EquipmentListDataCountDTO).toString()){
			return EquipmentListDataCountDTO().fromJson(json);
		}
		if(type == (RepairDetailResponseEntity).toString()){
			return RepairDetailResponseEntity().fromJson(json);
		}
		if(type == (RepairDetailResponseData).toString()){
			return RepairDetailResponseData().fromJson(json);
		}
		if(type == (RepairDetailResponseDataLogs).toString()){
			return RepairDetailResponseDataLogs().fromJson(json);
		}
		if(type == (RepairDetailResponseDataDevice).toString()){
			return RepairDetailResponseDataDevice().fromJson(json);
		}
		if(type == (MaintJobListResponseEntity).toString()){
			return MaintJobListResponseEntity().fromJson(json);
		}
		if(type == (MaintJobListResponseData).toString()){
			return MaintJobListResponseData().fromJson(json);
		}
		if(type == (MaintJobListResponseDataList).toString()){
			return MaintJobListResponseDataList().fromJson(json);
		}
		if(type == (MaintJobListResponseDataQuery).toString()){
			return MaintJobListResponseDataQuery().fromJson(json);
		}
		if(type == (PersonalDataCountEntity).toString()){
			return PersonalDataCountEntity().fromJson(json);
		}
		if(type == (PersonalDataCountData).toString()){
			return PersonalDataCountData().fromJson(json);
		}
		if(type == (PatrolJobDetailResponseData).toString()){
			return PatrolJobDetailResponseData().fromJson(json);
		}
		if(type == (PatrolJobDetailResponseDataPatrolItemVOS).toString()){
			return PatrolJobDetailResponseDataPatrolItemVOS().fromJson(json);
		}
		if(type == (PatrolJobDetailResponseDataEquipmentVOS).toString()){
			return PatrolJobDetailResponseDataEquipmentVOS().fromJson(json);
		}
		if(type == (EquipmentInfoEntity).toString()){
			return EquipmentInfoEntity().fromJson(json);
		}
		if(type == (EquipmentInfoData).toString()){
			return EquipmentInfoData().fromJson(json);
		}

		return null;
	}

  //list is returned by type
	static M _getListChildType<M>(List data) {
		if(<PatrolJobDataResponseEntity>[] is M){
			return data.map<PatrolJobDataResponseEntity>((e) => PatrolJobDataResponseEntity().fromJson(e)).toList() as M;
		}
		if(<PatrolJobDataVO>[] is M){
			return data.map<PatrolJobDataVO>((e) => PatrolJobDataVO().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseEntity>[] is M){
			return data.map<RepairBillListResponseEntity>((e) => RepairBillListResponseEntity().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseData>[] is M){
			return data.map<RepairBillListResponseData>((e) => RepairBillListResponseData().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseDataList>[] is M){
			return data.map<RepairBillListResponseDataList>((e) => RepairBillListResponseDataList().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseDataListDevice>[] is M){
			return data.map<RepairBillListResponseDataListDevice>((e) => RepairBillListResponseDataListDevice().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseDataListLogs>[] is M){
			return data.map<RepairBillListResponseDataListLogs>((e) => RepairBillListResponseDataListLogs().fromJson(e)).toList() as M;
		}
		if(<RepairBillListResponseDataQuery>[] is M){
			return data.map<RepairBillListResponseDataQuery>((e) => RepairBillListResponseDataQuery().fromJson(e)).toList() as M;
		}
		if(<MaintJobItemsListResponseEntity>[] is M){
			return data.map<MaintJobItemsListResponseEntity>((e) => MaintJobItemsListResponseEntity().fromJson(e)).toList() as M;
		}
		if(<MaintJobItemsListResponseData>[] is M){
			return data.map<MaintJobItemsListResponseData>((e) => MaintJobItemsListResponseData().fromJson(e)).toList() as M;
		}
		if(<PatrolJobSelectEntityEntity>[] is M){
			return data.map<PatrolJobSelectEntityEntity>((e) => PatrolJobSelectEntityEntity().fromJson(e)).toList() as M;
		}
		if(<PatrolJobSelectEntityData>[] is M){
			return data.map<PatrolJobSelectEntityData>((e) => PatrolJobSelectEntityData().fromJson(e)).toList() as M;
		}
		if(<PatrolJobSelectEntityDataPatrolItemModelVOS>[] is M){
			return data.map<PatrolJobSelectEntityDataPatrolItemModelVOS>((e) => PatrolJobSelectEntityDataPatrolItemModelVOS().fromJson(e)).toList() as M;
		}
		if(<PatrolJobSelectEntityDataQuery>[] is M){
			return data.map<PatrolJobSelectEntityDataQuery>((e) => PatrolJobSelectEntityDataQuery().fromJson(e)).toList() as M;
		}
		if(<UploadListEntityEntity>[] is M){
			return data.map<UploadListEntityEntity>((e) => UploadListEntityEntity().fromJson(e)).toList() as M;
		}
		if(<PatrolJobEditEmtityEntity>[] is M){
			return data.map<PatrolJobEditEmtityEntity>((e) => PatrolJobEditEmtityEntity().fromJson(e)).toList() as M;
		}
		if(<PatrolJobEditEmtityData>[] is M){
			return data.map<PatrolJobEditEmtityData>((e) => PatrolJobEditEmtityData().fromJson(e)).toList() as M;
		}
		if(<PatrolJobListEntityEntity>[] is M){
			return data.map<PatrolJobListEntityEntity>((e) => PatrolJobListEntityEntity().fromJson(e)).toList() as M;
		}
		if(<PatrolJobListEntityList>[] is M){
			return data.map<PatrolJobListEntityList>((e) => PatrolJobListEntityList().fromJson(e)).toList() as M;
		}
		if(<PatrolJobListEntityQuery>[] is M){
			return data.map<PatrolJobListEntityQuery>((e) => PatrolJobListEntityQuery().fromJson(e)).toList() as M;
		}
		if(<RepairQueryDeviceResponseEntity>[] is M){
			return data.map<RepairQueryDeviceResponseEntity>((e) => RepairQueryDeviceResponseEntity().fromJson(e)).toList() as M;
		}
		if(<RepairQueryDeviceResponseData>[] is M){
			return data.map<RepairQueryDeviceResponseData>((e) => RepairQueryDeviceResponseData().fromJson(e)).toList() as M;
		}
		if(<RepairQueryDeviceResponseDataList>[] is M){
			return data.map<RepairQueryDeviceResponseDataList>((e) => RepairQueryDeviceResponseDataList().fromJson(e)).toList() as M;
		}
		if(<RepairQueryDeviceResponseDataQuery>[] is M){
			return data.map<RepairQueryDeviceResponseDataQuery>((e) => RepairQueryDeviceResponseDataQuery().fromJson(e)).toList() as M;
		}
		if(<UserResponseEntity>[] is M){
			return data.map<UserResponseEntity>((e) => UserResponseEntity().fromJson(e)).toList() as M;
		}
		if(<UserResponseData>[] is M){
			return data.map<UserResponseData>((e) => UserResponseData().fromJson(e)).toList() as M;
		}
		if(<UserResponseDataUserMenuList>[] is M){
			return data.map<UserResponseDataUserMenuList>((e) => UserResponseDataUserMenuList().fromJson(e)).toList() as M;
		}
		if(<UserAppResponseDataUserMenuList>[] is M){
			return data.map<UserAppResponseDataUserMenuList>((e) => UserAppResponseDataUserMenuList().fromJson(e)).toList() as M;
		}
		if(<UserResponseDataRoleList>[] is M){
			return data.map<UserResponseDataRoleList>((e) => UserResponseDataRoleList().fromJson(e)).toList() as M;
		}
		if(<MaintItemsListResponseEntity>[] is M){
			return data.map<MaintItemsListResponseEntity>((e) => MaintItemsListResponseEntity().fromJson(e)).toList() as M;
		}
		if(<MaintItemsListResponseData>[] is M){
			return data.map<MaintItemsListResponseData>((e) => MaintItemsListResponseData().fromJson(e)).toList() as M;
		}
		if(<MaintItemsListResponseDataQuery>[] is M){
			return data.map<MaintItemsListResponseDataQuery>((e) => MaintItemsListResponseDataQuery().fromJson(e)).toList() as M;
		}
		if(<MaintItemsListResponseDataList>[] is M){
			return data.map<MaintItemsListResponseDataList>((e) => MaintItemsListResponseDataList().fromJson(e)).toList() as M;
		}
		if(<LoginResponseEntity>[] is M){
			return data.map<LoginResponseEntity>((e) => LoginResponseEntity().fromJson(e)).toList() as M;
		}
		if(<LoginResponseData>[] is M){
			return data.map<LoginResponseData>((e) => LoginResponseData().fromJson(e)).toList() as M;
		}
		if(<LoginResponseDataUser>[] is M){
			return data.map<LoginResponseDataUser>((e) => LoginResponseDataUser().fromJson(e)).toList() as M;
		}
		if(<EquipmentListEntity>[] is M){
			return data.map<EquipmentListEntity>((e) => EquipmentListEntity().fromJson(e)).toList() as M;
		}
		if(<EquipmentListData>[] is M){
			return data.map<EquipmentListData>((e) => EquipmentListData().fromJson(e)).toList() as M;
		}
		if(<EquipmentListDataEquipmentVOS>[] is M){
			return data.map<EquipmentListDataEquipmentVOS>((e) => EquipmentListDataEquipmentVOS().fromJson(e)).toList() as M;
		}
		if(<EquipmentListDataCountDTO>[] is M){
			return data.map<EquipmentListDataCountDTO>((e) => EquipmentListDataCountDTO().fromJson(e)).toList() as M;
		}
		if(<RepairDetailResponseEntity>[] is M){
			return data.map<RepairDetailResponseEntity>((e) => RepairDetailResponseEntity().fromJson(e)).toList() as M;
		}
		if(<RepairDetailResponseData>[] is M){
			return data.map<RepairDetailResponseData>((e) => RepairDetailResponseData().fromJson(e)).toList() as M;
		}
		if(<RepairDetailResponseDataLogs>[] is M){
			return data.map<RepairDetailResponseDataLogs>((e) => RepairDetailResponseDataLogs().fromJson(e)).toList() as M;
		}
		if(<RepairDetailResponseDataDevice>[] is M){
			return data.map<RepairDetailResponseDataDevice>((e) => RepairDetailResponseDataDevice().fromJson(e)).toList() as M;
		}
		if(<MaintJobListResponseEntity>[] is M){
			return data.map<MaintJobListResponseEntity>((e) => MaintJobListResponseEntity().fromJson(e)).toList() as M;
		}
		if(<MaintJobListResponseData>[] is M){
			return data.map<MaintJobListResponseData>((e) => MaintJobListResponseData().fromJson(e)).toList() as M;
		}
		if(<MaintJobListResponseDataList>[] is M){
			return data.map<MaintJobListResponseDataList>((e) => MaintJobListResponseDataList().fromJson(e)).toList() as M;
		}
		if(<MaintJobListResponseDataQuery>[] is M){
			return data.map<MaintJobListResponseDataQuery>((e) => MaintJobListResponseDataQuery().fromJson(e)).toList() as M;
		}
		if(<PersonalDataCountEntity>[] is M){
			return data.map<PersonalDataCountEntity>((e) => PersonalDataCountEntity().fromJson(e)).toList() as M;
		}
		if(<PersonalDataCountData>[] is M){
			return data.map<PersonalDataCountData>((e) => PersonalDataCountData().fromJson(e)).toList() as M;
		}
		if(<PatrolJobDetailResponseData>[] is M){
			return data.map<PatrolJobDetailResponseData>((e) => PatrolJobDetailResponseData().fromJson(e)).toList() as M;
		}
		if(<PatrolJobDetailResponseDataPatrolItemVOS>[] is M){
			return data.map<PatrolJobDetailResponseDataPatrolItemVOS>((e) => PatrolJobDetailResponseDataPatrolItemVOS().fromJson(e)).toList() as M;
		}
		if(<PatrolJobDetailResponseDataEquipmentVOS>[] is M){
			return data.map<PatrolJobDetailResponseDataEquipmentVOS>((e) => PatrolJobDetailResponseDataEquipmentVOS().fromJson(e)).toList() as M;
		}
		if(<EquipmentInfoEntity>[] is M){
			return data.map<EquipmentInfoEntity>((e) => EquipmentInfoEntity().fromJson(e)).toList() as M;
		}
		if(<EquipmentInfoData>[] is M){
			return data.map<EquipmentInfoData>((e) => EquipmentInfoData().fromJson(e)).toList() as M;
		}

		throw Exception("not found");
	}

  static M fromJsonAsT<M>(json) {
		if (json is List) {
			return _getListChildType<M>(json);
		} else {
			return _fromJsonSingle<M>(json) as M;
		}
	}
}