@loaders.gl/wms 3.4.1 → 3.4.3

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 (72) hide show
  1. package/dist/dist.min.js +9 -6
  2. package/dist/es5/csw-capabilities-loader.js +1 -1
  3. package/dist/es5/csw-domain-loader.js +1 -1
  4. package/dist/es5/csw-records-loader.js +1 -1
  5. package/dist/es5/gml-loader.js +1 -1
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/lerc-loader.js +1 -1
  8. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +8 -5
  9. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  10. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +2 -1
  11. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  12. package/dist/es5/lib/sources/image-source.js.map +1 -1
  13. package/dist/es5/wip/wcs-capabilities-loader.js +1 -1
  14. package/dist/es5/wip/wfs-capabilities-loader.js +1 -1
  15. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  16. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
  17. package/dist/es5/wip/wmts-capabilities-loader.js +1 -1
  18. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  19. package/dist/es5/wms-capabilities-loader.js +1 -1
  20. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  21. package/dist/es5/wms-error-loader.js +1 -1
  22. package/dist/esm/csw-capabilities-loader.js +1 -1
  23. package/dist/esm/csw-domain-loader.js +1 -1
  24. package/dist/esm/csw-records-loader.js +1 -1
  25. package/dist/esm/gml-loader.js +1 -1
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/lerc-loader.js +1 -1
  28. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js +8 -5
  29. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  30. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +2 -1
  31. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  32. package/dist/esm/lib/sources/image-source.js.map +1 -1
  33. package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
  34. package/dist/esm/wip/wfs-capabilities-loader.js +1 -1
  35. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
  36. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
  37. package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
  38. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
  39. package/dist/esm/wms-capabilities-loader.js +1 -1
  40. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  41. package/dist/esm/wms-error-loader.js +1 -1
  42. package/dist/index.d.ts +4 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +0 -4
  45. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts +2 -2
  46. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -1
  47. package/dist/lib/parsers/wms/parse-wms-capabilities.js +8 -6
  48. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts +2 -1
  49. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts.map +1 -1
  50. package/dist/lib/parsers/wms/parse-wms-layer-description.js +1 -1
  51. package/dist/lib/services/ogc/wms-service.d.ts +21 -4
  52. package/dist/lib/services/ogc/wms-service.d.ts.map +1 -1
  53. package/dist/lib/sources/image-source.d.ts +12 -3
  54. package/dist/lib/sources/image-source.d.ts.map +1 -1
  55. package/dist/wip/wms-feature-info-loader.d.ts +3 -3
  56. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -1
  57. package/dist/wip/wms-layer-description-loader.d.ts +3 -3
  58. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -1
  59. package/dist/wip/wmts-capabilities-loader.d.ts +3 -2
  60. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
  61. package/dist/wms-capabilities-loader.d.ts +11 -7
  62. package/dist/wms-capabilities-loader.d.ts.map +1 -1
  63. package/dist/wms-capabilities-loader.js +6 -2
  64. package/package.json +6 -6
  65. package/src/index.ts +10 -3
  66. package/src/lib/parsers/wms/parse-wms-capabilities.ts +10 -9
  67. package/src/lib/parsers/wms/parse-wms-layer-description.ts +6 -2
  68. package/src/lib/sources/image-source.ts +13 -3
  69. package/src/wip/wms-feature-info-loader.ts +4 -3
  70. package/src/wip/wms-layer-description-loader.ts +3 -3
  71. package/src/wip/wmts-capabilities-loader.ts +3 -2
  72. package/src/wms-capabilities-loader.ts +22 -9
@@ -1,5 +1,5 @@
1
1
  import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import { WMSLoaderOptions } from '../wms-capabilities-loader';
2
+ import type { XMLLoaderOptions } from '@loaders.gl/xml';
3
3
  import type { WMSFeatureInfo } from '../lib/parsers/wms/parse-wms-features';
4
4
  export { WMSFeatureInfo };
5
5
  /**
@@ -8,8 +8,8 @@ export { WMSFeatureInfo };
8
8
  export declare const WMSFeatureInfoLoader: {
9
9
  id: string;
10
10
  name: string;
11
- parse: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) => Promise<WMSFeatureInfo>;
12
- parseTextSync: (text: string, options?: WMSLoaderOptions) => WMSFeatureInfo;
11
+ parse: (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) => Promise<WMSFeatureInfo>;
12
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => WMSFeatureInfo;
13
13
  module: string;
14
14
  version: any;
15
15
  worker: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wms-feature-info-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wms-feature-info-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAwB,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAEnF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAC,cAAc,EAAC,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;yBAMJ,WAAW,YAAY,gBAAgB;0BAE5C,MAAM,YAAY,gBAAgB;;;;;;;;;;CACzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAuC,CAAC"}
1
+ {"version":3,"file":"wms-feature-info-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wms-feature-info-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAC,cAAc,EAAC,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;yBAMJ,WAAW,YAAY,gBAAgB;0BAE5C,MAAM,YAAY,gBAAgB;;;;;;;;;;CACzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAuC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import type { WMSLoaderOptions } from '../wms-capabilities-loader';
2
+ import type { XMLLoaderOptions } from '@loaders.gl/xml';
3
3
  import type { WMSLayerDescription } from '../lib/parsers/wms/parse-wms-layer-description';
4
4
  export { WMSLayerDescription };
5
5
  /**
@@ -8,8 +8,8 @@ export { WMSLayerDescription };
8
8
  export declare const WMSLayerDescriptionLoader: {
9
9
  id: string;
10
10
  name: string;
11
- parse: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) => Promise<WMSLayerDescription>;
12
- parseTextSync: (text: string, options?: WMSLoaderOptions) => WMSLayerDescription;
11
+ parse: (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) => Promise<WMSLayerDescription>;
12
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => WMSLayerDescription;
13
13
  module: string;
14
14
  version: any;
15
15
  worker: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wms-layer-description-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wms-layer-description-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAI,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gDAAgD,CAAC;AAGxF,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;yBAMT,WAAW,YAAY,gBAAgB;0BAE5C,MAAM,YAAY,gBAAgB;;;;;;;;;;CACzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAA4C,CAAC"}
1
+ {"version":3,"file":"wms-layer-description-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wms-layer-description-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gDAAgD,CAAC;AAGxF,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;yBAMT,WAAW,YAAY,gBAAgB;0BAE5C,MAAM,YAAY,gBAAgB;;;;;;;;;;CACzD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAA4C,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
2
- export type WMTSLoaderOptions = LoaderOptions & {
1
+ import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
+ import type { XMLLoaderOptions } from '@loaders.gl/xml';
3
+ export type WMTSLoaderOptions = XMLLoaderOptions & {
3
4
  wmts?: {};
4
5
  };
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wmts-capabilities-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wmts-capabilities-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAU9E,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;CACX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;yBAaN,WAAW,YAAY,iBAAiB;0BAE7C,MAAM,YAAY,iBAAiB;CAC1D,CAAC;AAEF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1C;AAED,eAAO,MAAM,gCAAgC,EAAE,gBAAyC,CAAC"}
1
+ {"version":3,"file":"wmts-capabilities-loader.d.ts","sourceRoot":"","sources":["../../src/wip/wmts-capabilities-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUtD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,IAAI,CAAC,EAAE,EAAE,CAAC;CACX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;yBAaN,WAAW,YAAY,iBAAiB;0BAE7C,MAAM,YAAY,iBAAiB;CAC1D,CAAC;AAEF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1C;AAED,eAAO,MAAM,gCAAgC,EAAE,gBAAyC,CAAC"}
@@ -1,11 +1,15 @@
1
- import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
2
- import type { WMSCapabilities } from './lib/parsers/wms/parse-wms-capabilities';
3
- export type { WMSCapabilities };
4
- export type WMSLoaderOptions = LoaderOptions & {
1
+ import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
+ import type { XMLLoaderOptions } from '@loaders.gl/xml';
3
+ export type { WMSCapabilities, WMSLayer, WMSBoundingBox, WMSDimension, WMSRequest, WMSExceptions } from './lib/parsers/wms/parse-wms-capabilities';
4
+ export type WMSCapabilitiesLoaderOptions = XMLLoaderOptions & {
5
5
  wms?: {
6
6
  /** Add inherited layer information to sub layers */
7
7
  inheritedLayerProps?: boolean;
8
- /** Whether to include "raw" XML-derived JSON */
8
+ /** Include the "raw" JSON (parsed but untyped, unprocessed XML). May contain additional fields */
9
+ includeRawData?: boolean;
10
+ /** Include the original XML document text. May contain additional information. */
11
+ includeXMLText?: boolean;
12
+ /** @deprecated Use options.includeRawData` */
9
13
  raw?: boolean;
10
14
  };
11
15
  };
@@ -24,8 +28,8 @@ export declare const WMSCapabilitiesLoader: {
24
28
  options: {
25
29
  wms: {};
26
30
  };
27
- parse: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) => Promise<WMSCapabilities>;
28
- parseTextSync: (text: string, options?: WMSLoaderOptions) => WMSCapabilities;
31
+ parse: (arrayBuffer: ArrayBuffer, options?: WMSCapabilitiesLoaderOptions) => Promise<import("./lib/parsers/wms/parse-wms-capabilities").WMSCapabilities>;
32
+ parseTextSync: (text: string, options?: WMSCapabilitiesLoaderOptions) => import("./lib/parsers/wms/parse-wms-capabilities").WMSCapabilities;
29
33
  };
30
34
  declare function testXMLFile(text: string): boolean;
31
35
  export declare const _typecheckWMSCapabilitiesLoader: LoaderWithParser;
@@ -1 +1 @@
1
- {"version":3,"file":"wms-capabilities-loader.d.ts","sourceRoot":"","sources":["../src/wms-capabilities-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0CAA0C,CAAC;AAQ9E,YAAY,EAAC,eAAe,EAAC,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,oDAAoD;QACpD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,gDAAgD;QAChD,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;yBAaL,WAAW,YAAY,gBAAgB;0BAE5C,MAAM,YAAY,gBAAgB;CAEzD,CAAC;AAEF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1C;AAED,eAAO,MAAM,+BAA+B,EAAE,gBAAwC,CAAC"}
1
+ {"version":3,"file":"wms-capabilities-loader.d.ts","sourceRoot":"","sources":["../src/wms-capabilities-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAQtD,YAAY,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACd,MAAM,0CAA0C,CAAC;AAElD,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,GAAG;IAC5D,GAAG,CAAC,EAAE;QACJ,oDAAoD;QACpD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,kGAAkG;QAClG,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,kFAAkF;QAClF,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,8CAA8C;QAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;yBAaL,WAAW,YAAY,4BAA4B;0BAGxD,MAAM,YAAY,4BAA4B;CAGrE,CAAC;AAEF,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1C;AAED,eAAO,MAAM,+BAA+B,EAAE,gBAAwC,CAAC"}
@@ -21,8 +21,12 @@ exports.WMSCapabilitiesLoader = {
21
21
  options: {
22
22
  wms: {}
23
23
  },
24
- parse: async (arrayBuffer, options) => (0, parse_wms_capabilities_1.parseWMSCapabilities)(new TextDecoder().decode(arrayBuffer), options?.wms),
25
- parseTextSync: (text, options) => (0, parse_wms_capabilities_1.parseWMSCapabilities)(text, options?.wms)
24
+ parse: async (arrayBuffer, options) =>
25
+ // TODO pass in XML options
26
+ (0, parse_wms_capabilities_1.parseWMSCapabilities)(new TextDecoder().decode(arrayBuffer), options?.wms),
27
+ parseTextSync: (text, options) =>
28
+ // TODO pass in XML options
29
+ (0, parse_wms_capabilities_1.parseWMSCapabilities)(text, options?.wms)
26
30
  };
27
31
  function testXMLFile(text) {
28
32
  // TODO - There could be space first.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/wms",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Framework-independent loaders for the WMS (Web Map Service) standard",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -39,10 +39,10 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@babel/runtime": "^7.3.1",
42
- "@loaders.gl/images": "3.4.1",
43
- "@loaders.gl/loader-utils": "3.4.1",
44
- "@loaders.gl/schema": "3.4.1",
45
- "@loaders.gl/xml": "3.4.1",
42
+ "@loaders.gl/images": "3.4.3",
43
+ "@loaders.gl/loader-utils": "3.4.3",
44
+ "@loaders.gl/schema": "3.4.3",
45
+ "@loaders.gl/xml": "3.4.3",
46
46
  "@turf/rewind": "^5.1.5",
47
47
  "deep-strict-equal": "^0.2.0",
48
48
  "lerc": "^4.0.1"
@@ -50,5 +50,5 @@
50
50
  "devDependencies": {
51
51
  "xmldom": "0.6.0"
52
52
  },
53
- "gitHead": "2c39d1032c1a8b3678a6f09507b89ffe92ca9e1b"
53
+ "gitHead": "e60626daeaec1e08eae0009668736f85410f8323"
54
54
  }
package/src/index.ts CHANGED
@@ -17,9 +17,13 @@ export {CSWRecordsLoader} from './csw-records-loader';
17
17
 
18
18
  export {WMSErrorLoader} from './wms-error-loader';
19
19
 
20
- export type {WMSLoaderOptions} from './wms-capabilities-loader';
21
-
22
- export type {WMSCapabilities} from './wms-capabilities-loader';
20
+ export type {
21
+ WMSCapabilities,
22
+ WMSLayer,
23
+ WMSBoundingBox,
24
+ WMSDimension
25
+ } from './wms-capabilities-loader';
26
+ export type {WMSCapabilitiesLoaderOptions} from './wms-capabilities-loader';
23
27
  export {WMSCapabilitiesLoader} from './wms-capabilities-loader';
24
28
 
25
29
  export type {WMSFeatureInfo as _WMSFeatureInfo} from './wip/wms-feature-info-loader';
@@ -75,3 +79,6 @@ export {ArcGISImageServer as _ArcGISImageServer} from './lib/services/arcgis/arc
75
79
  // TODO - restore once esbuild bundling issues have been resolved
76
80
  // export type {LERCData} from './lib/lerc/lerc-types';
77
81
  // export {LERCLoader} from './lerc-loader';
82
+
83
+ /** @deprecated Use WMSCapabilitiesLoaderOptions */
84
+ export type {WMSCapabilitiesLoaderOptions as WMSLoaderOptions} from './wms-capabilities-loader';
@@ -143,7 +143,7 @@ export type WMSExceptions = {
143
143
  mimeTypes: string[];
144
144
  };
145
145
 
146
- export type parseWMSCapabilitiesOptions = {
146
+ export type ParseWMSCapabilitiesOptions = {
147
147
  /** Add inherited layer information to sub layers */
148
148
  inheritedLayerProps?: boolean;
149
149
  /** Include the "raw" JSON (parsed but untyped, unprocessed XML). May contain additional fields */
@@ -152,7 +152,6 @@ export type parseWMSCapabilitiesOptions = {
152
152
  includeXMLText?: boolean;
153
153
  /** @deprecated Use includeRawData` */
154
154
  raw?: boolean;
155
-
156
155
  // xml options are passed through to xml loader
157
156
  };
158
157
 
@@ -162,7 +161,7 @@ export type parseWMSCapabilitiesOptions = {
162
161
  */
163
162
  export function parseWMSCapabilities(
164
163
  xmlText: string,
165
- options?: parseWMSCapabilitiesOptions
164
+ options?: ParseWMSCapabilitiesOptions
166
165
  ): WMSCapabilities {
167
166
  const parsedXML = XMLLoader.parseTextSync(xmlText, options);
168
167
  const xmlCapabilities: any =
@@ -254,8 +253,8 @@ function extractLayer(xmlLayer: any): WMSLayer {
254
253
  // All layers must have a title
255
254
  title: String(xmlLayer?.Title || ''),
256
255
  // Name is required only if renderable
257
- name: String(xmlLayer?.Name),
258
- abstract: String(xmlLayer?.Abstract),
256
+ name: xmlLayer?.Name && String(xmlLayer?.Name),
257
+ abstract: xmlLayer?.Name && String(xmlLayer?.Abstract),
259
258
  keywords: getXMLStringArray(xmlLayer.KeywordList?.Keyword)
260
259
  };
261
260
 
@@ -406,19 +405,21 @@ function extractDimension(xmlDimension: any): WMSDimension {
406
405
  /** Traverse layers and inject missing props from parents */
407
406
  // eslint-disable-next-line complexity
408
407
  function addInheritedLayerProps(layer: WMSLayer, parent: WMSLayer | null): void {
409
- if (parent && parent.geographicBoundingBox && !layer.geographicBoundingBox) {
408
+ if (parent?.geographicBoundingBox && !layer.geographicBoundingBox) {
410
409
  layer.geographicBoundingBox = [...parent.geographicBoundingBox];
411
410
  }
412
411
 
413
- if (parent && parent.crs && !layer.crs) {
412
+ if (parent?.crs && !layer.crs) {
414
413
  layer.crs = [...parent.crs];
415
414
  }
416
415
 
417
- if (parent && parent.boundingBoxes && !layer.boundingBoxes) {
416
+ if (parent?.boundingBoxes && !layer.boundingBoxes) {
418
417
  layer.boundingBoxes = [...parent.boundingBoxes];
419
418
  }
420
419
 
421
- // TODO inherit other elements
420
+ if (parent?.dimensions && !layer.dimensions) {
421
+ layer.dimensions = [...parent.dimensions];
422
+ }
422
423
 
423
424
  for (const subLayer of layer.layers || []) {
424
425
  addInheritedLayerProps(subLayer, layer);
@@ -1,5 +1,6 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
3
4
  import {XMLLoader} from '@loaders.gl/xml';
4
5
 
5
6
  /** Layer description - response to a WMS `DescribeLayer` request */
@@ -11,8 +12,11 @@ export type WMSLayerDescription = {
11
12
  * Parses a typed data structure from raw XML for `GetFeatureInfo` response
12
13
  * @note Error handlings is fairly weak
13
14
  */
14
- export function parseWMSLayerDescription(text: string, options): WMSLayerDescription {
15
- const parsedXML = XMLLoader.parseTextSync(text, options);
15
+ export function parseWMSLayerDescription(
16
+ text: string,
17
+ options?: XMLLoaderOptions
18
+ ): WMSLayerDescription {
19
+ const parsedXML = XMLLoader.parseTextSync?.(text, options);
16
20
  // TODO - implement parser
17
21
  return parsedXML as unknown as WMSLayerDescription;
18
22
  }
@@ -7,8 +7,8 @@ import {DataSource} from './data-source';
7
7
  /**
8
8
  * Normalized capabilities of an Image service
9
9
  * @example
10
- * The WMSService will normalize the response to the WMS `GetCapabilities` data structure extracted from WMS XML response
11
- * into an ImageSourceMetadata.
10
+ * The WMSService will normalize the response to the WMS `GetCapabilities`
11
+ * data structure extracted from WMS XML response into an ImageSourceMetadata.
12
12
  */
13
13
  export type ImageSourceMetadata = {
14
14
  name: string;
@@ -18,14 +18,24 @@ export type ImageSourceMetadata = {
18
18
  layers: ImageSourceLayer[];
19
19
  };
20
20
 
21
+ /** Description of one data layer in the image source */
21
22
  export type ImageSourceLayer = {
23
+ /** Name of this layer */
22
24
  name?: string;
25
+ /** Human readable title of this layer */
23
26
  title?: string;
27
+ /** Coordinate systems supported by this layer */
24
28
  crs?: string[];
25
- boundingBox?: [number, number, number, number];
29
+ /** layer limits in unspecified CRS:84-like lng/lat, for quick access w/o CRS calculations. */
30
+ geographicBoundingBox?: [min: [x: number, y: number], max: [x: number, y: number]];
31
+ /** Sub layers of this layer */
26
32
  layers?: ImageSourceLayer[];
33
+
34
+ /** @deprecated from v3.4: non-vis.gl style bounding box. Use `.geographicBoundingBox` instead */
35
+ boundingBox?: [number, number, number, number];
27
36
  };
28
37
 
38
+ /** Generic parameters for requesting an image from an image source */
29
39
  export type GetImageParameters = {
30
40
  /** Layers to render */
31
41
  layers: string | string[];
@@ -1,7 +1,8 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
- import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
+ import {WMSCapabilitiesLoader} from '../wms-capabilities-loader';
5
6
 
6
7
  import type {WMSFeatureInfo} from '../lib/parsers/wms/parse-wms-features';
7
8
  import {parseWMSFeatureInfo} from '../lib/parsers/wms/parse-wms-features';
@@ -17,9 +18,9 @@ export const WMSFeatureInfoLoader = {
17
18
  id: 'wms-feature-info',
18
19
  name: 'WMS FeatureInfo',
19
20
 
20
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
21
+ parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>
21
22
  parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
22
- parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)
23
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => parseWMSFeatureInfo(text, options)
23
24
  };
24
25
 
25
26
  export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSFeatureInfoLoader;
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
- import type{WMSLoaderOptions} from '../wms-capabilities-loader';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
5
  import {WMSCapabilitiesLoader} from '../wms-capabilities-loader';
6
6
 
7
7
  import type {WMSLayerDescription} from '../lib/parsers/wms/parse-wms-layer-description';
@@ -18,9 +18,9 @@ export const WMSLayerDescriptionLoader = {
18
18
  id: 'wms-layer-description',
19
19
  name: 'WMS DescribeLayer',
20
20
 
21
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
21
+ parse: async (arrayBuffer: ArrayBuffer, options?: XMLLoaderOptions) =>
22
22
  parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),
23
- parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSLayerDescription(text, options)
23
+ parseTextSync: (text: string, options?: XMLLoaderOptions) => parseWMSLayerDescription(text, options)
24
24
  };
25
25
 
26
26
  export const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;
@@ -1,6 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
4
5
  // import type {WMTSCapabilities} from './lib/wmts/parse-wmts-capabilities';
5
6
  import {parseWMTSCapabilities} from './lib/wmts/parse-wmts-capabilities';
6
7
 
@@ -10,7 +11,7 @@ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
10
11
 
11
12
  // export type {WMTSCapabilities};
12
13
 
13
- export type WMTSLoaderOptions = LoaderOptions & {
14
+ export type WMTSLoaderOptions = XMLLoaderOptions & {
14
15
  wmts?: {};
15
16
  };
16
17
 
@@ -1,21 +1,32 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import type {WMSCapabilities} from './lib/parsers/wms/parse-wms-capabilities';
3
+ import type {LoaderWithParser} from '@loaders.gl/loader-utils';
4
+ import type {XMLLoaderOptions} from '@loaders.gl/xml';
5
5
  import {parseWMSCapabilities} from './lib/parsers/wms/parse-wms-capabilities';
6
6
 
7
7
  // __VERSION__ is injected by babel-plugin-version-inline
8
8
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
9
9
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
10
10
 
11
- // Parsed data type
12
- export type {WMSCapabilities};
13
-
14
- export type WMSLoaderOptions = LoaderOptions & {
11
+ // Parsed data types
12
+ export type {
13
+ WMSCapabilities,
14
+ WMSLayer,
15
+ WMSBoundingBox,
16
+ WMSDimension,
17
+ WMSRequest,
18
+ WMSExceptions
19
+ } from './lib/parsers/wms/parse-wms-capabilities';
20
+
21
+ export type WMSCapabilitiesLoaderOptions = XMLLoaderOptions & {
15
22
  wms?: {
16
23
  /** Add inherited layer information to sub layers */
17
24
  inheritedLayerProps?: boolean;
18
- /** Whether to include "raw" XML-derived JSON */
25
+ /** Include the "raw" JSON (parsed but untyped, unprocessed XML). May contain additional fields */
26
+ includeRawData?: boolean;
27
+ /** Include the original XML document text. May contain additional information. */
28
+ includeXMLText?: boolean;
29
+ /** @deprecated Use options.includeRawData` */
19
30
  raw?: boolean;
20
31
  };
21
32
  };
@@ -36,9 +47,11 @@ export const WMSCapabilitiesLoader = {
36
47
  options: {
37
48
  wms: {}
38
49
  },
39
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
50
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSCapabilitiesLoaderOptions) =>
51
+ // TODO pass in XML options
40
52
  parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options?.wms),
41
- parseTextSync: (text: string, options?: WMSLoaderOptions) =>
53
+ parseTextSync: (text: string, options?: WMSCapabilitiesLoaderOptions) =>
54
+ // TODO pass in XML options
42
55
  parseWMSCapabilities(text, options?.wms)
43
56
  };
44
57