Source: map/filters/builders/CQLEsri.js

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

/**
 * Generates CQL Filters for ESRI OGC Services.
 * @memberof vef.map.filters.builders
 */
class CQLEsri extends CQLGeoserver {

    /**
     * Retrieves the filter parameters for the given harmonized filters and layer name.
     * @param {Object} harmonizedFilters - The harmonized filters.
     * @param {string} layerName - The name of the layer.
     * @returns {Object} - The filter parameters.
     */
    static getFilterParams(harmonizedFilters, layerName) {
        const filter = super.getFilterParams(harmonizedFilters);

        if (filter.cql_filter) {
            // remove quotes from the filter, because they are not supported
            filter.cql_filter = filter.cql_filter.replaceAll('"', "");
            const layerDefs = {};
            layerDefs[layerName] = filter.cql_filter;
            return { layerDefs: JSON.stringify(layerDefs) };
        }

        return {};
    }

}

export { CQLEsri };