/* tslint:disable */
/* eslint-disable */
/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ValidationSummaryStatisticsFromJSON, ValidationSummaryStatisticsToJSON, } from './ValidationSummaryStatistics';
import { CsvTableDescriptorFromJSON, CsvTableDescriptorToJSON, } from './CsvTableDescriptor';
/**
 * @export
 */
export const RecordSetConcreteTypeEnum = {
    org_sagebionetworks_repo_model_RecordSet: 'org.sagebionetworks.repo.model.RecordSet'
};
/**
 * Check if a given object implements the RecordSet interface.
 */
export function instanceOfRecordSet(value) {
    if (!('concreteType' in value) || value['concreteType'] === undefined)
        return false;
    if (!Object.values(RecordSetConcreteTypeEnum).includes(value["concreteType"])) {
        return false;
    }
    return true;
}
export function RecordSetFromJSON(json) {
    return RecordSetFromJSONTyped(json, false);
}
export function RecordSetFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'name': json['name'] == null ? undefined : json['name'],
        'description': json['description'] == null ? undefined : json['description'],
        'id': json['id'] == null ? undefined : json['id'],
        'etag': json['etag'] == null ? undefined : json['etag'],
        'createdOn': json['createdOn'] == null ? undefined : json['createdOn'],
        'modifiedOn': json['modifiedOn'] == null ? undefined : json['modifiedOn'],
        'createdBy': json['createdBy'] == null ? undefined : json['createdBy'],
        'modifiedBy': json['modifiedBy'] == null ? undefined : json['modifiedBy'],
        'parentId': json['parentId'] == null ? undefined : json['parentId'],
        'concreteType': json['concreteType'],
        'versionNumber': json['versionNumber'] == null ? undefined : json['versionNumber'],
        'versionLabel': json['versionLabel'] == null ? undefined : json['versionLabel'],
        'versionComment': json['versionComment'] == null ? undefined : json['versionComment'],
        'isLatestVersion': json['isLatestVersion'] == null ? undefined : json['isLatestVersion'],
        'dataFileHandleId': json['dataFileHandleId'] == null ? undefined : json['dataFileHandleId'],
        'upsertKey': json['upsertKey'] == null ? undefined : json['upsertKey'],
        'csvDescriptor': json['csvDescriptor'] == null ? undefined : CsvTableDescriptorFromJSON(json['csvDescriptor']),
        'validationSummary': json['validationSummary'] == null ? undefined : ValidationSummaryStatisticsFromJSON(json['validationSummary']),
        'validationFileHandleId': json['validationFileHandleId'] == null ? undefined : json['validationFileHandleId'],
        'fileNameOverride': json['fileNameOverride'] == null ? undefined : json['fileNameOverride'],
    };
}
export function RecordSetToJSON(json) {
    return RecordSetToJSONTyped(json, false);
}
export function RecordSetToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'name': value['name'],
        'description': value['description'],
        'id': value['id'],
        'etag': value['etag'],
        'createdOn': value['createdOn'],
        'modifiedOn': value['modifiedOn'],
        'createdBy': value['createdBy'],
        'modifiedBy': value['modifiedBy'],
        'parentId': value['parentId'],
        'concreteType': value['concreteType'],
        'versionNumber': value['versionNumber'],
        'versionLabel': value['versionLabel'],
        'versionComment': value['versionComment'],
        'isLatestVersion': value['isLatestVersion'],
        'dataFileHandleId': value['dataFileHandleId'],
        'upsertKey': value['upsertKey'],
        'csvDescriptor': CsvTableDescriptorToJSON(value['csvDescriptor']),
        'validationSummary': ValidationSummaryStatisticsToJSON(value['validationSummary']),
        'validationFileHandleId': value['validationFileHandleId'],
        'fileNameOverride': value['fileNameOverride'],
    };
}
//# sourceMappingURL=RecordSet.js.map