fromJson static method
Returns a native instance of an OpenAPI class matching the targetType.
Implementation
static dynamic fromJson(dynamic value, String targetType, {bool growable = false,}) {
try {
switch (targetType) {
case 'String':
return value is String ? value : value.toString();
case 'int':
return value is int ? value : int.parse('$value');
case 'double':
return value is double ? value : double.parse('$value');
case 'bool':
if (value is bool) {
return value;
}
final valueString = '$value'.toLowerCase();
return valueString == 'true' || valueString == '1';
case 'DateTime':
return value is DateTime ? value : DateTime.tryParse(value);
case 'AchatEnLigneModel':
return AchatEnLigneModel.fromJson(value);
case 'AddAchatEnligneResponseV2':
return AddAchatEnligneResponseV2.fromJson(value);
case 'AnnulationAchatDto':
return AnnulationAchatDto.fromJson(value);
case 'AnnulationDto':
return AnnulationDto.fromJson(value);
case 'AnnulationPartenaireToWalletResponseV2':
return AnnulationPartenaireToWalletResponseV2.fromJson(value);
case 'AnnulePartenaireToWalletModel':
return AnnulePartenaireToWalletModel.fromJson(value);
case 'ApisResponseV2':
return ApisResponseV2.fromJson(value);
case 'ApisResponseV2AddAchatEnligneResponseV2':
return ApisResponseV2AddAchatEnligneResponseV2.fromJson(value);
case 'ApisResponseV2AnnulationPartenaireToWalletResponseV2':
return ApisResponseV2AnnulationPartenaireToWalletResponseV2.fromJson(value);
case 'ApisResponseV2CheckAchatStatusResponseV2':
return ApisResponseV2CheckAchatStatusResponseV2.fromJson(value);
case 'ApisResponseV2CheckStatusResponseV2':
return ApisResponseV2CheckStatusResponseV2.fromJson(value);
case 'ApisResponseV2Double':
return ApisResponseV2Double.fromJson(value);
case 'ApisResponseV2EnvoiInterPartenaireResponseV2':
return ApisResponseV2EnvoiInterPartenaireResponseV2.fromJson(value);
case 'ApisResponseV2FraisPreviewResponseV2':
return ApisResponseV2FraisPreviewResponseV2.fromJson(value);
case 'ApisResponseV2GetPartenaireToWalletResponseV2':
return ApisResponseV2GetPartenaireToWalletResponseV2.fromJson(value);
case 'ApisResponseV2IndicatifsResponseV2':
return ApisResponseV2IndicatifsResponseV2.fromJson(value);
case 'ApisResponseV2ListVilleResponse':
return ApisResponseV2ListVilleResponse.fromJson(value);
case 'ApisResponseV2ModelEditEnvoieRequest':
return ApisResponseV2ModelEditEnvoieRequest.fromJson(value);
case 'ApisResponseV2PartenaireToWalletResponseV2':
return ApisResponseV2PartenaireToWalletResponseV2.fromJson(value);
case 'ApisResponseV2String':
return ApisResponseV2String.fromJson(value);
case 'ApisResponseV2TransactionResponseV2':
return ApisResponseV2TransactionResponseV2.fromJson(value);
case 'ApisResponseV2Void':
return ApisResponseV2Void.fromJson(value);
case 'CalculeFraisOperationRequest':
return CalculeFraisOperationRequest.fromJson(value);
case 'CheckAchatStatusModel':
return CheckAchatStatusModel.fromJson(value);
case 'CheckAchatStatusResponseV2':
return CheckAchatStatusResponseV2.fromJson(value);
case 'CheckStatusResponseV2':
return CheckStatusResponseV2.fromJson(value);
case 'CheckTransactionRequest':
return CheckTransactionRequest.fromJson(value);
case 'EnvoiInterPartenaireFraisRequest':
return EnvoiInterPartenaireFraisRequest.fromJson(value);
case 'EnvoiInterPartenaireRequest':
return EnvoiInterPartenaireRequest.fromJson(value);
case 'EnvoiInterPartenaireResponseV2':
return EnvoiInterPartenaireResponseV2.fromJson(value);
case 'EnvoiToEditDto':
return EnvoiToEditDto.fromJson(value);
case 'FraisPreviewResponseV2':
return FraisPreviewResponseV2.fromJson(value);
case 'GetPartenaireToWalletModel':
return GetPartenaireToWalletModel.fromJson(value);
case 'GetPartenaireToWalletResponseV2':
return GetPartenaireToWalletResponseV2.fromJson(value);
case 'IndicatifResponse':
return IndicatifResponse.fromJson(value);
case 'IndicatifsResponseV2':
return IndicatifsResponseV2.fromJson(value);
case 'ModelEditEnvoieRequest':
return ModelEditEnvoieRequest.fromJson(value);
case 'PartenaireToCashDtoV2':
return PartenaireToCashDtoV2.fromJson(value);
case 'PartenaireToWalletFraisRequest':
return PartenaireToWalletFraisRequest.fromJson(value);
case 'PartenaireToWalletModel':
return PartenaireToWalletModel.fromJson(value);
case 'PartenaireToWalletResponseV2':
return PartenaireToWalletResponseV2.fromJson(value);
case 'TransactionResponseV2':
return TransactionResponseV2.fromJson(value);
case 'UpdateEnvoiDto':
return UpdateEnvoiDto.fromJson(value);
case 'VerificationCompteDtoV2':
return VerificationCompteDtoV2.fromJson(value);
case 'VilleResponse':
return VilleResponse.fromJson(value);
default:
dynamic match;
if (value is List && (match = _regList.firstMatch(targetType)?.group(1)) != null) {
return value
.map<dynamic>((dynamic v) => fromJson(v, match, growable: growable,))
.toList(growable: growable);
}
if (value is Set && (match = _regSet.firstMatch(targetType)?.group(1)) != null) {
return value
.map<dynamic>((dynamic v) => fromJson(v, match, growable: growable,))
.toSet();
}
if (value is Map && (match = _regMap.firstMatch(targetType)?.group(1)) != null) {
return Map<String, dynamic>.fromIterables(
value.keys.cast<String>(),
value.values.map<dynamic>((dynamic v) => fromJson(v, match, growable: growable,)),
);
}
}
} on Exception catch (error, trace) {
throw ApiException.withInner(HttpStatus.internalServerError, 'Exception during deserialization.', error, trace,);
}
throw ApiException(HttpStatus.internalServerError, 'Could not find a suitable class for deserialization',);
}