@loaders.gl/wms 3.3.0-alpha.12 → 3.3.0-alpha.13

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 (199) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +6 -0
  4. package/dist/dist.min.js +4842 -5361
  5. package/dist/es5/index.js +41 -20
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/lerc-loader.js +74 -0
  8. package/dist/es5/lerc-loader.js.map +1 -0
  9. package/dist/es5/lib/data-sources/adhoc-image-service.js +125 -0
  10. package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
  11. package/dist/es5/lib/data-sources/image-source.js +14 -0
  12. package/dist/es5/lib/data-sources/image-source.js.map +1 -0
  13. package/dist/es5/lib/data-sources/wms-service.js +192 -173
  14. package/dist/es5/lib/data-sources/wms-service.js.map +1 -1
  15. package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
  16. package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
  17. package/dist/es5/lib/gml/parse-gml.js +3 -3
  18. package/dist/es5/lib/gml/parse-gml.js.map +1 -1
  19. package/dist/es5/lib/lerc/lerc-types.js +2 -0
  20. package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
  21. package/dist/es5/lib/wcs/parse-wcs.js +43 -0
  22. package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
  23. package/dist/es5/lib/wcs/wcs-types.js +2 -0
  24. package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
  25. package/dist/es5/lib/wms/parse-wms.js +6 -4
  26. package/dist/es5/lib/wms/parse-wms.js.map +1 -1
  27. package/dist/es5/wip/data-source.js +4 -0
  28. package/dist/es5/wip/data-source.js.map +1 -0
  29. package/dist/es5/{gml-loader.js → wip/gml-loader.js} +2 -2
  30. package/dist/es5/wip/gml-loader.js.map +1 -0
  31. package/dist/es5/{wcs-capabilities-loader.js → wip/wcs-capabilities-loader.js} +5 -5
  32. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
  33. package/dist/es5/{wfs-capabilities-loader.js → wip/wfs-capabilities-loader.js} +3 -3
  34. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
  35. package/dist/es5/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
  36. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
  37. package/dist/es5/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +3 -3
  38. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
  39. package/dist/es5/wip/wms-layer-description-loader.md +47 -0
  40. package/dist/es5/{wmts-capabilities-loader.js → wip/wmts-capabilities-loader.js} +3 -3
  41. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
  42. package/dist/es5/wms-capabilities-loader.js +2 -2
  43. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  44. package/dist/es5/wms-error-loader.js +22 -6
  45. package/dist/es5/wms-error-loader.js.map +1 -1
  46. package/dist/esm/index.js +11 -5
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/lerc-loader.js +25 -0
  49. package/dist/esm/lerc-loader.js.map +1 -0
  50. package/dist/esm/lib/data-sources/adhoc-image-service.js +41 -0
  51. package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
  52. package/dist/esm/lib/data-sources/image-source.js +4 -0
  53. package/dist/esm/lib/data-sources/image-source.js.map +1 -0
  54. package/dist/esm/lib/data-sources/wms-service.js +136 -116
  55. package/dist/esm/lib/data-sources/wms-service.js.map +1 -1
  56. package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
  57. package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
  58. package/dist/esm/lib/gml/parse-gml.js +1 -1
  59. package/dist/esm/lib/gml/parse-gml.js.map +1 -1
  60. package/dist/esm/lib/lerc/lerc-types.js +2 -0
  61. package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
  62. package/dist/esm/lib/wcs/parse-wcs.js +32 -0
  63. package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
  64. package/dist/esm/lib/wcs/wcs-types.js +2 -0
  65. package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
  66. package/dist/esm/lib/wms/parse-wms.js +6 -4
  67. package/dist/esm/lib/wms/parse-wms.js.map +1 -1
  68. package/dist/esm/wip/data-source.js +2 -0
  69. package/dist/esm/wip/data-source.js.map +1 -0
  70. package/dist/esm/{gml-loader.js → wip/gml-loader.js} +2 -2
  71. package/dist/esm/wip/gml-loader.js.map +1 -0
  72. package/dist/esm/{wcs-capabilities-loader.js → wip/wcs-capabilities-loader.js} +3 -3
  73. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
  74. package/dist/esm/{wfs-capabilities-loader.js → wip/wfs-capabilities-loader.js} +3 -3
  75. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
  76. package/dist/esm/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
  77. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
  78. package/dist/esm/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +3 -3
  79. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
  80. package/dist/esm/wip/wms-layer-description-loader.md +47 -0
  81. package/dist/esm/{wmts-capabilities-loader.js → wip/wmts-capabilities-loader.js} +3 -3
  82. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
  83. package/dist/esm/wms-capabilities-loader.js +2 -2
  84. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  85. package/dist/esm/wms-error-loader.js +20 -5
  86. package/dist/esm/wms-error-loader.js.map +1 -1
  87. package/dist/index.d.ts +25 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +27 -0
  90. package/dist/lerc-loader.d.ts +30 -0
  91. package/dist/lerc-loader.d.ts.map +1 -0
  92. package/dist/lerc-loader.js +56 -0
  93. package/dist/lib/data-sources/adhoc-image-service.d.ts +22 -0
  94. package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
  95. package/dist/lib/data-sources/adhoc-image-service.js +44 -0
  96. package/dist/lib/data-sources/image-source.d.ts +73 -0
  97. package/dist/lib/data-sources/image-source.d.ts.map +1 -0
  98. package/dist/lib/data-sources/image-source.js +12 -0
  99. package/dist/lib/data-sources/wms-service.d.ts +193 -0
  100. package/dist/lib/data-sources/wms-service.d.ts.map +1 -0
  101. package/dist/lib/data-sources/wms-service.js +206 -0
  102. package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
  103. package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
  104. package/dist/lib/gml/deep-strict-equal.js +119 -0
  105. package/dist/lib/gml/parse-gml.d.ts +28 -0
  106. package/dist/lib/gml/parse-gml.d.ts.map +1 -0
  107. package/dist/lib/gml/parse-gml.js +371 -0
  108. package/dist/lib/lerc/lerc-types.d.ts +30 -0
  109. package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
  110. package/dist/lib/lerc/lerc-types.js +3 -0
  111. package/dist/lib/wcs/parse-wcs.d.ts +7 -0
  112. package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
  113. package/dist/lib/wcs/parse-wcs.js +36 -0
  114. package/dist/lib/wcs/wcs-types.d.ts +73 -0
  115. package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
  116. package/dist/lib/wcs/wcs-types.js +3 -0
  117. package/dist/lib/wfs/parse-wfs.d.ts +7 -0
  118. package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
  119. package/dist/lib/wfs/parse-wfs.js +36 -0
  120. package/dist/lib/wfs/wfs-types.d.ts +73 -0
  121. package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
  122. package/dist/lib/wfs/wfs-types.js +3 -0
  123. package/dist/lib/wms/parse-wms.d.ts +24 -0
  124. package/dist/lib/wms/parse-wms.d.ts.map +1 -0
  125. package/dist/lib/wms/parse-wms.js +115 -0
  126. package/dist/lib/wms/wms-types.d.ts +100 -0
  127. package/dist/lib/wms/wms-types.d.ts.map +1 -0
  128. package/dist/lib/wms/wms-types.js +1908 -0
  129. package/dist/lib/wmts/parse-wmts.d.ts +7 -0
  130. package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
  131. package/dist/lib/wmts/parse-wmts.js +36 -0
  132. package/dist/lib/wmts/wmts-types.d.ts +73 -0
  133. package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
  134. package/dist/lib/wmts/wmts-types.js +3 -0
  135. package/dist/wip/data-source.d.ts +53 -0
  136. package/dist/wip/data-source.d.ts.map +1 -0
  137. package/dist/wip/data-source.js +57 -0
  138. package/dist/wip/gml-loader.d.ts +26 -0
  139. package/dist/wip/gml-loader.d.ts.map +1 -0
  140. package/dist/wip/gml-loader.js +31 -0
  141. package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
  142. package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
  143. package/dist/wip/wcs-capabilities-loader.js +31 -0
  144. package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
  145. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
  146. package/dist/wip/wfs-capabilities-loader.js +31 -0
  147. package/dist/wip/wms-feature-info-loader.d.ts +22 -0
  148. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
  149. package/dist/wip/wms-feature-info-loader.js +17 -0
  150. package/dist/wip/wms-layer-description-loader.d.ts +22 -0
  151. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
  152. package/dist/wip/wms-layer-description-loader.js +17 -0
  153. package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
  154. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
  155. package/dist/wip/wmts-capabilities-loader.js +31 -0
  156. package/dist/wms-capabilities-loader.d.ts +26 -0
  157. package/dist/wms-capabilities-loader.d.ts.map +1 -0
  158. package/dist/wms-capabilities-loader.js +31 -0
  159. package/dist/wms-error-loader.d.ts +34 -0
  160. package/dist/wms-error-loader.d.ts.map +1 -0
  161. package/dist/wms-error-loader.js +43 -0
  162. package/package.json +9 -8
  163. package/src/index.ts +34 -13
  164. package/src/lerc-loader.ts +50 -0
  165. package/src/lib/data-sources/adhoc-image-service.ts +58 -0
  166. package/src/lib/data-sources/image-source.ts +82 -0
  167. package/src/lib/data-sources/wms-service.ts +211 -177
  168. package/src/lib/gml/deep-strict-equal.ts +119 -0
  169. package/src/lib/gml/parse-gml.ts +1 -1
  170. package/src/lib/lerc/lerc-types.ts +43 -0
  171. package/src/lib/wcs/parse-wcs.ts +39 -0
  172. package/src/lib/wcs/wcs-types.ts +77 -0
  173. package/src/lib/wms/parse-wms.ts +16 -3
  174. package/src/{lib/data-sources/image-data-source.ts → wip/data-source.ts} +6 -29
  175. package/src/{gml-loader.ts → wip/gml-loader.ts} +1 -1
  176. package/src/{wcs-capabilities-loader.ts → wip/wcs-capabilities-loader.ts} +2 -2
  177. package/src/{wfs-capabilities-loader.ts → wip/wfs-capabilities-loader.ts} +2 -2
  178. package/src/{wms-feature-info-loader.ts → wip/wms-feature-info-loader.ts} +3 -3
  179. package/src/wip/wms-layer-description-loader.md +47 -0
  180. package/src/{wms-layer-description-loader.ts → wip/wms-layer-description-loader.ts} +3 -3
  181. package/src/{wmts-capabilities-loader.ts → wip/wmts-capabilities-loader.ts} +2 -2
  182. package/src/wms-capabilities-loader.ts +1 -1
  183. package/src/wms-error-loader.ts +25 -6
  184. package/dist/es5/gml-loader.js.map +0 -1
  185. package/dist/es5/lib/data-sources/image-data-source.js +0 -4
  186. package/dist/es5/lib/data-sources/image-data-source.js.map +0 -1
  187. package/dist/es5/wcs-capabilities-loader.js.map +0 -1
  188. package/dist/es5/wfs-capabilities-loader.js.map +0 -1
  189. package/dist/es5/wms-feature-info-loader.js.map +0 -1
  190. package/dist/es5/wms-layer-description-loader.js.map +0 -1
  191. package/dist/es5/wmts-capabilities-loader.js.map +0 -1
  192. package/dist/esm/gml-loader.js.map +0 -1
  193. package/dist/esm/lib/data-sources/image-data-source.js +0 -2
  194. package/dist/esm/lib/data-sources/image-data-source.js.map +0 -1
  195. package/dist/esm/wcs-capabilities-loader.js.map +0 -1
  196. package/dist/esm/wfs-capabilities-loader.js.map +0 -1
  197. package/dist/esm/wms-feature-info-loader.js.map +0 -1
  198. package/dist/esm/wms-layer-description-loader.js.map +0 -1
  199. package/dist/esm/wmts-capabilities-loader.js.map +0 -1
@@ -0,0 +1,39 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {WFSCapabilities} from './wcs-types';
4
+
5
+ import {XMLLoader} from '@loaders.gl/xml';
6
+
7
+ // GetCapabilities
8
+
9
+ /**
10
+ * Parses a typed data structure from raw XML for `GetCapabilities` response
11
+ * @note Error handlings is fairly weak
12
+ */
13
+ export function parseWFSCapabilities(text: string, options): WFSCapabilities {
14
+ // Remove namespaces in XML
15
+ options = {...options, xml: {...options?.xml, removeNSPrefix: true}};
16
+ const parsedXML = XMLLoader.parseTextSync(text, options);
17
+ const xmlCapabilities: any = parsedXML.Capabilities || parsedXML;
18
+ return uncapitalizeKeys(xmlCapabilities);
19
+ }
20
+
21
+ function uncapitalizeKeys(object: any): any {
22
+ if (object && typeof object === 'object') {
23
+ const newObject = {};
24
+ for (const [key, value] of Object.entries(object)) {
25
+ newObject[uncapitalize(key)] = uncapitalizeKeys(value);
26
+ }
27
+ return newObject;
28
+ }
29
+ return object;
30
+ }
31
+
32
+ /**
33
+ * Uncapitalize first letter of a string
34
+ * @param {string} str
35
+ * @returns {string}
36
+ */
37
+ function uncapitalize(str: string): string {
38
+ return typeof str === 'string' ? str.charAt(0).toLowerCase() + str.slice(1) : str;
39
+ }
@@ -0,0 +1,77 @@
1
+ // loaders.gl, MIT licenses
2
+
3
+ /** All capabilities of a WFS service - response to a WFS `GetCapabilities` data structure extracted from XML */
4
+ export type WFSCapabilities = {
5
+ serviceIdentification: {
6
+ title: string;
7
+ serviceTypeVersion: string;
8
+ serviceType: string;
9
+ };
10
+
11
+ serviceProvider: {
12
+ providerName: string;
13
+ providerSite: string;
14
+ serviceContact: {
15
+ individualName: string;
16
+ positionName: string;
17
+ contactInfo: {
18
+ address: {
19
+ administrativeArea: string;
20
+ city: string;
21
+ country: string;
22
+ deliveryPoint: string;
23
+ electronicMailAddress: string;
24
+ postalCode: string;
25
+ };
26
+ phone: {
27
+ voice: string;
28
+ };
29
+ };
30
+ };
31
+ };
32
+
33
+ operationsMetadata: {
34
+ GetCapabilities: any;
35
+ GetFeatureInfo: any;
36
+ GetTile: any;
37
+ };
38
+
39
+ contents: {
40
+ layers: {
41
+ abstract: string;
42
+ identifier: string;
43
+ title: string;
44
+ formats: string[];
45
+ styles: {
46
+ identifier: string;
47
+ isDefault: string;
48
+ title: string;
49
+ abstract?: string;
50
+ }[];
51
+ bounds: {
52
+ left: number;
53
+ right: number;
54
+ bottom: number;
55
+ top: number;
56
+ };
57
+ tileMatrixSetLinks: {
58
+ tileMatrixSet: string;
59
+ }[];
60
+ tileMatrixSets: {
61
+ identifier: string;
62
+ matrixIds: {
63
+ identifier: string;
64
+ matrixHeight: number;
65
+ matrixWidth: number;
66
+ scaleDenominator: number;
67
+ tileWidth: number;
68
+ tileHeight: number;
69
+ topLeftCorner: {
70
+ lon: number;
71
+ lat: number;
72
+ };
73
+ }[];
74
+ };
75
+ }[];
76
+ };
77
+ };
@@ -122,8 +122,21 @@ export function parseWMSLayerDescription(text: string, options): WMSLayerDescrip
122
122
  return parsedXML as unknown as WMSLayerDescription;
123
123
  }
124
124
 
125
+ /**
126
+ * Extract an error message from WMS error response XML
127
+ * @param text
128
+ * @param options
129
+ * @returns a string with a human readable message
130
+ */
125
131
  export function parseWMSError(text: string, options): string {
126
- const parsedXML = XMLLoader.parseTextSync(text, options);
127
- const error = parsedXML?.ServiceExceptionReport?.ServiceException || 'Unknown error';
128
- return String(error);
132
+ const parsedXML = XMLLoader.parseTextSync?.(text, options);
133
+ const serviceExceptionXML =
134
+ parsedXML?.ServiceExceptionReport?.ServiceException ||
135
+ parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];
136
+ // Sigh, can be either a string or an object
137
+ const message =
138
+ typeof serviceExceptionXML === 'string'
139
+ ? serviceExceptionXML
140
+ : serviceExceptionXML['#text'] || serviceExceptionXML.code || 'Unknown error';
141
+ return message;
129
142
  }
@@ -1,39 +1,16 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- // from '@loaders.gl/images';
3
+ /** General data source class */
4
+ // export abstract class DataSource {};
5
+ // export type DataSourceMetadata = {};
6
+
7
+ // ImageSource
4
8
 
5
- /** General data source class *
6
- export abstract class DataSource {};
7
9
 
8
10
  /** Data source that serves data by tile index *
9
11
  export abstract class TileDataSource extends DataSource {};
10
12
 
11
- export type ImageFeatureInfo = {};
12
-
13
- export type ImageLayerInfo = {};
14
-
15
- export type ImageDataSourceCapabilities = {}
16
-
17
- /**
18
- * ImageDataSource - data sources that allow data to be queried by (geospatial) extents
19
- * @note
20
- * - If geospatial, bounding box is expected to be in web mercator coordinates
21
- *
22
- export abstract class ImageDataSource extends DataSource {
23
- abstract getCapabilities(): Promise<ImageDataSourceCapabilities>;
24
- abstract getImage({boundingBox, width, height, layers, parameters}): Promise<ImageType>;
25
- getFeatureInfo({layers, parameters}): Promise<ImageFeatureInfo> {
26
- throw new Error('not implemented');
27
- }
28
- getLayerInfo({layers, parameters}): Promise<ImageLayerInfo> {
29
- throw new Error('not implemented');
30
- }
31
- getLegendImage({layers, parameters}): Promise<ImageType> {
32
- throw new Error('not implemented');
33
- }
34
- }
35
-
36
- // Vector Tile Data Source
13
+ // Vector Tile Source
37
14
 
38
15
  export type VectorTileDataSourceCapabilities = {
39
16
  // check tile.json
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import {parseGML} from './lib/gml/parse-gml';
4
+ import {parseGML} from '../lib/gml/parse-gml';
5
5
 
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import {parseWFSCapabilities} from './lib/wfs/parse-wfs';
4
+ import {parseWFSCapabilities} from '../lib/wcs/parse-wcs';
5
5
 
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -15,8 +15,8 @@ export type WCSLoaderOptions = LoaderOptions & {
15
15
  * Loader for the response to the WCS GetCapability request
16
16
  */
17
17
  export const WCSCapabilitiesLoader = {
18
- name: 'WFS Capabilities',
19
18
  id: 'wcs-capabilities',
19
+ name: 'WFS Capabilities',
20
20
 
21
21
  module: 'wms',
22
22
  version: VERSION,
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import {parseWFSCapabilities} from './lib/wfs/parse-wfs';
4
+ import {parseWFSCapabilities} from '../lib/wfs/parse-wfs';
5
5
 
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -15,8 +15,8 @@ export type WFSLoaderOptions = LoaderOptions & {
15
15
  * Loader for the response to the WFS GetCapability request
16
16
  */
17
17
  export const WFSCapabilitiesLoader = {
18
- name: 'WFS Capabilities',
19
18
  id: 'wfs-capabilities',
19
+ name: 'WFS Capabilities',
20
20
 
21
21
  module: 'wms',
22
22
  version: VERSION,
@@ -1,8 +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';
5
- import {parseWMSFeatureInfo} from './lib/wms/parse-wms';
4
+ import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
5
+ import {parseWMSFeatureInfo} from '../lib/wms/parse-wms';
6
6
 
7
7
  /**
8
8
  * Loader for the response to the WMS GetFeatureInfo request
@@ -10,8 +10,8 @@ import {parseWMSFeatureInfo} from './lib/wms/parse-wms';
10
10
  export const WMSFeatureInfoLoader = {
11
11
  ...WMSCapabilitiesLoader,
12
12
 
13
- name: 'WMS FeatureInfo',
14
13
  id: 'wms-feature-info',
14
+ name: 'WMS FeatureInfo',
15
15
 
16
16
  parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
17
17
  parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),
@@ -0,0 +1,47 @@
1
+ # WMSLayerDescriptionLoader
2
+
3
+ <p class="badges">
4
+ <img src="https://img.shields.io/badge/From-v3.3-blue.svg?style=flat-square" alt="From-v3.3" />
5
+ <img src="https://img.shields.io/badge/-BETA-teal.svg" alt="BETA" />
6
+ </p>
7
+
8
+ The `WMSLayerDescriptionLoader` parses the XML-formatted response from the
9
+ the [OGC](https://www.opengeospatial.org/) [WMS](https://www.ogc.org/standards/wms) (Web Map Service) standard `DescribeLayer` request into a typed JavaScript data structure.
10
+
11
+ > Note that the WMS standard is rather verbose and the XML responses can contain many rarely used metadata fields, not all of which are extracted by this loader. If this is a problem, it is possible to use the `XMLLoader` directly though the result will be untyped and not normalized.
12
+
13
+ | Loader | Characteristic |
14
+ | --------------------- | ---------------------------------------------------- |
15
+ | File Extension | `.xml` |
16
+ | File Type | Text |
17
+ | File Format | [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) |
18
+ | Data Format | Data structure |
19
+ | Decoder Type | Synchronous |
20
+ | Worker Thread Support | No |
21
+ | Streaming Support | No |
22
+
23
+ ## Usage
24
+
25
+ ```js
26
+ import {WMSLayerDescriptionLoader} from '@loaders.gl/wms';
27
+ import {load} from '@loaders.gl/core';
28
+
29
+ // Form a WMS request
30
+ const url = `${WMS_SERVICE_URL}?REQUEST=DescribeLayer&LAYER=...`;
31
+
32
+ const data = await load(url, WMSLayerDescriptionLoader, options);
33
+ ```
34
+
35
+ ## Parsed Data Format
36
+
37
+ ```typescript
38
+ /** All capabilities of a WMS service. Typed data structure extracted from XML */
39
+ export type WMSLayerDescription = {
40
+ // TO BE DOCUMENTED
41
+ }
42
+ ```
43
+
44
+ ## Options
45
+
46
+ | Option | Type | Default | Description |
47
+ | ------ | ---- | ------- | ----------- |
@@ -1,8 +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';
5
- import {parseWMSLayerDescription} from './lib/wms/parse-wms';
4
+ import {WMSCapabilitiesLoader, WMSLoaderOptions} from '../wms-capabilities-loader';
5
+ import {parseWMSLayerDescription} from '../lib/wms/parse-wms';
6
6
 
7
7
  /**
8
8
  * Loader for the response to the WMS DescribeLayer request
@@ -10,8 +10,8 @@ import {parseWMSLayerDescription} from './lib/wms/parse-wms';
10
10
  export const WMSLayerDescriptionLoader = {
11
11
  ...WMSCapabilitiesLoader,
12
12
 
13
- name: 'WMS DescribeLayer',
14
13
  id: 'wms-layer-description',
14
+ name: 'WMS DescribeLayer',
15
15
 
16
16
  parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
17
17
  parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),
@@ -1,7 +1,7 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
3
  import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
4
- import {parseWMTSCapabilities} from './lib/wmts/parse-wmts';
4
+ import {parseWMTSCapabilities} from '../lib/wmts/parse-wmts';
5
5
 
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -15,8 +15,8 @@ export type WMTSLoaderOptions = LoaderOptions & {
15
15
  * Loader for the response to the WMTS GetCapability request
16
16
  */
17
17
  export const WMTSCapabilitiesLoader = {
18
- name: 'WMTS Capabilities',
19
18
  id: 'wmts-capabilities',
19
+ name: 'WMTS Capabilities',
20
20
 
21
21
  module: 'wms',
22
22
  version: VERSION,
@@ -15,8 +15,8 @@ export type WMSLoaderOptions = LoaderOptions & {
15
15
  * Loader for the response to the WMS GetCapability request
16
16
  */
17
17
  export const WMSCapabilitiesLoader = {
18
- name: 'WMS Capabilities',
19
18
  id: 'wms-capabilities',
19
+ name: 'WMS Capabilities',
20
20
 
21
21
  module: 'wms',
22
22
  version: VERSION,
@@ -8,15 +8,20 @@ import {parseWMSError} from './lib/wms/parse-wms';
8
8
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
9
 
10
10
  export type WMSLoaderOptions = LoaderOptions & {
11
- wms?: {};
11
+ wms?: {
12
+ /** By default the error loader will throw an error with the parsed error message */
13
+ throwOnError?: boolean;
14
+ /** Do not add any text to errors */
15
+ minimalErrors?: boolean;
16
+ };
12
17
  };
13
18
 
14
19
  /**
15
20
  * Loader for the response to the WMS GetCapability request
16
21
  */
17
22
  export const WMSErrorLoader = {
23
+ id: 'wms-error',
18
24
  name: 'WMS Error',
19
- id: 'wms-capabilities',
20
25
 
21
26
  module: 'wms',
22
27
  version: VERSION,
@@ -25,11 +30,15 @@ export const WMSErrorLoader = {
25
30
  mimeTypes: ['application/vnd.ogc.se_xml', 'application/xml', 'text/xml'],
26
31
  testText: testXMLFile,
27
32
  options: {
28
- wms: {}
33
+ wms: {
34
+ throwOnError: false
35
+ }
29
36
  },
30
- parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>
31
- parseWMSError(new TextDecoder().decode(arrayBuffer), options),
32
- parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSError(text, options)
37
+ parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions): Promise<string> =>
38
+ parseTextSync(new TextDecoder().decode(arrayBuffer), options),
39
+ parseSync: (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions): string =>
40
+ parseTextSync(new TextDecoder().decode(arrayBuffer), options),
41
+ parseTextSync: (text: string, options?: WMSLoaderOptions): string => parseTextSync(text, options)
33
42
  };
34
43
 
35
44
  function testXMLFile(text: string): boolean {
@@ -37,4 +46,14 @@ function testXMLFile(text: string): boolean {
37
46
  return text.startsWith('<?xml');
38
47
  }
39
48
 
49
+ function parseTextSync(text: string, options?: WMSLoaderOptions): string {
50
+ const wmsOptions: WMSLoaderOptions['wms'] = {...WMSErrorLoader.options.wms, ...options?.wms};
51
+ const error = parseWMSError(text, wmsOptions);
52
+ const message = wmsOptions.minimalErrors ? error : `WMS Service error: ${error}`;
53
+ if (wmsOptions.throwOnError) {
54
+ throw new Error(message);
55
+ }
56
+ return message;
57
+ }
58
+
40
59
  export const _typecheckWMSErrorLoader: LoaderWithParser = WMSErrorLoader;
@@ -1 +0,0 @@
1
- {"version":3,"file":"gml-loader.js","names":["VERSION","GMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","gml","parse","arrayBuffer","parseGML","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckGMLLoader"],"sources":["../../src/gml-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseGML} from './lib/gml/parse-gml';\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 GMLLoaderOptions = LoaderOptions & {\n gml?: {};\n};\n\n/**\n * Loader for the response to the GML GetCapability request\n */\nexport const GMLLoader = {\n name: 'GML',\n id: 'gml',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.gml_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n gml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: GMLLoaderOptions) =>\n parseGML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: GMLLoaderOptions) => parseGML(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 _typecheckGMLLoader: LoaderWithParser = GMLLoader;\n"],"mappings":";;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AASpE,IAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EAETC,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;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,kBAAQ,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC1DO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,kBAAQ,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AACtF,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,mBAAqC,GAAGpB,SAAS;AAAC"}
@@ -1,4 +0,0 @@
1
-
2
-
3
- "use strict";
4
- //# sourceMappingURL=image-data-source.js.map
@@ -1 +0,0 @@
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// 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":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wcs-capabilities-loader.js","names":["VERSION","WCSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","parseWFSCapabilities","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWFSCapabilitiesLoader"],"sources":["../../src/wcs-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWFSCapabilities} from './lib/wfs/parse-wfs';\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 WCSLoaderOptions = LoaderOptions & {\n wcs?: {};\n};\n\n/**\n * Loader for the response to the WCS GetCapability request\n */\nexport const WCSCapabilitiesLoader = {\n name: 'WFS Capabilities',\n id: 'wcs-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wcs_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WCSLoaderOptions) =>\n parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WCSLoaderOptions) => parseWFSCapabilities(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 _typecheckWFSCapabilitiesLoader: LoaderWithParser = WCSCapabilitiesLoader;\n"],"mappings":";;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AASpE,IAAMC,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;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,8BAAoB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACtEO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,8BAAoB,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AAClG,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,+BAAiD,GAAGpB,qBAAqB;AAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wfs-capabilities-loader.js","names":["VERSION","WFSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","parseWFSCapabilities","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWFSCapabilitiesLoader"],"sources":["../../src/wfs-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWFSCapabilities} from './lib/wfs/parse-wfs';\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 WFSLoaderOptions = LoaderOptions & {\n wfs?: {};\n};\n\n/**\n * Loader for the response to the WFS GetCapability request\n */\nexport const WFSCapabilitiesLoader = {\n name: 'WFS Capabilities',\n id: 'wfs-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wfs_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WFSLoaderOptions) =>\n parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WFSLoaderOptions) => parseWFSCapabilities(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 _typecheckWFSCapabilitiesLoader: LoaderWithParser = WFSCapabilitiesLoader;\n"],"mappings":";;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AASpE,IAAMC,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;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,8BAAoB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACtEO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,8BAAoB,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AAClG,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,+BAAiD,GAAGpB,qBAAqB;AAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wms-feature-info-loader.js","names":["WMSFeatureInfoLoader","WMSCapabilitiesLoader","name","id","parse","arrayBuffer","options","parseWMSFeatureInfo","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/wms/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;AACA;AAAwD;AAAA;AAKjD,IAAMA,oBAAoB,mCAC5BC,4CAAqB;EAExBC,IAAI,EAAE,iBAAiB;EACvBC,EAAE,EAAE,kBAAkB;EAEtBC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEC,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAC,6BAAmB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACrEI,aAAa,EAAE,uBAACC,IAAY,EAAEL,OAA0B;IAAA,OAAK,IAAAC,6BAAmB,EAACI,IAAI,EAAEL,OAAO,CAAC;EAAA;AAAA,EAChG;AAAC;AAEK,IAAMM,8BAAgD,GAAGZ,oBAAoB;AAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wms-layer-description-loader.js","names":["WMSLayerDescriptionLoader","WMSCapabilitiesLoader","name","id","parse","arrayBuffer","options","parseWMSLayerDescription","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 {parseWMSLayerDescription} from './lib/wms/parse-wms';\n\n/**\n * Loader for the response to the WMS DescribeLayer 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 parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSLayerDescription(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;\n"],"mappings":";;;;;;;;;;AAGA;AACA;AAA6D;AAAA;AAKtD,IAAMA,yBAAyB,mCACjCC,4CAAqB;EAExBC,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,uBAAuB;EAE3BC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEC,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAC,kCAAwB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC1EI,aAAa,EAAE,uBAACC,IAAY,EAAEL,OAA0B;IAAA,OAAK,IAAAC,kCAAwB,EAACI,IAAI,EAAEL,OAAO,CAAC;EAAA;AAAA,EACrG;AAAC;AAEK,IAAMM,8BAAgD,GAAGZ,yBAAyB;AAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wmts-capabilities-loader.js","names":["VERSION","WMTSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","parseWMTSCapabilities","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWMTSCapabilitiesLoader"],"sources":["../../src/wmts-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWMTSCapabilities} from './lib/wmts/parse-wmts';\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 WMTSLoaderOptions = LoaderOptions & {\n wmts?: {};\n};\n\n/**\n * Loader for the response to the WMTS GetCapability request\n */\nexport const WMTSCapabilitiesLoader = {\n name: 'WMTS Capabilities',\n id: 'wmts-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wmts_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WMTSLoaderOptions) =>\n parseWMTSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMTSLoaderOptions) => parseWMTSCapabilities(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 _typecheckWMTSCapabilitiesLoader: LoaderWithParser = WMTSCapabilitiesLoader;\n"],"mappings":";;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AASpE,IAAMC,sBAAsB,GAAG;EACpCC,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,mBAAmB;EAEvBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,8BAA8B,EAAE,iBAAiB,EAAE,UAAU,CAAC;EAC1EC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA2B;MAAA;QAAA;UAAA;YAAA;cAAA,iCACjE,IAAAI,gCAAqB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACvEO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA2B;IAAA,OAAK,IAAAI,gCAAqB,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AACpG,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,gCAAkD,GAAGpB,sBAAsB;AAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gml-loader.js","names":["parseGML","VERSION","GMLLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","gml","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckGMLLoader"],"sources":["../../src/gml-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseGML} from './lib/gml/parse-gml';\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 GMLLoaderOptions = LoaderOptions & {\n gml?: {};\n};\n\n/**\n * Loader for the response to the GML GetCapability request\n */\nexport const GMLLoader = {\n name: 'GML',\n id: 'gml',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.gml_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n gml: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: GMLLoaderOptions) =>\n parseGML(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: GMLLoaderOptions) => parseGML(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 _typecheckGMLLoader: LoaderWithParser = GMLLoader;\n"],"mappings":";;AAGA,SAAQA,QAAQ,QAAO,qBAAqB;;AAI5C,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAS3E,OAAO,MAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EAETC,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,QAAQ,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EAC1DM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAA0B,KAAKZ,QAAQ,CAACmB,IAAI,EAAEP,OAAO;AACrF,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,mBAAqC,GAAGnB,SAAS"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=image-data-source.js.map
@@ -1 +0,0 @@
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// 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":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wcs-capabilities-loader.js","names":["parseWFSCapabilities","VERSION","WCSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWFSCapabilitiesLoader"],"sources":["../../src/wcs-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWFSCapabilities} from './lib/wfs/parse-wfs';\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 WCSLoaderOptions = LoaderOptions & {\n wcs?: {};\n};\n\n/**\n * Loader for the response to the WCS GetCapability request\n */\nexport const WCSCapabilitiesLoader = {\n name: 'WFS Capabilities',\n id: 'wcs-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wcs_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WCSLoaderOptions) =>\n parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WCSLoaderOptions) => parseWFSCapabilities(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 _typecheckWFSCapabilitiesLoader: LoaderWithParser = WCSCapabilitiesLoader;\n"],"mappings":";;AAGA,SAAQA,oBAAoB,QAAO,qBAAqB;;AAIxD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wfs-capabilities-loader.js","names":["parseWFSCapabilities","VERSION","WFSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWFSCapabilitiesLoader"],"sources":["../../src/wfs-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWFSCapabilities} from './lib/wfs/parse-wfs';\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 WFSLoaderOptions = LoaderOptions & {\n wfs?: {};\n};\n\n/**\n * Loader for the response to the WFS GetCapability request\n */\nexport const WFSCapabilitiesLoader = {\n name: 'WFS Capabilities',\n id: 'wfs-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wfs_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WFSLoaderOptions) =>\n parseWFSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WFSLoaderOptions) => parseWFSCapabilities(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 _typecheckWFSCapabilitiesLoader: LoaderWithParser = WFSCapabilitiesLoader;\n"],"mappings":";;AAGA,SAAQA,oBAAoB,QAAO,qBAAqB;;AAIxD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,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"}
@@ -1 +0,0 @@
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/wms/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,qBAAqB;;AAKvD,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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wms-layer-description-loader.js","names":["WMSCapabilitiesLoader","parseWMSLayerDescription","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 {parseWMSLayerDescription} from './lib/wms/parse-wms';\n\n/**\n * Loader for the response to the WMS DescribeLayer 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 parseWMSLayerDescription(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSLayerDescription(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;\n"],"mappings":";;AAGA,SAAQA,qBAAqB,QAAyB,2BAA2B;AACjF,SAAQC,wBAAwB,QAAO,qBAAqB;;AAK5D,OAAO,MAAMC,yBAAyB,GAAG;EACvC,GAAGF,qBAAqB;EAExBG,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,uBAAuB;EAE3BC,KAAK,EAAE,OAAOC,WAAwB,EAAEC,OAA0B,KAChEN,wBAAwB,CAAC,IAAIO,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEC,OAAO,CAAC;EAC1EG,aAAa,EAAE,CAACC,IAAY,EAAEJ,OAA0B,KAAKN,wBAAwB,CAACU,IAAI,EAAEJ,OAAO;AACrG,CAAC;AAED,OAAO,MAAMK,8BAAgD,GAAGV,yBAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wmts-capabilities-loader.js","names":["parseWMTSCapabilities","VERSION","WMTSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWMTSCapabilitiesLoader"],"sources":["../../src/wmts-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWMTSCapabilities} from './lib/wmts/parse-wmts';\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 WMTSLoaderOptions = LoaderOptions & {\n wmts?: {};\n};\n\n/**\n * Loader for the response to the WMTS GetCapability request\n */\nexport const WMTSCapabilitiesLoader = {\n name: 'WMTS Capabilities',\n id: 'wmts-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wmts_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WMTSLoaderOptions) =>\n parseWMTSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMTSLoaderOptions) => parseWMTSCapabilities(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 _typecheckWMTSCapabilitiesLoader: LoaderWithParser = WMTSCapabilitiesLoader;\n"],"mappings":";;AAGA,SAAQA,qBAAqB,QAAO,uBAAuB;;AAI3D,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAS3E,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,mBAAmB;EAEvBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,8BAA8B,EAAE,iBAAiB,EAAE,UAAU,CAAC;EAC1EC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK,EAAE,OAAOC,WAAwB,EAAEH,OAA2B,KACjEZ,qBAAqB,CAAC,IAAIgB,WAAW,EAAE,CAACC,MAAM,CAACF,WAAW,CAAC,EAAEH,OAAO,CAAC;EACvEM,aAAa,EAAE,CAACC,IAAY,EAAEP,OAA2B,KAAKZ,qBAAqB,CAACmB,IAAI,EAAEP,OAAO;AACnG,CAAC;AAED,SAASD,WAAW,CAACQ,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEA,OAAO,MAAMC,gCAAkD,GAAGnB,sBAAsB"}