/* 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 { QueryKeyRangeFromJSON, QueryKeyRangeToJSON, } from './QueryKeyRange';
import { KeyValueFromJSON, KeyValueToJSON, } from './KeyValue';
import { SearchFacetOptionFromJSON, SearchFacetOptionToJSON, } from './SearchFacetOption';
/**
 * Check if a given object implements the QuerySearchQuery interface.
 */
export function instanceOfQuerySearchQuery(value) {
    return true;
}
export function QuerySearchQueryFromJSON(json) {
    return QuerySearchQueryFromJSONTyped(json, false);
}
export function QuerySearchQueryFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'queryTerm': json['queryTerm'] == null ? undefined : json['queryTerm'],
        'booleanQuery': json['booleanQuery'] == null ? undefined : (json['booleanQuery'].map(KeyValueFromJSON)),
        'rangeQuery': json['rangeQuery'] == null ? undefined : (json['rangeQuery'].map(QueryKeyRangeFromJSON)),
        'facetOptions': json['facetOptions'] == null ? undefined : (json['facetOptions'].map(SearchFacetOptionFromJSON)),
        'returnFields': json['returnFields'] == null ? undefined : json['returnFields'],
        'start': json['start'] == null ? undefined : json['start'],
        'size': json['size'] == null ? undefined : json['size'],
    };
}
export function QuerySearchQueryToJSON(json) {
    return QuerySearchQueryToJSONTyped(json, false);
}
export function QuerySearchQueryToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'queryTerm': value['queryTerm'],
        'booleanQuery': value['booleanQuery'] == null ? undefined : (value['booleanQuery'].map(KeyValueToJSON)),
        'rangeQuery': value['rangeQuery'] == null ? undefined : (value['rangeQuery'].map(QueryKeyRangeToJSON)),
        'facetOptions': value['facetOptions'] == null ? undefined : (value['facetOptions'].map(SearchFacetOptionToJSON)),
        'returnFields': value['returnFields'],
        'start': value['start'],
        'size': value['size'],
    };
}
//# sourceMappingURL=QuerySearchQuery.js.map