@loaders.gl/wms 3.3.0-alpha.8 → 3.3.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/dist.min.js +624 -33
  2. package/dist/es5/bundle.js.map +1 -1
  3. package/dist/es5/index.js +21 -0
  4. package/dist/es5/index.js.map +1 -1
  5. package/dist/es5/lib/data-sources/image-data-source.js +4 -0
  6. package/dist/es5/lib/data-sources/image-data-source.js.map +1 -0
  7. package/dist/es5/lib/data-sources/wms-data-source.js +223 -0
  8. package/dist/es5/lib/data-sources/wms-data-source.js.map +1 -0
  9. package/dist/es5/lib/parse-wms.js +102 -0
  10. package/dist/es5/lib/parse-wms.js.map +1 -0
  11. package/dist/es5/wms-capabilities-loader.js +7 -6
  12. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  13. package/dist/es5/wms-feature-info-loader.js +44 -0
  14. package/dist/es5/wms-feature-info-loader.js.map +1 -0
  15. package/dist/es5/wms-layer-description-loader.js +44 -0
  16. package/dist/es5/wms-layer-description-loader.js.map +1 -0
  17. package/dist/es5/wms-types.js.map +1 -1
  18. package/dist/esm/bundle.js +1 -0
  19. package/dist/esm/bundle.js.map +1 -1
  20. package/dist/esm/index.js +3 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/lib/data-sources/image-data-source.js +2 -0
  23. package/dist/esm/lib/data-sources/image-data-source.js.map +1 -0
  24. package/dist/esm/lib/data-sources/wms-data-source.js +70 -0
  25. package/dist/esm/lib/data-sources/wms-data-source.js.map +1 -0
  26. package/dist/esm/lib/parse-wms.js +70 -0
  27. package/dist/esm/lib/parse-wms.js.map +1 -0
  28. package/dist/esm/wms-capabilities-loader.js +6 -4
  29. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  30. package/dist/esm/wms-feature-info-loader.js +14 -0
  31. package/dist/esm/wms-feature-info-loader.js.map +1 -0
  32. package/dist/esm/wms-layer-description-loader.js +14 -0
  33. package/dist/esm/wms-layer-description-loader.js.map +1 -0
  34. package/dist/esm/wms-types.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/bundle.ts +2 -0
  37. package/src/index.ts +8 -1
  38. package/src/lib/data-sources/image-data-source.ts +84 -0
  39. package/src/lib/data-sources/wms-data-source.ts +99 -0
  40. package/src/lib/parse-wms.ts +92 -0
  41. package/src/wms-capabilities-loader.ts +10 -8
  42. package/src/wms-feature-info-loader.ts +21 -0
  43. package/src/wms-layer-description-loader.ts +21 -0
  44. package/src/wms-types.ts +74 -24
  45. package/dist/es5/lib/parse-wms-capabilities.js +0 -19
  46. package/dist/es5/lib/parse-wms-capabilities.js.map +0 -1
  47. package/dist/esm/lib/parse-wms-capabilities.js +0 -14
  48. package/dist/esm/lib/parse-wms-capabilities.js.map +0 -1
  49. package/src/lib/parse-wms-capabilities.ts +0 -14
@@ -1,4 +1,5 @@
1
1
 
2
+
2
3
  const moduleExports = require('./index');
3
4
  globalThis.loaders = globalThis.loaders || {};
4
5
  module.exports = Object.assign(globalThis.loaders, moduleExports);
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
1
+ {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AAGA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
 
2
2
 
3
3
  export { WMSCapabilitiesLoader } from './wms-capabilities-loader';
4
+ export { WMSFeatureInfoLoader } from './wms-feature-info-loader';
5
+ export { WMSLayerDescriptionLoader } from './wms-layer-description-loader';
6
+ export { WMSDataSource as _WMSDataSource } from './lib/data-sources/wms-data-source';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["WMSCapabilitiesLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// WMSCapabilitiesLoader\n\nexport type {WMSCapabilitiesLoaderOptions} from './wms-capabilities-loader';\nexport {WMSCapabilitiesLoader} from './wms-capabilities-loader';\n"],"mappings":";;AAKA,SAAQA,qBAAqB,QAAO,2BAA2B"}
1
+ {"version":3,"file":"index.js","names":["WMSCapabilitiesLoader","WMSFeatureInfoLoader","WMSLayerDescriptionLoader","WMSDataSource","_WMSDataSource"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// WMSCapabilitiesLoader\n\nexport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from './wms-types';\n\nexport type {WMSLoaderOptions} from './wms-capabilities-loader';\nexport {WMSCapabilitiesLoader} from './wms-capabilities-loader';\nexport {WMSFeatureInfoLoader} from './wms-feature-info-loader';\nexport {WMSLayerDescriptionLoader} from './wms-layer-description-loader';\n\nexport type {WMSDataSourceProps as _WMSDataSourceProps} from './lib/data-sources/wms-data-source';\nexport {WMSDataSource as _WMSDataSource} from './lib/data-sources/wms-data-source';\n"],"mappings":";;AAOA,SAAQA,qBAAqB,QAAO,2BAA2B;AAC/D,SAAQC,oBAAoB,QAAO,2BAA2B;AAC9D,SAAQC,yBAAyB,QAAO,gCAAgC;AAGxE,SAAQC,aAAa,IAAIC,cAAc,QAAO,oCAAoC"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=image-data-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-data-source.js","names":[],"sources":["../../../../src/lib/data-sources/image-data-source.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/*\nimport {ImageType} from '@loaders.gl/images';\n\n/** General data source class *\nexport abstract class DataSource {};\n\n/** Data source that serves data by tile index *\nexport abstract class TileDataSource extends DataSource {};\n\nexport type ImageFeatureInfo = {};\n\nexport type ImageLayerInfo = {};\n\nexport type ImageDataSourceCapabilities = {}\n\n/**\n * ImageDataSource - data sources that allow data to be queried by (geospatial) extents\n * @note\n * - If geospatial, bounding box is expected to be in web mercator coordinates\n *\nexport abstract class ImageDataSource extends DataSource {\n abstract getCapabilities(): Promise<ImageDataSourceCapabilities>;\n abstract getImage({boundingBox, width, height, layers, parameters}): Promise<ImageType>;\n getFeatureInfo({layers, parameters}): Promise<ImageFeatureInfo> {\n throw new Error('not implemented');\n }\n getLayerInfo({layers, parameters}): Promise<ImageLayerInfo> {\n throw new Error('not implemented');\n }\n getLegendImage({layers, parameters}): Promise<ImageType> {\n throw new Error('not implemented');\n }\n}\n\n// Vector Tile Data Source\n\nexport type VectorTileDataSourceCapabilities = {\n // check tile.json\n}\n\nexport type VectorTile = Record<string, any>;\n\nexport abstract class VectorTileDataSource extends TileDataSource {\n abstract getCapabilities(): Promise<VectorTileDataSourceCapabilities>;\n abstract getTile({x, y, z, width, height, layers, parameters}): Promise<VectorTile>;\n}\n\n// Image Tile Data Source\n\nexport type ImageTileDataSourceCapabilities = {\n}\n\nexport type ImageTile = Record<string, any>;\n\nexport type FeatureInfo = {};\n\nexport abstract class ImageTileDataSource extends TileDataSource {\n source: ImageDataSource;\n \n constructor(source: ImageDataSource) {\n super();\n this.source = source;\n }\n\n getCapabilities(): Promise<ImageTileDataSourceCapabilities> {\n return this.source.getCapabilities();\n }\n\n getTile({x, y, z, width, height, layers, parameters}): Promise<ImageType> {\n const boundingBox = this.getBoundingBoxFromTileIndex(x, y, z);\n return this.source.getImage({boundingBox, width, height, layers, parameters});\n }\n\n getFeatureInfo(): FeatureInfo | null {\n return null;\n }\n\n getBoundingBoxFromTileIndex(x: number, y: number, z: number): [number, number, number, number] {\n return [0, 0, 1, 1];\n }\n}\n*/\n"],"mappings":""}
@@ -0,0 +1,70 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+
3
+ import { WMSCapabilitiesLoader, WMSFeatureInfoLoader, WMSLayerDescriptionLoader } from '@loaders.gl/wms';
4
+ import { ImageLoader } from '@loaders.gl/images';
5
+ export class WMSDataSource {
6
+
7
+ constructor(props) {
8
+ _defineProperty(this, "url", void 0);
9
+ _defineProperty(this, "loadOptions", void 0);
10
+ _defineProperty(this, "fetch", void 0);
11
+ this.url = props.url;
12
+ this.loadOptions = props.loadOptions || {};
13
+ this.fetch = props.fetch || fetch;
14
+ }
15
+ async getCapabilities(options) {
16
+ const url = this.getUrl({
17
+ request: 'GetCapabilities',
18
+ ...options
19
+ });
20
+ const response = await this.fetch(url, this.loadOptions);
21
+ const arrayBuffer = await response.arrayBuffer();
22
+ return await WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);
23
+ }
24
+ async getImage(options) {
25
+ const url = this.getUrl({
26
+ request: 'GetMap',
27
+ ...options
28
+ });
29
+ const response = await this.fetch(url, this.loadOptions);
30
+ const arrayBuffer = await response.arrayBuffer();
31
+ return await ImageLoader.parse(arrayBuffer, this.loadOptions);
32
+ }
33
+ async getFeatureInfo(options) {
34
+ const url = this.getUrl({
35
+ request: 'GetFeatureInfo',
36
+ ...options
37
+ });
38
+ const response = await this.fetch(url, this.loadOptions);
39
+ const arrayBuffer = await response.arrayBuffer();
40
+ return await WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);
41
+ }
42
+ async getLayerInfo(options) {
43
+ const url = this.getUrl({
44
+ request: 'GetLayerInfo',
45
+ ...options
46
+ });
47
+ const response = await this.fetch(url, this.loadOptions);
48
+ const arrayBuffer = await response.arrayBuffer();
49
+ return await WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);
50
+ }
51
+ async getLegendImage(options) {
52
+ const url = this.getUrl({
53
+ request: 'GetLegendImage',
54
+ ...options
55
+ });
56
+ const response = await this.fetch(url, this.loadOptions);
57
+ const arrayBuffer = await response.arrayBuffer();
58
+ return await ImageLoader.parse(arrayBuffer, this.loadOptions);
59
+ }
60
+
61
+ getUrl(options) {
62
+ var _options$layers;
63
+ let url = "".concat(this.url, "?REQUEST=").concat(options.request);
64
+ if ((_options$layers = options.layers) !== null && _options$layers !== void 0 && _options$layers.length) {
65
+ url += "&LAYERS=[".concat(options.layers.join(','), "]");
66
+ }
67
+ return url;
68
+ }
69
+ }
70
+ //# sourceMappingURL=wms-data-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wms-data-source.js","names":["WMSCapabilitiesLoader","WMSFeatureInfoLoader","WMSLayerDescriptionLoader","ImageLoader","WMSDataSource","constructor","props","url","loadOptions","fetch","getCapabilities","options","getUrl","request","response","arrayBuffer","parse","getImage","getFeatureInfo","getLayerInfo","getLegendImage","layers","length","join"],"sources":["../../../../src/lib/data-sources/wms-data-source.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '@loaders.gl/wms';\nimport {\n WMSCapabilitiesLoader,\n WMSFeatureInfoLoader,\n WMSLayerDescriptionLoader\n} from '@loaders.gl/wms';\nimport {ImageLoader, ImageType} from '@loaders.gl/images';\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\n\n// import {ImageDataSource} from './image-data-sources';\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\nexport type WMSDataSourceProps = {\n url: string;\n loadOptions?: LoaderOptions;\n fetch?: typeof fetch | FetchLike;\n};\n\nexport class WMSDataSource {\n // implements ImageDataSource {\n url: string;\n loadOptions: LoaderOptions;\n fetch: typeof fetch | FetchLike;\n\n constructor(props: WMSDataSourceProps) {\n this.url = props.url;\n this.loadOptions = props.loadOptions || {};\n this.fetch = props.fetch || fetch;\n }\n\n async getCapabilities(options: {parameters?: Record<string, unknown>}): Promise<WMSCapabilities> {\n const url = this.getUrl({request: 'GetCapabilities', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getImage(options: {\n boundingBox;\n width;\n height;\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<ImageType> {\n const url = this.getUrl({request: 'GetMap', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getFeatureInfo(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<WMSFeatureInfo> {\n const url = this.getUrl({request: 'GetFeatureInfo', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getLayerInfo(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<WMSLayerDescription> {\n const url = this.getUrl({request: 'GetLayerInfo', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getLegendImage(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<ImageType> {\n const url = this.getUrl({request: 'GetLegendImage', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /**\n * @note protected, since perhaps getUrl may need to be overridden to handle certain backends?\n * @note if override is common, maybe add a callback prop?\n * */\n protected getUrl(options: {\n request: string;\n layers?: string[];\n parameters?: Record<string, unknown>;\n }): string {\n let url = `${this.url}?REQUEST=${options.request}`;\n if (options.layers?.length) {\n url += `&LAYERS=[${options.layers.join(',')}]`;\n }\n return url;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+
2
+
3
+ import { XMLLoader } from '@loaders.gl/xml';
4
+
5
+ export function parseWMSCapabilities(text, options) {
6
+ const parsedXML = XMLLoader.parseTextSync(text, options);
7
+ const xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
8
+ return extractCapabilities(xmlCapabilities);
9
+ }
10
+
11
+ function extractCapabilities(xml) {
12
+ var _xml$Service, _xml$Service2, _xml$Capability;
13
+ const capabilities = {
14
+ name: ((_xml$Service = xml.Service) === null || _xml$Service === void 0 ? void 0 : _xml$Service.Name) || 'unnamed',
15
+ title: (_xml$Service2 = xml.Service) === null || _xml$Service2 === void 0 ? void 0 : _xml$Service2.Title,
16
+ keywords: [],
17
+ requests: {},
18
+ layer: extractLayer((_xml$Capability = xml.Capability) === null || _xml$Capability === void 0 ? void 0 : _xml$Capability.Layer),
19
+ raw: xml
20
+ };
21
+ for (const keyword of ((_xml$Service3 = xml.Service) === null || _xml$Service3 === void 0 ? void 0 : (_xml$Service3$Keyword = _xml$Service3.KeywordList) === null || _xml$Service3$Keyword === void 0 ? void 0 : _xml$Service3$Keyword.Keyword) || []) {
22
+ var _xml$Service3, _xml$Service3$Keyword;
23
+ capabilities.keywords.push(keyword);
24
+ }
25
+ for (const [name, xmlRequest] of Object.entries(((_xml$Capability2 = xml.Capability) === null || _xml$Capability2 === void 0 ? void 0 : _xml$Capability2.Request) || {})) {
26
+ var _xml$Capability2;
27
+ capabilities.requests[name] = extractRequest(name, xmlRequest);
28
+ }
29
+ return capabilities;
30
+ }
31
+
32
+ function extractRequest(name, xmlRequest) {
33
+ const format = xmlRequest === null || xmlRequest === void 0 ? void 0 : xmlRequest.Format;
34
+ const mimeTypes = Array.isArray(format) ? format : [format];
35
+ return {
36
+ name,
37
+ mimeTypes
38
+ };
39
+ }
40
+
41
+ function extractLayer(xmlLayer) {
42
+ const layer = {
43
+ name: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name,
44
+ title: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Title,
45
+ srs: (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.SRS) || [],
46
+ layers: []
47
+ };
48
+ for (const xmlSubLayer of (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Layer) || []) {
49
+ var _layer$layers;
50
+ (_layer$layers = layer.layers) === null || _layer$layers === void 0 ? void 0 : _layer$layers.push(extractLayer(xmlSubLayer));
51
+ }
52
+ return layer;
53
+ }
54
+
55
+ export function parseWMSFeatureInfo(text, options) {
56
+ var _parsedXML$FeatureInf;
57
+ const parsedXML = XMLLoader.parseTextSync(text, options);
58
+ const xmlFeatureInfo = ((_parsedXML$FeatureInf = parsedXML.FeatureInfoResponse) === null || _parsedXML$FeatureInf === void 0 ? void 0 : _parsedXML$FeatureInf.FIELDS) || [];
59
+ const xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
60
+ return {
61
+ features: xmlFeatures.map(xmlFeature => extractFeature(xmlFeature))
62
+ };
63
+ }
64
+ function extractFeature(xmlFeature) {
65
+ const xmlFields = xmlFeature || {};
66
+ return {
67
+ attributes: xmlFields
68
+ };
69
+ }
70
+ //# sourceMappingURL=parse-wms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-wms.js","names":["XMLLoader","parseWMSCapabilities","text","options","parsedXML","parseTextSync","xmlCapabilities","WMT_MS_Capabilities","WMS_Capabilities","extractCapabilities","xml","capabilities","name","Service","Name","title","Title","keywords","requests","layer","extractLayer","Capability","Layer","raw","keyword","KeywordList","Keyword","push","xmlRequest","Object","entries","Request","extractRequest","format","Format","mimeTypes","Array","isArray","xmlLayer","srs","SRS","layers","xmlSubLayer","parseWMSFeatureInfo","xmlFeatureInfo","FeatureInfoResponse","FIELDS","xmlFeatures","features","map","xmlFeature","extractFeature","xmlFields","attributes"],"sources":["../../../src/lib/parse-wms.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {\n WMSCapabilities,\n WMSLayer,\n WMSRequest,\n WMSFeatureInfo\n // WMSFeature,\n // WMSLayerDescription\n} from '../wms-types';\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\n// GetCapabilities\n\n/**\n * Parses a typed data structure from raw XML for `GetCapabilities` response\n * @note Error handlings is fairly weak\n */\nexport function parseWMSCapabilities(text: string, options): WMSCapabilities {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n const xmlCapabilities: any =\n parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;\n return extractCapabilities(xmlCapabilities);\n}\n\n/** Extract typed capability data from XML */\nfunction extractCapabilities(xml: any): WMSCapabilities {\n const capabilities: WMSCapabilities = {\n name: xml.Service?.Name || 'unnamed',\n title: xml.Service?.Title,\n keywords: [],\n requests: {},\n layer: extractLayer(xml.Capability?.Layer),\n raw: xml\n };\n\n for (const keyword of xml.Service?.KeywordList?.Keyword || []) {\n capabilities.keywords.push(keyword);\n }\n\n for (const [name, xmlRequest] of Object.entries(xml.Capability?.Request || {})) {\n capabilities.requests[name] = extractRequest(name, xmlRequest);\n }\n\n return capabilities;\n}\n\n/** Extract typed request data from XML */\nfunction extractRequest(name: string, xmlRequest: any): WMSRequest {\n const format: string | string[] = xmlRequest?.Format;\n const mimeTypes: string[] = Array.isArray(format) ? format : [format];\n return {name, mimeTypes};\n}\n\n/** Extract request data */\nfunction extractLayer(xmlLayer: any): WMSLayer {\n const layer: WMSLayer = {\n name: xmlLayer?.Name,\n title: xmlLayer?.Title,\n srs: xmlLayer?.SRS || [],\n layers: []\n };\n\n for (const xmlSubLayer of xmlLayer?.Layer || []) {\n layer.layers?.push(extractLayer(xmlSubLayer));\n }\n\n return layer;\n}\n\n// GetFeatureInfo\n\n/**\n * Parses a typed data structure from raw XML for `GetFeatureInfo` response\n * @note Error handlings is fairly weak\n */\nexport function parseWMSFeatureInfo(text: string, options): WMSFeatureInfo {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n const xmlFeatureInfo: any = parsedXML.FeatureInfoResponse?.FIELDS || [];\n\n const xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];\n\n return {\n features: xmlFeatures.map((xmlFeature) => extractFeature(xmlFeature))\n };\n}\n\nfunction extractFeature(xmlFeature: any) {\n const xmlFields = xmlFeature || {};\n return {attributes: xmlFields};\n}\n"],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { parseWMSCapabilities } from './lib/parse-wms-capabilities';
2
1
 
3
- const VERSION = typeof "3.3.0-alpha.8" !== 'undefined' ? "3.3.0-alpha.8" : 'latest';
2
+
3
+ import { parseWMSCapabilities } from './lib/parse-wms';
4
+
5
+ const VERSION = typeof "3.3.0-alpha.9" !== 'undefined' ? "3.3.0-alpha.9" : 'latest';
4
6
  export const WMSCapabilitiesLoader = {
5
7
  name: 'WMS Capabilities',
6
- id: 'wms',
8
+ id: 'wms-capabilities',
7
9
  module: 'wms',
8
10
  version: VERSION,
9
11
  worker: false,
@@ -11,7 +13,7 @@ export const WMSCapabilitiesLoader = {
11
13
  mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],
12
14
  testText: testXMLFile,
13
15
  options: {
14
- obj: {}
16
+ wms: {}
15
17
  },
16
18
  parse: async (arrayBuffer, options) => parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options),
17
19
  parseTextSync: (text, options) => parseWMSCapabilities(text, options)
@@ -1 +1 @@
1
- {"version":3,"file":"wms-capabilities-loader.js","names":["parseWMSCapabilities","VERSION","WMSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","obj","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWMSCapabilitiesLoader"],"sources":["../../src/wms-capabilities-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWMSCapabilities} from './lib/parse-wms-capabilities';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type WMSCapabilitiesLoaderOptions = LoaderOptions & {\n wms?: {};\n};\n\n/**\n * Worker loader for the OBJ geometry format\n */\nexport const WMSCapabilitiesLoader = {\n name: 'WMS Capabilities',\n id: 'wms',\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n obj: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSCapabilitiesLoaderOptions) =>\n parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSCapabilitiesLoaderOptions) =>\n parseWMSCapabilities(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckWMSCapabilitiesLoader: LoaderWithParser = WMSCapabilitiesLoader;\n"],"mappings":"AACA,SAAQA,oBAAoB,QAAO,8BAA8B;;AAIjE,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAS3E,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE,kBAAkB;EACxBC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,UAAU,CAAC;EACzEC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK,EAAE,OAAOC,WAAwB,EAAEH,OAAsC,KAC5EZ,oBAAoB,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EACtEM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAAsC,KAClEZ,oBAAoB,CAACmB,IAAI,EAAEP,OAAO;AACtC,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,+BAAiD,GAAGnB,qBAAqB"}
1
+ {"version":3,"file":"wms-capabilities-loader.js","names":["parseWMSCapabilities","VERSION","WMSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWMSCapabilitiesLoader"],"sources":["../../src/wms-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWMSCapabilities} from './lib/parse-wms';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type WMSLoaderOptions = LoaderOptions & {\n wms?: {};\n};\n\n/**\n * Loader for the response to the WMS GetCapability request\n */\nexport const WMSCapabilitiesLoader = {\n name: 'WMS Capabilities',\n id: 'wms-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSCapabilities(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckWMSCapabilitiesLoader: LoaderWithParser = WMSCapabilitiesLoader;\n"],"mappings":";;AAGA,SAAQA,oBAAoB,QAAO,iBAAiB;;AAIpD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAS3E,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE,kBAAkB;EACxBC,EAAE,EAAE,kBAAkB;EAEtBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,UAAU,CAAC;EACzEC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK,EAAE,OAAOC,WAAwB,EAAEH,OAA0B,KAChEZ,oBAAoB,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EACtEM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAA0B,KAAKZ,oBAAoB,CAACmB,IAAI,EAAEP,OAAO;AACjG,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,+BAAiD,GAAGnB,qBAAqB"}
@@ -0,0 +1,14 @@
1
+
2
+
3
+ import { WMSCapabilitiesLoader } from './wms-capabilities-loader';
4
+ import { parseWMSFeatureInfo } from './lib/parse-wms';
5
+
6
+ export const WMSFeatureInfoLoader = {
7
+ ...WMSCapabilitiesLoader,
8
+ name: 'WMS FeatureInfo',
9
+ id: 'wms-feature-info',
10
+ parse: async (arrayBuffer, options) => parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
11
+ parseTextSync: (text, options) => parseWMSFeatureInfo(text, options)
12
+ };
13
+ export const _typecheckWMSFeatureInfoLoader = WMSFeatureInfoLoader;
14
+ //# sourceMappingURL=wms-feature-info-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wms-feature-info-loader.js","names":["WMSCapabilitiesLoader","parseWMSFeatureInfo","WMSFeatureInfoLoader","name","id","parse","arrayBuffer","options","TextDecoder","decode","parseTextSync","text","_typecheckWMSFeatureInfoLoader"],"sources":["../../src/wms-feature-info-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {WMSCapabilitiesLoader, WMSLoaderOptions} from './wms-capabilities-loader';\nimport {parseWMSFeatureInfo} from './lib/parse-wms';\n\n/**\n * Loader for the response to the WMS GetFeatureInfo request\n */\nexport const WMSFeatureInfoLoader = {\n ...WMSCapabilitiesLoader,\n\n name: 'WMS FeatureInfo',\n id: 'wms-feature-info',\n\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSFeatureInfoLoader;\n"],"mappings":";;AAGA,SAAQA,qBAAqB,QAAyB,2BAA2B;AACjF,SAAQC,mBAAmB,QAAO,iBAAiB;;AAKnD,OAAO,MAAMC,oBAAoB,GAAG;EAClC,GAAGF,qBAAqB;EAExBG,IAAI,EAAE,iBAAiB;EACvBC,EAAE,EAAE,kBAAkB;EAEtBC,KAAK,EAAE,OAAOC,WAAwB,EAAEC,OAA0B,KAChEN,mBAAmB,CAAC,IAAIO,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEC,OAAO,CAAC;EACrEG,aAAa,EAAE,CAACC,IAAY,EAAEJ,OAA0B,KAAKN,mBAAmB,CAACU,IAAI,EAAEJ,OAAO;AAChG,CAAC;AAED,OAAO,MAAMK,8BAAgD,GAAGV,oBAAoB"}
@@ -0,0 +1,14 @@
1
+
2
+
3
+ import { WMSCapabilitiesLoader } from './wms-capabilities-loader';
4
+ import { parseWMSFeatureInfo } from './lib/parse-wms';
5
+
6
+ export const WMSLayerDescriptionLoader = {
7
+ ...WMSCapabilitiesLoader,
8
+ name: 'WMS DescribeLayer',
9
+ id: 'wms-layer-description',
10
+ parse: async (arrayBuffer, options) => parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
11
+ parseTextSync: (text, options) => parseWMSFeatureInfo(text, options)
12
+ };
13
+ export const _typecheckWMSFeatureInfoLoader = WMSLayerDescriptionLoader;
14
+ //# sourceMappingURL=wms-layer-description-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wms-layer-description-loader.js","names":["WMSCapabilitiesLoader","parseWMSFeatureInfo","WMSLayerDescriptionLoader","name","id","parse","arrayBuffer","options","TextDecoder","decode","parseTextSync","text","_typecheckWMSFeatureInfoLoader"],"sources":["../../src/wms-layer-description-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {WMSCapabilitiesLoader, WMSLoaderOptions} from './wms-capabilities-loader';\nimport {parseWMSFeatureInfo} from './lib/parse-wms';\n\n/**\n * Loader for the response to the WMS GetFeatureInfo request\n */\nexport const WMSLayerDescriptionLoader = {\n ...WMSCapabilitiesLoader,\n\n name: 'WMS DescribeLayer',\n id: 'wms-layer-description',\n\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;\n"],"mappings":";;AAGA,SAAQA,qBAAqB,QAAyB,2BAA2B;AACjF,SAAQC,mBAAmB,QAAO,iBAAiB;;AAKnD,OAAO,MAAMC,yBAAyB,GAAG;EACvC,GAAGF,qBAAqB;EAExBG,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,uBAAuB;EAE3BC,KAAK,EAAE,OAAOC,WAAwB,EAAEC,OAA0B,KAChEN,mBAAmB,CAAC,IAAIO,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEC,OAAO,CAAC;EACrEG,aAAa,EAAE,CAACC,IAAY,EAAEJ,OAA0B,KAAKN,mBAAmB,CAACU,IAAI,EAAEJ,OAAO;AAChG,CAAC;AAED,OAAO,MAAMK,8BAAgD,GAAGV,yBAAyB"}