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 'Consent':
return Consent.fromJson(value);
case 'ConsentRequest':
return ConsentRequest.fromJson(value);
case 'ConsentRequiredResponse':
return ConsentRequiredResponse.fromJson(value);
case 'ConsentRequiredResponseClient':
return ConsentRequiredResponseClient.fromJson(value);
case 'ConsentResponse':
return ConsentResponse.fromJson(value);
case 'ErrorResponse':
return ErrorResponse.fromJson(value);
case 'ErrorResponseDetailsInner':
return ErrorResponseDetailsInner.fromJson(value);
case 'ForgotPasswordRequest':
return ForgotPasswordRequest.fromJson(value);
case 'GetHealth200Response':
return GetHealth200Response.fromJson(value);
case 'IntrospectionResponse':
return IntrospectionResponse.fromJson(value);
case 'JWKS':
return JWKS.fromJson(value);
case 'JWKSKeysInner':
return JWKSKeysInner.fromJson(value);
case 'ListConsents200Response':
return ListConsents200Response.fromJson(value);
case 'ListPasskeys200Response':
return ListPasskeys200Response.fromJson(value);
case 'LoginRequest':
return LoginRequest.fromJson(value);
case 'LogoutRequest':
return LogoutRequest.fromJson(value);
case 'MessageResponse':
return MessageResponse.fromJson(value);
case 'OAuthErrorResponse':
return OAuthErrorResponse.fromJson(value);
case 'OAuthTokenResponse':
return OAuthTokenResponse.fromJson(value);
case 'OIDCDiscoveryDocument':
return OIDCDiscoveryDocument.fromJson(value);
case 'Passkey':
return Passkey.fromJson(value);
case 'PasskeyLoginBeginRequest':
return PasskeyLoginBeginRequest.fromJson(value);
case 'PasskeyLoginBeginResponse':
return PasskeyLoginBeginResponse.fromJson(value);
case 'PasskeyLoginFinishRequest':
return PasskeyLoginFinishRequest.fromJson(value);
case 'PasskeyRegistrationBeginResponse':
return PasskeyRegistrationBeginResponse.fromJson(value);
case 'PasskeyRegistrationFinishRequest':
return PasskeyRegistrationFinishRequest.fromJson(value);
case 'PasskeyRenameRequest':
return PasskeyRenameRequest.fromJson(value);
case 'ProductUsage':
return ProductUsage.fromJson(value);
case 'RefreshRequest':
return RefreshRequest.fromJson(value);
case 'RegisterRequest':
return RegisterRequest.fromJson(value);
case 'ResetPasswordRequest':
return ResetPasswordRequest.fromJson(value);
case 'RevokeConsentRequest':
return RevokeConsentRequest.fromJson(value);
case 'SubscriptionSummary':
return SubscriptionSummary.fromJson(value);
case 'TokenResponse':
return TokenResponse.fromJson(value);
case 'TwoFactorConfirmRequest':
return TwoFactorConfirmRequest.fromJson(value);
case 'TwoFactorConfirmResponse':
return TwoFactorConfirmResponse.fromJson(value);
case 'TwoFactorDisableRequest':
return TwoFactorDisableRequest.fromJson(value);
case 'TwoFactorEmailCodeRequest':
return TwoFactorEmailCodeRequest.fromJson(value);
case 'TwoFactorLoginRequest':
return TwoFactorLoginRequest.fromJson(value);
case 'TwoFactorSetupResponse':
return TwoFactorSetupResponse.fromJson(value);
case 'TwoFactorStatusResponse':
return TwoFactorStatusResponse.fromJson(value);
case 'UserAnalyticsResponse':
return UserAnalyticsResponse.fromJson(value);
case 'UserInfoResponse':
return UserInfoResponse.fromJson(value);
case 'UserResponse':
return UserResponse.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',);
}