"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * UCX Proxy
 * A single use API for the UCX Proxy.
 *
 * The version of the OpenAPI document: 0.0.12
 * Contact: customersuccess@equisoft.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.instanceOfInvestmentSourceResultSchema = instanceOfInvestmentSourceResultSchema;
exports.InvestmentSourceResultSchemaFromJSON = InvestmentSourceResultSchemaFromJSON;
exports.InvestmentSourceResultSchemaFromJSONTyped = InvestmentSourceResultSchemaFromJSONTyped;
exports.InvestmentSourceResultSchemaToJSON = InvestmentSourceResultSchemaToJSON;
exports.InvestmentSourceResultSchemaToJSONTyped = InvestmentSourceResultSchemaToJSONTyped;
const Status_1 = require("./Status");
const InvestmentAccountSchema_1 = require("./InvestmentAccountSchema");
const ErrorResponse_1 = require("./ErrorResponse");
/**
 * Check if a given object implements the InvestmentSourceResultSchema interface.
 */
function instanceOfInvestmentSourceResultSchema(value) {
    if (!('status' in value) || value['status'] === undefined)
        return false;
    if (!('sourceKey' in value) || value['sourceKey'] === undefined)
        return false;
    return true;
}
function InvestmentSourceResultSchemaFromJSON(json) {
    return InvestmentSourceResultSchemaFromJSONTyped(json, false);
}
function InvestmentSourceResultSchemaFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'status': (0, Status_1.StatusFromJSON)(json['status']),
        'sourceKey': json['sourceKey'],
        'errorResponse': json['errorResponse'] == null ? undefined : (0, ErrorResponse_1.ErrorResponseFromJSON)(json['errorResponse']),
        'investmentResults': json['investmentResults'] == null ? undefined : (json['investmentResults'].map(InvestmentAccountSchema_1.InvestmentAccountSchemaFromJSON)),
    };
}
function InvestmentSourceResultSchemaToJSON(json) {
    return InvestmentSourceResultSchemaToJSONTyped(json, false);
}
function InvestmentSourceResultSchemaToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'status': (0, Status_1.StatusToJSON)(value['status']),
        'sourceKey': value['sourceKey'],
        'errorResponse': (0, ErrorResponse_1.ErrorResponseToJSON)(value['errorResponse']),
        'investmentResults': value['investmentResults'] == null ? undefined : (value['investmentResults'].map(InvestmentAccountSchema_1.InvestmentAccountSchemaToJSON)),
    };
}
