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 'ActorToken':
return ActorToken.fromJson(value);
case 'AddDomainRequest':
return AddDomainRequest.fromJson(value);
case 'Admin':
return Admin.fromJson(value);
case 'AllowlistIdentifier':
return AllowlistIdentifier.fromJson(value);
case 'BlocklistIdentifier':
return BlocklistIdentifier.fromJson(value);
case 'BlocklistIdentifiers':
return BlocklistIdentifiers.fromJson(value);
case 'CNameTarget':
return CNameTarget.fromJson(value);
case 'ChangeProductionInstanceDomainRequest':
return ChangeProductionInstanceDomainRequest.fromJson(value);
case 'ClerkError':
return ClerkError.fromJson(value);
case 'ClerkErrors':
return ClerkErrors.fromJson(value);
case 'Client':
return Client.fromJson(value);
case 'CreateActorTokenRequest':
return CreateActorTokenRequest.fromJson(value);
case 'CreateActorTokenRequestActor':
return CreateActorTokenRequestActor.fromJson(value);
case 'CreateAllowlistIdentifierRequest':
return CreateAllowlistIdentifierRequest.fromJson(value);
case 'CreateBlocklistIdentifierRequest':
return CreateBlocklistIdentifierRequest.fromJson(value);
case 'CreateBulkInvitationsRequestInner':
return CreateBulkInvitationsRequestInner.fromJson(value);
case 'CreateEmailAddressRequest':
return CreateEmailAddressRequest.fromJson(value);
case 'CreateInvitationRequest':
return CreateInvitationRequest.fromJson(value);
case 'CreateJWTTemplateRequest':
return CreateJWTTemplateRequest.fromJson(value);
case 'CreateOAuthApplicationRequest':
return CreateOAuthApplicationRequest.fromJson(value);
case 'CreateOrganizationDomainRequest':
return CreateOrganizationDomainRequest.fromJson(value);
case 'CreateOrganizationInvitationRequest':
return CreateOrganizationInvitationRequest.fromJson(value);
case 'CreateOrganizationMembershipRequest':
return CreateOrganizationMembershipRequest.fromJson(value);
case 'CreateOrganizationRequest':
return CreateOrganizationRequest.fromJson(value);
case 'CreatePhoneNumberRequest':
return CreatePhoneNumberRequest.fromJson(value);
case 'CreateRedirectURLRequest':
return CreateRedirectURLRequest.fromJson(value);
case 'CreateSAMLConnectionRequest':
return CreateSAMLConnectionRequest.fromJson(value);
case 'CreateSAMLConnectionRequestAttributeMapping':
return CreateSAMLConnectionRequestAttributeMapping.fromJson(value);
case 'CreateSessionRequest':
return CreateSessionRequest.fromJson(value);
case 'CreateSessionToken200Response':
return CreateSessionToken200Response.fromJson(value);
case 'CreateSessionTokenFromTemplateRequest':
return CreateSessionTokenFromTemplateRequest.fromJson(value);
case 'CreateSessionTokenRequest':
return CreateSessionTokenRequest.fromJson(value);
case 'CreateSignInTokenRequest':
return CreateSignInTokenRequest.fromJson(value);
case 'CreateUserRequest':
return CreateUserRequest.fromJson(value);
case 'CreateWaitlistEntryRequest':
return CreateWaitlistEntryRequest.fromJson(value);
case 'DeletedObject':
return DeletedObject.fromJson(value);
case 'DisableMFA200Response':
return DisableMFA200Response.fromJson(value);
case 'Domain':
return Domain.fromJson(value);
case 'Domains':
return Domains.fromJson(value);
case 'EmailAddress':
return EmailAddress.fromJson(value);
case 'EmailAddressVerification':
return EmailAddressVerification.fromJson(value);
case 'FromOAuth':
return FromOAuth.fromJson(value);
case 'FromOAuthError':
return FromOAuthError.fromJson(value);
case 'GetOAuthAccessToken200ResponseInner':
return GetOAuthAccessToken200ResponseInner.fromJson(value);
case 'IdentificationLink':
return IdentificationLink.fromJson(value);
case 'Instance':
return Instance.fromJson(value);
case 'InstanceRestrictions':
return InstanceRestrictions.fromJson(value);
case 'Invitation':
return Invitation.fromJson(value);
case 'JWKS':
return JWKS.fromJson(value);
case 'JWKSEcdsaPrivateKey':
return JWKSEcdsaPrivateKey.fromJson(value);
case 'JWKSEcdsaPublicKey':
return JWKSEcdsaPublicKey.fromJson(value);
case 'JWKSEd25519PrivateKey':
return JWKSEd25519PrivateKey.fromJson(value);
case 'JWKSEd25519PublicKey':
return JWKSEd25519PublicKey.fromJson(value);
case 'JWKSKeysInner':
return JWKSKeysInner.fromJson(value);
case 'JWKSRsaPrivateKey':
return JWKSRsaPrivateKey.fromJson(value);
case 'JWKSRsaPublicKey':
return JWKSRsaPublicKey.fromJson(value);
case 'JWKSSymmetricKey':
return JWKSSymmetricKey.fromJson(value);
case 'JWTTemplate':
return JWTTemplate.fromJson(value);
case 'ListWaitlistEntries200Response':
return ListWaitlistEntries200Response.fromJson(value);
case 'MergeOrganizationMetadataRequest':
return MergeOrganizationMetadataRequest.fromJson(value);
case 'OAuthApplication':
return OAuthApplication.fromJson(value);
case 'OAuthApplicationWithSecret':
return OAuthApplicationWithSecret.fromJson(value);
case 'OAuthApplications':
return OAuthApplications.fromJson(value);
case 'OTP':
return OTP.fromJson(value);
case 'Organization':
return Organization.fromJson(value);
case 'OrganizationDomain':
return OrganizationDomain.fromJson(value);
case 'OrganizationDomainVerification':
return OrganizationDomainVerification.fromJson(value);
case 'OrganizationDomains':
return OrganizationDomains.fromJson(value);
case 'OrganizationInvitation':
return OrganizationInvitation.fromJson(value);
case 'OrganizationInvitationPublicOrganizationData':
return OrganizationInvitationPublicOrganizationData.fromJson(value);
case 'OrganizationInvitationWithPublicOrganizationData':
return OrganizationInvitationWithPublicOrganizationData.fromJson(
value);
case 'OrganizationInvitations':
return OrganizationInvitations.fromJson(value);
case 'OrganizationInvitationsWithPublicOrganizationData':
return OrganizationInvitationsWithPublicOrganizationData.fromJson(
value);
case 'OrganizationMembership':
return OrganizationMembership.fromJson(value);
case 'OrganizationMembershipPublicUserData':
return OrganizationMembershipPublicUserData.fromJson(value);
case 'OrganizationMemberships':
return OrganizationMemberships.fromJson(value);
case 'OrganizationSettings':
return OrganizationSettings.fromJson(value);
case 'OrganizationWithLogo':
return OrganizationWithLogo.fromJson(value);
case 'Organizations':
return Organizations.fromJson(value);
case 'Passkey':
return Passkey.fromJson(value);
case 'PhoneNumber':
return PhoneNumber.fromJson(value);
case 'PhoneNumberVerification':
return PhoneNumberVerification.fromJson(value);
case 'PreviewTemplateRequest':
return PreviewTemplateRequest.fromJson(value);
case 'ProxyCheck':
return ProxyCheck.fromJson(value);
case 'RedirectURL':
return RedirectURL.fromJson(value);
case 'RevokeInvitation200Response':
return RevokeInvitation200Response.fromJson(value);
case 'RevokeOrganizationInvitationRequest':
return RevokeOrganizationInvitationRequest.fromJson(value);
case 'SAML':
return SAML.fromJson(value);
case 'SAMLAccount':
return SAMLAccount.fromJson(value);
case 'SAMLAccountSamlConnection':
return SAMLAccountSamlConnection.fromJson(value);
case 'SAMLAccountVerification':
return SAMLAccountVerification.fromJson(value);
case 'SAMLConnection':
return SAMLConnection.fromJson(value);
case 'SAMLConnectionAttributeMapping':
return SAMLConnectionAttributeMapping.fromJson(value);
case 'SAMLConnections':
return SAMLConnections.fromJson(value);
case 'SchemasPasskey':
return SchemasPasskey.fromJson(value);
case 'SchemasPasskeyVerification':
return SchemasPasskeyVerification.fromJson(value);
case 'SchemasSAMLConnection':
return SchemasSAMLConnection.fromJson(value);
case 'Session':
return Session.fromJson(value);
case 'SessionActivityResponse':
return SessionActivityResponse.fromJson(value);
case 'SignInToken':
return SignInToken.fromJson(value);
case 'SignUp':
return SignUp.fromJson(value);
case 'SignUpVerification':
return SignUpVerification.fromJson(value);
case 'SignUpVerifications':
return SignUpVerifications.fromJson(value);
case 'SvixURL':
return SvixURL.fromJson(value);
case 'Template':
return Template.fromJson(value);
case 'TestingToken':
return TestingToken.fromJson(value);
case 'Ticket':
return Ticket.fromJson(value);
case 'ToggleTemplateDeliveryRequest':
return ToggleTemplateDeliveryRequest.fromJson(value);
case 'TotalCount':
return TotalCount.fromJson(value);
case 'UpdateDomainRequest':
return UpdateDomainRequest.fromJson(value);
case 'UpdateEmailAddressRequest':
return UpdateEmailAddressRequest.fromJson(value);
case 'UpdateInstanceAuthConfig200Response':
return UpdateInstanceAuthConfig200Response.fromJson(value);
case 'UpdateInstanceAuthConfigRequest':
return UpdateInstanceAuthConfigRequest.fromJson(value);
case 'UpdateInstanceOrganizationSettingsRequest':
return UpdateInstanceOrganizationSettingsRequest.fromJson(value);
case 'UpdateInstanceRequest':
return UpdateInstanceRequest.fromJson(value);
case 'UpdateInstanceRestrictionsRequest':
return UpdateInstanceRestrictionsRequest.fromJson(value);
case 'UpdateOAuthApplicationRequest':
return UpdateOAuthApplicationRequest.fromJson(value);
case 'UpdateOrganizationDomainRequest':
return UpdateOrganizationDomainRequest.fromJson(value);
case 'UpdateOrganizationMembershipMetadataRequest':
return UpdateOrganizationMembershipMetadataRequest.fromJson(value);
case 'UpdateOrganizationMembershipRequest':
return UpdateOrganizationMembershipRequest.fromJson(value);
case 'UpdateOrganizationRequest':
return UpdateOrganizationRequest.fromJson(value);
case 'UpdatePhoneNumberRequest':
return UpdatePhoneNumberRequest.fromJson(value);
case 'UpdateProductionInstanceDomainRequest':
return UpdateProductionInstanceDomainRequest.fromJson(value);
case 'UpdateSAMLConnectionRequest':
return UpdateSAMLConnectionRequest.fromJson(value);
case 'UpdateSAMLConnectionRequestAttributeMapping':
return UpdateSAMLConnectionRequestAttributeMapping.fromJson(value);
case 'UpdateSignUpRequest':
return UpdateSignUpRequest.fromJson(value);
case 'UpdateUserMetadataRequest':
return UpdateUserMetadataRequest.fromJson(value);
case 'UpdateUserRequest':
return UpdateUserRequest.fromJson(value);
case 'UpsertTemplateRequest':
return UpsertTemplateRequest.fromJson(value);
case 'User':
return User.fromJson(value);
case 'VerifyClientRequest':
return VerifyClientRequest.fromJson(value);
case 'VerifyDomainProxyRequest':
return VerifyDomainProxyRequest.fromJson(value);
case 'VerifyPassword200Response':
return VerifyPassword200Response.fromJson(value);
case 'VerifyPasswordRequest':
return VerifyPasswordRequest.fromJson(value);
case 'VerifySessionRequest':
return VerifySessionRequest.fromJson(value);
case 'VerifyTOTP200Response':
return VerifyTOTP200Response.fromJson(value);
case 'VerifyTOTPRequest':
return VerifyTOTPRequest.fromJson(value);
case 'WaitlistEntry':
return WaitlistEntry.fromJson(value);
case 'WaitlistEntryInvitation':
return WaitlistEntryInvitation.fromJson(value);
case 'Web3Signature':
return Web3Signature.fromJson(value);
case 'Web3Wallet':
return Web3Wallet.fromJson(value);
case 'Web3WalletVerification':
return Web3WalletVerification.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',
);
}