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

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 (257) 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 +4141 -1479
  5. package/dist/es5/bundle.js.map +1 -1
  6. package/dist/es5/index.js +77 -0
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/lerc-loader.js +74 -0
  9. package/dist/es5/lerc-loader.js.map +1 -0
  10. package/dist/es5/lib/data-sources/adhoc-image-service.js +129 -0
  11. package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
  12. package/dist/es5/lib/data-sources/arcgis-image-service.js +180 -0
  13. package/dist/es5/lib/data-sources/arcgis-image-service.js.map +1 -0
  14. package/dist/es5/lib/data-sources/create-image-source.js +45 -0
  15. package/dist/es5/lib/data-sources/create-image-source.js.map +1 -0
  16. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js +179 -0
  17. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  18. package/dist/es5/lib/data-sources/image-services/image-service.js +163 -0
  19. package/dist/es5/lib/data-sources/image-services/image-service.js.map +1 -0
  20. package/dist/es5/lib/data-sources/image-services/wms-service.js +400 -0
  21. package/dist/es5/lib/data-sources/image-services/wms-service.js.map +1 -0
  22. package/dist/es5/lib/data-sources/image-source.js +14 -0
  23. package/dist/es5/lib/data-sources/image-source.js.map +1 -0
  24. package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
  25. package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
  26. package/dist/es5/lib/gml/parse-gml.js +416 -0
  27. package/dist/es5/lib/gml/parse-gml.js.map +1 -0
  28. package/dist/es5/lib/lerc/lerc-types.js +2 -0
  29. package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
  30. package/dist/es5/lib/wcs/parse-wcs.js +43 -0
  31. package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
  32. package/dist/es5/lib/wcs/wcs-types.js +2 -0
  33. package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
  34. package/dist/es5/lib/wfs/parse-wfs.js +43 -0
  35. package/dist/es5/lib/wfs/parse-wfs.js.map +1 -0
  36. package/dist/es5/lib/wfs/wfs-types.js +2 -0
  37. package/dist/es5/lib/wfs/wfs-types.js.map +1 -0
  38. package/dist/es5/lib/wms/parse-wms.js +135 -0
  39. package/dist/es5/lib/wms/parse-wms.js.map +1 -0
  40. package/dist/es5/{wms-types.js → lib/wms/wms-types.js} +0 -0
  41. package/dist/{esm → es5/lib/wms}/wms-types.js.map +1 -1
  42. package/dist/es5/lib/wmts/parse-wmts.js +43 -0
  43. package/dist/es5/lib/wmts/parse-wmts.js.map +1 -0
  44. package/dist/es5/lib/wmts/wmts-types.js +2 -0
  45. package/dist/es5/lib/wmts/wmts-types.js.map +1 -0
  46. package/dist/es5/wip/arcgis-feature-service.js +45 -0
  47. package/dist/es5/wip/arcgis-feature-service.js.map +1 -0
  48. package/dist/es5/wip/data-source.js +4 -0
  49. package/dist/es5/wip/data-source.js.map +1 -0
  50. package/dist/es5/wip/gml-loader.js +54 -0
  51. package/dist/es5/wip/gml-loader.js.map +1 -0
  52. package/dist/es5/wip/wcs-capabilities-loader.js +54 -0
  53. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
  54. package/dist/es5/wip/wfs-capabilities-loader.js +54 -0
  55. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
  56. package/dist/es5/wip/wms-feature-info-loader.js +44 -0
  57. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
  58. package/dist/es5/wip/wms-layer-description-loader.js +44 -0
  59. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
  60. package/dist/es5/wip/wms-layer-description-loader.md.disabled.md +47 -0
  61. package/dist/es5/wip/wmts-capabilities-loader.js +54 -0
  62. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
  63. package/dist/es5/wms-capabilities-loader.js +7 -6
  64. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  65. package/dist/es5/wms-error-loader.js +70 -0
  66. package/dist/es5/wms-error-loader.js.map +1 -0
  67. package/dist/esm/bundle.js +1 -0
  68. package/dist/esm/bundle.js.map +1 -1
  69. package/dist/esm/index.js +16 -0
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/lerc-loader.js +25 -0
  72. package/dist/esm/lerc-loader.js.map +1 -0
  73. package/dist/esm/lib/data-sources/adhoc-image-service.js +43 -0
  74. package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
  75. package/dist/esm/lib/data-sources/arcgis-image-service.js +62 -0
  76. package/dist/esm/lib/data-sources/arcgis-image-service.js.map +1 -0
  77. package/dist/esm/lib/data-sources/create-image-source.js +30 -0
  78. package/dist/esm/lib/data-sources/create-image-source.js.map +1 -0
  79. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +61 -0
  80. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  81. package/dist/esm/lib/data-sources/image-services/image-service.js +72 -0
  82. package/dist/esm/lib/data-sources/image-services/image-service.js.map +1 -0
  83. package/dist/esm/lib/data-sources/image-services/wms-service.js +190 -0
  84. package/dist/esm/lib/data-sources/image-services/wms-service.js.map +1 -0
  85. package/dist/esm/lib/data-sources/image-source.js +4 -0
  86. package/dist/esm/lib/data-sources/image-source.js.map +1 -0
  87. package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
  88. package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
  89. package/dist/esm/lib/gml/parse-gml.js +348 -0
  90. package/dist/esm/lib/gml/parse-gml.js.map +1 -0
  91. package/dist/esm/lib/lerc/lerc-types.js +2 -0
  92. package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
  93. package/dist/esm/lib/wcs/parse-wcs.js +32 -0
  94. package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
  95. package/dist/esm/lib/wcs/wcs-types.js +2 -0
  96. package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
  97. package/dist/esm/lib/wfs/parse-wfs.js +32 -0
  98. package/dist/esm/lib/wfs/parse-wfs.js.map +1 -0
  99. package/dist/esm/lib/wfs/wfs-types.js +2 -0
  100. package/dist/esm/lib/wfs/wfs-types.js.map +1 -0
  101. package/dist/esm/lib/wms/parse-wms.js +101 -0
  102. package/dist/esm/lib/wms/parse-wms.js.map +1 -0
  103. package/dist/esm/{wms-types.js → lib/wms/wms-types.js} +0 -0
  104. package/dist/{es5 → esm/lib/wms}/wms-types.js.map +1 -1
  105. package/dist/esm/lib/wmts/parse-wmts.js +32 -0
  106. package/dist/esm/lib/wmts/parse-wmts.js.map +1 -0
  107. package/dist/esm/lib/wmts/wmts-types.js +2 -0
  108. package/dist/esm/lib/wmts/wmts-types.js.map +1 -0
  109. package/dist/esm/wip/arcgis-feature-service.js +28 -0
  110. package/dist/esm/wip/arcgis-feature-service.js.map +1 -0
  111. package/dist/esm/wip/data-source.js +2 -0
  112. package/dist/esm/wip/data-source.js.map +1 -0
  113. package/dist/esm/wip/gml-loader.js +25 -0
  114. package/dist/esm/wip/gml-loader.js.map +1 -0
  115. package/dist/esm/wip/wcs-capabilities-loader.js +25 -0
  116. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
  117. package/dist/esm/wip/wfs-capabilities-loader.js +25 -0
  118. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
  119. package/dist/esm/wip/wms-feature-info-loader.js +14 -0
  120. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
  121. package/dist/esm/wip/wms-layer-description-loader.js +14 -0
  122. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
  123. package/dist/esm/wip/wms-layer-description-loader.md.disabled.md +47 -0
  124. package/dist/esm/wip/wmts-capabilities-loader.js +25 -0
  125. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
  126. package/dist/esm/wms-capabilities-loader.js +6 -4
  127. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  128. package/dist/esm/wms-error-loader.js +40 -0
  129. package/dist/esm/wms-error-loader.js.map +1 -0
  130. package/dist/index.d.ts +27 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +33 -0
  133. package/dist/lerc-loader.d.ts +30 -0
  134. package/dist/lerc-loader.d.ts.map +1 -0
  135. package/dist/lerc-loader.js +56 -0
  136. package/dist/lib/data-sources/adhoc-image-service.d.ts +24 -0
  137. package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
  138. package/dist/lib/data-sources/adhoc-image-service.js +46 -0
  139. package/dist/lib/data-sources/arcgis-image-service.d.ts +79 -0
  140. package/dist/lib/data-sources/arcgis-image-service.d.ts.map +1 -0
  141. package/dist/lib/data-sources/arcgis-image-service.js +85 -0
  142. package/dist/lib/data-sources/create-image-source.d.ts +16 -0
  143. package/dist/lib/data-sources/create-image-source.d.ts.map +1 -0
  144. package/dist/lib/data-sources/create-image-source.js +39 -0
  145. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts +71 -0
  146. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +1 -0
  147. package/dist/lib/data-sources/image-services/arcgis-image-service.js +85 -0
  148. package/dist/lib/data-sources/image-services/image-service.d.ts +39 -0
  149. package/dist/lib/data-sources/image-services/image-service.d.ts.map +1 -0
  150. package/dist/lib/data-sources/image-services/image-service.js +82 -0
  151. package/dist/lib/data-sources/image-services/wms-service.d.ts +188 -0
  152. package/dist/lib/data-sources/image-services/wms-service.d.ts.map +1 -0
  153. package/dist/lib/data-sources/image-services/wms-service.js +218 -0
  154. package/dist/lib/data-sources/image-source.d.ts +73 -0
  155. package/dist/lib/data-sources/image-source.d.ts.map +1 -0
  156. package/dist/lib/data-sources/image-source.js +12 -0
  157. package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
  158. package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
  159. package/dist/lib/gml/deep-strict-equal.js +119 -0
  160. package/dist/lib/gml/parse-gml.d.ts +28 -0
  161. package/dist/lib/gml/parse-gml.d.ts.map +1 -0
  162. package/dist/lib/gml/parse-gml.js +371 -0
  163. package/dist/lib/lerc/lerc-types.d.ts +30 -0
  164. package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
  165. package/dist/lib/lerc/lerc-types.js +3 -0
  166. package/dist/lib/wcs/parse-wcs.d.ts +7 -0
  167. package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
  168. package/dist/lib/wcs/parse-wcs.js +36 -0
  169. package/dist/lib/wcs/wcs-types.d.ts +73 -0
  170. package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
  171. package/dist/lib/wcs/wcs-types.js +3 -0
  172. package/dist/lib/wfs/parse-wfs.d.ts +7 -0
  173. package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
  174. package/dist/lib/wfs/parse-wfs.js +36 -0
  175. package/dist/lib/wfs/wfs-types.d.ts +73 -0
  176. package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
  177. package/dist/lib/wfs/wfs-types.js +3 -0
  178. package/dist/lib/wms/parse-wms.d.ts +24 -0
  179. package/dist/lib/wms/parse-wms.d.ts.map +1 -0
  180. package/dist/lib/wms/parse-wms.js +115 -0
  181. package/dist/lib/wms/wms-types.d.ts +100 -0
  182. package/dist/lib/wms/wms-types.d.ts.map +1 -0
  183. package/dist/lib/wms/wms-types.js +1908 -0
  184. package/dist/lib/wmts/parse-wmts.d.ts +7 -0
  185. package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
  186. package/dist/lib/wmts/parse-wmts.js +36 -0
  187. package/dist/lib/wmts/wmts-types.d.ts +73 -0
  188. package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
  189. package/dist/lib/wmts/wmts-types.js +3 -0
  190. package/dist/wip/arcgis-feature-service.d.ts +56 -0
  191. package/dist/wip/arcgis-feature-service.d.ts.map +1 -0
  192. package/dist/wip/arcgis-feature-service.js +28 -0
  193. package/dist/wip/data-source.d.ts +54 -0
  194. package/dist/wip/data-source.d.ts.map +1 -0
  195. package/dist/wip/data-source.js +59 -0
  196. package/dist/wip/gml-loader.d.ts +26 -0
  197. package/dist/wip/gml-loader.d.ts.map +1 -0
  198. package/dist/wip/gml-loader.js +31 -0
  199. package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
  200. package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
  201. package/dist/wip/wcs-capabilities-loader.js +31 -0
  202. package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
  203. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
  204. package/dist/wip/wfs-capabilities-loader.js +31 -0
  205. package/dist/wip/wms-feature-info-loader.d.ts +22 -0
  206. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
  207. package/dist/wip/wms-feature-info-loader.js +17 -0
  208. package/dist/wip/wms-layer-description-loader.d.ts +22 -0
  209. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
  210. package/dist/wip/wms-layer-description-loader.js +17 -0
  211. package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
  212. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
  213. package/dist/wip/wmts-capabilities-loader.js +31 -0
  214. package/dist/wms-capabilities-loader.d.ts +26 -0
  215. package/dist/wms-capabilities-loader.d.ts.map +1 -0
  216. package/dist/wms-capabilities-loader.js +31 -0
  217. package/dist/wms-error-loader.d.ts +34 -0
  218. package/dist/wms-error-loader.d.ts.map +1 -0
  219. package/dist/wms-error-loader.js +43 -0
  220. package/package.json +17 -6
  221. package/src/bundle.ts +2 -0
  222. package/src/index.ts +54 -2
  223. package/src/lerc-loader.ts +50 -0
  224. package/src/lib/data-sources/adhoc-image-service.ts +61 -0
  225. package/src/lib/data-sources/arcgis-image-service.ts +146 -0
  226. package/src/lib/data-sources/create-image-source.ts +46 -0
  227. package/src/lib/data-sources/image-services/arcgis-image-service.ts +136 -0
  228. package/src/lib/data-sources/image-services/image-service.ts +105 -0
  229. package/src/lib/data-sources/image-services/wms-service.ts +351 -0
  230. package/src/lib/data-sources/image-source.ts +82 -0
  231. package/src/lib/gml/deep-strict-equal.ts +119 -0
  232. package/src/lib/gml/parse-gml.ts +500 -0
  233. package/src/lib/lerc/lerc-types.ts +43 -0
  234. package/src/lib/wcs/parse-wcs.ts +39 -0
  235. package/src/lib/wcs/wcs-types.ts +77 -0
  236. package/src/lib/wfs/parse-wfs.ts +39 -0
  237. package/src/lib/wfs/wfs-types.ts +78 -0
  238. package/src/lib/wms/parse-wms.ts +142 -0
  239. package/src/{wms-types.ts → lib/wms/wms-types.ts} +76 -24
  240. package/src/lib/wmts/parse-wmts.ts +39 -0
  241. package/src/lib/wmts/wmts-types.ts +77 -0
  242. package/src/wip/arcgis-feature-service.ts +89 -0
  243. package/src/wip/data-source.ts +62 -0
  244. package/src/wip/gml-loader.ts +40 -0
  245. package/src/wip/wcs-capabilities-loader.ts +40 -0
  246. package/src/wip/wfs-capabilities-loader.ts +40 -0
  247. package/src/wip/wms-feature-info-loader.ts +21 -0
  248. package/src/wip/wms-layer-description-loader.md.disabled.md +47 -0
  249. package/src/wip/wms-layer-description-loader.ts +21 -0
  250. package/src/wip/wmts-capabilities-loader.ts +40 -0
  251. package/src/wms-capabilities-loader.ts +10 -8
  252. package/src/wms-error-loader.ts +59 -0
  253. package/dist/es5/lib/parse-wms-capabilities.js +0 -19
  254. package/dist/es5/lib/parse-wms-capabilities.js.map +0 -1
  255. package/dist/esm/lib/parse-wms-capabilities.js +0 -14
  256. package/dist/esm/lib/parse-wms-capabilities.js.map +0 -1
  257. package/src/lib/parse-wms-capabilities.ts +0 -14
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.parseWMSCapabilities = parseWMSCapabilities;
8
+ exports.parseWMSError = parseWMSError;
9
+ exports.parseWMSFeatureInfo = parseWMSFeatureInfo;
10
+ exports.parseWMSLayerDescription = parseWMSLayerDescription;
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _xml = require("@loaders.gl/xml");
13
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
+
17
+ function parseWMSCapabilities(text, options) {
18
+ var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
19
+ var xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
20
+ return extractCapabilities(xmlCapabilities);
21
+ }
22
+
23
+ function extractCapabilities(xml) {
24
+ var _xml$Service, _xml$Service2, _xml$Capability, _xml$Service3, _xml$Service3$Keyword;
25
+ var capabilities = {
26
+ name: ((_xml$Service = xml.Service) === null || _xml$Service === void 0 ? void 0 : _xml$Service.Name) || 'unnamed',
27
+ title: (_xml$Service2 = xml.Service) === null || _xml$Service2 === void 0 ? void 0 : _xml$Service2.Title,
28
+ keywords: [],
29
+ requests: {},
30
+ layer: extractLayer((_xml$Capability = xml.Capability) === null || _xml$Capability === void 0 ? void 0 : _xml$Capability.Layer),
31
+ raw: xml
32
+ };
33
+ var _iterator = _createForOfIteratorHelper(((_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) || []),
34
+ _step;
35
+ try {
36
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
37
+ var keyword = _step.value;
38
+ capabilities.keywords.push(keyword);
39
+ }
40
+ } catch (err) {
41
+ _iterator.e(err);
42
+ } finally {
43
+ _iterator.f();
44
+ }
45
+ for (var _i = 0, _Object$entries = Object.entries(((_xml$Capability2 = xml.Capability) === null || _xml$Capability2 === void 0 ? void 0 : _xml$Capability2.Request) || {}); _i < _Object$entries.length; _i++) {
46
+ var _xml$Capability2;
47
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
48
+ name = _Object$entries$_i[0],
49
+ xmlRequest = _Object$entries$_i[1];
50
+ capabilities.requests[name] = extractRequest(name, xmlRequest);
51
+ }
52
+ return capabilities;
53
+ }
54
+
55
+ function extractRequest(name, xmlRequest) {
56
+ var format = xmlRequest === null || xmlRequest === void 0 ? void 0 : xmlRequest.Format;
57
+ var mimeTypes = Array.isArray(format) ? format : [format];
58
+ return {
59
+ name: name,
60
+ mimeTypes: mimeTypes
61
+ };
62
+ }
63
+
64
+ function extractLayer(xmlLayer) {
65
+ var layer = {
66
+ name: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name,
67
+ title: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Title,
68
+ srs: (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.SRS) || [],
69
+ layers: []
70
+ };
71
+
72
+ var xmlLayers = getXMLArray(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Layer);
73
+ var _iterator2 = _createForOfIteratorHelper(xmlLayers),
74
+ _step2;
75
+ try {
76
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
77
+ var _layer$layers;
78
+ var xmlSubLayer = _step2.value;
79
+ (_layer$layers = layer.layers) === null || _layer$layers === void 0 ? void 0 : _layer$layers.push(extractLayer(xmlSubLayer));
80
+ }
81
+ } catch (err) {
82
+ _iterator2.e(err);
83
+ } finally {
84
+ _iterator2.f();
85
+ }
86
+ return layer;
87
+ }
88
+ function getXMLArray(xmlValue) {
89
+ if (Array.isArray(xmlValue)) {
90
+ return xmlValue;
91
+ }
92
+ if (xmlValue) {
93
+ return [xmlValue];
94
+ }
95
+ return [];
96
+ }
97
+
98
+ function parseWMSFeatureInfo(text, options) {
99
+ var _parsedXML$FeatureInf;
100
+ var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
101
+ var xmlFeatureInfo = ((_parsedXML$FeatureInf = parsedXML.FeatureInfoResponse) === null || _parsedXML$FeatureInf === void 0 ? void 0 : _parsedXML$FeatureInf.FIELDS) || [];
102
+ var xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
103
+ return {
104
+ features: xmlFeatures.map(function (xmlFeature) {
105
+ return extractFeature(xmlFeature);
106
+ })
107
+ };
108
+ }
109
+ function extractFeature(xmlFeature) {
110
+ var xmlFields = xmlFeature || {};
111
+ return {
112
+ attributes: xmlFields,
113
+ type: '',
114
+ bounds: {
115
+ bottom: 0,
116
+ top: 0,
117
+ left: 0,
118
+ right: 0
119
+ }
120
+ };
121
+ }
122
+
123
+ function parseWMSLayerDescription(text, options) {
124
+ var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
125
+ return parsedXML;
126
+ }
127
+
128
+ function parseWMSError(text, options) {
129
+ var _XMLLoader$parseTextS, _parsedXML$ServiceExc, _parsedXML$ogcServic;
130
+ var parsedXML = (_XMLLoader$parseTextS = _xml.XMLLoader.parseTextSync) === null || _XMLLoader$parseTextS === void 0 ? void 0 : _XMLLoader$parseTextS.call(_xml.XMLLoader, text, options);
131
+ var serviceExceptionXML = (parsedXML === null || parsedXML === void 0 ? void 0 : (_parsedXML$ServiceExc = parsedXML.ServiceExceptionReport) === null || _parsedXML$ServiceExc === void 0 ? void 0 : _parsedXML$ServiceExc.ServiceException) || (parsedXML === null || parsedXML === void 0 ? void 0 : (_parsedXML$ogcServic = parsedXML['ogc:ServiceExceptionReport']) === null || _parsedXML$ogcServic === void 0 ? void 0 : _parsedXML$ogcServic['ogc:ServiceException']);
132
+ var message = typeof serviceExceptionXML === 'string' ? serviceExceptionXML : serviceExceptionXML['#text'] || serviceExceptionXML.code || 'Unknown error';
133
+ return message;
134
+ }
135
+ //# sourceMappingURL=parse-wms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-wms.js","names":["parseWMSCapabilities","text","options","parsedXML","XMLLoader","parseTextSync","xmlCapabilities","WMT_MS_Capabilities","WMS_Capabilities","extractCapabilities","xml","capabilities","name","Service","Name","title","Title","keywords","requests","layer","extractLayer","Capability","Layer","raw","KeywordList","Keyword","keyword","push","Object","entries","Request","xmlRequest","extractRequest","format","Format","mimeTypes","Array","isArray","xmlLayer","srs","SRS","layers","xmlLayers","getXMLArray","xmlSubLayer","xmlValue","parseWMSFeatureInfo","xmlFeatureInfo","FeatureInfoResponse","FIELDS","xmlFeatures","features","map","xmlFeature","extractFeature","xmlFields","attributes","type","bounds","bottom","top","left","right","parseWMSLayerDescription","parseWMSError","serviceExceptionXML","ServiceExceptionReport","ServiceException","message","code"],"sources":["../../../../src/lib/wms/parse-wms.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {\n WMSCapabilities,\n WMSLayer,\n WMSRequest,\n WMSFeatureInfo,\n WMSLayerDescription\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 // Single layer is not represented as array in XML\n const xmlLayers = getXMLArray(xmlLayer?.Layer);\n\n for (const xmlSubLayer of xmlLayers) {\n layer.layers?.push(extractLayer(xmlSubLayer));\n }\n\n return layer;\n}\n\nfunction getXMLArray(xmlValue: any) {\n if (Array.isArray(xmlValue)) {\n return xmlValue;\n }\n if (xmlValue) {\n return [xmlValue];\n }\n return [];\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 // TODO - not correct\n return {\n attributes: xmlFields,\n type: '',\n bounds: {bottom: 0, top: 0, left: 0, right: 0}\n };\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 parseWMSLayerDescription(text: string, options): WMSLayerDescription {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n // TODO - implement parser\n return parsedXML as unknown as WMSLayerDescription;\n}\n\n/**\n * Extract an error message from WMS error response XML\n * @param text\n * @param options\n * @returns a string with a human readable message\n */\nexport function parseWMSError(text: string, options): string {\n const parsedXML = XMLLoader.parseTextSync?.(text, options);\n const serviceExceptionXML =\n parsedXML?.ServiceExceptionReport?.ServiceException ||\n parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];\n // Sigh, can be either a string or an object\n const message =\n typeof serviceExceptionXML === 'string'\n ? serviceExceptionXML\n : serviceExceptionXML['#text'] || serviceExceptionXML.code || 'Unknown error';\n return message;\n}\n"],"mappings":"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"}
File without changes