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 'Alerts':
return Alerts.fromJson(value);
case 'AlertsInput':
return AlertsInput.fromJson(value);
case 'AlertsUpdate':
return AlertsUpdate.fromJson(value);
case 'ApiKeys':
return ApiKeys.fromJson(value);
case 'ApiKeysInput':
return ApiKeysInput.fromJson(value);
case 'ApiKeysUpdate':
return ApiKeysUpdate.fromJson(value);
case 'AssetPriceHistory':
return AssetPriceHistory.fromJson(value);
case 'AssetPriceHistoryInput':
return AssetPriceHistoryInput.fromJson(value);
case 'AssetPriceHistoryUpdate':
return AssetPriceHistoryUpdate.fromJson(value);
case 'AssetUsecases':
return AssetUsecases.fromJson(value);
case 'Assets':
return Assets.fromJson(value);
case 'AssetsInput':
return AssetsInput.fromJson(value);
case 'AssetsUpdate':
return AssetsUpdate.fromJson(value);
case 'CloudProviders':
return CloudProviders.fromJson(value);
case 'CloudProvidersInput':
return CloudProvidersInput.fromJson(value);
case 'CloudProvidersUpdate':
return CloudProvidersUpdate.fromJson(value);
case 'Companies':
return Companies.fromJson(value);
case 'CompaniesInput':
return CompaniesInput.fromJson(value);
case 'CompaniesUpdate':
return CompaniesUpdate.fromJson(value);
case 'Connections':
return Connections.fromJson(value);
case 'ConnectionsInput':
return ConnectionsInput.fromJson(value);
case 'ConnectionsUpdate':
return ConnectionsUpdate.fromJson(value);
case 'CreateAlerts200Response':
return CreateAlerts200Response.fromJson(value);
case 'CreateAlerts200ResponseData':
return CreateAlerts200ResponseData.fromJson(value);
case 'CreateApiKeys200Response':
return CreateApiKeys200Response.fromJson(value);
case 'CreateApiKeys200ResponseData':
return CreateApiKeys200ResponseData.fromJson(value);
case 'CreateAssetPriceHistory200Response':
return CreateAssetPriceHistory200Response.fromJson(value);
case 'CreateAssetPriceHistory200ResponseData':
return CreateAssetPriceHistory200ResponseData.fromJson(value);
case 'CreateAssetsAnalyze200Response':
return CreateAssetsAnalyze200Response.fromJson(value);
case 'CreateAssetsAnalyze200ResponseData':
return CreateAssetsAnalyze200ResponseData.fromJson(value);
case 'CreateConnections200Response':
return CreateConnections200Response.fromJson(value);
case 'CreateConnections200ResponseData':
return CreateConnections200ResponseData.fromJson(value);
case 'CreateEndpoints200Response':
return CreateEndpoints200Response.fromJson(value);
case 'CreateEndpoints200ResponseData':
return CreateEndpoints200ResponseData.fromJson(value);
case 'CreateFavorites200Response':
return CreateFavorites200Response.fromJson(value);
case 'CreateFavorites200ResponseData':
return CreateFavorites200ResponseData.fromJson(value);
case 'CreatePostgenIntegrations200Response':
return CreatePostgenIntegrations200Response.fromJson(value);
case 'CreatePostgenIntegrations200ResponseData':
return CreatePostgenIntegrations200ResponseData.fromJson(value);
case 'CreatePosts200Response':
return CreatePosts200Response.fromJson(value);
case 'CreatePosts200ResponseData':
return CreatePosts200ResponseData.fromJson(value);
case 'CreateUsers200Response':
return CreateUsers200Response.fromJson(value);
case 'CreateUsers200ResponseData':
return CreateUsers200ResponseData.fromJson(value);
case 'DeleteAlerts200Response':
return DeleteAlerts200Response.fromJson(value);
case 'DeleteAlerts200ResponseData':
return DeleteAlerts200ResponseData.fromJson(value);
case 'DeleteApiKeys200Response':
return DeleteApiKeys200Response.fromJson(value);
case 'DeleteApiKeys200ResponseData':
return DeleteApiKeys200ResponseData.fromJson(value);
case 'DeleteAssetPriceHistory200Response':
return DeleteAssetPriceHistory200Response.fromJson(value);
case 'DeleteAssetPriceHistory200ResponseData':
return DeleteAssetPriceHistory200ResponseData.fromJson(value);
case 'DeleteAssets200Response':
return DeleteAssets200Response.fromJson(value);
case 'DeleteAssets200ResponseData':
return DeleteAssets200ResponseData.fromJson(value);
case 'DeleteConnections200Response':
return DeleteConnections200Response.fromJson(value);
case 'DeleteConnections200ResponseData':
return DeleteConnections200ResponseData.fromJson(value);
case 'DeleteEndpoints200Response':
return DeleteEndpoints200Response.fromJson(value);
case 'DeleteEndpoints200ResponseData':
return DeleteEndpoints200ResponseData.fromJson(value);
case 'DeleteFavorites200Response':
return DeleteFavorites200Response.fromJson(value);
case 'DeleteFavorites200ResponseData':
return DeleteFavorites200ResponseData.fromJson(value);
case 'DeletePostgenIntegrations200Response':
return DeletePostgenIntegrations200Response.fromJson(value);
case 'DeletePostgenIntegrations200ResponseData':
return DeletePostgenIntegrations200ResponseData.fromJson(value);
case 'DeletePosts200Response':
return DeletePosts200Response.fromJson(value);
case 'DeletePosts200ResponseData':
return DeletePosts200ResponseData.fromJson(value);
case 'DeleteUsers200Response':
return DeleteUsers200Response.fromJson(value);
case 'DeleteUsers200ResponseData':
return DeleteUsers200ResponseData.fromJson(value);
case 'Endpoints':
return Endpoints.fromJson(value);
case 'EndpointsInput':
return EndpointsInput.fromJson(value);
case 'EndpointsUpdate':
return EndpointsUpdate.fromJson(value);
case 'Error':
return Error.fromJson(value);
case 'Favorites':
return Favorites.fromJson(value);
case 'FavoritesInput':
return FavoritesInput.fromJson(value);
case 'FavoritesUpdate':
return FavoritesUpdate.fromJson(value);
case 'GetAlertsById200Response':
return GetAlertsById200Response.fromJson(value);
case 'GetApiKeysById200Response':
return GetApiKeysById200Response.fromJson(value);
case 'GetAssetPriceHistoryById200Response':
return GetAssetPriceHistoryById200Response.fromJson(value);
case 'GetAssetUsecasesById200Response':
return GetAssetUsecasesById200Response.fromJson(value);
case 'GetAssetsByIdAnalyze200Response':
return GetAssetsByIdAnalyze200Response.fromJson(value);
case 'GetCloudProvidersById200Response':
return GetCloudProvidersById200Response.fromJson(value);
case 'GetCompaniesById200Response':
return GetCompaniesById200Response.fromJson(value);
case 'GetConnectionsById200Response':
return GetConnectionsById200Response.fromJson(value);
case 'GetEndpointsByIdConnectionsDescribe200Response':
return GetEndpointsByIdConnectionsDescribe200Response.fromJson(value);
case 'GetFavoritesById200Response':
return GetFavoritesById200Response.fromJson(value);
case 'GetIndustriesById200Response':
return GetIndustriesById200Response.fromJson(value);
case 'GetJobFunctionsById200Response':
return GetJobFunctionsById200Response.fromJson(value);
case 'GetPostgenIntegrationsById200Response':
return GetPostgenIntegrationsById200Response.fromJson(value);
case 'GetPostsById200Response':
return GetPostsById200Response.fromJson(value);
case 'GetStorageEnginesById200Response':
return GetStorageEnginesById200Response.fromJson(value);
case 'GetUsersById200Response':
return GetUsersById200Response.fromJson(value);
case 'Industries':
return Industries.fromJson(value);
case 'InlineObject':
return InlineObject.fromJson(value);
case 'InlineObject1':
return InlineObject1.fromJson(value);
case 'InlineObject2':
return InlineObject2.fromJson(value);
case 'InlineObject3':
return InlineObject3.fromJson(value);
case 'InlineObject4':
return InlineObject4.fromJson(value);
case 'InlineObject5':
return InlineObject5.fromJson(value);
case 'InlineObject6':
return InlineObject6.fromJson(value);
case 'InlineObject7':
return InlineObject7.fromJson(value);
case 'JobFunctions':
return JobFunctions.fromJson(value);
case 'JobFunctionsInput':
return JobFunctionsInput.fromJson(value);
case 'JobFunctionsUpdate':
return JobFunctionsUpdate.fromJson(value);
case 'ListApiKeys200Response':
return ListApiKeys200Response.fromJson(value);
case 'ListAssetUsecases200Response':
return ListAssetUsecases200Response.fromJson(value);
case 'ListAssets200Response':
return ListAssets200Response.fromJson(value);
case 'ListCloudProviders200Response':
return ListCloudProviders200Response.fromJson(value);
case 'ListCompaniesAnalyticsAssets200Response':
return ListCompaniesAnalyticsAssets200Response.fromJson(value);
case 'ListConnections200Response':
return ListConnections200Response.fromJson(value);
case 'ListEndpoints200Response':
return ListEndpoints200Response.fromJson(value);
case 'ListIndustries200Response':
return ListIndustries200Response.fromJson(value);
case 'ListJobFunctions200Response':
return ListJobFunctions200Response.fromJson(value);
case 'ListPostgenIntegrations200Response':
return ListPostgenIntegrations200Response.fromJson(value);
case 'ListPosts200Response':
return ListPosts200Response.fromJson(value);
case 'ListStorageEngines200Response':
return ListStorageEngines200Response.fromJson(value);
case 'ListUsers200Response':
return ListUsers200Response.fromJson(value);
case 'PostPublications':
return PostPublications.fromJson(value);
case 'PostPublicationsInput':
return PostPublicationsInput.fromJson(value);
case 'PostPublicationsUpdate':
return PostPublicationsUpdate.fromJson(value);
case 'PostgenIntegrations':
return PostgenIntegrations.fromJson(value);
case 'PostgenIntegrationsInput':
return PostgenIntegrationsInput.fromJson(value);
case 'PostgenIntegrationsUpdate':
return PostgenIntegrationsUpdate.fromJson(value);
case 'Posts':
return Posts.fromJson(value);
case 'PostsInput':
return PostsInput.fromJson(value);
case 'PostsUpdate':
return PostsUpdate.fromJson(value);
case 'StorageEngines':
return StorageEngines.fromJson(value);
case 'UpdateAlerts200Response':
return UpdateAlerts200Response.fromJson(value);
case 'UpdateAlerts200ResponseData':
return UpdateAlerts200ResponseData.fromJson(value);
case 'UpdateApiKeys200Response':
return UpdateApiKeys200Response.fromJson(value);
case 'UpdateApiKeys200ResponseData':
return UpdateApiKeys200ResponseData.fromJson(value);
case 'UpdateAssetPriceHistory200Response':
return UpdateAssetPriceHistory200Response.fromJson(value);
case 'UpdateAssetPriceHistory200ResponseData':
return UpdateAssetPriceHistory200ResponseData.fromJson(value);
case 'UpdateAssets200Response':
return UpdateAssets200Response.fromJson(value);
case 'UpdateAssets200ResponseData':
return UpdateAssets200ResponseData.fromJson(value);
case 'UpdateCompanies200Response':
return UpdateCompanies200Response.fromJson(value);
case 'UpdateCompanies200ResponseData':
return UpdateCompanies200ResponseData.fromJson(value);
case 'UpdateConnections200Response':
return UpdateConnections200Response.fromJson(value);
case 'UpdateConnections200ResponseData':
return UpdateConnections200ResponseData.fromJson(value);
case 'UpdateEndpoints200Response':
return UpdateEndpoints200Response.fromJson(value);
case 'UpdateEndpoints200ResponseData':
return UpdateEndpoints200ResponseData.fromJson(value);
case 'UpdateFavorites200Response':
return UpdateFavorites200Response.fromJson(value);
case 'UpdateFavorites200ResponseData':
return UpdateFavorites200ResponseData.fromJson(value);
case 'UpdatePostgenIntegrations200Response':
return UpdatePostgenIntegrations200Response.fromJson(value);
case 'UpdatePostgenIntegrations200ResponseData':
return UpdatePostgenIntegrations200ResponseData.fromJson(value);
case 'UpdatePosts200Response':
return UpdatePosts200Response.fromJson(value);
case 'UpdatePosts200ResponseData':
return UpdatePosts200ResponseData.fromJson(value);
case 'UpdateUsers200Response':
return UpdateUsers200Response.fromJson(value);
case 'UpdateUsers200ResponseData':
return UpdateUsers200ResponseData.fromJson(value);
case 'Users':
return Users.fromJson(value);
case 'UsersInput':
return UsersInput.fromJson(value);
case 'UsersUpdate':
return UsersUpdate.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',);
}