Source: search/RequestBuilder.js

import { SearchRequest } from "./SearchRequest.js";

export { RequestBuilder };

/**
 * Static helper class for creating new single-use SearchRequest instances
 * 
 * @author rhess <robin.hess@awi.de>
 * @memberof vef.search
 */
const RequestBuilder = new (

    class RequestBuilder {

        addQueryFacet(field, ...value) {
            return new SearchRequest().addQueryFacet(field, ...value);
        }

        addQueryGeometry(field, ...value) {
            return new SearchRequest().addQueryGeometry(field, ...value);
        }

        addQuery(query) {
            return new SearchRequest().addQuery(query);
        }

        addTerm(field, ...value) {
            return new SearchRequest().addTerm(field, ...value);
        }

        addRange(field, from, to, includeFrom = true, includeTo = true) {
            return new SearchRequest().addRange(field, from, to, includeFrom, includeTo);
        }

        and(...requests) {
            return new SearchRequest().and(...requests);
        }

        or(...requests) {
            return new SearchRequest().or(...requests);
        }

        not() {
            return new SearchRequest().not();
        }

    }

)();