@loaders.gl/wms
Version:
Framework-independent loaders for the WMS (Web Map Service) standard
121 lines • 5.49 kB
TypeScript
import type { DataSourceProps } from '@loaders.gl/loader-utils';
import { DataSource } from '@loaders.gl/loader-utils';
import type { CSWCapabilities } from "../../csw-capabilities-loader.js";
import type { CSWRecords } from "../../csw-records-loader.js";
import type { CSWDomain } from "../../csw-domain-loader.js";
export type CSWServiceProps = DataSourceProps & {
url: string;
};
/** Describes a service or resource exposed by the catalog */
export type Service = {
/** name of service or resource */
name: string;
/** type of service or resource */
type: string;
url: string;
params?: string;
scheme?: string;
};
type CSWCommonParameters = {
/** In case the endpoint supports multiple services */
service?: 'CSW';
/** In case the endpoint supports multiple CSW versions */
version?: '1.1.1' | '2.0.0' | '2.0.1' | '3.0.0';
};
export type CSWGetCapabilitiesParameters = CSWCommonParameters & {
/** Request type */
request?: 'GetCapabilities';
};
export type CSWGetRecordsParameters = CSWCommonParameters & {
/** Request type */
request?: 'GetRecords';
/** type of records */
typenames: 'csw:Record';
};
export type CSWGetDomainParameters = CSWCommonParameters & {
/** Request type */
request?: 'GetDomain';
};
/**
* The CSWService class
* - provides type safe methods to form URLs to a CSW service
* - provides type safe methods to query and parse results (and errors) from a CSW service
* @note Only the URL parameter conversion is supported. XML posts are not supported.
*/
export declare class CSWService extends DataSource<CSWServiceProps> {
static readonly type = "csw";
static testURL: (url: string) => boolean;
capabilities: CSWCapabilities | null;
data: string;
url: string;
/** A list of loaders used by the CSWService methods */
readonly loaders: ({
readonly dataType: CSWCapabilities;
readonly batchType: never;
readonly id: "csw-capabilities";
readonly name: "CSW Capabilities";
readonly module: "wms";
readonly version: any;
readonly worker: false;
readonly extensions: ["xml"];
readonly mimeTypes: ["application/vnd.ogc.csw_xml", "application/xml", "text/xml"];
readonly testText: (text: string) => boolean;
readonly options: {
readonly csw: {};
};
readonly parse: (arrayBuffer: ArrayBuffer, options?: import("../../csw-capabilities-loader").CSWLoaderOptions) => Promise<CSWCapabilities>;
readonly parseTextSync: (text: string, options?: import("../../csw-capabilities-loader").CSWLoaderOptions) => CSWCapabilities;
} | {
readonly dataType: string;
readonly batchType: never;
readonly id: "wms-error";
readonly name: "WMS Error";
readonly module: "wms";
readonly version: any;
readonly worker: false;
readonly extensions: ["xml"];
readonly mimeTypes: ["application/vnd.ogc.se_xml", "application/xml", "text/xml"];
readonly testText: (text: string) => boolean;
readonly options: {
readonly wms: {
readonly throwOnError: false;
};
};
readonly parse: (arrayBuffer: ArrayBuffer, options?: import("../../wms-error-loader").WMSLoaderOptions) => Promise<string>;
readonly parseSync: (arrayBuffer: ArrayBuffer, options?: import("../../wms-error-loader").WMSLoaderOptions) => string;
readonly parseTextSync: (text: string, options?: import("../../wms-error-loader").WMSLoaderOptions) => string;
})[];
/** Create a CSWService */
constructor(props: CSWServiceProps);
getMetadata(): Promise<CSWCapabilities>;
normalizeMetadata(capabilities: CSWCapabilities): CSWCapabilities;
getServiceDirectory(options?: {
includeUnknown?: boolean;
}): Promise<Service[]>;
_parseOGCUrl(url: string): {
url: string;
params: string;
};
/** Get Capabilities */
getCapabilities(wmsParameters?: CSWGetCapabilitiesParameters, vendorParameters?: Record<string, unknown>): Promise<CSWCapabilities>;
/** Get Records */
getRecords(wmsParameters?: CSWGetRecordsParameters, vendorParameters?: Record<string, unknown>): Promise<CSWRecords>;
/** Get Domain */
getDomain(wmsParameters?: CSWGetDomainParameters, vendorParameters?: Record<string, unknown>): Promise<CSWDomain>;
/** Generate a URL for the GetCapabilities request */
getCapabilitiesURL(wmsParameters?: CSWGetCapabilitiesParameters, vendorParameters?: Record<string, unknown>): string;
/** Generate a URL for the GetCapabilities request */
getRecordsURL(wmsParameters?: CSWGetRecordsParameters, vendorParameters?: Record<string, unknown>): string;
/** Generate a URL for the GetCapabilities request */
getDomainURL(wmsParameters?: CSWGetDomainParameters, vendorParameters?: Record<string, unknown>): string;
/**
* @note case _getCSWUrl may need to be overridden to handle certain backends?
* */
protected _getCSWUrl(options: Record<string, unknown>, vendorParameters?: Record<string, unknown>): string;
/** Checks for and parses a CSW XML formatted ServiceError and throws an exception */
protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void;
/** Error situation detected */
protected _parseError(arrayBuffer: ArrayBuffer): Error;
}
export {};
//# sourceMappingURL=csw-service.d.ts.map