@adyen/api-library
Version:
The Adyen API Library for NodeJS enables you to work with Adyen APIs.
479 lines • 27.9 kB
JavaScript
"use strict";
/*
* The version of the OpenAPI document: v4
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit this class manually.
*/
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("./aULocalAccountIdentification"), exports);
__exportStar(require("./additionalBankIdentification"), exports);
__exportStar(require("./address"), exports);
__exportStar(require("./airline"), exports);
__exportStar(require("./amount"), exports);
__exportStar(require("./amountAdjustment"), exports);
__exportStar(require("./approveTransfersRequest"), exports);
__exportStar(require("./bRLocalAccountIdentification"), exports);
__exportStar(require("./balanceMutation"), exports);
__exportStar(require("./bankAccountV3"), exports);
__exportStar(require("./bankCategoryData"), exports);
__exportStar(require("./cALocalAccountIdentification"), exports);
__exportStar(require("./cZLocalAccountIdentification"), exports);
__exportStar(require("./cancelTransfersRequest"), exports);
__exportStar(require("./capitalBalance"), exports);
__exportStar(require("./capitalGrant"), exports);
__exportStar(require("./capitalGrantInfo"), exports);
__exportStar(require("./capitalGrants"), exports);
__exportStar(require("./card"), exports);
__exportStar(require("./cardIdentification"), exports);
__exportStar(require("./confirmationTrackingData"), exports);
__exportStar(require("./counterparty"), exports);
__exportStar(require("./counterpartyInfoV3"), exports);
__exportStar(require("./counterpartyV3"), exports);
__exportStar(require("./dKLocalAccountIdentification"), exports);
__exportStar(require("./directDebitInformation"), exports);
__exportStar(require("./estimationTrackingData"), exports);
__exportStar(require("./externalReason"), exports);
__exportStar(require("./fee"), exports);
__exportStar(require("./findTransfersResponse"), exports);
__exportStar(require("./hKLocalAccountIdentification"), exports);
__exportStar(require("./hULocalAccountIdentification"), exports);
__exportStar(require("./ibanAccountIdentification"), exports);
__exportStar(require("./internalCategoryData"), exports);
__exportStar(require("./internalReviewTrackingData"), exports);
__exportStar(require("./invalidField"), exports);
__exportStar(require("./issuedCard"), exports);
__exportStar(require("./issuingTransactionData"), exports);
__exportStar(require("./leg"), exports);
__exportStar(require("./link"), exports);
__exportStar(require("./links"), exports);
__exportStar(require("./lodging"), exports);
__exportStar(require("./merchantData"), exports);
__exportStar(require("./merchantPurchaseData"), exports);
__exportStar(require("./modification"), exports);
__exportStar(require("./nOLocalAccountIdentification"), exports);
__exportStar(require("./nZLocalAccountIdentification"), exports);
__exportStar(require("./nameLocation"), exports);
__exportStar(require("./numberAndBicAccountIdentification"), exports);
__exportStar(require("./pLLocalAccountIdentification"), exports);
__exportStar(require("./partyIdentification"), exports);
__exportStar(require("./paymentInstrument"), exports);
__exportStar(require("./platformPayment"), exports);
__exportStar(require("./relayedAuthorisationData"), exports);
__exportStar(require("./repayment"), exports);
__exportStar(require("./repaymentTerm"), exports);
__exportStar(require("./resourceReference"), exports);
__exportStar(require("./restServiceError"), exports);
__exportStar(require("./returnTransferRequest"), exports);
__exportStar(require("./returnTransferResponse"), exports);
__exportStar(require("./routingDetails"), exports);
__exportStar(require("./sELocalAccountIdentification"), exports);
__exportStar(require("./sGLocalAccountIdentification"), exports);
__exportStar(require("./serviceError"), exports);
__exportStar(require("./thresholdRepayment"), exports);
__exportStar(require("./transaction"), exports);
__exportStar(require("./transactionEventViolation"), exports);
__exportStar(require("./transactionRuleReference"), exports);
__exportStar(require("./transactionRuleSource"), exports);
__exportStar(require("./transactionRulesResult"), exports);
__exportStar(require("./transactionSearchResponse"), exports);
__exportStar(require("./transfer"), exports);
__exportStar(require("./transferData"), exports);
__exportStar(require("./transferEvent"), exports);
__exportStar(require("./transferInfo"), exports);
__exportStar(require("./transferNotificationCounterParty"), exports);
__exportStar(require("./transferNotificationMerchantData"), exports);
__exportStar(require("./transferNotificationValidationFact"), exports);
__exportStar(require("./transferRequestReview"), exports);
__exportStar(require("./transferReview"), exports);
__exportStar(require("./transferServiceRestServiceError"), exports);
__exportStar(require("./transferView"), exports);
__exportStar(require("./uKLocalAccountIdentification"), exports);
__exportStar(require("./uSLocalAccountIdentification"), exports);
__exportStar(require("./ultimatePartyIdentification"), exports);
const aULocalAccountIdentification_1 = require("./aULocalAccountIdentification");
const additionalBankIdentification_1 = require("./additionalBankIdentification");
const address_1 = require("./address");
const airline_1 = require("./airline");
const amount_1 = require("./amount");
const amountAdjustment_1 = require("./amountAdjustment");
const approveTransfersRequest_1 = require("./approveTransfersRequest");
const bRLocalAccountIdentification_1 = require("./bRLocalAccountIdentification");
const balanceMutation_1 = require("./balanceMutation");
const bankAccountV3_1 = require("./bankAccountV3");
const bankCategoryData_1 = require("./bankCategoryData");
const cALocalAccountIdentification_1 = require("./cALocalAccountIdentification");
const cZLocalAccountIdentification_1 = require("./cZLocalAccountIdentification");
const cancelTransfersRequest_1 = require("./cancelTransfersRequest");
const capitalBalance_1 = require("./capitalBalance");
const capitalGrant_1 = require("./capitalGrant");
const capitalGrantInfo_1 = require("./capitalGrantInfo");
const capitalGrants_1 = require("./capitalGrants");
const card_1 = require("./card");
const cardIdentification_1 = require("./cardIdentification");
const confirmationTrackingData_1 = require("./confirmationTrackingData");
const counterparty_1 = require("./counterparty");
const counterpartyInfoV3_1 = require("./counterpartyInfoV3");
const counterpartyV3_1 = require("./counterpartyV3");
const dKLocalAccountIdentification_1 = require("./dKLocalAccountIdentification");
const directDebitInformation_1 = require("./directDebitInformation");
const estimationTrackingData_1 = require("./estimationTrackingData");
const externalReason_1 = require("./externalReason");
const fee_1 = require("./fee");
const findTransfersResponse_1 = require("./findTransfersResponse");
const hKLocalAccountIdentification_1 = require("./hKLocalAccountIdentification");
const hULocalAccountIdentification_1 = require("./hULocalAccountIdentification");
const ibanAccountIdentification_1 = require("./ibanAccountIdentification");
const internalCategoryData_1 = require("./internalCategoryData");
const internalReviewTrackingData_1 = require("./internalReviewTrackingData");
const invalidField_1 = require("./invalidField");
const issuedCard_1 = require("./issuedCard");
const issuingTransactionData_1 = require("./issuingTransactionData");
const leg_1 = require("./leg");
const link_1 = require("./link");
const links_1 = require("./links");
const lodging_1 = require("./lodging");
const merchantData_1 = require("./merchantData");
const merchantPurchaseData_1 = require("./merchantPurchaseData");
const modification_1 = require("./modification");
const nOLocalAccountIdentification_1 = require("./nOLocalAccountIdentification");
const nZLocalAccountIdentification_1 = require("./nZLocalAccountIdentification");
const nameLocation_1 = require("./nameLocation");
const numberAndBicAccountIdentification_1 = require("./numberAndBicAccountIdentification");
const pLLocalAccountIdentification_1 = require("./pLLocalAccountIdentification");
const partyIdentification_1 = require("./partyIdentification");
const paymentInstrument_1 = require("./paymentInstrument");
const platformPayment_1 = require("./platformPayment");
const relayedAuthorisationData_1 = require("./relayedAuthorisationData");
const repayment_1 = require("./repayment");
const repaymentTerm_1 = require("./repaymentTerm");
const resourceReference_1 = require("./resourceReference");
const restServiceError_1 = require("./restServiceError");
const returnTransferRequest_1 = require("./returnTransferRequest");
const returnTransferResponse_1 = require("./returnTransferResponse");
const routingDetails_1 = require("./routingDetails");
const sELocalAccountIdentification_1 = require("./sELocalAccountIdentification");
const sGLocalAccountIdentification_1 = require("./sGLocalAccountIdentification");
const serviceError_1 = require("./serviceError");
const thresholdRepayment_1 = require("./thresholdRepayment");
const transaction_1 = require("./transaction");
const transactionEventViolation_1 = require("./transactionEventViolation");
const transactionRuleReference_1 = require("./transactionRuleReference");
const transactionRuleSource_1 = require("./transactionRuleSource");
const transactionRulesResult_1 = require("./transactionRulesResult");
const transactionSearchResponse_1 = require("./transactionSearchResponse");
const transfer_1 = require("./transfer");
const transferData_1 = require("./transferData");
const transferEvent_1 = require("./transferEvent");
const transferInfo_1 = require("./transferInfo");
const transferNotificationCounterParty_1 = require("./transferNotificationCounterParty");
const transferNotificationMerchantData_1 = require("./transferNotificationMerchantData");
const transferNotificationValidationFact_1 = require("./transferNotificationValidationFact");
const transferRequestReview_1 = require("./transferRequestReview");
const transferReview_1 = require("./transferReview");
const transferServiceRestServiceError_1 = require("./transferServiceRestServiceError");
const transferView_1 = require("./transferView");
const uKLocalAccountIdentification_1 = require("./uKLocalAccountIdentification");
const uSLocalAccountIdentification_1 = require("./uSLocalAccountIdentification");
const ultimatePartyIdentification_1 = require("./ultimatePartyIdentification");
/* tslint:disable:no-unused-variable */
let primitives = [
"string",
"boolean",
"double",
"integer",
"long",
"float",
"number",
"any"
];
let enumsMap = {
"AULocalAccountIdentification.TypeEnum": aULocalAccountIdentification_1.AULocalAccountIdentification.TypeEnum,
"AdditionalBankIdentification.TypeEnum": additionalBankIdentification_1.AdditionalBankIdentification.TypeEnum,
"AmountAdjustment.AmountAdjustmentTypeEnum": amountAdjustment_1.AmountAdjustment.AmountAdjustmentTypeEnum,
"BRLocalAccountIdentification.TypeEnum": bRLocalAccountIdentification_1.BRLocalAccountIdentification.TypeEnum,
"BankCategoryData.PriorityEnum": bankCategoryData_1.BankCategoryData.PriorityEnum,
"BankCategoryData.TypeEnum": bankCategoryData_1.BankCategoryData.TypeEnum,
"CALocalAccountIdentification.AccountTypeEnum": cALocalAccountIdentification_1.CALocalAccountIdentification.AccountTypeEnum,
"CALocalAccountIdentification.TypeEnum": cALocalAccountIdentification_1.CALocalAccountIdentification.TypeEnum,
"CZLocalAccountIdentification.TypeEnum": cZLocalAccountIdentification_1.CZLocalAccountIdentification.TypeEnum,
"CapitalGrant.StatusEnum": capitalGrant_1.CapitalGrant.StatusEnum,
"ConfirmationTrackingData.StatusEnum": confirmationTrackingData_1.ConfirmationTrackingData.StatusEnum,
"ConfirmationTrackingData.TypeEnum": confirmationTrackingData_1.ConfirmationTrackingData.TypeEnum,
"DKLocalAccountIdentification.TypeEnum": dKLocalAccountIdentification_1.DKLocalAccountIdentification.TypeEnum,
"EstimationTrackingData.TypeEnum": estimationTrackingData_1.EstimationTrackingData.TypeEnum,
"HKLocalAccountIdentification.TypeEnum": hKLocalAccountIdentification_1.HKLocalAccountIdentification.TypeEnum,
"HULocalAccountIdentification.TypeEnum": hULocalAccountIdentification_1.HULocalAccountIdentification.TypeEnum,
"IbanAccountIdentification.TypeEnum": ibanAccountIdentification_1.IbanAccountIdentification.TypeEnum,
"InternalCategoryData.TypeEnum": internalCategoryData_1.InternalCategoryData.TypeEnum,
"InternalReviewTrackingData.ReasonEnum": internalReviewTrackingData_1.InternalReviewTrackingData.ReasonEnum,
"InternalReviewTrackingData.StatusEnum": internalReviewTrackingData_1.InternalReviewTrackingData.StatusEnum,
"InternalReviewTrackingData.TypeEnum": internalReviewTrackingData_1.InternalReviewTrackingData.TypeEnum,
"IssuedCard.PanEntryModeEnum": issuedCard_1.IssuedCard.PanEntryModeEnum,
"IssuedCard.ProcessingTypeEnum": issuedCard_1.IssuedCard.ProcessingTypeEnum,
"IssuedCard.TypeEnum": issuedCard_1.IssuedCard.TypeEnum,
"IssuingTransactionData.TypeEnum": issuingTransactionData_1.IssuingTransactionData.TypeEnum,
"MerchantPurchaseData.TypeEnum": merchantPurchaseData_1.MerchantPurchaseData.TypeEnum,
"Modification.StatusEnum": modification_1.Modification.StatusEnum,
"NOLocalAccountIdentification.TypeEnum": nOLocalAccountIdentification_1.NOLocalAccountIdentification.TypeEnum,
"NZLocalAccountIdentification.TypeEnum": nZLocalAccountIdentification_1.NZLocalAccountIdentification.TypeEnum,
"NumberAndBicAccountIdentification.TypeEnum": numberAndBicAccountIdentification_1.NumberAndBicAccountIdentification.TypeEnum,
"PLLocalAccountIdentification.TypeEnum": pLLocalAccountIdentification_1.PLLocalAccountIdentification.TypeEnum,
"PartyIdentification.TypeEnum": partyIdentification_1.PartyIdentification.TypeEnum,
"PlatformPayment.PlatformPaymentTypeEnum": platformPayment_1.PlatformPayment.PlatformPaymentTypeEnum,
"PlatformPayment.TypeEnum": platformPayment_1.PlatformPayment.TypeEnum,
"ReturnTransferResponse.StatusEnum": returnTransferResponse_1.ReturnTransferResponse.StatusEnum,
"RoutingDetails.PriorityEnum": routingDetails_1.RoutingDetails.PriorityEnum,
"SELocalAccountIdentification.TypeEnum": sELocalAccountIdentification_1.SELocalAccountIdentification.TypeEnum,
"SGLocalAccountIdentification.TypeEnum": sGLocalAccountIdentification_1.SGLocalAccountIdentification.TypeEnum,
"Transaction.StatusEnum": transaction_1.Transaction.StatusEnum,
"Transfer.CategoryEnum": transfer_1.Transfer.CategoryEnum,
"Transfer.DirectionEnum": transfer_1.Transfer.DirectionEnum,
"Transfer.ReasonEnum": transfer_1.Transfer.ReasonEnum,
"Transfer.StatusEnum": transfer_1.Transfer.StatusEnum,
"Transfer.TypeEnum": transfer_1.Transfer.TypeEnum,
"TransferData.CategoryEnum": transferData_1.TransferData.CategoryEnum,
"TransferData.DirectionEnum": transferData_1.TransferData.DirectionEnum,
"TransferData.ReasonEnum": transferData_1.TransferData.ReasonEnum,
"TransferData.StatusEnum": transferData_1.TransferData.StatusEnum,
"TransferData.TypeEnum": transferData_1.TransferData.TypeEnum,
"TransferEvent.ReasonEnum": transferEvent_1.TransferEvent.ReasonEnum,
"TransferEvent.StatusEnum": transferEvent_1.TransferEvent.StatusEnum,
"TransferEvent.TypeEnum": transferEvent_1.TransferEvent.TypeEnum,
"TransferInfo.CategoryEnum": transferInfo_1.TransferInfo.CategoryEnum,
"TransferInfo.PrioritiesEnum": transferInfo_1.TransferInfo.PrioritiesEnum,
"TransferInfo.PriorityEnum": transferInfo_1.TransferInfo.PriorityEnum,
"TransferInfo.TypeEnum": transferInfo_1.TransferInfo.TypeEnum,
"TransferReview.ScaOnApprovalEnum": transferReview_1.TransferReview.ScaOnApprovalEnum,
"UKLocalAccountIdentification.TypeEnum": uKLocalAccountIdentification_1.UKLocalAccountIdentification.TypeEnum,
"USLocalAccountIdentification.AccountTypeEnum": uSLocalAccountIdentification_1.USLocalAccountIdentification.AccountTypeEnum,
"USLocalAccountIdentification.TypeEnum": uSLocalAccountIdentification_1.USLocalAccountIdentification.TypeEnum,
"UltimatePartyIdentification.TypeEnum": ultimatePartyIdentification_1.UltimatePartyIdentification.TypeEnum,
};
let typeMap = {
"AULocalAccountIdentification": aULocalAccountIdentification_1.AULocalAccountIdentification,
"AdditionalBankIdentification": additionalBankIdentification_1.AdditionalBankIdentification,
"Address": address_1.Address,
"Airline": airline_1.Airline,
"Amount": amount_1.Amount,
"AmountAdjustment": amountAdjustment_1.AmountAdjustment,
"ApproveTransfersRequest": approveTransfersRequest_1.ApproveTransfersRequest,
"BRLocalAccountIdentification": bRLocalAccountIdentification_1.BRLocalAccountIdentification,
"BalanceMutation": balanceMutation_1.BalanceMutation,
"BankAccountV3": bankAccountV3_1.BankAccountV3,
"BankCategoryData": bankCategoryData_1.BankCategoryData,
"CALocalAccountIdentification": cALocalAccountIdentification_1.CALocalAccountIdentification,
"CZLocalAccountIdentification": cZLocalAccountIdentification_1.CZLocalAccountIdentification,
"CancelTransfersRequest": cancelTransfersRequest_1.CancelTransfersRequest,
"CapitalBalance": capitalBalance_1.CapitalBalance,
"CapitalGrant": capitalGrant_1.CapitalGrant,
"CapitalGrantInfo": capitalGrantInfo_1.CapitalGrantInfo,
"CapitalGrants": capitalGrants_1.CapitalGrants,
"Card": card_1.Card,
"CardIdentification": cardIdentification_1.CardIdentification,
"ConfirmationTrackingData": confirmationTrackingData_1.ConfirmationTrackingData,
"Counterparty": counterparty_1.Counterparty,
"CounterpartyInfoV3": counterpartyInfoV3_1.CounterpartyInfoV3,
"CounterpartyV3": counterpartyV3_1.CounterpartyV3,
"DKLocalAccountIdentification": dKLocalAccountIdentification_1.DKLocalAccountIdentification,
"DirectDebitInformation": directDebitInformation_1.DirectDebitInformation,
"EstimationTrackingData": estimationTrackingData_1.EstimationTrackingData,
"ExternalReason": externalReason_1.ExternalReason,
"Fee": fee_1.Fee,
"FindTransfersResponse": findTransfersResponse_1.FindTransfersResponse,
"HKLocalAccountIdentification": hKLocalAccountIdentification_1.HKLocalAccountIdentification,
"HULocalAccountIdentification": hULocalAccountIdentification_1.HULocalAccountIdentification,
"IbanAccountIdentification": ibanAccountIdentification_1.IbanAccountIdentification,
"InternalCategoryData": internalCategoryData_1.InternalCategoryData,
"InternalReviewTrackingData": internalReviewTrackingData_1.InternalReviewTrackingData,
"InvalidField": invalidField_1.InvalidField,
"IssuedCard": issuedCard_1.IssuedCard,
"IssuingTransactionData": issuingTransactionData_1.IssuingTransactionData,
"Leg": leg_1.Leg,
"Link": link_1.Link,
"Links": links_1.Links,
"Lodging": lodging_1.Lodging,
"MerchantData": merchantData_1.MerchantData,
"MerchantPurchaseData": merchantPurchaseData_1.MerchantPurchaseData,
"Modification": modification_1.Modification,
"NOLocalAccountIdentification": nOLocalAccountIdentification_1.NOLocalAccountIdentification,
"NZLocalAccountIdentification": nZLocalAccountIdentification_1.NZLocalAccountIdentification,
"NameLocation": nameLocation_1.NameLocation,
"NumberAndBicAccountIdentification": numberAndBicAccountIdentification_1.NumberAndBicAccountIdentification,
"PLLocalAccountIdentification": pLLocalAccountIdentification_1.PLLocalAccountIdentification,
"PartyIdentification": partyIdentification_1.PartyIdentification,
"PaymentInstrument": paymentInstrument_1.PaymentInstrument,
"PlatformPayment": platformPayment_1.PlatformPayment,
"RelayedAuthorisationData": relayedAuthorisationData_1.RelayedAuthorisationData,
"Repayment": repayment_1.Repayment,
"RepaymentTerm": repaymentTerm_1.RepaymentTerm,
"ResourceReference": resourceReference_1.ResourceReference,
"RestServiceError": restServiceError_1.RestServiceError,
"ReturnTransferRequest": returnTransferRequest_1.ReturnTransferRequest,
"ReturnTransferResponse": returnTransferResponse_1.ReturnTransferResponse,
"RoutingDetails": routingDetails_1.RoutingDetails,
"SELocalAccountIdentification": sELocalAccountIdentification_1.SELocalAccountIdentification,
"SGLocalAccountIdentification": sGLocalAccountIdentification_1.SGLocalAccountIdentification,
"ServiceError": serviceError_1.ServiceError,
"ThresholdRepayment": thresholdRepayment_1.ThresholdRepayment,
"Transaction": transaction_1.Transaction,
"TransactionEventViolation": transactionEventViolation_1.TransactionEventViolation,
"TransactionRuleReference": transactionRuleReference_1.TransactionRuleReference,
"TransactionRuleSource": transactionRuleSource_1.TransactionRuleSource,
"TransactionRulesResult": transactionRulesResult_1.TransactionRulesResult,
"TransactionSearchResponse": transactionSearchResponse_1.TransactionSearchResponse,
"Transfer": transfer_1.Transfer,
"TransferData": transferData_1.TransferData,
"TransferEvent": transferEvent_1.TransferEvent,
"TransferInfo": transferInfo_1.TransferInfo,
"TransferNotificationCounterParty": transferNotificationCounterParty_1.TransferNotificationCounterParty,
"TransferNotificationMerchantData": transferNotificationMerchantData_1.TransferNotificationMerchantData,
"TransferNotificationValidationFact": transferNotificationValidationFact_1.TransferNotificationValidationFact,
"TransferRequestReview": transferRequestReview_1.TransferRequestReview,
"TransferReview": transferReview_1.TransferReview,
"TransferServiceRestServiceError": transferServiceRestServiceError_1.TransferServiceRestServiceError,
"TransferView": transferView_1.TransferView,
"UKLocalAccountIdentification": uKLocalAccountIdentification_1.UKLocalAccountIdentification,
"USLocalAccountIdentification": uSLocalAccountIdentification_1.USLocalAccountIdentification,
"UltimatePartyIdentification": ultimatePartyIdentification_1.UltimatePartyIdentification,
};
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[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];
if (typeMap[discriminatorType]) {
return discriminatorType; // use the type given in the discriminator
}
else {
return expectedType; // discriminator did not map to a type
}
}
else {
return expectedType; // discriminator was not present (or an empty string)
}
}
}
}
static serialize(data, type) {
if (data == undefined) {
return data;
}
else if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
}
else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData = [];
for (let index = 0; index < data.length; index++) {
let datum = data[index];
transformedData.push(ObjectSerializer.serialize(datum, subType));
}
return transformedData;
}
else if (type === "Date") {
return data.toISOString();
}
else if (type === "SaleToAcquirerData") {
const dataString = JSON.stringify(data);
return Buffer.from(dataString).toString("base64");
}
else {
if (enumsMap[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);
// get the map for the correct type.
let attributeTypes = typeMap[type].getAttributeTypeMap();
let instance = {};
for (let index = 0; index < attributeTypes.length; index++) {
let attributeType = attributeTypes[index];
instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type);
}
return instance;
}
}
static deserialize(data, type) {
// 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.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData = [];
for (let index = 0; index < data.length; index++) {
let datum = data[index];
transformedData.push(ObjectSerializer.deserialize(datum, subType));
}
return transformedData;
}
else if (type === "Date") {
return new Date(data);
}
else {
if (enumsMap[type]) { // is Enum
return data;
}
if (!typeMap[type]) { // dont know the type
return data;
}
let instance = new typeMap[type]();
let attributeTypes = typeMap[type].getAttributeTypeMap();
for (let index = 0; index < attributeTypes.length; index++) {
let attributeType = attributeTypes[index];
instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type);
}
return instance;
}
}
}
exports.ObjectSerializer = ObjectSerializer;
//# sourceMappingURL=models.js.map