UNPKG

@adyen/api-library

Version:

The Adyen API Library for NodeJS enables you to work with Adyen APIs.

952 lines 50.6 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ObjectSerializer = void 0; __exportStar(require("./models"), exports); const accountInfo_1 = require("./accountInfo"); const acctInfo_1 = require("./acctInfo"); const achDetails_1 = require("./achDetails"); const additionalData3DSecure_1 = require("./additionalData3DSecure"); const additionalDataAirline_1 = require("./additionalDataAirline"); const additionalDataCarRental_1 = require("./additionalDataCarRental"); const additionalDataCommon_1 = require("./additionalDataCommon"); const additionalDataLevel23_1 = require("./additionalDataLevel23"); const additionalDataLodging_1 = require("./additionalDataLodging"); const additionalDataOpenInvoice_1 = require("./additionalDataOpenInvoice"); const additionalDataOpi_1 = require("./additionalDataOpi"); const additionalDataRatepay_1 = require("./additionalDataRatepay"); const additionalDataRetry_1 = require("./additionalDataRetry"); const additionalDataRisk_1 = require("./additionalDataRisk"); const additionalDataRiskStandalone_1 = require("./additionalDataRiskStandalone"); const additionalDataSubMerchant_1 = require("./additionalDataSubMerchant"); const additionalDataTemporaryServices_1 = require("./additionalDataTemporaryServices"); const additionalDataWallets_1 = require("./additionalDataWallets"); const address_1 = require("./address"); const affirmDetails_1 = require("./affirmDetails"); const afterpayDetails_1 = require("./afterpayDetails"); const agency_1 = require("./agency"); const airline_1 = require("./airline"); const amazonPayDetails_1 = require("./amazonPayDetails"); const amount_1 = require("./amount"); const amounts_1 = require("./amounts"); const ancvDetails_1 = require("./ancvDetails"); const androidPayDetails_1 = require("./androidPayDetails"); const applePayDetails_1 = require("./applePayDetails"); const applePayDonations_1 = require("./applePayDonations"); const applePaySessionRequest_1 = require("./applePaySessionRequest"); const applePaySessionResponse_1 = require("./applePaySessionResponse"); const applicationInfo_1 = require("./applicationInfo"); const authenticationData_1 = require("./authenticationData"); const bacsDirectDebitDetails_1 = require("./bacsDirectDebitDetails"); const balanceCheckRequest_1 = require("./balanceCheckRequest"); const balanceCheckResponse_1 = require("./balanceCheckResponse"); const billDeskDetails_1 = require("./billDeskDetails"); const billingAddress_1 = require("./billingAddress"); const blikDetails_1 = require("./blikDetails"); const browserInfo_1 = require("./browserInfo"); const cancelOrderRequest_1 = require("./cancelOrderRequest"); const cancelOrderResponse_1 = require("./cancelOrderResponse"); const cardBrandDetails_1 = require("./cardBrandDetails"); const cardDetails_1 = require("./cardDetails"); const cardDetailsRequest_1 = require("./cardDetailsRequest"); const cardDetailsResponse_1 = require("./cardDetailsResponse"); const cardDonations_1 = require("./cardDonations"); const cashAppDetails_1 = require("./cashAppDetails"); const cellulantDetails_1 = require("./cellulantDetails"); const checkoutAwaitAction_1 = require("./checkoutAwaitAction"); const checkoutBankAccount_1 = require("./checkoutBankAccount"); const checkoutBankTransferAction_1 = require("./checkoutBankTransferAction"); const checkoutDelegatedAuthenticationAction_1 = require("./checkoutDelegatedAuthenticationAction"); const checkoutNativeRedirectAction_1 = require("./checkoutNativeRedirectAction"); const checkoutOrderResponse_1 = require("./checkoutOrderResponse"); const checkoutQrCodeAction_1 = require("./checkoutQrCodeAction"); const checkoutRedirectAction_1 = require("./checkoutRedirectAction"); const checkoutSDKAction_1 = require("./checkoutSDKAction"); const checkoutSessionInstallmentOption_1 = require("./checkoutSessionInstallmentOption"); const checkoutSessionThreeDS2RequestData_1 = require("./checkoutSessionThreeDS2RequestData"); const checkoutThreeDS2Action_1 = require("./checkoutThreeDS2Action"); const checkoutVoucherAction_1 = require("./checkoutVoucherAction"); const commonField_1 = require("./commonField"); const company_1 = require("./company"); const createCheckoutSessionRequest_1 = require("./createCheckoutSessionRequest"); const createCheckoutSessionResponse_1 = require("./createCheckoutSessionResponse"); const createOrderRequest_1 = require("./createOrderRequest"); const createOrderResponse_1 = require("./createOrderResponse"); const deliveryAddress_1 = require("./deliveryAddress"); const deliveryMethod_1 = require("./deliveryMethod"); const detailsRequestAuthenticationData_1 = require("./detailsRequestAuthenticationData"); const deviceRenderOptions_1 = require("./deviceRenderOptions"); const dokuDetails_1 = require("./dokuDetails"); const donation_1 = require("./donation"); const donationCampaign_1 = require("./donationCampaign"); const donationCampaignsRequest_1 = require("./donationCampaignsRequest"); const donationCampaignsResponse_1 = require("./donationCampaignsResponse"); const donationPaymentRequest_1 = require("./donationPaymentRequest"); const donationPaymentRequestPaymentMethod_1 = require("./donationPaymentRequestPaymentMethod"); const donationPaymentResponse_1 = require("./donationPaymentResponse"); const dragonpayDetails_1 = require("./dragonpayDetails"); const eBankingFinlandDetails_1 = require("./eBankingFinlandDetails"); const econtextVoucherDetails_1 = require("./econtextVoucherDetails"); const eftDetails_1 = require("./eftDetails"); const encryptedOrderData_1 = require("./encryptedOrderData"); const enhancedSchemeData_1 = require("./enhancedSchemeData"); const externalPlatform_1 = require("./externalPlatform"); const fastlaneDetails_1 = require("./fastlaneDetails"); const forexQuote_1 = require("./forexQuote"); const fraudCheckResult_1 = require("./fraudCheckResult"); const fraudResult_1 = require("./fraudResult"); const fundOrigin_1 = require("./fundOrigin"); const fundRecipient_1 = require("./fundRecipient"); const genericIssuerPaymentMethodDetails_1 = require("./genericIssuerPaymentMethodDetails"); const googlePayDetails_1 = require("./googlePayDetails"); const googlePayDonations_1 = require("./googlePayDonations"); const idealDetails_1 = require("./idealDetails"); const idealDonations_1 = require("./idealDonations"); const inputDetail_1 = require("./inputDetail"); const installmentOption_1 = require("./installmentOption"); const installments_1 = require("./installments"); const item_1 = require("./item"); const klarnaDetails_1 = require("./klarnaDetails"); const leg_1 = require("./leg"); const lineItem_1 = require("./lineItem"); const listStoredPaymentMethodsResponse_1 = require("./listStoredPaymentMethodsResponse"); const mandate_1 = require("./mandate"); const masterpassDetails_1 = require("./masterpassDetails"); const mbwayDetails_1 = require("./mbwayDetails"); const merchantDevice_1 = require("./merchantDevice"); const merchantRiskIndicator_1 = require("./merchantRiskIndicator"); const mobilePayDetails_1 = require("./mobilePayDetails"); const molPayDetails_1 = require("./molPayDetails"); const name_1 = require("./name"); const openInvoiceDetails_1 = require("./openInvoiceDetails"); const passenger_1 = require("./passenger"); const payByBankAISDirectDebitDetails_1 = require("./payByBankAISDirectDebitDetails"); const payByBankDetails_1 = require("./payByBankDetails"); const payPalDetails_1 = require("./payPalDetails"); const payPayDetails_1 = require("./payPayDetails"); const payToDetails_1 = require("./payToDetails"); const payUUpiDetails_1 = require("./payUUpiDetails"); const payWithGoogleDetails_1 = require("./payWithGoogleDetails"); const payWithGoogleDonations_1 = require("./payWithGoogleDonations"); const payment_1 = require("./payment"); const paymentAmountUpdateRequest_1 = require("./paymentAmountUpdateRequest"); const paymentAmountUpdateResponse_1 = require("./paymentAmountUpdateResponse"); const paymentCancelRequest_1 = require("./paymentCancelRequest"); const paymentCancelResponse_1 = require("./paymentCancelResponse"); const paymentCaptureRequest_1 = require("./paymentCaptureRequest"); const paymentCaptureResponse_1 = require("./paymentCaptureResponse"); const paymentCompletionDetails_1 = require("./paymentCompletionDetails"); const paymentDetails_1 = require("./paymentDetails"); const paymentDetailsRequest_1 = require("./paymentDetailsRequest"); const paymentDetailsResponse_1 = require("./paymentDetailsResponse"); const paymentLinkRequest_1 = require("./paymentLinkRequest"); const paymentLinkResponse_1 = require("./paymentLinkResponse"); const paymentMethod_1 = require("./paymentMethod"); const paymentMethodGroup_1 = require("./paymentMethodGroup"); const paymentMethodIssuer_1 = require("./paymentMethodIssuer"); const paymentMethodToStore_1 = require("./paymentMethodToStore"); const paymentMethodUPIApps_1 = require("./paymentMethodUPIApps"); const paymentMethodsRequest_1 = require("./paymentMethodsRequest"); const paymentMethodsResponse_1 = require("./paymentMethodsResponse"); const paymentRefundRequest_1 = require("./paymentRefundRequest"); const paymentRefundResponse_1 = require("./paymentRefundResponse"); const paymentRequest_1 = require("./paymentRequest"); const paymentRequestPaymentMethod_1 = require("./paymentRequestPaymentMethod"); const paymentResponse_1 = require("./paymentResponse"); const paymentResponseAction_1 = require("./paymentResponseAction"); const paymentReversalRequest_1 = require("./paymentReversalRequest"); const paymentReversalResponse_1 = require("./paymentReversalResponse"); const paypalUpdateOrderRequest_1 = require("./paypalUpdateOrderRequest"); const paypalUpdateOrderResponse_1 = require("./paypalUpdateOrderResponse"); const phone_1 = require("./phone"); const pixDetails_1 = require("./pixDetails"); const pixRecurring_1 = require("./pixRecurring"); const platformChargebackLogic_1 = require("./platformChargebackLogic"); const pseDetails_1 = require("./pseDetails"); const rakutenPayDetails_1 = require("./rakutenPayDetails"); const ratepayDetails_1 = require("./ratepayDetails"); const recurring_1 = require("./recurring"); const responseAdditionalData3DSecure_1 = require("./responseAdditionalData3DSecure"); const responseAdditionalDataBillingAddress_1 = require("./responseAdditionalDataBillingAddress"); const responseAdditionalDataCard_1 = require("./responseAdditionalDataCard"); const responseAdditionalDataCommon_1 = require("./responseAdditionalDataCommon"); const responseAdditionalDataDomesticError_1 = require("./responseAdditionalDataDomesticError"); const responseAdditionalDataInstallments_1 = require("./responseAdditionalDataInstallments"); const responseAdditionalDataNetworkTokens_1 = require("./responseAdditionalDataNetworkTokens"); const responseAdditionalDataOpi_1 = require("./responseAdditionalDataOpi"); const responseAdditionalDataSepa_1 = require("./responseAdditionalDataSepa"); const responsePaymentMethod_1 = require("./responsePaymentMethod"); const riskData_1 = require("./riskData"); const rivertyDetails_1 = require("./rivertyDetails"); const sDKEphemPubKey_1 = require("./sDKEphemPubKey"); const samsungPayDetails_1 = require("./samsungPayDetails"); const sepaDirectDebitDetails_1 = require("./sepaDirectDebitDetails"); const serviceError_1 = require("./serviceError"); const sessionResultResponse_1 = require("./sessionResultResponse"); const shopperInteractionDevice_1 = require("./shopperInteractionDevice"); const split_1 = require("./split"); const splitAmount_1 = require("./splitAmount"); const standalonePaymentCancelRequest_1 = require("./standalonePaymentCancelRequest"); const standalonePaymentCancelResponse_1 = require("./standalonePaymentCancelResponse"); const storedPaymentMethod_1 = require("./storedPaymentMethod"); const storedPaymentMethodDetails_1 = require("./storedPaymentMethodDetails"); const storedPaymentMethodRequest_1 = require("./storedPaymentMethodRequest"); const storedPaymentMethodResource_1 = require("./storedPaymentMethodResource"); const subInputDetail_1 = require("./subInputDetail"); const subMerchant_1 = require("./subMerchant"); const subMerchantInfo_1 = require("./subMerchantInfo"); const surcharge_1 = require("./surcharge"); const taxTotal_1 = require("./taxTotal"); const threeDS2RequestData_1 = require("./threeDS2RequestData"); const threeDS2RequestFields_1 = require("./threeDS2RequestFields"); const threeDS2ResponseData_1 = require("./threeDS2ResponseData"); const threeDS2Result_1 = require("./threeDS2Result"); const threeDSRequestData_1 = require("./threeDSRequestData"); const threeDSRequestorAuthenticationInfo_1 = require("./threeDSRequestorAuthenticationInfo"); const threeDSRequestorPriorAuthenticationInfo_1 = require("./threeDSRequestorPriorAuthenticationInfo"); const threeDSecureData_1 = require("./threeDSecureData"); const ticket_1 = require("./ticket"); const travelAgency_1 = require("./travelAgency"); const twintDetails_1 = require("./twintDetails"); const updatePaymentLinkRequest_1 = require("./updatePaymentLinkRequest"); const upiCollectDetails_1 = require("./upiCollectDetails"); const upiIntentDetails_1 = require("./upiIntentDetails"); const utilityRequest_1 = require("./utilityRequest"); const utilityResponse_1 = require("./utilityResponse"); const vippsDetails_1 = require("./vippsDetails"); const visaCheckoutDetails_1 = require("./visaCheckoutDetails"); const weChatPayDetails_1 = require("./weChatPayDetails"); const weChatPayMiniProgramDetails_1 = require("./weChatPayMiniProgramDetails"); const zipDetails_1 = require("./zipDetails"); /* tslint:disable:no-unused-variable */ let primitives = [ "string", "boolean", "double", "integer", "long", "float", "number", "any" ]; let enumsMap = new Set([ "AccountInfo.AccountAgeIndicatorEnum", "AccountInfo.AccountChangeIndicatorEnum", "AccountInfo.AccountTypeEnum", "AccountInfo.DeliveryAddressUsageIndicatorEnum", "AccountInfo.PasswordChangeIndicatorEnum", "AccountInfo.PaymentAccountIndicatorEnum", "AcctInfo.ChAccAgeIndEnum", "AcctInfo.ChAccChangeIndEnum", "AcctInfo.ChAccPwChangeIndEnum", "AcctInfo.PaymentAccIndEnum", "AcctInfo.ShipAddressUsageIndEnum", "AcctInfo.ShipNameIndicatorEnum", "AcctInfo.SuspiciousAccActivityEnum", "AchDetails.AccountHolderTypeEnum", "AchDetails.BankAccountTypeEnum", "AchDetails.TypeEnum", "AdditionalData3DSecure.ChallengeWindowSizeEnum", "AdditionalDataCommon.IndustryUsageEnum", "AffirmDetails.TypeEnum", "AfterpayDetails.TypeEnum", "AmazonPayDetails.TypeEnum", "AncvDetails.TypeEnum", "AndroidPayDetails.TypeEnum", "ApplePayDetails.FundingSourceEnum", "ApplePayDetails.TypeEnum", "ApplePayDonations.FundingSourceEnum", "ApplePayDonations.TypeEnum", "AuthenticationData.AttemptAuthenticationEnum", "BacsDirectDebitDetails.TypeEnum", "BalanceCheckRequest.RecurringProcessingModelEnum", "BalanceCheckRequest.ShopperInteractionEnum", "BalanceCheckResponse.ResultCodeEnum", "BillDeskDetails.TypeEnum", "BlikDetails.TypeEnum", "CancelOrderResponse.ResultCodeEnum", "CardDetails.FundingSourceEnum", "CardDetails.TypeEnum", "CardDonations.FundingSourceEnum", "CardDonations.TypeEnum", "CashAppDetails.TypeEnum", "CellulantDetails.TypeEnum", "CheckoutAwaitAction.TypeEnum", "CheckoutBankAccount.AccountTypeEnum", "CheckoutBankTransferAction.TypeEnum", "CheckoutDelegatedAuthenticationAction.TypeEnum", "CheckoutNativeRedirectAction.TypeEnum", "CheckoutQrCodeAction.TypeEnum", "CheckoutRedirectAction.TypeEnum", "CheckoutSDKAction.TypeEnum", "CheckoutSessionInstallmentOption.PlansEnum", "CheckoutSessionThreeDS2RequestData.ThreeDSRequestorChallengeIndEnum", "CheckoutThreeDS2Action.TypeEnum", "CheckoutVoucherAction.TypeEnum", "CreateCheckoutSessionRequest.ChannelEnum", "CreateCheckoutSessionRequest.ModeEnum", "CreateCheckoutSessionRequest.RecurringProcessingModelEnum", "CreateCheckoutSessionRequest.ShopperInteractionEnum", "CreateCheckoutSessionRequest.StoreFiltrationModeEnum", "CreateCheckoutSessionRequest.StorePaymentMethodModeEnum", "CreateCheckoutSessionResponse.ChannelEnum", "CreateCheckoutSessionResponse.ModeEnum", "CreateCheckoutSessionResponse.RecurringProcessingModelEnum", "CreateCheckoutSessionResponse.ShopperInteractionEnum", "CreateCheckoutSessionResponse.StoreFiltrationModeEnum", "CreateCheckoutSessionResponse.StorePaymentMethodModeEnum", "CreateOrderResponse.ResultCodeEnum", "DeliveryMethod.TypeEnum", "DeviceRenderOptions.SdkInterfaceEnum", "DeviceRenderOptions.SdkUiTypeEnum", "DokuDetails.TypeEnum", "DonationPaymentRequest.ChannelEnum", "DonationPaymentRequest.RecurringProcessingModelEnum", "DonationPaymentRequest.ShopperInteractionEnum", "DonationPaymentRequestPaymentMethod.FundingSourceEnum", "DonationPaymentRequestPaymentMethod.TypeEnum", "DonationPaymentResponse.StatusEnum", "DragonpayDetails.TypeEnum", "EBankingFinlandDetails.TypeEnum", "EcontextVoucherDetails.TypeEnum", "EftDetails.TypeEnum", "FastlaneDetails.TypeEnum", "FundRecipient.WalletPurposeEnum", "GenericIssuerPaymentMethodDetails.TypeEnum", "GooglePayDetails.FundingSourceEnum", "GooglePayDetails.TypeEnum", "GooglePayDonations.FundingSourceEnum", "GooglePayDonations.TypeEnum", "IdealDetails.TypeEnum", "IdealDonations.TypeEnum", "InstallmentOption.PlansEnum", "Installments.PlanEnum", "KlarnaDetails.TypeEnum", "Mandate.AmountRuleEnum", "Mandate.BillingAttemptsRuleEnum", "Mandate.FrequencyEnum", "MasterpassDetails.FundingSourceEnum", "MasterpassDetails.TypeEnum", "MbwayDetails.TypeEnum", "MerchantRiskIndicator.DeliveryAddressIndicatorEnum", "MerchantRiskIndicator.DeliveryTimeframeEnum", "MobilePayDetails.TypeEnum", "MolPayDetails.TypeEnum", "OpenInvoiceDetails.TypeEnum", "PayByBankAISDirectDebitDetails.TypeEnum", "PayByBankDetails.TypeEnum", "PayPalDetails.SubtypeEnum", "PayPalDetails.TypeEnum", "PayPayDetails.TypeEnum", "PayToDetails.TypeEnum", "PayUUpiDetails.TypeEnum", "PayWithGoogleDetails.FundingSourceEnum", "PayWithGoogleDetails.TypeEnum", "PayWithGoogleDonations.FundingSourceEnum", "PayWithGoogleDonations.TypeEnum", "Payment.ResultCodeEnum", "PaymentAmountUpdateRequest.IndustryUsageEnum", "PaymentAmountUpdateResponse.IndustryUsageEnum", "PaymentAmountUpdateResponse.StatusEnum", "PaymentCancelResponse.StatusEnum", "PaymentCaptureResponse.StatusEnum", "PaymentDetails.TypeEnum", "PaymentDetailsResponse.ResultCodeEnum", "PaymentLinkRequest.RecurringProcessingModelEnum", "PaymentLinkRequest.RequiredShopperFieldsEnum", "PaymentLinkRequest.StorePaymentMethodModeEnum", "PaymentLinkResponse.RecurringProcessingModelEnum", "PaymentLinkResponse.RequiredShopperFieldsEnum", "PaymentLinkResponse.StatusEnum", "PaymentLinkResponse.StorePaymentMethodModeEnum", "PaymentMethod.FundingSourceEnum", "PaymentMethodsRequest.ChannelEnum", "PaymentMethodsRequest.StoreFiltrationModeEnum", "PaymentRefundRequest.MerchantRefundReasonEnum", "PaymentRefundResponse.MerchantRefundReasonEnum", "PaymentRefundResponse.StatusEnum", "PaymentRequest.ChannelEnum", "PaymentRequest.EntityTypeEnum", "PaymentRequest.IndustryUsageEnum", "PaymentRequest.RecurringProcessingModelEnum", "PaymentRequest.ShopperInteractionEnum", "PaymentRequestPaymentMethod.AccountHolderTypeEnum", "PaymentRequestPaymentMethod.BankAccountTypeEnum", "PaymentRequestPaymentMethod.TypeEnum", "PaymentRequestPaymentMethod.FundingSourceEnum", "PaymentResponse.ResultCodeEnum", "PaymentResponseAction.TypeEnum", "PaymentReversalResponse.StatusEnum", "PaypalUpdateOrderResponse.StatusEnum", "PixDetails.TypeEnum", "PixRecurring.FrequencyEnum", "PlatformChargebackLogic.BehaviorEnum", "PseDetails.TypeEnum", "RakutenPayDetails.TypeEnum", "RatepayDetails.TypeEnum", "Recurring.ContractEnum", "Recurring.TokenServiceEnum", "ResponseAdditionalDataCard.CardProductIdEnum", "ResponseAdditionalDataCommon.FraudResultTypeEnum", "ResponseAdditionalDataCommon.FraudRiskLevelEnum", "ResponseAdditionalDataCommon.RecurringProcessingModelEnum", "ResponseAdditionalDataCommon.TokenizationStoreOperationTypeEnum", "RivertyDetails.TypeEnum", "SamsungPayDetails.FundingSourceEnum", "SamsungPayDetails.TypeEnum", "SepaDirectDebitDetails.TypeEnum", "SessionResultResponse.StatusEnum", "Split.TypeEnum", "StandalonePaymentCancelResponse.StatusEnum", "StoredPaymentMethodDetails.TypeEnum", "StoredPaymentMethodRequest.RecurringProcessingModelEnum", "ThreeDS2RequestData.AcctTypeEnum", "ThreeDS2RequestData.AddrMatchEnum", "ThreeDS2RequestData.ChallengeIndicatorEnum", "ThreeDS2RequestData.ThreeDSRequestorChallengeIndEnum", "ThreeDS2RequestData.TransTypeEnum", "ThreeDS2RequestData.TransactionTypeEnum", "ThreeDS2RequestFields.AcctTypeEnum", "ThreeDS2RequestFields.AddrMatchEnum", "ThreeDS2RequestFields.ChallengeIndicatorEnum", "ThreeDS2RequestFields.ThreeDSRequestorChallengeIndEnum", "ThreeDS2RequestFields.TransTypeEnum", "ThreeDS2RequestFields.TransactionTypeEnum", "ThreeDS2Result.ChallengeCancelEnum", "ThreeDS2Result.ExemptionIndicatorEnum", "ThreeDS2Result.ThreeDSRequestorChallengeIndEnum", "ThreeDSRequestData.ChallengeWindowSizeEnum", "ThreeDSRequestData.DataOnlyEnum", "ThreeDSRequestData.NativeThreeDSEnum", "ThreeDSRequestData.ThreeDSVersionEnum", "ThreeDSRequestorAuthenticationInfo.ThreeDSReqAuthMethodEnum", "ThreeDSRequestorPriorAuthenticationInfo.ThreeDSReqPriorAuthMethodEnum", "ThreeDSecureData.AuthenticationResponseEnum", "ThreeDSecureData.ChallengeCancelEnum", "ThreeDSecureData.DirectoryResponseEnum", "TwintDetails.TypeEnum", "UpdatePaymentLinkRequest.StatusEnum", "UpiCollectDetails.TypeEnum", "UpiIntentDetails.TypeEnum", "VippsDetails.TypeEnum", "VisaCheckoutDetails.FundingSourceEnum", "VisaCheckoutDetails.TypeEnum", "WeChatPayDetails.TypeEnum", "WeChatPayMiniProgramDetails.TypeEnum", "ZipDetails.TypeEnum", ]); let typeMap = { "AccountInfo": accountInfo_1.AccountInfo, "AcctInfo": acctInfo_1.AcctInfo, "AchDetails": achDetails_1.AchDetails, "AdditionalData3DSecure": additionalData3DSecure_1.AdditionalData3DSecure, "AdditionalDataAirline": additionalDataAirline_1.AdditionalDataAirline, "AdditionalDataCarRental": additionalDataCarRental_1.AdditionalDataCarRental, "AdditionalDataCommon": additionalDataCommon_1.AdditionalDataCommon, "AdditionalDataLevel23": additionalDataLevel23_1.AdditionalDataLevel23, "AdditionalDataLodging": additionalDataLodging_1.AdditionalDataLodging, "AdditionalDataOpenInvoice": additionalDataOpenInvoice_1.AdditionalDataOpenInvoice, "AdditionalDataOpi": additionalDataOpi_1.AdditionalDataOpi, "AdditionalDataRatepay": additionalDataRatepay_1.AdditionalDataRatepay, "AdditionalDataRetry": additionalDataRetry_1.AdditionalDataRetry, "AdditionalDataRisk": additionalDataRisk_1.AdditionalDataRisk, "AdditionalDataRiskStandalone": additionalDataRiskStandalone_1.AdditionalDataRiskStandalone, "AdditionalDataSubMerchant": additionalDataSubMerchant_1.AdditionalDataSubMerchant, "AdditionalDataTemporaryServices": additionalDataTemporaryServices_1.AdditionalDataTemporaryServices, "AdditionalDataWallets": additionalDataWallets_1.AdditionalDataWallets, "Address": address_1.Address, "AffirmDetails": affirmDetails_1.AffirmDetails, "AfterpayDetails": afterpayDetails_1.AfterpayDetails, "Agency": agency_1.Agency, "Airline": airline_1.Airline, "AmazonPayDetails": amazonPayDetails_1.AmazonPayDetails, "Amount": amount_1.Amount, "Amounts": amounts_1.Amounts, "AncvDetails": ancvDetails_1.AncvDetails, "AndroidPayDetails": androidPayDetails_1.AndroidPayDetails, "ApplePayDetails": applePayDetails_1.ApplePayDetails, "ApplePayDonations": applePayDonations_1.ApplePayDonations, "ApplePaySessionRequest": applePaySessionRequest_1.ApplePaySessionRequest, "ApplePaySessionResponse": applePaySessionResponse_1.ApplePaySessionResponse, "ApplicationInfo": applicationInfo_1.ApplicationInfo, "AuthenticationData": authenticationData_1.AuthenticationData, "BacsDirectDebitDetails": bacsDirectDebitDetails_1.BacsDirectDebitDetails, "BalanceCheckRequest": balanceCheckRequest_1.BalanceCheckRequest, "BalanceCheckResponse": balanceCheckResponse_1.BalanceCheckResponse, "BillDeskDetails": billDeskDetails_1.BillDeskDetails, "BillingAddress": billingAddress_1.BillingAddress, "BlikDetails": blikDetails_1.BlikDetails, "BrowserInfo": browserInfo_1.BrowserInfo, "CancelOrderRequest": cancelOrderRequest_1.CancelOrderRequest, "CancelOrderResponse": cancelOrderResponse_1.CancelOrderResponse, "CardBrandDetails": cardBrandDetails_1.CardBrandDetails, "CardDetails": cardDetails_1.CardDetails, "CardDetailsRequest": cardDetailsRequest_1.CardDetailsRequest, "CardDetailsResponse": cardDetailsResponse_1.CardDetailsResponse, "CardDonations": cardDonations_1.CardDonations, "CashAppDetails": cashAppDetails_1.CashAppDetails, "CellulantDetails": cellulantDetails_1.CellulantDetails, "CheckoutAwaitAction": checkoutAwaitAction_1.CheckoutAwaitAction, "CheckoutBankAccount": checkoutBankAccount_1.CheckoutBankAccount, "CheckoutBankTransferAction": checkoutBankTransferAction_1.CheckoutBankTransferAction, "CheckoutDelegatedAuthenticationAction": checkoutDelegatedAuthenticationAction_1.CheckoutDelegatedAuthenticationAction, "CheckoutNativeRedirectAction": checkoutNativeRedirectAction_1.CheckoutNativeRedirectAction, "CheckoutOrderResponse": checkoutOrderResponse_1.CheckoutOrderResponse, "CheckoutQrCodeAction": checkoutQrCodeAction_1.CheckoutQrCodeAction, "CheckoutRedirectAction": checkoutRedirectAction_1.CheckoutRedirectAction, "CheckoutSDKAction": checkoutSDKAction_1.CheckoutSDKAction, "CheckoutSessionInstallmentOption": checkoutSessionInstallmentOption_1.CheckoutSessionInstallmentOption, "CheckoutSessionThreeDS2RequestData": checkoutSessionThreeDS2RequestData_1.CheckoutSessionThreeDS2RequestData, "CheckoutThreeDS2Action": checkoutThreeDS2Action_1.CheckoutThreeDS2Action, "CheckoutVoucherAction": checkoutVoucherAction_1.CheckoutVoucherAction, "CommonField": commonField_1.CommonField, "Company": company_1.Company, "CreateCheckoutSessionRequest": createCheckoutSessionRequest_1.CreateCheckoutSessionRequest, "CreateCheckoutSessionResponse": createCheckoutSessionResponse_1.CreateCheckoutSessionResponse, "CreateOrderRequest": createOrderRequest_1.CreateOrderRequest, "CreateOrderResponse": createOrderResponse_1.CreateOrderResponse, "DeliveryAddress": deliveryAddress_1.DeliveryAddress, "DeliveryMethod": deliveryMethod_1.DeliveryMethod, "DetailsRequestAuthenticationData": detailsRequestAuthenticationData_1.DetailsRequestAuthenticationData, "DeviceRenderOptions": deviceRenderOptions_1.DeviceRenderOptions, "DokuDetails": dokuDetails_1.DokuDetails, "Donation": donation_1.Donation, "DonationCampaign": donationCampaign_1.DonationCampaign, "DonationCampaignsRequest": donationCampaignsRequest_1.DonationCampaignsRequest, "DonationCampaignsResponse": donationCampaignsResponse_1.DonationCampaignsResponse, "DonationPaymentRequest": donationPaymentRequest_1.DonationPaymentRequest, "DonationPaymentRequestPaymentMethod": donationPaymentRequestPaymentMethod_1.DonationPaymentRequestPaymentMethodClass, "DonationPaymentResponse": donationPaymentResponse_1.DonationPaymentResponse, "DragonpayDetails": dragonpayDetails_1.DragonpayDetails, "EBankingFinlandDetails": eBankingFinlandDetails_1.EBankingFinlandDetails, "EcontextVoucherDetails": econtextVoucherDetails_1.EcontextVoucherDetails, "EftDetails": eftDetails_1.EftDetails, "EncryptedOrderData": encryptedOrderData_1.EncryptedOrderData, "EnhancedSchemeData": enhancedSchemeData_1.EnhancedSchemeData, "ExternalPlatform": externalPlatform_1.ExternalPlatform, "FastlaneDetails": fastlaneDetails_1.FastlaneDetails, "ForexQuote": forexQuote_1.ForexQuote, "FraudCheckResult": fraudCheckResult_1.FraudCheckResult, "FraudResult": fraudResult_1.FraudResult, "FundOrigin": fundOrigin_1.FundOrigin, "FundRecipient": fundRecipient_1.FundRecipient, "GenericIssuerPaymentMethodDetails": genericIssuerPaymentMethodDetails_1.GenericIssuerPaymentMethodDetails, "GooglePayDetails": googlePayDetails_1.GooglePayDetails, "GooglePayDonations": googlePayDonations_1.GooglePayDonations, "IdealDetails": idealDetails_1.IdealDetails, "IdealDonations": idealDonations_1.IdealDonations, "InputDetail": inputDetail_1.InputDetail, "InstallmentOption": installmentOption_1.InstallmentOption, "Installments": installments_1.Installments, "Item": item_1.Item, "KlarnaDetails": klarnaDetails_1.KlarnaDetails, "Leg": leg_1.Leg, "LineItem": lineItem_1.LineItem, "ListStoredPaymentMethodsResponse": listStoredPaymentMethodsResponse_1.ListStoredPaymentMethodsResponse, "Mandate": mandate_1.Mandate, "MasterpassDetails": masterpassDetails_1.MasterpassDetails, "MbwayDetails": mbwayDetails_1.MbwayDetails, "MerchantDevice": merchantDevice_1.MerchantDevice, "MerchantRiskIndicator": merchantRiskIndicator_1.MerchantRiskIndicator, "MobilePayDetails": mobilePayDetails_1.MobilePayDetails, "MolPayDetails": molPayDetails_1.MolPayDetails, "Name": name_1.Name, "OpenInvoiceDetails": openInvoiceDetails_1.OpenInvoiceDetails, "Passenger": passenger_1.Passenger, "PayByBankAISDirectDebitDetails": payByBankAISDirectDebitDetails_1.PayByBankAISDirectDebitDetails, "PayByBankDetails": payByBankDetails_1.PayByBankDetails, "PayPalDetails": payPalDetails_1.PayPalDetails, "PayPayDetails": payPayDetails_1.PayPayDetails, "PayToDetails": payToDetails_1.PayToDetails, "PayUUpiDetails": payUUpiDetails_1.PayUUpiDetails, "PayWithGoogleDetails": payWithGoogleDetails_1.PayWithGoogleDetails, "PayWithGoogleDonations": payWithGoogleDonations_1.PayWithGoogleDonations, "Payment": payment_1.Payment, "PaymentAmountUpdateRequest": paymentAmountUpdateRequest_1.PaymentAmountUpdateRequest, "PaymentAmountUpdateResponse": paymentAmountUpdateResponse_1.PaymentAmountUpdateResponse, "PaymentCancelRequest": paymentCancelRequest_1.PaymentCancelRequest, "PaymentCancelResponse": paymentCancelResponse_1.PaymentCancelResponse, "PaymentCaptureRequest": paymentCaptureRequest_1.PaymentCaptureRequest, "PaymentCaptureResponse": paymentCaptureResponse_1.PaymentCaptureResponse, "PaymentCompletionDetails": paymentCompletionDetails_1.PaymentCompletionDetails, "PaymentDetails": paymentDetails_1.PaymentDetails, "PaymentDetailsRequest": paymentDetailsRequest_1.PaymentDetailsRequest, "PaymentDetailsResponse": paymentDetailsResponse_1.PaymentDetailsResponse, "PaymentLinkRequest": paymentLinkRequest_1.PaymentLinkRequest, "PaymentLinkResponse": paymentLinkResponse_1.PaymentLinkResponse, "PaymentMethod": paymentMethod_1.PaymentMethod, "PaymentMethodGroup": paymentMethodGroup_1.PaymentMethodGroup, "PaymentMethodIssuer": paymentMethodIssuer_1.PaymentMethodIssuer, "PaymentMethodToStore": paymentMethodToStore_1.PaymentMethodToStore, "PaymentMethodUPIApps": paymentMethodUPIApps_1.PaymentMethodUPIApps, "PaymentMethodsRequest": paymentMethodsRequest_1.PaymentMethodsRequest, "PaymentMethodsResponse": paymentMethodsResponse_1.PaymentMethodsResponse, "PaymentRefundRequest": paymentRefundRequest_1.PaymentRefundRequest, "PaymentRefundResponse": paymentRefundResponse_1.PaymentRefundResponse, "PaymentRequest": paymentRequest_1.PaymentRequest, "PaymentRequestPaymentMethod": paymentRequestPaymentMethod_1.PaymentRequestPaymentMethodClass, "PaymentResponse": paymentResponse_1.PaymentResponse, "PaymentResponseAction": paymentResponseAction_1.PaymentResponseActionClass, "PaymentReversalRequest": paymentReversalRequest_1.PaymentReversalRequest, "PaymentReversalResponse": paymentReversalResponse_1.PaymentReversalResponse, "PaypalUpdateOrderRequest": paypalUpdateOrderRequest_1.PaypalUpdateOrderRequest, "PaypalUpdateOrderResponse": paypalUpdateOrderResponse_1.PaypalUpdateOrderResponse, "Phone": phone_1.Phone, "PixDetails": pixDetails_1.PixDetails, "PixRecurring": pixRecurring_1.PixRecurring, "PlatformChargebackLogic": platformChargebackLogic_1.PlatformChargebackLogic, "PseDetails": pseDetails_1.PseDetails, "RakutenPayDetails": rakutenPayDetails_1.RakutenPayDetails, "RatepayDetails": ratepayDetails_1.RatepayDetails, "Recurring": recurring_1.Recurring, "ResponseAdditionalData3DSecure": responseAdditionalData3DSecure_1.ResponseAdditionalData3DSecure, "ResponseAdditionalDataBillingAddress": responseAdditionalDataBillingAddress_1.ResponseAdditionalDataBillingAddress, "ResponseAdditionalDataCard": responseAdditionalDataCard_1.ResponseAdditionalDataCard, "ResponseAdditionalDataCommon": responseAdditionalDataCommon_1.ResponseAdditionalDataCommon, "ResponseAdditionalDataDomesticError": responseAdditionalDataDomesticError_1.ResponseAdditionalDataDomesticError, "ResponseAdditionalDataInstallments": responseAdditionalDataInstallments_1.ResponseAdditionalDataInstallments, "ResponseAdditionalDataNetworkTokens": responseAdditionalDataNetworkTokens_1.ResponseAdditionalDataNetworkTokens, "ResponseAdditionalDataOpi": responseAdditionalDataOpi_1.ResponseAdditionalDataOpi, "ResponseAdditionalDataSepa": responseAdditionalDataSepa_1.ResponseAdditionalDataSepa, "ResponsePaymentMethod": responsePaymentMethod_1.ResponsePaymentMethod, "RiskData": riskData_1.RiskData, "RivertyDetails": rivertyDetails_1.RivertyDetails, "SDKEphemPubKey": sDKEphemPubKey_1.SDKEphemPubKey, "SamsungPayDetails": samsungPayDetails_1.SamsungPayDetails, "SepaDirectDebitDetails": sepaDirectDebitDetails_1.SepaDirectDebitDetails, "ServiceError": serviceError_1.ServiceError, "SessionResultResponse": sessionResultResponse_1.SessionResultResponse, "ShopperInteractionDevice": shopperInteractionDevice_1.ShopperInteractionDevice, "Split": split_1.Split, "SplitAmount": splitAmount_1.SplitAmount, "StandalonePaymentCancelRequest": standalonePaymentCancelRequest_1.StandalonePaymentCancelRequest, "StandalonePaymentCancelResponse": standalonePaymentCancelResponse_1.StandalonePaymentCancelResponse, "StoredPaymentMethod": storedPaymentMethod_1.StoredPaymentMethod, "StoredPaymentMethodDetails": storedPaymentMethodDetails_1.StoredPaymentMethodDetails, "StoredPaymentMethodRequest": storedPaymentMethodRequest_1.StoredPaymentMethodRequest, "StoredPaymentMethodResource": storedPaymentMethodResource_1.StoredPaymentMethodResource, "SubInputDetail": subInputDetail_1.SubInputDetail, "SubMerchant": subMerchant_1.SubMerchant, "SubMerchantInfo": subMerchantInfo_1.SubMerchantInfo, "Surcharge": surcharge_1.Surcharge, "TaxTotal": taxTotal_1.TaxTotal, "ThreeDS2RequestData": threeDS2RequestData_1.ThreeDS2RequestData, "ThreeDS2RequestFields": threeDS2RequestFields_1.ThreeDS2RequestFields, "ThreeDS2ResponseData": threeDS2ResponseData_1.ThreeDS2ResponseData, "ThreeDS2Result": threeDS2Result_1.ThreeDS2Result, "ThreeDSRequestData": threeDSRequestData_1.ThreeDSRequestData, "ThreeDSRequestorAuthenticationInfo": threeDSRequestorAuthenticationInfo_1.ThreeDSRequestorAuthenticationInfo, "ThreeDSRequestorPriorAuthenticationInfo": threeDSRequestorPriorAuthenticationInfo_1.ThreeDSRequestorPriorAuthenticationInfo, "ThreeDSecureData": threeDSecureData_1.ThreeDSecureData, "Ticket": ticket_1.Ticket, "TravelAgency": travelAgency_1.TravelAgency, "TwintDetails": twintDetails_1.TwintDetails, "UpdatePaymentLinkRequest": updatePaymentLinkRequest_1.UpdatePaymentLinkRequest, "UpiCollectDetails": upiCollectDetails_1.UpiCollectDetails, "UpiIntentDetails": upiIntentDetails_1.UpiIntentDetails, "UtilityRequest": utilityRequest_1.UtilityRequest, "UtilityResponse": utilityResponse_1.UtilityResponse, "VippsDetails": vippsDetails_1.VippsDetails, "VisaCheckoutDetails": visaCheckoutDetails_1.VisaCheckoutDetails, "WeChatPayDetails": weChatPayDetails_1.WeChatPayDetails, "WeChatPayMiniProgramDetails": weChatPayMiniProgramDetails_1.WeChatPayMiniProgramDetails, "ZipDetails": zipDetails_1.ZipDetails, }; /** * Every mime-type consists of a type, subtype, and optional parameters. * The subtype can be composite, including information about the content format. * For example: `application/json-patch+json`, `application/merge-patch+json`. * * This helper transforms a string mime-type into an internal representation. * This simplifies the implementation of predicates that in turn define common rules for parsing or stringifying * the payload. */ const parseMimeType = (mimeType) => { const [type = '', subtype = ''] = mimeType.split('/'); return { type, subtype, subtypeTokens: subtype.split('+'), }; }; // This factory creates a predicate function that checks a string mime-type against defined rules. const mimeTypePredicateFactory = (predicate) => (mimeType) => predicate(parseMimeType(mimeType)); // Use this factory when you need to define a simple predicate based only on type and, if applicable, subtype. const mimeTypeSimplePredicateFactory = (type, subtype) => mimeTypePredicateFactory((descriptor) => { if (descriptor.type !== type) return false; if (subtype != null && descriptor.subtype !== subtype) return false; return true; }); // Creating a set of named predicates that will help us determine how to handle different mime-types const isTextLikeMimeType = mimeTypeSimplePredicateFactory('text'); const isJsonMimeType = mimeTypeSimplePredicateFactory('application', 'json'); const isJsonLikeMimeType = mimeTypePredicateFactory((descriptor) => descriptor.type === 'application' && descriptor.subtypeTokens.some((item) => item === 'json')); const isOctetStreamMimeType = mimeTypeSimplePredicateFactory('application', 'octet-stream'); const isFormUrlencodedMimeType = mimeTypeSimplePredicateFactory('application', 'x-www-form-urlencoded'); // Defining a list of mime-types in the order of prioritization for handling. const supportedMimeTypePredicatesWithPriority = [ isJsonMimeType, isJsonLikeMimeType, isTextLikeMimeType, isOctetStreamMimeType, isFormUrlencodedMimeType, ]; const nullableSuffix = " | null"; const optionalSuffix = " | undefined"; const arrayPrefix = "Array<"; const arraySuffix = ">"; const mapPrefix = "{ [key: string]: "; const mapSuffix = "; }"; class ObjectSerializer { static findCorrectType(data, expectedType) { if (data == undefined) { return expectedType; } else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) { return expectedType; } else if (expectedType === "Date") { return expectedType; } else { if (enumsMap.has(expectedType)) { return expectedType; } if (!typeMap[expectedType]) { return expectedType; // w/e we don't know the type } // Check the discriminator let discriminatorProperty = typeMap[expectedType].discriminator; if (discriminatorProperty == null) { return expectedType; // the type does not have a discriminator. use it. } else { if (data[discriminatorProperty]) { var discriminatorType = data[discriminatorProperty]; let mapping = typeMap[expectedType].mapping; if (mapping != undefined && mapping[discriminatorType]) { return mapping[discriminatorType]; // use the type given in the discriminator } else if (typeMap[discriminatorType]) { return discriminatorType; } else { return expectedType; // discriminator did not map to a type } } else { return expectedType; // discriminator was not present (or an empty string) } } } } /** * Serializes a value into a plain JSON-compatible object based on its type. * * Supports primitives, arrays, maps, dates, enums, and classes defined in `typeMap`. * Falls back to raw data if type is unknown or lacks `getAttributeTypeMap()`. * * @param data - The value to serialize. * @param type - The expected type name as a string. * @param format - Format hint (e.g. "date" or "date-time"). Default is an empty string. * @returns A JSON-compatible representation of `data`. */ static serialize(data, type, format = "") { if (data == undefined) { return data; } else if (primitives.indexOf(type.toLowerCase()) !== -1) { return data; } else if (type.endsWith(nullableSuffix)) { let subType = type.slice(0, -nullableSuffix.length); // Type | null => Type return ObjectSerializer.serialize(data, subType, format); } else if (type.endsWith(optionalSuffix)) { let subType = type.slice(0, -optionalSuffix.length); // Type | undefined => Type return ObjectSerializer.serialize(data, subType, format); } else if (type.startsWith(arrayPrefix)) { let subType = type.slice(arrayPrefix.length, -arraySuffix.length); // Array<Type> => Type let transformedData = []; for (let date of data) { transformedData.push(ObjectSerializer.serialize(date, subType, format)); } return transformedData; } else if (type.startsWith(mapPrefix)) { let subType = type.slice(mapPrefix.length, -mapSuffix.length); // { [key: string]: Type; } => Type let transformedData = {}; for (let key in data) { transformedData[key] = ObjectSerializer.serialize(data[key], subType, format); } return transformedData; } else if (type === "Date") { if (format == "date") { let month = data.getMonth() + 1; month = month < 10 ? "0" + month.toString() : month.toString(); let day = data.getDate(); day = day < 10 ? "0" + day.toString() : day.toString(); return data.getFullYear() + "-" + month + "-" + day; } else { return data.toISOString(); } } else { if (enumsMap.has(type)) { return data; } if (!typeMap[type]) { // in case we dont know the type return data; } // Get the actual type of this object type = this.findCorrectType(data, type); const clazz = typeMap[type]; // Safe check for getAttributeTypeMap if (typeof clazz.getAttributeTypeMap !== "function") { return { ...data }; // fallback: shallow copy } // get the map for the correct type. let attributeTypes = typeMap[type].getAttributeTypeMap(); let instance = {}; for (let attributeType of attributeTypes) { instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type, attributeType.format); } return instance; } } /** * Deserializes a plain JSON-compatible object into a typed instance. * * Handles primitives, arrays, maps, dates, enums, and known classes from `typeMap`. * Uses discriminators when available to resolve polymorphic types. * Falls back to raw data if the type is unknown or lacks `getAttributeTypeMap()`. * * @param data - The raw input to deserialize. * @param type - The expected type name as a string. * @param format - Format hint (e.g. "date" or "date-time"). Default is an empty string. * @returns A deserialized instance or value of `data`. */ static deserialize(data, type, format = "") { // polymorphism may change the actual type. type = ObjectSerializer.findCorrectType(data, type); if (data == undefined) { return data; } else if (primitives.indexOf(type.toLowerCase()) !== -1) { return data; } else if (type.endsWith(nullableSuffix)) { let subType = type.slice(0, -nullableSuffix.length); // Type | null => Type return ObjectSerializer.deserialize(data, subType, format); } else if (type.endsWith(optionalSuffix)) { let subType = type.slice(0, -optionalSuffix.length); // Type | undefined => Type return ObjectSerializer.deserialize(data, subType, format); } else if (type.startsWith(arrayPrefix)) { let subType = type.slice(arrayPrefix.length, -arraySuffix.length); // Array<Type> => Type let transformedData = []; for (let date of data) { transformedData.push(ObjectSerializer.deserialize(date, subType, format)); } return transformedData; } else if (type.startsWith(mapPrefix)) { let subType = type.slice(mapPrefix.length, -mapSuffix.length); // { [key: string]: Type; } => Type let transformedData = {}; for (let key in data) { transformedData[key] = ObjectSerializer.deserialize(data[key], subType, format); } return transformedData; } else if (type === "Date") { return new Date(data); } else { if (enumsMap.has(type)) { // is Enum return data; } if (!typeMap[type]) { // dont know the type return data; } let instance = new typeMap[type](); // Safe check for getAttributeTypeMap if (typeof typeMap[type].getAttributeTypeMap !== "function") { Object.assign(instance, data); // fallback: shallow copy return instance; } let attributeTypes = typeMap[type].getAttributeTypeMap(); for (let attributeType of attributeTypes) { let value = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type, attributeType.format); if (value !== undefined) { instance[attributeType.name] = value; } } return instance; } } /** * Normalize media type * * We currently do not handle any media types attributes, i.e. anything * after a semicolon. All content is assumed to be UTF-8 compatible. */ static normalizeMediaType(mediaType) { var _a; if (mediaType === undefined) { return undefined; } return ((_a = mediaType.split(";")[0]) !== null && _a !== void 0 ? _a : '').trim().toLowerCase(); } /** * From a list of possible media types, choose the one we can handle best. * * The order of the given media types does not have any impact on the choice * made. */ static getPreferredMediaType(mediaTypes) { /** According to OAS 3 we should default to json */ if (mediaTypes.length === 0) { return "application/json"; } const normalMediaTypes = mediaTypes.map(ObjectSerializer.normalizeMediaType); for (const predicate of supportedMimeTypePredicatesWithPriority) { for (const mediaType of normalMediaTypes) { if (mediaType != null && predicate(mediaType)) { return mediaType; } } } throw new Error("None of the given media types are supported: " + mediaTypes.join(", ")); } /** * Convert data to a string according the given media type */ static stringify(data, mediaType) { if (isTextLikeMimeType(mediaType)) { return String(data); } if (isJsonLikeMimeType(mediaType)) { return JSON.stringify(data); } throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.stringify."); } /**