@deltares/fews-wms-requests
Version:
Library for making requests to the FEWS WMS-T webservice
29 lines • 1.17 kB
JavaScript
import { filterToParamsWMS } from "./utils/filterToParams";
import { WMSRequestType } from "./types/wmsRequestType";
import { PiRestService } from "@deltares/fews-web-oc-utils";
export class WMSProvider {
baseUrl;
webservice;
constructor(baseUrl, options = {}) {
this.baseUrl = baseUrl;
this.webservice = new PiRestService(baseUrl, options.transformRequestFn);
}
async getCapabilities(filter) {
return this.executeWMSRequest(WMSRequestType.GetCapabilities, filter);
}
async getLegendGraphic(filter) {
filter = { ...{ service: 'WMS', version: '1.3' }, ...filter };
return this.executeWMSRequest(WMSRequestType.GetLegendGraphic, filter);
}
async executeWMSRequest(requestType, filter) {
const defaults = {
format: 'application/json',
};
const filterWithDefaults = { ...defaults, ...filter };
const queryParameters = filterToParamsWMS(requestType, filterWithDefaults);
const url = `${this.baseUrl}${queryParameters}`;
const res = await this.webservice.getData(url);
return res.data;
}
}
//# sourceMappingURL=wmsProvider.js.map