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 'APITokenCost':
return APITokenCost.fromJson(value);
case 'AcceptanceEnum':
return AcceptanceEnumTypeTransformer().decode(value);
case 'ActiveUsersData':
return ActiveUsersData.fromJson(value);
case 'ActiveUsersList':
return ActiveUsersList.fromJson(value);
case 'ActiveUsersPerCourse':
return ActiveUsersPerCourse.fromJson(value);
case 'ActiveUsersPerCourseData':
return ActiveUsersPerCourseData.fromJson(value);
case 'ActivityAPI':
return ActivityAPI.fromJson(value);
case 'ActivityData':
return ActivityData.fromJson(value);
case 'AlignMentorBubbleEnum':
return AlignMentorBubbleEnumTypeTransformer().decode(value);
case 'AskMentorRequest':
return AskMentorRequest.fromJson(value);
case 'AskMentorResponse':
return AskMentorResponse.fromJson(value);
case 'Assertions':
return Assertions.fromJson(value);
case 'AudioToTextRequest':
return AudioToTextRequest.fromJson(value);
case 'AudioToTextResponse':
return AudioToTextResponse.fromJson(value);
case 'Average':
return Average.fromJson(value);
case 'AverageData':
return AverageData.fromJson(value);
case 'AverageOvertime':
return AverageOvertime.fromJson(value);
case 'AvgCourseGradeWithCutoff':
return AvgCourseGradeWithCutoff.fromJson(value);
case 'AvgCourseGradeWithCutoffData':
return AvgCourseGradeWithCutoffData.fromJson(value);
case 'BlankEnum':
return BlankEnumTypeTransformer().decode(value);
case 'Bot':
return Bot.fromJson(value);
case 'BotCommand':
return BotCommand.fromJson(value);
case 'BotCreate':
return BotCreate.fromJson(value);
case 'ChatHistory':
return ChatHistory.fromJson(value);
case 'ChatHistoryItem':
return ChatHistoryItem.fromJson(value);
case 'ChatHistorySessionId':
return ChatHistorySessionId.fromJson(value);
case 'ChatSessionRequest':
return ChatSessionRequest.fromJson(value);
case 'ChatSessionResponse':
return ChatSessionResponse.fromJson(value);
case 'ChatSessionWithMessage':
return ChatSessionWithMessage.fromJson(value);
case 'CheckDocumentTrainingStatus':
return CheckDocumentTrainingStatus.fromJson(value);
case 'CognitiveSkillsEnum':
return CognitiveSkillsEnumTypeTransformer().decode(value);
case 'Count':
return Count.fromJson(value);
case 'CountData':
return CountData.fromJson(value);
case 'CourseCompletionPerCourse':
return CourseCompletionPerCourse.fromJson(value);
case 'CourseCompletionPerCourseData':
return CourseCompletionPerCourseData.fromJson(value);
case 'CourseCompletionSummaryDataOvertime':
return CourseCompletionSummaryDataOvertime.fromJson(value);
case 'CourseCompletionSummaryOvertime':
return CourseCompletionSummaryOvertime.fromJson(value);
case 'CourseGradeDetailBlock':
return CourseGradeDetailBlock.fromJson(value);
case 'CourseGradeDetailSubSection':
return CourseGradeDetailSubSection.fromJson(value);
case 'CourseGradeSummary':
return CourseGradeSummary.fromJson(value);
case 'CourseGradeSummaryData':
return CourseGradeSummaryData.fromJson(value);
case 'CourseGradingDetail':
return CourseGradingDetail.fromJson(value);
case 'CourseGradingDetailData':
return CourseGradingDetailData.fromJson(value);
case 'CoursePoint':
return CoursePoint.fromJson(value);
case 'CourseSkill':
return CourseSkill.fromJson(value);
case 'Credential':
return Credential.fromJson(value);
case 'CredentialCredentialType':
return CredentialCredentialType.fromJson(value);
case 'CredentialExpiresDuration':
return CredentialExpiresDuration.fromJson(value);
case 'CredentialIssuingSignal':
return CredentialIssuingSignal.fromJson(value);
case 'CredentialTypeEnum':
return CredentialTypeEnumTypeTransformer().decode(value);
case 'DefaultResponse':
return DefaultResponse.fromJson(value);
case 'DesiredRole':
return DesiredRole.fromJson(value);
case 'DesiredSkill':
return DesiredSkill.fromJson(value);
case 'DetailedGradeSubsection':
return DetailedGradeSubsection.fromJson(value);
case 'DetailedGradeView':
return DetailedGradeView.fromJson(value);
case 'DetailedGradeViewData':
return DetailedGradeViewData.fromJson(value);
case 'DiscordWebhook':
return DiscordWebhook.fromJson(value);
case 'EdxSignalReceiverRequest':
return EdxSignalReceiverRequest.fromJson(value);
case 'EngagementPerCourse':
return EngagementPerCourse.fromJson(value);
case 'EngagementPerCourseData':
return EngagementPerCourseData.fromJson(value);
case 'Enrollments':
return Enrollments.fromJson(value);
case 'EnrollmentsData':
return EnrollmentsData.fromJson(value);
case 'EnrollmentsPerUser':
return EnrollmentsPerUser.fromJson(value);
case 'EnrollmentsPerUserData':
return EnrollmentsPerUserData.fromJson(value);
case 'ExpiresDurationEnum':
return ExpiresDurationEnumTypeTransformer().decode(value);
case 'FloatOverTime':
return FloatOverTime.fromJson(value);
case 'FreeUsageCount':
return FreeUsageCount.fromJson(value);
case 'GradingPerUser':
return GradingPerUser.fromJson(value);
case 'GradingPerUserData':
return GradingPerUserData.fromJson(value);
case 'GuidedPromptsResponse':
return GuidedPromptsResponse.fromJson(value);
case 'IBLAIPlatformMeta':
return IBLAIPlatformMeta.fromJson(value);
case 'IntegrationCredential':
return IntegrationCredential.fromJson(value);
case 'IssuingSignalEnum':
return IssuingSignalEnumTypeTransformer().decode(value);
case 'LLMCredential':
return LLMCredential.fromJson(value);
case 'LauncherViewPostRequest':
return LauncherViewPostRequest.fromJson(value);
case 'LearnerInformationAPI':
return LearnerInformationAPI.fromJson(value);
case 'LearnerInformationAPIData':
return LearnerInformationAPIData.fromJson(value);
case 'MathQuestion':
return MathQuestion.fromJson(value);
case 'MathQuestionCognitiveSkills':
return MathQuestionCognitiveSkills.fromJson(value);
case 'MathQuestionWithAnswer':
return MathQuestionWithAnswer.fromJson(value);
case 'MathStudent':
return MathStudent.fromJson(value);
case 'Mentor':
return Mentor.fromJson(value);
case 'MentorFromTemplateRequest':
return MentorFromTemplateRequest.fromJson(value);
case 'MentorFromTemplateWithSettingRequest':
return MentorFromTemplateWithSettingRequest.fromJson(value);
case 'MentorLLMFlowResponse':
return MentorLLMFlowResponse.fromJson(value);
case 'MentorSettings':
return MentorSettings.fromJson(value);
case 'MentorSettingsMentorVisibility':
return MentorSettingsMentorVisibility.fromJson(value);
case 'MentorSettingsRequest':
return MentorSettingsRequest.fromJson(value);
case 'MentorVisibilityEnum':
return MentorVisibilityEnumTypeTransformer().decode(value);
case 'MessageView':
return MessageView.fromJson(value);
case 'MessageViewRequest':
return MessageViewRequest.fromJson(value);
case 'MessageViewUpdatResponse':
return MessageViewUpdatResponse.fromJson(value);
case 'NetRevenueOverTime':
return NetRevenueOverTime.fromJson(value);
case 'NullEnum':
return NullEnumTypeTransformer().decode(value);
case 'Order':
return Order.fromJson(value);
case 'OverTime':
return OverTime.fromJson(value);
case 'Overtime':
return Overtime.fromJson(value);
case 'OvertimeMeta':
return OvertimeMeta.fromJson(value);
case 'OvertimeWithChangeInfo':
return OvertimeWithChangeInfo.fromJson(value);
case 'PageContent':
return PageContent.fromJson(value);
case 'PaginatedAssertionsList':
return PaginatedAssertionsList.fromJson(value);
case 'PaginatedCredentialList':
return PaginatedCredentialList.fromJson(value);
case 'PaginatedMentorList':
return PaginatedMentorList.fromJson(value);
case 'Pagination':
return Pagination.fromJson(value);
case 'PatchedBotCommand':
return PatchedBotCommand.fromJson(value);
case 'PatchedBotCreate':
return PatchedBotCreate.fromJson(value);
case 'PatchedIntegrationCredential':
return PatchedIntegrationCredential.fromJson(value);
case 'PatchedLLMCredential':
return PatchedLLMCredential.fromJson(value);
case 'PatchedMathQuestion':
return PatchedMathQuestion.fromJson(value);
case 'PatchedMathStudent':
return PatchedMathStudent.fromJson(value);
case 'PatchedMentor':
return PatchedMentor.fromJson(value);
case 'PatchedPrompt':
return PatchedPrompt.fromJson(value);
case 'PatchedSkill':
return PatchedSkill.fromJson(value);
case 'PatchedSkillThreshold':
return PatchedSkillThreshold.fromJson(value);
case 'PatchedStudentAnswer':
return PatchedStudentAnswer.fromJson(value);
case 'PerLearnerCourseLastAccessData':
return PerLearnerCourseLastAccessData.fromJson(value);
case 'PerLearnerCourseVideosWatched':
return PerLearnerCourseVideosWatched.fromJson(value);
case 'PerLearnerCourseVideosWatchedData':
return PerLearnerCourseVideosWatchedData.fromJson(value);
case 'PerLearnerLastAccess':
return PerLearnerLastAccess.fromJson(value);
case 'PerLearnerLastAccessData':
return PerLearnerLastAccessData.fromJson(value);
case 'PerLearnerTimeSpentInCourseTree':
return PerLearnerTimeSpentInCourseTree.fromJson(value);
case 'PerformanceGradesPerCourse':
return PerformanceGradesPerCourse.fromJson(value);
case 'PerformanceGradesPerCourseData':
return PerformanceGradesPerCourseData.fromJson(value);
case 'PerlearnerCourseProgress':
return PerlearnerCourseProgress.fromJson(value);
case 'PerlearnerCourseProgressData':
return PerlearnerCourseProgressData.fromJson(value);
case 'PerlearnerEngagementVideosData':
return PerlearnerEngagementVideosData.fromJson(value);
case 'PerlearnerEngagementVideosWatchedPerCourse':
return PerlearnerEngagementVideosWatchedPerCourse.fromJson(value);
case 'PerlearnerGradeSummary':
return PerlearnerGradeSummary.fromJson(value);
case 'PerlearnerGradeSummaryData':
return PerlearnerGradeSummaryData.fromJson(value);
case 'PerlearnerGradeWithCutOff':
return PerlearnerGradeWithCutOff.fromJson(value);
case 'PerlearnerGradeWithCutOffData':
return PerlearnerGradeWithCutOffData.fromJson(value);
case 'PerlearnerGradingPerCourseAPI':
return PerlearnerGradingPerCourseAPI.fromJson(value);
case 'PerlearnerGradingPerCourseAPIData':
return PerlearnerGradingPerCourseAPIData.fromJson(value);
case 'PerlearnerUserList':
return PerlearnerUserList.fromJson(value);
case 'PerlearnerUserListData':
return PerlearnerUserListData.fromJson(value);
case 'PinnedMessageCreate':
return PinnedMessageCreate.fromJson(value);
case 'PlatformList':
return PlatformList.fromJson(value);
case 'PlatformListStatusEnum':
return PlatformListStatusEnumTypeTransformer().decode(value);
case 'PlatformUpdatePostRequest':
return PlatformUpdatePostRequest.fromJson(value);
case 'PointsPercentile':
return PointsPercentile.fromJson(value);
case 'PredictiveAnalyticsRequest':
return PredictiveAnalyticsRequest.fromJson(value);
case 'PredictiveAnalyticsResponse':
return PredictiveAnalyticsResponse.fromJson(value);
case 'Product':
return Product.fromJson(value);
case 'ProductTable':
return ProductTable.fromJson(value);
case 'Prompt':
return Prompt.fromJson(value);
case 'PromptCategory':
return PromptCategory.fromJson(value);
case 'ProviderEnum':
return ProviderEnumTypeTransformer().decode(value);
case 'QueryEndpoint':
return QueryEndpoint.fromJson(value);
case 'RatingEnum':
return RatingEnumTypeTransformer().decode(value);
case 'RecommendCourseResponse':
return RecommendCourseResponse.fromJson(value);
case 'RecommendationSearchAPI':
return RecommendationSearchAPI.fromJson(value);
case 'RelatedText':
return RelatedText.fromJson(value);
case 'ReportCreate':
return ReportCreate.fromJson(value);
case 'ReportData':
return ReportData.fromJson(value);
case 'ReportList':
return ReportList.fromJson(value);
case 'ReportRequest':
return ReportRequest.fromJson(value);
case 'ReportStatus':
return ReportStatus.fromJson(value);
case 'ReportedRole':
return ReportedRole.fromJson(value);
case 'ReportedSkill':
return ReportedSkill.fromJson(value);
case 'RequestDataVariable':
return RequestDataVariable.fromJson(value);
case 'ResourcePoint':
return ResourcePoint.fromJson(value);
case 'ResponseDataVariable':
return ResponseDataVariable.fromJson(value);
case 'RetreiverTrainViewRequest':
return RetreiverTrainViewRequest.fromJson(value);
case 'RetreiverTrainViewResponse':
return RetreiverTrainViewResponse.fromJson(value);
case 'RetrieveTask':
return RetrieveTask.fromJson(value);
case 'RetrieverDocumentEmbedding':
return RetrieverDocumentEmbedding.fromJson(value);
case 'RetrieverDocumentEmbeddingRequest':
return RetrieverDocumentEmbeddingRequest.fromJson(value);
case 'RetrieverRequestSearch':
return RetrieverRequestSearch.fromJson(value);
case 'RetrieverRequestSearchDocument':
return RetrieverRequestSearchDocument.fromJson(value);
case 'RetrieverResponseSearch':
return RetrieverResponseSearch.fromJson(value);
case 'ReuestDataVariableList':
return ReuestDataVariableList.fromJson(value);
case 'RevenueByProduct':
return RevenueByProduct.fromJson(value);
case 'Role':
return Role.fromJson(value);
case 'SampleQuestionsDocument':
return SampleQuestionsDocument.fromJson(value);
case 'SampleQuestionsDocumentStatusEnum':
return SampleQuestionsDocumentStatusEnumTypeTransformer().decode(value);
case 'SessionDetail':
return SessionDetail.fromJson(value);
case 'Skill':
return Skill.fromJson(value);
case 'SkillDetail':
return SkillDetail.fromJson(value);
case 'SkillInfo':
return SkillInfo.fromJson(value);
case 'SkillThreshold':
return SkillThreshold.fromJson(value);
case 'SlackWebhook':
return SlackWebhook.fromJson(value);
case 'StateEnum':
return StateEnumTypeTransformer().decode(value);
case 'StudentAnswer':
return StudentAnswer.fromJson(value);
case 'SubTimeChild':
return SubTimeChild.fromJson(value);
case 'SubTopic':
return SubTopic.fromJson(value);
case 'SuggestedPrompt':
return SuggestedPrompt.fromJson(value);
case 'SuggestedPromptIndex':
return SuggestedPromptIndex.fromJson(value);
case 'SuggestedPrompts':
return SuggestedPrompts.fromJson(value);
case 'Summary':
return Summary.fromJson(value);
case 'TaskView':
return TaskView.fromJson(value);
case 'ThemeEnum':
return ThemeEnumTypeTransformer().decode(value);
case 'TimeChildData':
return TimeChildData.fromJson(value);
case 'TimeDetail':
return TimeDetail.fromJson(value);
case 'TimeDetailChild':
return TimeDetailChild.fromJson(value);
case 'TimeDetailData':
return TimeDetailData.fromJson(value);
case 'TimeSpentByUsersInCourse':
return TimeSpentByUsersInCourse.fromJson(value);
case 'TimeSpentByUsersInCourseData':
return TimeSpentByUsersInCourseData.fromJson(value);
case 'TimeSpentPerCourse':
return TimeSpentPerCourse.fromJson(value);
case 'TimeSpentPerCourseData':
return TimeSpentPerCourseData.fromJson(value);
case 'Topic':
return Topic.fromJson(value);
case 'TrainChatSessionDocumentView':
return TrainChatSessionDocumentView.fromJson(value);
case 'TrainDocumentViewRequest':
return TrainDocumentViewRequest.fromJson(value);
case 'TrainDocumentViewResponse':
return TrainDocumentViewResponse.fromJson(value);
case 'Usage':
return Usage.fromJson(value);
case 'UserChatFeedback':
return UserChatFeedback.fromJson(value);
case 'UserPlatformManagementListViewGetResponse':
return UserPlatformManagementListViewGetResponse.fromJson(value);
case 'UserPlatformViewPostRequest':
return UserPlatformViewPostRequest.fromJson(value);
case 'UserProxyBulkRequest':
return UserProxyBulkRequest.fromJson(value);
case 'UserProxyGetResponse':
return UserProxyGetResponse.fromJson(value);
case 'UserProxyPostRequest':
return UserProxyPostRequest.fromJson(value);
case 'UserProxyPostResponse':
return UserProxyPostResponse.fromJson(value);
case 'UserSearchViewGetResponse':
return UserSearchViewGetResponse.fromJson(value);
case 'UserSkill':
return UserSkill.fromJson(value);
case 'UserSkillPointsPercentile':
return UserSkillPointsPercentile.fromJson(value);
case 'Value':
return Value.fromJson(value);
case 'ValueData':
return ValueData.fromJson(value);
case 'VideoBlock':
return VideoBlock.fromJson(value);
case 'VideoEngagementPerCourse':
return VideoEngagementPerCourse.fromJson(value);
case 'VideoEngagementPerCourseData':
return VideoEngagementPerCourseData.fromJson(value);
case 'VideosCount':
return VideosCount.fromJson(value);
case 'VideosCountData':
return VideosCountData.fromJson(value);
case 'VideosInCourseSummary':
return VideosInCourseSummary.fromJson(value);
case 'VideosInCourseSummaryData':
return VideosInCourseSummaryData.fromJson(value);
case 'VideosSpecificCourse':
return VideosSpecificCourse.fromJson(value);
case 'VideosSpecificCourseData':
return VideosSpecificCourseData.fromJson(value);
case 'VideosWatchedSubSection':
return VideosWatchedSubSection.fromJson(value);
case 'WatchedVideosPerCourse':
return WatchedVideosPerCourse.fromJson(value);
case 'WatchedVideosPerCourseData':
return WatchedVideosPerCourseData.fromJson(value);
case 'WatchedVideosPerUser':
return WatchedVideosPerUser.fromJson(value);
case 'WatchedVideosPerUserData':
return WatchedVideosPerUserData.fromJson(value);
case 'WebSocketStopGenerationView':
return WebSocketStopGenerationView.fromJson(value);
case 'WebexWebhook':
return WebexWebhook.fromJson(value);
case 'WhatAppWebHook':
return WhatAppWebHook.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',);
}