@loaders.gl/wms 3.3.2 → 3.4.0-alpha.2

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 (404) hide show
  1. package/dist/csw-capabilities-loader.d.ts +29 -0
  2. package/dist/csw-capabilities-loader.d.ts.map +1 -0
  3. package/dist/csw-capabilities-loader.js +31 -0
  4. package/dist/csw-domain-loader.d.ts +28 -0
  5. package/dist/csw-domain-loader.d.ts.map +1 -0
  6. package/dist/csw-domain-loader.js +31 -0
  7. package/dist/csw-records-loader.d.ts +12 -0
  8. package/dist/csw-records-loader.d.ts.map +1 -0
  9. package/dist/csw-records-loader.js +30 -0
  10. package/dist/dist.min.js +3781 -4001
  11. package/dist/es5/csw-capabilities-loader.js +55 -0
  12. package/dist/es5/csw-capabilities-loader.js.map +1 -0
  13. package/dist/es5/csw-domain-loader.js +54 -0
  14. package/dist/es5/csw-domain-loader.js.map +1 -0
  15. package/dist/es5/csw-records-loader.js +52 -0
  16. package/dist/es5/csw-records-loader.js.map +1 -0
  17. package/dist/es5/{wip/gml-loader.js → gml-loader.js} +3 -3
  18. package/dist/es5/gml-loader.js.map +1 -0
  19. package/dist/es5/index.js +43 -8
  20. package/dist/es5/index.js.map +1 -1
  21. package/dist/es5/lerc-loader.js +1 -1
  22. package/dist/es5/lerc-loader.js.map +1 -1
  23. package/dist/es5/lib/{data-sources/create-image-source.js → create-image-source.js} +4 -4
  24. package/dist/es5/lib/create-image-source.js.map +1 -0
  25. package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js +24 -0
  26. package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -0
  27. package/dist/es5/lib/parsers/csw/parse-csw-domain.js +42 -0
  28. package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -0
  29. package/dist/es5/lib/parsers/csw/parse-csw-records.js +76 -0
  30. package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -0
  31. package/dist/es5/lib/parsers/csw/parse-exception-report.js +18 -0
  32. package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -0
  33. package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -0
  34. package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -0
  35. package/dist/es5/lib/parsers/lerc/lerc-types.js.map +1 -0
  36. package/dist/es5/lib/{wms/parse-wms.js → parsers/wms/parse-wms-capabilities.js} +1 -42
  37. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -0
  38. package/dist/es5/lib/parsers/wms/parse-wms-error.js +16 -0
  39. package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -0
  40. package/dist/es5/lib/parsers/wms/parse-wms-features.js +33 -0
  41. package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -0
  42. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +13 -0
  43. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -0
  44. package/dist/es5/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.js +36 -29
  45. package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -0
  46. package/dist/es5/lib/services/arcgis/arcgis-server.js +115 -0
  47. package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -0
  48. package/dist/es5/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +22 -19
  49. package/dist/es5/lib/services/generic/image-service.js.map +1 -0
  50. package/dist/es5/lib/services/generic/tile-service.js +2 -0
  51. package/dist/es5/lib/services/generic/tile-service.js.map +1 -0
  52. package/dist/es5/lib/services/ogc/csw-service.js +384 -0
  53. package/dist/es5/lib/services/ogc/csw-service.js.map +1 -0
  54. package/dist/es5/lib/{data-sources/image-services → services/ogc}/wms-service.js +163 -115
  55. package/dist/es5/lib/services/ogc/wms-service.js.map +1 -0
  56. package/dist/es5/lib/services/ogc/wmts-service.ts.disabled +348 -0
  57. package/dist/es5/lib/sources/data-source.js +44 -0
  58. package/dist/es5/lib/sources/data-source.js.map +1 -0
  59. package/dist/es5/lib/sources/image-source.js +26 -0
  60. package/dist/es5/lib/sources/image-source.js.map +1 -0
  61. package/dist/es5/lib/sources/tile-source.js +26 -0
  62. package/dist/es5/lib/sources/tile-source.js.map +1 -0
  63. package/dist/es5/lib/sources/utils/utils.js +40 -0
  64. package/dist/es5/lib/sources/utils/utils.js.map +1 -0
  65. package/dist/es5/{lib/wfs/parse-wfs.js → wip/lib/wcs/parse-wcs-capabilities.js} +7 -29
  66. package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -0
  67. package/dist/es5/{lib/wcs/parse-wcs.js → wip/lib/wfs/parse-wfs-capabilities.js} +7 -28
  68. package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -0
  69. package/dist/es5/{lib/wmts/parse-wmts.js → wip/lib/wmts/parse-wmts-capabilities.js} +7 -28
  70. package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -0
  71. package/dist/es5/wip/wcs-capabilities-loader.js +4 -4
  72. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
  73. package/dist/es5/wip/wfs-capabilities-loader.js +4 -4
  74. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
  75. package/dist/es5/wip/wms-feature-info-loader.js +3 -3
  76. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  77. package/dist/es5/wip/wms-layer-description-loader.js +3 -3
  78. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
  79. package/dist/es5/wip/wmts-capabilities-loader.js +10 -4
  80. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  81. package/dist/es5/wms-capabilities-loader.js +5 -4
  82. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  83. package/dist/es5/wms-error-loader.js +3 -3
  84. package/dist/es5/wms-error-loader.js.map +1 -1
  85. package/dist/esm/csw-capabilities-loader.js +26 -0
  86. package/dist/esm/csw-capabilities-loader.js.map +1 -0
  87. package/dist/esm/csw-domain-loader.js +25 -0
  88. package/dist/esm/csw-domain-loader.js.map +1 -0
  89. package/dist/esm/csw-records-loader.js +24 -0
  90. package/dist/esm/csw-records-loader.js.map +1 -0
  91. package/dist/esm/{wip/gml-loader.js → gml-loader.js} +3 -3
  92. package/dist/esm/gml-loader.js.map +1 -0
  93. package/dist/esm/index.js +16 -8
  94. package/dist/esm/index.js.map +1 -1
  95. package/dist/esm/lerc-loader.js +1 -1
  96. package/dist/esm/lerc-loader.js.map +1 -1
  97. package/dist/esm/lib/{data-sources/create-image-source.js → create-image-source.js} +4 -4
  98. package/dist/esm/lib/create-image-source.js.map +1 -0
  99. package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js +19 -0
  100. package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js.map +1 -0
  101. package/dist/esm/lib/parsers/csw/parse-csw-domain.js +25 -0
  102. package/dist/esm/lib/parsers/csw/parse-csw-domain.js.map +1 -0
  103. package/dist/esm/lib/parsers/csw/parse-csw-records.js +46 -0
  104. package/dist/esm/lib/parsers/csw/parse-csw-records.js.map +1 -0
  105. package/dist/esm/lib/parsers/csw/parse-exception-report.js +13 -0
  106. package/dist/esm/lib/parsers/csw/parse-exception-report.js.map +1 -0
  107. package/dist/esm/lib/parsers/gml/deep-strict-equal.js.map +1 -0
  108. package/dist/esm/lib/parsers/gml/parse-gml.js.map +1 -0
  109. package/dist/esm/lib/parsers/lerc/lerc-types.js.map +1 -0
  110. package/dist/esm/lib/{wms/parse-wms.js → parsers/wms/parse-wms-capabilities.js} +1 -37
  111. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -0
  112. package/dist/esm/lib/parsers/wms/parse-wms-error.js +12 -0
  113. package/dist/esm/lib/parsers/wms/parse-wms-error.js.map +1 -0
  114. package/dist/esm/lib/parsers/wms/parse-wms-features.js +27 -0
  115. package/dist/esm/lib/parsers/wms/parse-wms-features.js.map +1 -0
  116. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +9 -0
  117. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -0
  118. package/dist/esm/lib/services/arcgis/arcgis-image-service.js +67 -0
  119. package/dist/esm/lib/services/arcgis/arcgis-image-service.js.map +1 -0
  120. package/dist/esm/lib/services/arcgis/arcgis-server.js +35 -0
  121. package/dist/esm/lib/services/arcgis/arcgis-server.js.map +1 -0
  122. package/dist/esm/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +13 -10
  123. package/dist/esm/lib/services/generic/image-service.js.map +1 -0
  124. package/dist/esm/lib/services/generic/tile-service.js +2 -0
  125. package/dist/esm/lib/services/generic/tile-service.js.map +1 -0
  126. package/dist/esm/lib/services/ogc/csw-service.js +162 -0
  127. package/dist/esm/lib/services/ogc/csw-service.js.map +1 -0
  128. package/dist/esm/lib/{data-sources/image-services → services/ogc}/wms-service.js +40 -34
  129. package/dist/esm/lib/services/ogc/wms-service.js.map +1 -0
  130. package/dist/esm/lib/services/ogc/wmts-service.ts.disabled +348 -0
  131. package/dist/esm/lib/sources/data-source.js +29 -0
  132. package/dist/esm/lib/sources/data-source.js.map +1 -0
  133. package/dist/esm/lib/sources/image-source.js +6 -0
  134. package/dist/esm/lib/sources/image-source.js.map +1 -0
  135. package/dist/esm/lib/sources/tile-source.js +6 -0
  136. package/dist/esm/lib/sources/tile-source.js.map +1 -0
  137. package/dist/esm/lib/sources/utils/utils.js +26 -0
  138. package/dist/esm/lib/sources/utils/utils.js.map +1 -0
  139. package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js +16 -0
  140. package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -0
  141. package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js +17 -0
  142. package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -0
  143. package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js +17 -0
  144. package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -0
  145. package/dist/esm/wip/wcs-capabilities-loader.js +4 -4
  146. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
  147. package/dist/esm/wip/wfs-capabilities-loader.js +2 -2
  148. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
  149. package/dist/esm/wip/wms-feature-info-loader.js +1 -2
  150. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
  151. package/dist/esm/wip/wms-layer-description-loader.js +1 -2
  152. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
  153. package/dist/esm/wip/wmts-capabilities-loader.js +4 -2
  154. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
  155. package/dist/esm/wms-capabilities-loader.js +3 -2
  156. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  157. package/dist/esm/wms-error-loader.js +2 -2
  158. package/dist/esm/wms-error-loader.js.map +1 -1
  159. package/dist/gml-loader.d.ts.map +1 -0
  160. package/dist/{wip/gml-loader.js → gml-loader.js} +2 -2
  161. package/dist/index.d.ts +25 -16
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +26 -14
  164. package/dist/lerc-loader.d.ts +1 -1
  165. package/dist/lerc-loader.d.ts.map +1 -1
  166. package/dist/lib/create-image-source.d.ts +17 -0
  167. package/dist/lib/create-image-source.d.ts.map +1 -0
  168. package/dist/lib/{data-sources/create-image-source.js → create-image-source.js} +5 -5
  169. package/dist/lib/{wmts/wmts-types.d.ts → parsers/csw/parse-csw-capabilities.d.ts} +9 -3
  170. package/dist/lib/parsers/csw/parse-csw-capabilities.d.ts.map +1 -0
  171. package/dist/lib/parsers/csw/parse-csw-capabilities.js +24 -0
  172. package/dist/lib/parsers/csw/parse-csw-domain.d.ts +17 -0
  173. package/dist/lib/parsers/csw/parse-csw-domain.d.ts.map +1 -0
  174. package/dist/lib/parsers/csw/parse-csw-domain.js +33 -0
  175. package/dist/lib/parsers/csw/parse-csw-records.d.ts +33 -0
  176. package/dist/lib/parsers/csw/parse-csw-records.d.ts.map +1 -0
  177. package/dist/lib/parsers/csw/parse-csw-records.js +58 -0
  178. package/dist/lib/parsers/csw/parse-exception-report.d.ts +6 -0
  179. package/dist/lib/parsers/csw/parse-exception-report.d.ts.map +1 -0
  180. package/dist/lib/parsers/csw/parse-exception-report.js +30 -0
  181. package/dist/lib/parsers/gml/deep-strict-equal.d.ts.map +1 -0
  182. package/dist/lib/parsers/gml/parse-gml.d.ts.map +1 -0
  183. package/dist/lib/parsers/lerc/lerc-types.d.ts.map +1 -0
  184. package/dist/lib/{wms/wms-types.d.ts → parsers/wms/parse-wms-capabilities.d.ts} +6 -19
  185. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -0
  186. package/dist/lib/{wms/wms-types.js → parsers/wms/parse-wms-capabilities.js} +61 -1
  187. package/dist/lib/parsers/wms/parse-wms-error.d.ts +8 -0
  188. package/dist/lib/parsers/wms/parse-wms-error.d.ts.map +1 -0
  189. package/dist/lib/parsers/wms/parse-wms-error.js +22 -0
  190. package/dist/lib/parsers/wms/parse-wms-features.d.ts +20 -0
  191. package/dist/lib/parsers/wms/parse-wms-features.d.ts.map +1 -0
  192. package/dist/lib/parsers/wms/parse-wms-features.js +27 -0
  193. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts +10 -0
  194. package/dist/lib/parsers/wms/parse-wms-layer-description.d.ts.map +1 -0
  195. package/dist/lib/parsers/wms/parse-wms-layer-description.js +15 -0
  196. package/dist/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.d.ts +25 -13
  197. package/dist/lib/services/arcgis/arcgis-image-service.d.ts.map +1 -0
  198. package/dist/lib/{data-sources → services/arcgis}/arcgis-image-service.js +33 -23
  199. package/dist/lib/services/arcgis/arcgis-server.d.ts +15 -0
  200. package/dist/lib/services/arcgis/arcgis-server.d.ts.map +1 -0
  201. package/dist/lib/services/arcgis/arcgis-server.js +42 -0
  202. package/dist/lib/{data-sources/image-services → services/generic}/image-service.d.ts +3 -13
  203. package/dist/lib/services/generic/image-service.d.ts.map +1 -0
  204. package/dist/lib/{data-sources/adhoc-image-service.js → services/generic/image-service.js} +12 -10
  205. package/dist/lib/services/generic/tile-service.d.ts +1 -0
  206. package/dist/lib/services/generic/tile-service.d.ts.map +1 -0
  207. package/dist/lib/services/generic/tile-service.js +1 -0
  208. package/dist/lib/services/ogc/csw-service.d.ts +115 -0
  209. package/dist/lib/services/ogc/csw-service.d.ts.map +1 -0
  210. package/dist/lib/services/ogc/csw-service.js +170 -0
  211. package/dist/lib/{data-sources/image-services → services/ogc}/wms-service.d.ts +41 -22
  212. package/dist/lib/services/ogc/wms-service.d.ts.map +1 -0
  213. package/dist/lib/{data-sources/image-services → services/ogc}/wms-service.js +41 -28
  214. package/dist/lib/sources/data-source.d.ts +22 -0
  215. package/dist/lib/sources/data-source.d.ts.map +1 -0
  216. package/dist/lib/sources/data-source.js +34 -0
  217. package/dist/lib/{data-sources → sources}/image-source.d.ts +4 -1
  218. package/dist/lib/sources/image-source.d.ts.map +1 -0
  219. package/dist/lib/{data-sources → sources}/image-source.js +2 -1
  220. package/dist/lib/sources/tile-source.d.ts +54 -0
  221. package/dist/lib/sources/tile-source.d.ts.map +1 -0
  222. package/dist/lib/sources/tile-source.js +13 -0
  223. package/dist/lib/sources/utils/utils.d.ts +13 -0
  224. package/dist/lib/sources/utils/utils.d.ts.map +1 -0
  225. package/dist/lib/sources/utils/utils.js +38 -0
  226. package/dist/{lib/wfs/wfs-types.d.ts → wip/lib/wcs/parse-wcs-capabilities.d.ts} +8 -3
  227. package/dist/wip/lib/wcs/parse-wcs-capabilities.d.ts.map +1 -0
  228. package/dist/wip/lib/wcs/parse-wcs-capabilities.js +15 -0
  229. package/dist/{lib/wcs/wcs-types.d.ts → wip/lib/wfs/parse-wfs-capabilities.d.ts} +6 -1
  230. package/dist/wip/lib/wfs/parse-wfs-capabilities.d.ts.map +1 -0
  231. package/dist/wip/lib/wfs/parse-wfs-capabilities.js +19 -0
  232. package/dist/wip/lib/wmts/parse-wmts-capabilities.d.ts +87 -0
  233. package/dist/wip/lib/wmts/parse-wmts-capabilities.d.ts.map +1 -0
  234. package/dist/wip/lib/wmts/parse-wmts-capabilities.js +77 -0
  235. package/dist/wip/wcs-capabilities-loader.d.ts +4 -3
  236. package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -1
  237. package/dist/wip/wcs-capabilities-loader.js +3 -3
  238. package/dist/wip/wfs-capabilities-loader.d.ts +4 -3
  239. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -1
  240. package/dist/wip/wfs-capabilities-loader.js +3 -3
  241. package/dist/wip/wms-feature-info-loader.d.ts +4 -2
  242. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -1
  243. package/dist/wip/wms-feature-info-loader.js +3 -3
  244. package/dist/wip/wms-layer-description-loader.d.ts +5 -3
  245. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -1
  246. package/dist/wip/wms-layer-description-loader.js +3 -3
  247. package/dist/wip/wmts-capabilities-loader.d.ts +4 -3
  248. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
  249. package/dist/wip/wmts-capabilities-loader.js +3 -3
  250. package/dist/wms-capabilities-loader.d.ts +4 -3
  251. package/dist/wms-capabilities-loader.d.ts.map +1 -1
  252. package/dist/wms-capabilities-loader.js +3 -3
  253. package/dist/wms-error-loader.js +2 -2
  254. package/package.json +7 -7
  255. package/src/csw-capabilities-loader.ts +46 -0
  256. package/src/csw-domain-loader.ts +44 -0
  257. package/src/csw-records-loader.ts +42 -0
  258. package/src/{wip/gml-loader.ts → gml-loader.ts} +2 -2
  259. package/src/index.ts +48 -28
  260. package/src/lerc-loader.ts +1 -1
  261. package/src/lib/{data-sources/create-image-source.ts → create-image-source.ts} +12 -10
  262. package/src/lib/parsers/csw/parse-csw-capabilities.ts +103 -0
  263. package/src/lib/parsers/csw/parse-csw-domain.ts +45 -0
  264. package/src/lib/parsers/csw/parse-csw-records.ts +90 -0
  265. package/src/lib/parsers/csw/parse-exception-report.ts +31 -0
  266. package/src/lib/{wms/wms-types.ts → parsers/wms/parse-wms-capabilities.ts} +72 -53
  267. package/src/lib/parsers/wms/parse-wms-error.ts +22 -0
  268. package/src/lib/parsers/wms/parse-wms-features.ts +39 -0
  269. package/src/lib/parsers/wms/parse-wms-layer-description.ts +18 -0
  270. package/src/lib/{data-sources/image-services → services/arcgis}/arcgis-image-service.ts +44 -26
  271. package/src/lib/services/arcgis/arcgis-server.ts +59 -0
  272. package/src/lib/{data-sources/adhoc-image-service.ts → services/generic/image-service.ts} +18 -12
  273. package/src/lib/services/generic/tile-service.ts +0 -0
  274. package/src/lib/services/ogc/csw-service.ts +251 -0
  275. package/src/lib/{data-sources/image-services → services/ogc}/wms-service.ts +73 -34
  276. package/src/lib/services/ogc/wmts-service.ts.disabled +348 -0
  277. package/src/lib/sources/data-source.ts +46 -0
  278. package/src/lib/{data-sources → sources}/image-source.ts +5 -1
  279. package/src/lib/sources/tile-source.ts +59 -0
  280. package/src/lib/sources/utils/utils.ts +42 -0
  281. package/src/{lib/wmts/wmts-types.ts → wip/lib/wcs/parse-wcs-capabilities.ts} +15 -3
  282. package/src/{lib/wcs/wcs-types.ts → wip/lib/wfs/parse-wfs-capabilities.ts} +18 -1
  283. package/src/wip/lib/wmts/parse-wmts-capabilities.ts +170 -0
  284. package/src/wip/wcs-capabilities-loader.ts +6 -3
  285. package/src/wip/wfs-capabilities-loader.ts +4 -1
  286. package/src/wip/wms-feature-info-loader.ts +5 -1
  287. package/src/wip/wms-layer-description-loader.ts +7 -2
  288. package/src/wip/wmts-capabilities-loader.ts +4 -1
  289. package/src/wms-capabilities-loader.ts +5 -1
  290. package/src/wms-error-loader.ts +1 -1
  291. package/dist/es5/lib/data-sources/adhoc-image-service.js.map +0 -1
  292. package/dist/es5/lib/data-sources/arcgis-image-service.js +0 -180
  293. package/dist/es5/lib/data-sources/arcgis-image-service.js.map +0 -1
  294. package/dist/es5/lib/data-sources/create-image-source.js.map +0 -1
  295. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +0 -1
  296. package/dist/es5/lib/data-sources/image-services/image-service.js +0 -163
  297. package/dist/es5/lib/data-sources/image-services/image-service.js.map +0 -1
  298. package/dist/es5/lib/data-sources/image-services/wms-service.js.map +0 -1
  299. package/dist/es5/lib/data-sources/image-source.js +0 -14
  300. package/dist/es5/lib/data-sources/image-source.js.map +0 -1
  301. package/dist/es5/lib/gml/deep-strict-equal.js.map +0 -1
  302. package/dist/es5/lib/gml/parse-gml.js.map +0 -1
  303. package/dist/es5/lib/lerc/lerc-types.js.map +0 -1
  304. package/dist/es5/lib/wcs/parse-wcs.js.map +0 -1
  305. package/dist/es5/lib/wcs/wcs-types.js +0 -2
  306. package/dist/es5/lib/wcs/wcs-types.js.map +0 -1
  307. package/dist/es5/lib/wfs/parse-wfs.js.map +0 -1
  308. package/dist/es5/lib/wfs/wfs-types.js +0 -2
  309. package/dist/es5/lib/wfs/wfs-types.js.map +0 -1
  310. package/dist/es5/lib/wms/parse-wms.js.map +0 -1
  311. package/dist/es5/lib/wms/wms-types.js +0 -2
  312. package/dist/es5/lib/wms/wms-types.js.map +0 -1
  313. package/dist/es5/lib/wmts/parse-wmts.js.map +0 -1
  314. package/dist/es5/lib/wmts/wmts-types.js +0 -2
  315. package/dist/es5/lib/wmts/wmts-types.js.map +0 -1
  316. package/dist/es5/wip/gml-loader.js.map +0 -1
  317. package/dist/esm/lib/data-sources/adhoc-image-service.js.map +0 -1
  318. package/dist/esm/lib/data-sources/arcgis-image-service.js +0 -62
  319. package/dist/esm/lib/data-sources/arcgis-image-service.js.map +0 -1
  320. package/dist/esm/lib/data-sources/create-image-source.js.map +0 -1
  321. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +0 -61
  322. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +0 -1
  323. package/dist/esm/lib/data-sources/image-services/image-service.js +0 -72
  324. package/dist/esm/lib/data-sources/image-services/image-service.js.map +0 -1
  325. package/dist/esm/lib/data-sources/image-services/wms-service.js.map +0 -1
  326. package/dist/esm/lib/data-sources/image-source.js +0 -4
  327. package/dist/esm/lib/data-sources/image-source.js.map +0 -1
  328. package/dist/esm/lib/gml/deep-strict-equal.js.map +0 -1
  329. package/dist/esm/lib/gml/parse-gml.js.map +0 -1
  330. package/dist/esm/lib/lerc/lerc-types.js.map +0 -1
  331. package/dist/esm/lib/wcs/parse-wcs.js +0 -32
  332. package/dist/esm/lib/wcs/parse-wcs.js.map +0 -1
  333. package/dist/esm/lib/wcs/wcs-types.js +0 -2
  334. package/dist/esm/lib/wcs/wcs-types.js.map +0 -1
  335. package/dist/esm/lib/wfs/parse-wfs.js +0 -32
  336. package/dist/esm/lib/wfs/parse-wfs.js.map +0 -1
  337. package/dist/esm/lib/wfs/wfs-types.js +0 -2
  338. package/dist/esm/lib/wfs/wfs-types.js.map +0 -1
  339. package/dist/esm/lib/wms/parse-wms.js.map +0 -1
  340. package/dist/esm/lib/wms/wms-types.js +0 -2
  341. package/dist/esm/lib/wms/wms-types.js.map +0 -1
  342. package/dist/esm/lib/wmts/parse-wmts.js +0 -32
  343. package/dist/esm/lib/wmts/parse-wmts.js.map +0 -1
  344. package/dist/esm/lib/wmts/wmts-types.js +0 -2
  345. package/dist/esm/lib/wmts/wmts-types.js.map +0 -1
  346. package/dist/esm/wip/gml-loader.js.map +0 -1
  347. package/dist/lib/data-sources/adhoc-image-service.d.ts +0 -24
  348. package/dist/lib/data-sources/adhoc-image-service.d.ts.map +0 -1
  349. package/dist/lib/data-sources/arcgis-image-service.d.ts +0 -79
  350. package/dist/lib/data-sources/arcgis-image-service.d.ts.map +0 -1
  351. package/dist/lib/data-sources/create-image-source.d.ts +0 -16
  352. package/dist/lib/data-sources/create-image-source.d.ts.map +0 -1
  353. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +0 -1
  354. package/dist/lib/data-sources/image-services/arcgis-image-service.js +0 -85
  355. package/dist/lib/data-sources/image-services/image-service.d.ts.map +0 -1
  356. package/dist/lib/data-sources/image-services/image-service.js +0 -82
  357. package/dist/lib/data-sources/image-services/wms-service.d.ts.map +0 -1
  358. package/dist/lib/data-sources/image-source.d.ts.map +0 -1
  359. package/dist/lib/gml/deep-strict-equal.d.ts.map +0 -1
  360. package/dist/lib/gml/parse-gml.d.ts.map +0 -1
  361. package/dist/lib/lerc/lerc-types.d.ts.map +0 -1
  362. package/dist/lib/wcs/parse-wcs.d.ts +0 -7
  363. package/dist/lib/wcs/parse-wcs.d.ts.map +0 -1
  364. package/dist/lib/wcs/parse-wcs.js +0 -36
  365. package/dist/lib/wcs/wcs-types.d.ts.map +0 -1
  366. package/dist/lib/wcs/wcs-types.js +0 -3
  367. package/dist/lib/wfs/parse-wfs.d.ts +0 -7
  368. package/dist/lib/wfs/parse-wfs.d.ts.map +0 -1
  369. package/dist/lib/wfs/parse-wfs.js +0 -36
  370. package/dist/lib/wfs/wfs-types.d.ts.map +0 -1
  371. package/dist/lib/wfs/wfs-types.js +0 -3
  372. package/dist/lib/wms/parse-wms.d.ts +0 -24
  373. package/dist/lib/wms/parse-wms.d.ts.map +0 -1
  374. package/dist/lib/wms/parse-wms.js +0 -115
  375. package/dist/lib/wms/wms-types.d.ts.map +0 -1
  376. package/dist/lib/wmts/parse-wmts.d.ts +0 -7
  377. package/dist/lib/wmts/parse-wmts.d.ts.map +0 -1
  378. package/dist/lib/wmts/parse-wmts.js +0 -36
  379. package/dist/lib/wmts/wmts-types.d.ts.map +0 -1
  380. package/dist/lib/wmts/wmts-types.js +0 -3
  381. package/dist/wip/gml-loader.d.ts.map +0 -1
  382. package/src/lib/data-sources/arcgis-image-service.ts +0 -146
  383. package/src/lib/data-sources/image-services/image-service.ts +0 -105
  384. package/src/lib/wcs/parse-wcs.ts +0 -39
  385. package/src/lib/wfs/parse-wfs.ts +0 -39
  386. package/src/lib/wfs/wfs-types.ts +0 -78
  387. package/src/lib/wms/parse-wms.ts +0 -142
  388. package/src/lib/wmts/parse-wmts.ts +0 -39
  389. /package/dist/es5/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
  390. /package/dist/es5/lib/{gml → parsers/gml}/parse-gml.js +0 -0
  391. /package/dist/es5/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
  392. /package/dist/esm/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
  393. /package/dist/esm/lib/{gml → parsers/gml}/parse-gml.js +0 -0
  394. /package/dist/esm/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
  395. /package/dist/{wip/gml-loader.d.ts → gml-loader.d.ts} +0 -0
  396. /package/dist/lib/{gml → parsers/gml}/deep-strict-equal.d.ts +0 -0
  397. /package/dist/lib/{gml → parsers/gml}/deep-strict-equal.js +0 -0
  398. /package/dist/lib/{gml → parsers/gml}/parse-gml.d.ts +0 -0
  399. /package/dist/lib/{gml → parsers/gml}/parse-gml.js +0 -0
  400. /package/dist/lib/{lerc → parsers/lerc}/lerc-types.d.ts +0 -0
  401. /package/dist/lib/{lerc → parsers/lerc}/lerc-types.js +0 -0
  402. /package/src/lib/{gml → parsers/gml}/deep-strict-equal.ts +0 -0
  403. /package/src/lib/{gml → parsers/gml}/parse-gml.ts +0 -0
  404. /package/src/lib/{lerc → parsers/lerc}/lerc-types.ts +0 -0
@@ -0,0 +1,251 @@
1
+ // loaders.gl, MIT license
2
+
3
+ /* eslint-disable camelcase */
4
+
5
+ import type {DataSourceProps} from '../../sources/data-source';
6
+ import {DataSource} from '../../sources/data-source';
7
+
8
+ import type {CSWCapabilities} from '../../../csw-capabilities-loader';
9
+ import {CSWCapabilitiesLoader} from '../../../csw-capabilities-loader';
10
+
11
+ import type {CSWRecords} from '../../../csw-records-loader';
12
+ import {CSWRecordsLoader} from '../../../csw-records-loader';
13
+
14
+ import type {CSWDomain} from '../../../csw-domain-loader';
15
+ import {CSWDomainLoader} from '../../../csw-domain-loader';
16
+
17
+ import {WMSErrorLoader as CSWErrorLoader} from '../../../wms-error-loader';
18
+
19
+ type CSWCommonParameters = {
20
+ /** In case the endpoint supports multiple services */
21
+ service?: 'CSW';
22
+ /** In case the endpoint supports multiple CSW versions */
23
+ version?: '1.1.1' | '2.0.0' | '2.0.1' | '3.0.0' | '3.0.0';
24
+ };
25
+
26
+ export type CSWGetCapabilitiesParameters = CSWCommonParameters & {
27
+ /** Request type */
28
+ request?: 'GetCapabilities';
29
+ };
30
+
31
+ export type CSWGetRecordsParameters = CSWCommonParameters & {
32
+ /** Request type */
33
+ request?: 'GetRecords';
34
+ /** type of records */
35
+ typenames: 'csw:Record';
36
+ };
37
+
38
+ export type CSWGetDomainParameters = CSWCommonParameters & {
39
+ /** Request type */
40
+ request?: 'GetDomain';
41
+ // TBA
42
+ };
43
+
44
+ export type Service = {name: string; type: string; url: string; params?: string; scheme?: string};
45
+
46
+ export type CSWServiceProps = DataSourceProps & {
47
+ url: string;
48
+ };
49
+
50
+ /**
51
+ * The CSWService class provides
52
+ * - provides type safe methods to form URLs to a CSW service
53
+ * - provides type safe methods to query and parse results (and errors) from a CSW service
54
+ * - implements the ImageService interface
55
+ * @note Only the URL parameter conversion is supported. XML posts are not supported.
56
+ */
57
+ export class CSWService extends DataSource {
58
+ static type: 'csw' = 'csw';
59
+ static testURL = (url: string): boolean => url.toLowerCase().includes('csw');
60
+
61
+ props: CSWServiceProps;
62
+ capabilities: CSWCapabilities | null = null;
63
+
64
+ /** A list of loaders used by the CSWService methods */
65
+ readonly loaders = [CSWErrorLoader, CSWCapabilitiesLoader];
66
+
67
+ /** Create a CSWService */
68
+ constructor(props: CSWServiceProps) {
69
+ super(props);
70
+ this.props = props;
71
+ }
72
+
73
+ async getMetadata(): Promise<CSWCapabilities> {
74
+ const capabilities = await this.getCapabilities();
75
+ return this.normalizeMetadata(capabilities);
76
+ }
77
+
78
+ normalizeMetadata(capabilities: CSWCapabilities): CSWCapabilities {
79
+ return capabilities;
80
+ }
81
+
82
+ async getServiceDirectory(options: {includeUnknown?: boolean}): Promise<Service[]> {
83
+ const services: Service[] = [];
84
+ const unknownServices: Service[] = [];
85
+
86
+ const records = await this.getRecords();
87
+ for (const record of records.records) {
88
+ for (const reference of record.references) {
89
+ const url = reference.value;
90
+ switch (reference.scheme) {
91
+ case 'OGC:WMS':
92
+ services.push({name: record.title, type: 'ogc-wms-service', ...this._parseOGCUrl(url)});
93
+ break;
94
+ case 'OGC:WMTS':
95
+ services.push({
96
+ name: record.title,
97
+ type: 'ogc-wmts-service',
98
+ ...this._parseOGCUrl(url)
99
+ });
100
+ break;
101
+ case 'OGC:WFS':
102
+ services.push({name: record.title, type: 'ogc-wfs-service', ...this._parseOGCUrl(url)});
103
+ break;
104
+ default:
105
+ unknownServices.push({
106
+ name: record.title,
107
+ type: 'unknown',
108
+ url: reference.value,
109
+ scheme: reference.scheme
110
+ });
111
+ }
112
+ }
113
+ }
114
+
115
+ return options?.includeUnknown ? services.concat(unknownServices) : services;
116
+ }
117
+
118
+ _parseOGCUrl(url: string): {url: string; params: string} {
119
+ const parts = url.split('?');
120
+ return {
121
+ url: parts[0],
122
+ params: parts[1] || ''
123
+ };
124
+ }
125
+
126
+ // CSW Service API Stubs
127
+
128
+ /** Get Capabilities */
129
+ async getCapabilities(
130
+ wmsParameters?: CSWGetCapabilitiesParameters,
131
+ vendorParameters?: Record<string, unknown>
132
+ ): Promise<CSWCapabilities> {
133
+ const url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
134
+ const response = await this.fetch(url);
135
+ const arrayBuffer = await response.arrayBuffer();
136
+ this._checkResponse(response, arrayBuffer);
137
+ const capabilities = await CSWCapabilitiesLoader.parse(arrayBuffer, this.props.loadOptions);
138
+ return capabilities;
139
+ }
140
+
141
+ /** Get Records */
142
+ async getRecords(
143
+ wmsParameters?: CSWGetRecordsParameters,
144
+ vendorParameters?: Record<string, unknown>
145
+ ): Promise<CSWRecords> {
146
+ const url = this.getRecordsURL(wmsParameters, vendorParameters);
147
+ const response = await this.fetch(url);
148
+ const arrayBuffer = await response.arrayBuffer();
149
+ this._checkResponse(response, arrayBuffer);
150
+ return await CSWRecordsLoader.parse(arrayBuffer, this.props.loadOptions);
151
+ }
152
+
153
+ /** Get Domain */
154
+ async getDomain(
155
+ wmsParameters?: CSWGetDomainParameters,
156
+ vendorParameters?: Record<string, unknown>
157
+ ): Promise<CSWDomain> {
158
+ const url = this.getDomainURL(wmsParameters, vendorParameters);
159
+ const response = await this.fetch(url);
160
+ const arrayBuffer = await response.arrayBuffer();
161
+ this._checkResponse(response, arrayBuffer);
162
+ return await CSWDomainLoader.parse(arrayBuffer, this.props.loadOptions);
163
+ }
164
+
165
+ // Typed URL creators
166
+ // For applications that want full control of fetching and parsing
167
+
168
+ /** Generate a URL for the GetCapabilities request */
169
+ getCapabilitiesURL(
170
+ wmsParameters?: CSWGetCapabilitiesParameters,
171
+ vendorParameters?: Record<string, unknown>
172
+ ): string {
173
+ const options: Required<CSWGetCapabilitiesParameters> = {
174
+ version: '3.0.0',
175
+ ...wmsParameters,
176
+ ...vendorParameters,
177
+ service: 'CSW',
178
+ request: 'GetCapabilities'
179
+ };
180
+ return this._getCSWUrl(options, vendorParameters);
181
+ }
182
+
183
+ /** Generate a URL for the GetCapabilities request */
184
+ getRecordsURL(
185
+ wmsParameters?: CSWGetRecordsParameters,
186
+ vendorParameters?: Record<string, unknown>
187
+ ): string {
188
+ const options: Required<CSWGetRecordsParameters> = {
189
+ version: '3.0.0',
190
+ typenames: 'csw:Record',
191
+ ...wmsParameters,
192
+ ...vendorParameters,
193
+ service: 'CSW',
194
+ request: 'GetRecords'
195
+ };
196
+ return this._getCSWUrl(options, vendorParameters);
197
+ }
198
+
199
+ /** Generate a URL for the GetCapabilities request */
200
+ getDomainURL(
201
+ wmsParameters?: CSWGetDomainParameters,
202
+ vendorParameters?: Record<string, unknown>
203
+ ): string {
204
+ const options: Required<CSWGetDomainParameters> = {
205
+ version: '3.0.0',
206
+ ...wmsParameters,
207
+ ...vendorParameters,
208
+ service: 'CSW',
209
+ request: 'GetDomain'
210
+ };
211
+ return this._getCSWUrl(options, vendorParameters);
212
+ }
213
+
214
+ // INTERNAL METHODS
215
+
216
+ /**
217
+ * @note case _getCSWUrl may need to be overridden to handle certain backends?
218
+ * */
219
+ protected _getCSWUrl(
220
+ options: Record<string, unknown>,
221
+ vendorParameters?: Record<string, unknown>
222
+ ): string {
223
+ let url = this.props.url;
224
+ let first = true;
225
+ for (const [key, value] of Object.entries(options)) {
226
+ url += first ? '?' : '&';
227
+ first = false;
228
+ if (Array.isArray(value)) {
229
+ url += `${key.toUpperCase()}=${value.join(',')}`;
230
+ } else {
231
+ url += `${key.toUpperCase()}=${value ? String(value) : ''}`;
232
+ }
233
+ }
234
+ return encodeURI(url);
235
+ }
236
+
237
+ /** Checks for and parses a CSW XML formatted ServiceError and throws an exception */
238
+ protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void {
239
+ const contentType = response.headers['content-type'];
240
+ if (!response.ok || CSWErrorLoader.mimeTypes.includes(contentType)) {
241
+ const error = CSWErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
242
+ throw new Error(error);
243
+ }
244
+ }
245
+
246
+ /** Error situation detected */
247
+ protected _parseError(arrayBuffer: ArrayBuffer): Error {
248
+ const error = CSWErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
249
+ return new Error(error);
250
+ }
251
+ }
@@ -4,15 +4,21 @@
4
4
 
5
5
  import type {ImageType} from '@loaders.gl/images';
6
6
  import {ImageLoader} from '@loaders.gl/images';
7
+ import {mergeLoaderOptions} from '@loaders.gl/loader-utils';
7
8
 
8
- import type {ImageSourceMetadata, GetImageParameters} from '../image-source';
9
- import {ImageSource} from '../image-source';
10
- import {ImageServiceProps, getFetchFunction, mergeImageServiceProps} from './image-service';
9
+ import type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';
10
+ import type {ImageSourceProps} from '../../sources/image-source';
11
+ import {ImageSource} from '../../sources/image-source';
12
+
13
+ import type {WMSCapabilities} from '../../../wms-capabilities-loader';
14
+ import type {WMSFeatureInfo} from '../../../wip/wms-feature-info-loader';
15
+ import type {WMSLayerDescription} from '../../../wip/wms-layer-description-loader';
11
16
 
12
- import type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '../../wms/wms-types';
13
17
  import {WMSCapabilitiesLoader} from '../../../wms-capabilities-loader';
14
18
  import {WMSFeatureInfoLoader} from '../../../wip/wms-feature-info-loader';
15
19
  import {WMSLayerDescriptionLoader} from '../../../wip/wms-layer-description-loader';
20
+
21
+ import type {WMSLoaderOptions} from '../../../wms-error-loader';
16
22
  import {WMSErrorLoader} from '../../../wms-error-loader';
17
23
 
18
24
  type WMSCommonParameters = {
@@ -57,7 +63,7 @@ export type WMSGetFeatureInfoParameters = WMSCommonParameters & {
57
63
  y: number;
58
64
  /** list of layers to query (could be different from rendered layers) */
59
65
  query_layers: string[];
60
- /** MIME type of returned feature info */
66
+ /** Requested MIME type of returned feature info */
61
67
  info_format?: 'text/plain' | 'application/vnd.ogc.gml';
62
68
 
63
69
  /** Layers to render */
@@ -86,6 +92,24 @@ export type WMSGetLegendGraphicParameters = WMSCommonParameters & {
86
92
  request?: 'GetLegendGraphic';
87
93
  };
88
94
 
95
+ /** Properties for initializing a WMS service */
96
+ export type WMSServiceProps = ImageSourceProps & {
97
+ /** Base URL to the service */
98
+ url: string;
99
+ /** WMS version */
100
+ version?: '1.1.1' | '1.3.0';
101
+ /** Layers to render */
102
+ layers?: string[];
103
+ /** SRS for the image (not the bounding box) */
104
+ srs?: string;
105
+ /** Requested format for the return image */
106
+ format?: 'image/png';
107
+ /** Requested MIME type of returned feature info */
108
+ info_format?: 'text/plain' | 'application/vnd.ogc.gml';
109
+ /** Styling */
110
+ styles?: unknown;
111
+ };
112
+
89
113
  /**
90
114
  * The WMSService class provides
91
115
  * - provides type safe methods to form URLs to a WMS service
@@ -97,8 +121,7 @@ export class WMSService extends ImageSource {
97
121
  static type: 'wms' = 'wms';
98
122
  static testURL = (url: string): boolean => url.toLowerCase().includes('wms');
99
123
 
100
- props: Required<ImageServiceProps>;
101
- fetch: (url: string, options?: RequestInit) => Promise<Response>;
124
+ props: Required<WMSServiceProps>;
102
125
  capabilities: WMSCapabilities | null = null;
103
126
 
104
127
  /** A list of loaders used by the WMSService methods */
@@ -111,24 +134,36 @@ export class WMSService extends ImageSource {
111
134
  ];
112
135
 
113
136
  /** Create a WMSService */
114
- constructor(props: ImageServiceProps) {
115
- super();
116
- this.props = mergeImageServiceProps(props);
117
- this.fetch = getFetchFunction(this.props);
118
- this.props.loadOptions = {
119
- ...this.props.loadOptions,
120
- // We want error responses to throw exceptions, the WMSErrorLoader can do this
121
- wms: {...this.props.loadOptions?.wms, throwOnError: true}
137
+ constructor(props: WMSServiceProps) {
138
+ super(props);
139
+
140
+ // TODO - defaults such as version, layers etc could be extracted from a base URL with parameters
141
+ // This would make pasting in any WMS URL more likely to make this class just work.
142
+
143
+ this.props = {
144
+ loadOptions: undefined!,
145
+ layers: undefined!,
146
+ styles: undefined,
147
+ version: '1.1.1',
148
+ srs: 'EPSG:4326',
149
+ format: 'image/png',
150
+ info_format: 'text/plain',
151
+ ...props
122
152
  };
123
153
  }
124
154
 
125
155
  // ImageSource implementation
126
- getMetadata(): Promise<ImageSourceMetadata> {
127
- return this.getCapabilities();
156
+ async getMetadata(): Promise<ImageSourceMetadata> {
157
+ const capabilities = await this.getCapabilities();
158
+ return this.normalizeMetadata(capabilities);
128
159
  }
129
160
 
130
- getImage(parameters: GetImageParameters): Promise<ImageType> {
131
- return this.getMap(parameters);
161
+ async getImage(parameters: GetImageParameters): Promise<ImageType> {
162
+ return await this.getMap(parameters);
163
+ }
164
+
165
+ normalizeMetadata(capabilities: WMSCapabilities): ImageSourceMetadata {
166
+ return capabilities;
132
167
  }
133
168
 
134
169
  // WMS Service API Stubs
@@ -180,7 +215,6 @@ export class WMSService extends ImageSource {
180
215
  options: WMSGetFeatureInfoParameters,
181
216
  vendorParameters?: Record<string, unknown>
182
217
  ): Promise<string> {
183
- options = {...options, info_format: 'text/plain'};
184
218
  const url = this.getFeatureInfoURL(options, vendorParameters);
185
219
  const response = await this.fetch(url);
186
220
  const arrayBuffer = await response.arrayBuffer();
@@ -226,7 +260,7 @@ export class WMSService extends ImageSource {
226
260
  ): string {
227
261
  const options: Required<WMSGetCapabilitiesParameters> = {
228
262
  service: 'WMS',
229
- version: '1.1.1',
263
+ version: this.props.version,
230
264
  request: 'GetCapabilities',
231
265
  ...wmsParameters,
232
266
  ...vendorParameters
@@ -241,15 +275,15 @@ export class WMSService extends ImageSource {
241
275
  ): string {
242
276
  const options: Required<WMSGetMapParameters> = {
243
277
  service: 'WMS',
244
- version: '1.1.1',
278
+ version: this.props.version,
245
279
  request: 'GetMap',
246
280
  // layers: [],
247
281
  // bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
248
282
  // width: 1200,
249
283
  // height: 900,
250
- styles: undefined,
251
- srs: 'EPSG:4326',
252
- format: 'image/png',
284
+ styles: this.props.styles,
285
+ srs: this.props.srs,
286
+ format: this.props.format,
253
287
  ...wmsParameters,
254
288
  ...vendorParameters
255
289
  };
@@ -263,19 +297,19 @@ export class WMSService extends ImageSource {
263
297
  ): string {
264
298
  const options: Required<WMSGetFeatureInfoParameters> = {
265
299
  service: 'WMS',
266
- version: '1.1.1',
300
+ version: this.props.version,
267
301
  request: 'GetFeatureInfo',
268
- // layers: [],
302
+ // layers: this.props.layers,
269
303
  // bbox: [-77.87304, 40.78975, -77.85828, 40.80228],
270
304
  // width: 1200,
271
305
  // height: 900,
272
306
  // x: undefined!,
273
307
  // y: undefined!,
274
308
  // query_layers: [],
275
- srs: 'EPSG:4326',
276
- format: 'image/png',
277
- info_format: 'text/plain',
278
- styles: undefined,
309
+ srs: this.props.srs,
310
+ format: this.props.format,
311
+ info_format: this.props.info_format,
312
+ styles: this.props.styles,
279
313
  ...wmsParameters,
280
314
  ...vendorParameters
281
315
  };
@@ -289,7 +323,7 @@ export class WMSService extends ImageSource {
289
323
  ): string {
290
324
  const options: Required<WMSDescribeLayerParameters> = {
291
325
  service: 'WMS',
292
- version: '1.1.1',
326
+ version: this.props.version,
293
327
  request: 'DescribeLayer',
294
328
  ...wmsParameters,
295
329
  ...vendorParameters
@@ -303,8 +337,9 @@ export class WMSService extends ImageSource {
303
337
  ): string {
304
338
  const options: Required<WMSGetLegendGraphicParameters> = {
305
339
  service: 'WMS',
306
- version: '1.1.1',
340
+ version: this.props.version,
307
341
  request: 'GetLegendGraphic',
342
+ // format?
308
343
  ...wmsParameters,
309
344
  ...vendorParameters
310
345
  };
@@ -338,7 +373,11 @@ export class WMSService extends ImageSource {
338
373
  protected _checkResponse(response: Response, arrayBuffer: ArrayBuffer): void {
339
374
  const contentType = response.headers['content-type'];
340
375
  if (!response.ok || WMSErrorLoader.mimeTypes.includes(contentType)) {
341
- const error = WMSErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
376
+ // We want error responses to throw exceptions, the WMSErrorLoader can do this
377
+ const loadOptions = mergeLoaderOptions<WMSLoaderOptions>(this.props.loadOptions, {
378
+ wms: {throwOnError: true}
379
+ });
380
+ const error = WMSErrorLoader.parseSync(arrayBuffer, loadOptions);
342
381
  throw new Error(error);
343
382
  }
344
383
  }