@loaders.gl/wms 3.3.0-alpha.9 → 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 (266) 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 +4080 -2009
  5. package/dist/es5/index.js +63 -7
  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 +129 -0
  10. package/dist/es5/lib/data-sources/adhoc-image-service.js.map +1 -0
  11. package/dist/es5/lib/data-sources/arcgis-image-service.js +180 -0
  12. package/dist/es5/lib/data-sources/arcgis-image-service.js.map +1 -0
  13. package/dist/es5/lib/data-sources/create-image-source.js +45 -0
  14. package/dist/es5/lib/data-sources/create-image-source.js.map +1 -0
  15. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js +179 -0
  16. package/dist/es5/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  17. package/dist/es5/lib/data-sources/image-services/image-service.js +163 -0
  18. package/dist/es5/lib/data-sources/image-services/image-service.js.map +1 -0
  19. package/dist/es5/lib/data-sources/image-services/wms-service.js +400 -0
  20. package/dist/es5/lib/data-sources/image-services/wms-service.js.map +1 -0
  21. package/dist/es5/lib/data-sources/image-source.js +14 -0
  22. package/dist/es5/lib/data-sources/image-source.js.map +1 -0
  23. package/dist/es5/lib/gml/deep-strict-equal.js +64 -0
  24. package/dist/es5/lib/gml/deep-strict-equal.js.map +1 -0
  25. package/dist/es5/lib/gml/parse-gml.js +416 -0
  26. package/dist/es5/lib/gml/parse-gml.js.map +1 -0
  27. package/dist/es5/lib/lerc/lerc-types.js +2 -0
  28. package/dist/es5/lib/lerc/lerc-types.js.map +1 -0
  29. package/dist/es5/lib/wcs/parse-wcs.js +43 -0
  30. package/dist/es5/lib/wcs/parse-wcs.js.map +1 -0
  31. package/dist/es5/lib/wcs/wcs-types.js +2 -0
  32. package/dist/es5/lib/wcs/wcs-types.js.map +1 -0
  33. package/dist/es5/lib/wfs/parse-wfs.js +43 -0
  34. package/dist/es5/lib/wfs/parse-wfs.js.map +1 -0
  35. package/dist/es5/lib/wfs/wfs-types.js +2 -0
  36. package/dist/es5/lib/wfs/wfs-types.js.map +1 -0
  37. package/dist/es5/lib/{parse-wms.js → wms/parse-wms.js} +35 -2
  38. package/dist/es5/lib/wms/parse-wms.js.map +1 -0
  39. package/dist/es5/{wms-types.js → lib/wms/wms-types.js} +0 -0
  40. package/dist/es5/lib/wms/wms-types.js.map +1 -0
  41. package/dist/es5/lib/wmts/parse-wmts.js +43 -0
  42. package/dist/es5/lib/wmts/parse-wmts.js.map +1 -0
  43. package/dist/es5/lib/wmts/wmts-types.js +2 -0
  44. package/dist/es5/lib/wmts/wmts-types.js.map +1 -0
  45. package/dist/es5/wip/arcgis-feature-service.js +45 -0
  46. package/dist/es5/wip/arcgis-feature-service.js.map +1 -0
  47. package/dist/es5/wip/data-source.js +4 -0
  48. package/dist/es5/wip/data-source.js.map +1 -0
  49. package/dist/es5/wip/gml-loader.js +54 -0
  50. package/dist/es5/wip/gml-loader.js.map +1 -0
  51. package/dist/es5/wip/wcs-capabilities-loader.js +54 -0
  52. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -0
  53. package/dist/es5/wip/wfs-capabilities-loader.js +54 -0
  54. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -0
  55. package/dist/es5/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
  56. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -0
  57. package/dist/es5/{wms-layer-description-loader.js → wip/wms-layer-description-loader.js} +5 -5
  58. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -0
  59. package/dist/es5/wip/wms-layer-description-loader.md.disabled.md +47 -0
  60. package/dist/es5/wip/wmts-capabilities-loader.js +54 -0
  61. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -0
  62. package/dist/es5/wms-capabilities-loader.js +3 -3
  63. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  64. package/dist/es5/wms-error-loader.js +70 -0
  65. package/dist/es5/wms-error-loader.js.map +1 -0
  66. package/dist/esm/index.js +16 -3
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/lerc-loader.js +25 -0
  69. package/dist/esm/lerc-loader.js.map +1 -0
  70. package/dist/esm/lib/data-sources/adhoc-image-service.js +43 -0
  71. package/dist/esm/lib/data-sources/adhoc-image-service.js.map +1 -0
  72. package/dist/esm/lib/data-sources/arcgis-image-service.js +62 -0
  73. package/dist/esm/lib/data-sources/arcgis-image-service.js.map +1 -0
  74. package/dist/esm/lib/data-sources/create-image-source.js +30 -0
  75. package/dist/esm/lib/data-sources/create-image-source.js.map +1 -0
  76. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js +61 -0
  77. package/dist/esm/lib/data-sources/image-services/arcgis-image-service.js.map +1 -0
  78. package/dist/esm/lib/data-sources/image-services/image-service.js +72 -0
  79. package/dist/esm/lib/data-sources/image-services/image-service.js.map +1 -0
  80. package/dist/esm/lib/data-sources/image-services/wms-service.js +190 -0
  81. package/dist/esm/lib/data-sources/image-services/wms-service.js.map +1 -0
  82. package/dist/esm/lib/data-sources/image-source.js +4 -0
  83. package/dist/esm/lib/data-sources/image-source.js.map +1 -0
  84. package/dist/esm/lib/gml/deep-strict-equal.js +57 -0
  85. package/dist/esm/lib/gml/deep-strict-equal.js.map +1 -0
  86. package/dist/esm/lib/gml/parse-gml.js +348 -0
  87. package/dist/esm/lib/gml/parse-gml.js.map +1 -0
  88. package/dist/esm/lib/lerc/lerc-types.js +2 -0
  89. package/dist/esm/lib/lerc/lerc-types.js.map +1 -0
  90. package/dist/esm/lib/wcs/parse-wcs.js +32 -0
  91. package/dist/esm/lib/wcs/parse-wcs.js.map +1 -0
  92. package/dist/esm/lib/wcs/wcs-types.js +2 -0
  93. package/dist/esm/lib/wcs/wcs-types.js.map +1 -0
  94. package/dist/esm/lib/wfs/parse-wfs.js +32 -0
  95. package/dist/esm/lib/wfs/parse-wfs.js.map +1 -0
  96. package/dist/esm/lib/wfs/wfs-types.js +2 -0
  97. package/dist/esm/lib/wfs/wfs-types.js.map +1 -0
  98. package/dist/esm/lib/{parse-wms.js → wms/parse-wms.js} +33 -2
  99. package/dist/esm/lib/wms/parse-wms.js.map +1 -0
  100. package/dist/esm/{wms-types.js → lib/wms/wms-types.js} +0 -0
  101. package/dist/esm/lib/wms/wms-types.js.map +1 -0
  102. package/dist/esm/lib/wmts/parse-wmts.js +32 -0
  103. package/dist/esm/lib/wmts/parse-wmts.js.map +1 -0
  104. package/dist/esm/lib/wmts/wmts-types.js +2 -0
  105. package/dist/esm/lib/wmts/wmts-types.js.map +1 -0
  106. package/dist/esm/wip/arcgis-feature-service.js +28 -0
  107. package/dist/esm/wip/arcgis-feature-service.js.map +1 -0
  108. package/dist/esm/wip/data-source.js +2 -0
  109. package/dist/esm/wip/data-source.js.map +1 -0
  110. package/dist/esm/wip/gml-loader.js +25 -0
  111. package/dist/esm/wip/gml-loader.js.map +1 -0
  112. package/dist/esm/wip/wcs-capabilities-loader.js +25 -0
  113. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -0
  114. package/dist/esm/wip/wfs-capabilities-loader.js +25 -0
  115. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -0
  116. package/dist/esm/{wms-feature-info-loader.js → wip/wms-feature-info-loader.js} +3 -3
  117. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -0
  118. package/dist/esm/wip/wms-layer-description-loader.js +14 -0
  119. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -0
  120. package/dist/esm/wip/wms-layer-description-loader.md.disabled.md +47 -0
  121. package/dist/esm/wip/wmts-capabilities-loader.js +25 -0
  122. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -0
  123. package/dist/esm/wms-capabilities-loader.js +3 -3
  124. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  125. package/dist/esm/wms-error-loader.js +40 -0
  126. package/dist/esm/wms-error-loader.js.map +1 -0
  127. package/dist/index.d.ts +27 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +33 -0
  130. package/dist/lerc-loader.d.ts +30 -0
  131. package/dist/lerc-loader.d.ts.map +1 -0
  132. package/dist/lerc-loader.js +56 -0
  133. package/dist/lib/data-sources/adhoc-image-service.d.ts +24 -0
  134. package/dist/lib/data-sources/adhoc-image-service.d.ts.map +1 -0
  135. package/dist/lib/data-sources/adhoc-image-service.js +46 -0
  136. package/dist/lib/data-sources/arcgis-image-service.d.ts +79 -0
  137. package/dist/lib/data-sources/arcgis-image-service.d.ts.map +1 -0
  138. package/dist/lib/data-sources/arcgis-image-service.js +85 -0
  139. package/dist/lib/data-sources/create-image-source.d.ts +16 -0
  140. package/dist/lib/data-sources/create-image-source.d.ts.map +1 -0
  141. package/dist/lib/data-sources/create-image-source.js +39 -0
  142. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts +71 -0
  143. package/dist/lib/data-sources/image-services/arcgis-image-service.d.ts.map +1 -0
  144. package/dist/lib/data-sources/image-services/arcgis-image-service.js +85 -0
  145. package/dist/lib/data-sources/image-services/image-service.d.ts +39 -0
  146. package/dist/lib/data-sources/image-services/image-service.d.ts.map +1 -0
  147. package/dist/lib/data-sources/image-services/image-service.js +82 -0
  148. package/dist/lib/data-sources/image-services/wms-service.d.ts +188 -0
  149. package/dist/lib/data-sources/image-services/wms-service.d.ts.map +1 -0
  150. package/dist/lib/data-sources/image-services/wms-service.js +218 -0
  151. package/dist/lib/data-sources/image-source.d.ts +73 -0
  152. package/dist/lib/data-sources/image-source.d.ts.map +1 -0
  153. package/dist/lib/data-sources/image-source.js +12 -0
  154. package/dist/lib/gml/deep-strict-equal.d.ts +3 -0
  155. package/dist/lib/gml/deep-strict-equal.d.ts.map +1 -0
  156. package/dist/lib/gml/deep-strict-equal.js +119 -0
  157. package/dist/lib/gml/parse-gml.d.ts +28 -0
  158. package/dist/lib/gml/parse-gml.d.ts.map +1 -0
  159. package/dist/lib/gml/parse-gml.js +371 -0
  160. package/dist/lib/lerc/lerc-types.d.ts +30 -0
  161. package/dist/lib/lerc/lerc-types.d.ts.map +1 -0
  162. package/dist/lib/lerc/lerc-types.js +3 -0
  163. package/dist/lib/wcs/parse-wcs.d.ts +7 -0
  164. package/dist/lib/wcs/parse-wcs.d.ts.map +1 -0
  165. package/dist/lib/wcs/parse-wcs.js +36 -0
  166. package/dist/lib/wcs/wcs-types.d.ts +73 -0
  167. package/dist/lib/wcs/wcs-types.d.ts.map +1 -0
  168. package/dist/lib/wcs/wcs-types.js +3 -0
  169. package/dist/lib/wfs/parse-wfs.d.ts +7 -0
  170. package/dist/lib/wfs/parse-wfs.d.ts.map +1 -0
  171. package/dist/lib/wfs/parse-wfs.js +36 -0
  172. package/dist/lib/wfs/wfs-types.d.ts +73 -0
  173. package/dist/lib/wfs/wfs-types.d.ts.map +1 -0
  174. package/dist/lib/wfs/wfs-types.js +3 -0
  175. package/dist/lib/wms/parse-wms.d.ts +24 -0
  176. package/dist/lib/wms/parse-wms.d.ts.map +1 -0
  177. package/dist/lib/wms/parse-wms.js +115 -0
  178. package/dist/lib/wms/wms-types.d.ts +100 -0
  179. package/dist/lib/wms/wms-types.d.ts.map +1 -0
  180. package/dist/lib/wms/wms-types.js +1908 -0
  181. package/dist/lib/wmts/parse-wmts.d.ts +7 -0
  182. package/dist/lib/wmts/parse-wmts.d.ts.map +1 -0
  183. package/dist/lib/wmts/parse-wmts.js +36 -0
  184. package/dist/lib/wmts/wmts-types.d.ts +73 -0
  185. package/dist/lib/wmts/wmts-types.d.ts.map +1 -0
  186. package/dist/lib/wmts/wmts-types.js +3 -0
  187. package/dist/wip/arcgis-feature-service.d.ts +56 -0
  188. package/dist/wip/arcgis-feature-service.d.ts.map +1 -0
  189. package/dist/wip/arcgis-feature-service.js +28 -0
  190. package/dist/wip/data-source.d.ts +54 -0
  191. package/dist/wip/data-source.d.ts.map +1 -0
  192. package/dist/wip/data-source.js +59 -0
  193. package/dist/wip/gml-loader.d.ts +26 -0
  194. package/dist/wip/gml-loader.d.ts.map +1 -0
  195. package/dist/wip/gml-loader.js +31 -0
  196. package/dist/wip/wcs-capabilities-loader.d.ts +26 -0
  197. package/dist/wip/wcs-capabilities-loader.d.ts.map +1 -0
  198. package/dist/wip/wcs-capabilities-loader.js +31 -0
  199. package/dist/wip/wfs-capabilities-loader.d.ts +26 -0
  200. package/dist/wip/wfs-capabilities-loader.d.ts.map +1 -0
  201. package/dist/wip/wfs-capabilities-loader.js +31 -0
  202. package/dist/wip/wms-feature-info-loader.d.ts +22 -0
  203. package/dist/wip/wms-feature-info-loader.d.ts.map +1 -0
  204. package/dist/wip/wms-feature-info-loader.js +17 -0
  205. package/dist/wip/wms-layer-description-loader.d.ts +22 -0
  206. package/dist/wip/wms-layer-description-loader.d.ts.map +1 -0
  207. package/dist/wip/wms-layer-description-loader.js +17 -0
  208. package/dist/wip/wmts-capabilities-loader.d.ts +26 -0
  209. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -0
  210. package/dist/wip/wmts-capabilities-loader.js +31 -0
  211. package/dist/wms-capabilities-loader.d.ts +26 -0
  212. package/dist/wms-capabilities-loader.d.ts.map +1 -0
  213. package/dist/wms-capabilities-loader.js +31 -0
  214. package/dist/wms-error-loader.d.ts +34 -0
  215. package/dist/wms-error-loader.d.ts.map +1 -0
  216. package/dist/wms-error-loader.js +43 -0
  217. package/package.json +17 -6
  218. package/src/index.ts +51 -6
  219. package/src/lerc-loader.ts +50 -0
  220. package/src/lib/data-sources/adhoc-image-service.ts +61 -0
  221. package/src/lib/data-sources/arcgis-image-service.ts +146 -0
  222. package/src/lib/data-sources/create-image-source.ts +46 -0
  223. package/src/lib/data-sources/image-services/arcgis-image-service.ts +136 -0
  224. package/src/lib/data-sources/image-services/image-service.ts +105 -0
  225. package/src/lib/data-sources/image-services/wms-service.ts +351 -0
  226. package/src/lib/data-sources/image-source.ts +82 -0
  227. package/src/lib/gml/deep-strict-equal.ts +119 -0
  228. package/src/lib/gml/parse-gml.ts +500 -0
  229. package/src/lib/lerc/lerc-types.ts +43 -0
  230. package/src/lib/wcs/parse-wcs.ts +39 -0
  231. package/src/lib/wcs/wcs-types.ts +77 -0
  232. package/src/lib/wfs/parse-wfs.ts +39 -0
  233. package/src/lib/wfs/wfs-types.ts +78 -0
  234. package/src/lib/{parse-wms.ts → wms/parse-wms.ts} +54 -4
  235. package/src/{wms-types.ts → lib/wms/wms-types.ts} +3 -1
  236. package/src/lib/wmts/parse-wmts.ts +39 -0
  237. package/src/lib/wmts/wmts-types.ts +77 -0
  238. package/src/wip/arcgis-feature-service.ts +89 -0
  239. package/src/{lib/data-sources/image-data-source.ts → wip/data-source.ts} +20 -42
  240. package/src/wip/gml-loader.ts +40 -0
  241. package/src/wip/wcs-capabilities-loader.ts +40 -0
  242. package/src/wip/wfs-capabilities-loader.ts +40 -0
  243. package/src/{wms-feature-info-loader.ts → wip/wms-feature-info-loader.ts} +3 -3
  244. package/src/wip/wms-layer-description-loader.md.disabled.md +47 -0
  245. package/src/{wms-layer-description-loader.ts → wip/wms-layer-description-loader.ts} +6 -6
  246. package/src/wip/wmts-capabilities-loader.ts +40 -0
  247. package/src/wms-capabilities-loader.ts +2 -2
  248. package/src/wms-error-loader.ts +59 -0
  249. package/dist/es5/lib/data-sources/image-data-source.js +0 -4
  250. package/dist/es5/lib/data-sources/image-data-source.js.map +0 -1
  251. package/dist/es5/lib/data-sources/wms-data-source.js +0 -223
  252. package/dist/es5/lib/data-sources/wms-data-source.js.map +0 -1
  253. package/dist/es5/lib/parse-wms.js.map +0 -1
  254. package/dist/es5/wms-feature-info-loader.js.map +0 -1
  255. package/dist/es5/wms-layer-description-loader.js.map +0 -1
  256. package/dist/es5/wms-types.js.map +0 -1
  257. package/dist/esm/lib/data-sources/image-data-source.js +0 -2
  258. package/dist/esm/lib/data-sources/image-data-source.js.map +0 -1
  259. package/dist/esm/lib/data-sources/wms-data-source.js +0 -70
  260. package/dist/esm/lib/data-sources/wms-data-source.js.map +0 -1
  261. package/dist/esm/lib/parse-wms.js.map +0 -1
  262. package/dist/esm/wms-feature-info-loader.js.map +0 -1
  263. package/dist/esm/wms-layer-description-loader.js +0 -14
  264. package/dist/esm/wms-layer-description-loader.js.map +0 -1
  265. package/dist/esm/wms-types.js.map +0 -1
  266. package/src/lib/data-sources/wms-data-source.ts +0 -99
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ArcGISImageService = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
+ var _imageSource = require("../image-source");
19
+ var _imageService = require("./image-service");
20
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
+ var ArcGISImageService = function (_ImageSource) {
23
+ (0, _inherits2.default)(ArcGISImageService, _ImageSource);
24
+ var _super = _createSuper(ArcGISImageService);
25
+ function ArcGISImageService(props) {
26
+ var _this;
27
+ (0, _classCallCheck2.default)(this, ArcGISImageService);
28
+ _this = _super.call(this);
29
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "props", void 0);
30
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetch", void 0);
31
+ _this.props = (0, _imageService.mergeImageServiceProps)(props);
32
+ _this.fetch = (0, _imageService.getFetchFunction)(_this.props);
33
+ return _this;
34
+ }
35
+
36
+ (0, _createClass2.default)(ArcGISImageService, [{
37
+ key: "getMetadata",
38
+ value: function () {
39
+ var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
40
+ return _regenerator.default.wrap(function _callee$(_context) {
41
+ while (1) {
42
+ switch (_context.prev = _context.next) {
43
+ case 0:
44
+ _context.next = 2;
45
+ return this.info();
46
+ case 2:
47
+ return _context.abrupt("return", _context.sent);
48
+ case 3:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }
53
+ }, _callee, this);
54
+ }));
55
+ function getMetadata() {
56
+ return _getMetadata.apply(this, arguments);
57
+ }
58
+ return getMetadata;
59
+ }()
60
+ }, {
61
+ key: "getImage",
62
+ value: function () {
63
+ var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
64
+ return _regenerator.default.wrap(function _callee2$(_context2) {
65
+ while (1) {
66
+ switch (_context2.prev = _context2.next) {
67
+ case 0:
68
+ throw new Error('not implemented');
69
+ case 1:
70
+ case "end":
71
+ return _context2.stop();
72
+ }
73
+ }
74
+ }, _callee2);
75
+ }));
76
+ function getImage(_x) {
77
+ return _getImage.apply(this, arguments);
78
+ }
79
+ return getImage;
80
+ }()
81
+ }, {
82
+ key: "info",
83
+ value: function () {
84
+ var _info = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
85
+ return _regenerator.default.wrap(function _callee3$(_context3) {
86
+ while (1) {
87
+ switch (_context3.prev = _context3.next) {
88
+ case 0:
89
+ throw new Error('not implemented');
90
+ case 1:
91
+ case "end":
92
+ return _context3.stop();
93
+ }
94
+ }
95
+ }, _callee3);
96
+ }));
97
+ function info() {
98
+ return _info.apply(this, arguments);
99
+ }
100
+ return info;
101
+ }()
102
+ }, {
103
+ key: "exportImage",
104
+ value:
105
+ function exportImage(options) {
106
+ throw new Error('not implemented');
107
+ }
108
+
109
+ }, {
110
+ key: "infoURL",
111
+ value:
112
+
113
+ function infoURL(options) {
114
+ return this.props.url;
115
+ }
116
+
117
+ }, {
118
+ key: "exportImageURL",
119
+ value:
120
+ function exportImageURL(options) {
121
+ return this.props.url;
122
+ }
123
+
124
+ }, {
125
+ key: "getUrl",
126
+ value:
127
+
128
+ function getUrl(options, extra) {
129
+ var url = "".concat(this.props.url);
130
+ var first = true;
131
+ for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
132
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
133
+ key = _Object$entries$_i[0],
134
+ value = _Object$entries$_i[1];
135
+ url += first ? '?' : '&';
136
+ first = false;
137
+ if (Array.isArray(value)) {
138
+ url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
139
+ } else {
140
+ url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
141
+ }
142
+ }
143
+ return url;
144
+ }
145
+
146
+ }, {
147
+ key: "checkResponse",
148
+ value: function () {
149
+ var _checkResponse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(response) {
150
+ return _regenerator.default.wrap(function _callee4$(_context4) {
151
+ while (1) {
152
+ switch (_context4.prev = _context4.next) {
153
+ case 0:
154
+ if (response.ok) {
155
+ _context4.next = 2;
156
+ break;
157
+ }
158
+ throw new Error('error');
159
+ case 2:
160
+ case "end":
161
+ return _context4.stop();
162
+ }
163
+ }
164
+ }, _callee4);
165
+ }));
166
+ function checkResponse(_x2) {
167
+ return _checkResponse.apply(this, arguments);
168
+ }
169
+ return checkResponse;
170
+ }()
171
+ }]);
172
+ return ArcGISImageService;
173
+ }(_imageSource.ImageSource);
174
+ exports.ArcGISImageService = ArcGISImageService;
175
+ (0, _defineProperty2.default)(ArcGISImageService, "type", 'arcgis-image-server');
176
+ (0, _defineProperty2.default)(ArcGISImageService, "testURL", function (url) {
177
+ return url.toLowerCase().includes('ImageServer');
178
+ });
179
+ //# sourceMappingURL=arcgis-image-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arcgis-image-service.js","names":["ArcGISImageService","props","mergeImageServiceProps","fetch","getFetchFunction","info","parameters","Error","options","url","extra","first","Object","entries","key","value","Array","isArray","toUpperCase","join","String","response","ok","ImageSource","toLowerCase","includes"],"sources":["../../../../../src/lib/data-sources/image-services/arcgis-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageType} from '@loaders.gl/images';\nimport type {ImageSourceMetadata, GetImageParameters} from '../image-source';\nimport {ImageSource} from '../image-source';\nimport {ImageServiceProps, mergeImageServiceProps, getFetchFunction} from './image-service';\n\nexport class ArcGISImageService extends ImageSource {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n props: Required<ImageServiceProps>;\n fetch: (url: string, options?: RequestInit) => Promise<Response>;\n\n constructor(props: ImageServiceProps) {\n super();\n this.props = mergeImageServiceProps(props);\n this.fetch = getFetchFunction(this.props);\n }\n\n // ImageSource (normalized endpoints)\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n return (await this.info()) as ImageSourceMetadata;\n // TODO - normalize metadata\n }\n\n async getImage(parameters: GetImageParameters): Promise<ImageType> {\n throw new Error('not implemented');\n // TODO - Map generic parameters to ArcGIS specific parameters\n // return await this.exportImage(parameters);\n }\n\n // ImageServer endpoints\n\n async info(): Promise<unknown> {\n // We just need a JSON parsing...\n // return this.getUrl({path: '', ...options});\n throw new Error('not implemented');\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&compressionQuality=&bandIds=&mosaicRule=&renderingRule=&f=image`,\n */\n exportImage(options: {\n boundingBox: [number, number, number, number];\n boundingBoxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): Promise<ImageType> {\n // See WMSService.getMap()\n throw new Error('not implemented');\n }\n\n // URL creators\n\n infoURL(options: {parameters?: Record<string, unknown>}): string {\n return this.props.url;\n // return this.getUrl({path: '', ...options});\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&compressionQuality=&bandIds=&mosaicRule=&renderingRule=&f=image`,\n */\n exportImageURL(options: {\n boundingBox: [number, number, number, number];\n boundingBoxSR?: string;\n width: number;\n height: number;\n imageSR?: string;\n time?: never;\n format?: 'jpgpng';\n pixelType?: 'U8';\n noData?: never;\n noDataInterpretation?: 'esriNoDataMatchAny';\n interpolation?: '+RSP_NearestNeighbor';\n compression?: never;\n compressionQuality?: never;\n bandIds?: never;\n mosaicRule?: never;\n renderingRule?: never;\n f?: 'image';\n }): string {\n // const {boundingBox} = options;\n // const bbox = `bbox=${boundingBox[0]},${boundingBox[1]},${boundingBox[2]},${boundingBox[3]}`;\n // const size = `size=${width},${height}`;\n // return this.getUrl({path: 'exportImage'});\n return this.props.url;\n }\n\n // INTERNAL METHODS\n\n /**\n * @note protected, since perhaps getWMSUrl may need to be overridden to handle certain backends?\n * @note if override is common, maybe add a callback prop?\n * */\n protected getUrl(options: Record<string, unknown>, extra?: Record<string, unknown>): string {\n let url = `${this.props.url}`;\n let first = true;\n for (const [key, value] of Object.entries(options)) {\n url += first ? '?' : '&';\n first = false;\n if (Array.isArray(value)) {\n url += `${key.toUpperCase()}=${value.join(',')}`;\n } else {\n url += `${key.toUpperCase()}=${value ? String(value) : ''}`;\n }\n }\n return url;\n }\n\n /** Checks for and parses a WMS XML formatted ServiceError and throws an exception */\n protected async checkResponse(response: Response) {\n if (!response.ok) {\n // } || response.headers['content-type'] === WMSErrorLoader.mimeTypes[0]) {\n // const arrayBuffer = await response.arrayBuffer();\n // const error = await WMSErrorLoader.parse(arrayBuffer, this.loadOptions);\n throw new Error('error');\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA;AACA;AAA4F;AAAA;AAAA,IAE/EA,kBAAkB;EAAA;EAAA;EAO7B,4BAAYC,KAAwB,EAAE;IAAA;IAAA;IACpC;IAAQ;IAAA;IACR,MAAKA,KAAK,GAAG,IAAAC,oCAAsB,EAACD,KAAK,CAAC;IAC1C,MAAKE,KAAK,GAAG,IAAAC,8BAAgB,EAAC,MAAKH,KAAK,CAAC;IAAC;EAC5C;;EAAC;IAAA;IAAA;MAAA,6EAID;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACgB,IAAI,CAACI,IAAI,EAAE;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAE1B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0EAED,kBAAeC,UAA8B;QAAA;UAAA;YAAA;cAAA;gBAAA,MACrC,IAAIC,KAAK,CAAC,iBAAiB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAGnC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sEAID;QAAA;UAAA;YAAA;cAAA;gBAAA,MAGQ,IAAIA,KAAK,CAAC,iBAAiB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;IAMD,qBAAYC,OAkBX,EAAsB;MAErB,MAAM,IAAID,KAAK,CAAC,iBAAiB,CAAC;IACpC;;EAAC;IAAA;IAAA;;IAID,iBAAQC,OAA+C,EAAU;MAC/D,OAAO,IAAI,CAACP,KAAK,CAACQ,GAAG;IAEvB;;EAAC;IAAA;IAAA;IAMD,wBAAeD,OAkBd,EAAU;MAKT,OAAO,IAAI,CAACP,KAAK,CAACQ,GAAG;IACvB;;EAAC;IAAA;IAAA;;IAQD,gBAAiBD,OAAgC,EAAEE,KAA+B,EAAU;MAC1F,IAAID,GAAG,aAAM,IAAI,CAACR,KAAK,CAACQ,GAAG,CAAE;MAC7B,IAAIE,KAAK,GAAG,IAAI;MAChB,mCAA2BC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,qCAAE;QAA/C;UAAOM,GAAG;UAAEC,KAAK;QACpBN,GAAG,IAAIE,KAAK,GAAG,GAAG,GAAG,GAAG;QACxBA,KAAK,GAAG,KAAK;QACb,IAAIK,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;UACxBN,GAAG,cAAOK,GAAG,CAACI,WAAW,EAAE,cAAIH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAE;QAClD,CAAC,MAAM;UACLV,GAAG,cAAOK,GAAG,CAACI,WAAW,EAAE,cAAIH,KAAK,GAAGK,MAAM,CAACL,KAAK,CAAC,GAAG,EAAE,CAAE;QAC7D;MACF;MACA,OAAON,GAAG;IACZ;;EAAC;IAAA;IAAA;MAAA,+EAGD,kBAA8BY,QAAkB;QAAA;UAAA;YAAA;cAAA;gBAAA,IACzCA,QAAQ,CAACC,EAAE;kBAAA;kBAAA;gBAAA;gBAAA,MAIR,IAAIf,KAAK,CAAC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAE3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/HqCgB,wBAAW;AAAA;AAAA,8BAAtCvB,kBAAkB,UACQ,qBAAqB;AAAA,8BAD/CA,kBAAkB,aAEZ,UAACS,GAAW;EAAA,OAAcA,GAAG,CAACe,WAAW,EAAE,CAACC,QAAQ,CAAC,aAAa,CAAC;AAAA"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ImageService = void 0;
8
+ exports.getFetchFunction = getFetchFunction;
9
+ exports.mergeImageServiceProps = mergeImageServiceProps;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _images = require("@loaders.gl/images");
21
+ var _imageSource = require("../image-source");
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
26
+ var ImageService = function (_ImageSource) {
27
+ (0, _inherits2.default)(ImageService, _ImageSource);
28
+ var _super = _createSuper(ImageService);
29
+ function ImageService(props) {
30
+ var _this;
31
+ (0, _classCallCheck2.default)(this, ImageService);
32
+ _this = _super.call(this);
33
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "props", void 0);
34
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetch", void 0);
35
+ _this.props = mergeImageServiceProps(props);
36
+ _this.fetch = getFetchFunction(props);
37
+ return _this;
38
+ }
39
+
40
+ (0, _createClass2.default)(ImageService, [{
41
+ key: "getMetadata",
42
+ value: function () {
43
+ var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
44
+ return _regenerator.default.wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ throw new Error('ImageSource.getMetadata not implemented');
49
+ case 1:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }
54
+ }, _callee);
55
+ }));
56
+ function getMetadata() {
57
+ return _getMetadata.apply(this, arguments);
58
+ }
59
+ return getMetadata;
60
+ }()
61
+ }, {
62
+ key: "getImage",
63
+ value: function () {
64
+ var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
65
+ var granularParameters, url, response, arrayBuffer;
66
+ return _regenerator.default.wrap(function _callee2$(_context2) {
67
+ while (1) {
68
+ switch (_context2.prev = _context2.next) {
69
+ case 0:
70
+ granularParameters = this.getGranularParameters(parameters);
71
+ url = this.getURLFromTemplate(granularParameters);
72
+ _context2.next = 4;
73
+ return this.fetch(url);
74
+ case 4:
75
+ response = _context2.sent;
76
+ _context2.next = 7;
77
+ return response.arrayBuffer();
78
+ case 7:
79
+ arrayBuffer = _context2.sent;
80
+ _context2.next = 10;
81
+ return _images.ImageLoader.parse(arrayBuffer);
82
+ case 10:
83
+ return _context2.abrupt("return", _context2.sent);
84
+ case 11:
85
+ case "end":
86
+ return _context2.stop();
87
+ }
88
+ }
89
+ }, _callee2, this);
90
+ }));
91
+ function getImage(_x) {
92
+ return _getImage.apply(this, arguments);
93
+ }
94
+ return getImage;
95
+ }()
96
+ }, {
97
+ key: "getGranularParameters",
98
+ value:
99
+
100
+ function getGranularParameters(parameters) {
101
+ var _parameters$bbox = (0, _slicedToArray2.default)(parameters.bbox, 4),
102
+ east = _parameters$bbox[0],
103
+ north = _parameters$bbox[1],
104
+ west = _parameters$bbox[2],
105
+ south = _parameters$bbox[3];
106
+ return _objectSpread(_objectSpread({}, parameters), {}, {
107
+ east: east,
108
+ north: north,
109
+ south: south,
110
+ west: west
111
+ });
112
+ }
113
+
114
+ }, {
115
+ key: "getURLFromTemplate",
116
+ value:
117
+ function getURLFromTemplate(parameters) {
118
+ var url = this.props.url;
119
+ for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
120
+ var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
121
+ key = _Object$entries$_i[0],
122
+ value = _Object$entries$_i[1];
123
+ url = url.replace("${".concat(key, "}"), String(value));
124
+ url = url.replace("{".concat(key, "}"), String(value));
125
+ }
126
+ return url;
127
+ }
128
+ }]);
129
+ return ImageService;
130
+ }(_imageSource.ImageSource);
131
+ exports.ImageService = ImageService;
132
+ (0, _defineProperty2.default)(ImageService, "type", 'template');
133
+ (0, _defineProperty2.default)(ImageService, "testURL", function (url) {
134
+ return url.toLowerCase().includes('{');
135
+ });
136
+ function getFetchFunction(options) {
137
+ var fetchFunction = options === null || options === void 0 ? void 0 : options.fetch;
138
+
139
+ if (fetchFunction && typeof fetchFunction === 'function') {
140
+ return function (url, fetchOptions) {
141
+ return fetchFunction(url, fetchOptions);
142
+ };
143
+ }
144
+
145
+ var fetchOptions = options === null || options === void 0 ? void 0 : options.fetch;
146
+ if (fetchOptions && typeof fetchOptions !== 'function') {
147
+ return function (url) {
148
+ return fetch(url, fetchOptions);
149
+ };
150
+ }
151
+
152
+ return function (url) {
153
+ return fetch(url);
154
+ };
155
+ }
156
+ function mergeImageServiceProps(props) {
157
+ return _objectSpread(_objectSpread({}, props), {}, {
158
+ loadOptions: _objectSpread(_objectSpread({}, props.loadOptions), {}, {
159
+ fetch: getFetchFunction(props.loadOptions)
160
+ })
161
+ });
162
+ }
163
+ //# sourceMappingURL=image-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-service.js","names":["ImageService","props","mergeImageServiceProps","fetch","getFetchFunction","Error","parameters","granularParameters","getGranularParameters","url","getURLFromTemplate","response","arrayBuffer","ImageLoader","parse","bbox","east","north","west","south","Object","entries","key","value","replace","String","ImageSource","toLowerCase","includes","options","fetchFunction","fetchOptions","loadOptions"],"sources":["../../../../../src/lib/data-sources/image-services/image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ImageType} from '@loaders.gl/images';\nimport {ImageLoader} from '@loaders.gl/images';\n\nimport type {ImageSourceMetadata, GetImageParameters} from '../image-source';\nimport {ImageSource} from '../image-source';\n\n/** Template URL string should contain `${width}` etc which will be substituted. */\nexport type ImageServiceProps = {\n /** Base URL to the service */\n url: string;\n /** Any load options to the loaders.gl Loaders used by the WMSService methods */\n loadOptions?: LoaderOptions;\n};\n\n/**\n * Quickly connect to \"ad hoc\" image sources without subclassing ImageSource.\n * ImageSource allows template url strings to be used to ad hoc connect to arbitrary image data sources\n * Accepts a template url string and builds requests URLs\n */\nexport class ImageService extends ImageSource {\n static type: 'template' = 'template';\n static testURL = (url: string): boolean => url.toLowerCase().includes('{');\n\n props: Required<ImageServiceProps>;\n fetch: (url: string, options?: RequestInit) => Promise<Response>;\n\n constructor(props: ImageServiceProps) {\n super();\n this.props = mergeImageServiceProps(props);\n this.fetch = getFetchFunction(props);\n }\n\n // IMAGE SOURCE API\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n throw new Error('ImageSource.getMetadata not implemented');\n }\n\n async getImage(parameters: GetImageParameters): Promise<ImageType> {\n const granularParameters = this.getGranularParameters(parameters);\n const url = this.getURLFromTemplate(granularParameters);\n const response = await this.fetch(url);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer);\n }\n\n // HELPERS\n\n /** Break up bounding box in east, north, south, west */\n protected getGranularParameters(parameters: GetImageParameters): Record<string, unknown> {\n const [east, north, west, south] = parameters.bbox;\n return {...parameters, east, north, south, west};\n }\n\n /** Supports both ${} and {} notations */\n protected getURLFromTemplate(parameters: Record<string, unknown>): string {\n let url = this.props.url;\n for (const [key, value] of Object.entries(parameters)) {\n // TODO - parameter could be repeated\n // const regex = new RegExp(`\\${${key}}`, 'g');\n url = url.replace(`\\${${key}}`, String(value));\n url = url.replace(`{${key}}`, String(value));\n }\n return url;\n }\n}\n\n/**\n * Gets the current fetch function from options\n * @todo - move to loader-utils module\n * @todo - use in core module counterpart\n * @param options\n * @param context\n */\nexport function getFetchFunction(options?: LoaderOptions) {\n const fetchFunction = options?.fetch;\n\n // options.fetch can be a function\n if (fetchFunction && typeof fetchFunction === 'function') {\n return (url: string, fetchOptions?: RequestInit) => fetchFunction(url, fetchOptions);\n }\n\n // options.fetch can be an options object, use global fetch with those options\n const fetchOptions = options?.fetch;\n if (fetchOptions && typeof fetchOptions !== 'function') {\n return (url) => fetch(url, fetchOptions);\n }\n\n // else return the global fetch function\n return (url) => fetch(url);\n}\n\nexport function mergeImageServiceProps(props: ImageServiceProps): Required<ImageServiceProps> {\n return {\n // Default fetch\n ...props,\n loadOptions: {\n ...props.loadOptions,\n fetch: getFetchFunction(props.loadOptions)\n }\n };\n}\n"],"mappings":"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"}