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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/dist.min.js +359 -174
  2. package/dist/es5/csw-capabilities-loader.js +7 -11
  3. package/dist/es5/csw-capabilities-loader.js.map +1 -1
  4. package/dist/es5/csw-domain-loader.js +7 -10
  5. package/dist/es5/csw-domain-loader.js.map +1 -1
  6. package/dist/es5/csw-records-loader.js +7 -10
  7. package/dist/es5/csw-records-loader.js.map +1 -1
  8. package/dist/es5/gml-loader.js +7 -10
  9. package/dist/es5/gml-loader.js.map +1 -1
  10. package/dist/es5/index.js +0 -7
  11. package/dist/es5/index.js.map +1 -1
  12. package/dist/es5/lerc-loader.js +17 -22
  13. package/dist/es5/lerc-loader.js.map +1 -1
  14. package/dist/es5/lib/create-image-source.js +1 -2
  15. package/dist/es5/lib/create-image-source.js.map +1 -1
  16. package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
  17. package/dist/es5/lib/parsers/csw/parse-csw-domain.js +1 -1
  18. package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -1
  19. package/dist/es5/lib/parsers/csw/parse-csw-records.js +1 -2
  20. package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -1
  21. package/dist/es5/lib/parsers/csw/parse-exception-report.js +0 -2
  22. package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -1
  23. package/dist/es5/lib/parsers/gml/deep-strict-equal.js +0 -8
  24. package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -1
  25. package/dist/es5/lib/parsers/gml/parse-gml.js +1 -13
  26. package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -1
  27. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +197 -54
  28. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  29. package/dist/es5/lib/parsers/wms/parse-wms-error.js +0 -1
  30. package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -1
  31. package/dist/es5/lib/parsers/wms/parse-wms-features.js +0 -1
  32. package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -1
  33. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +0 -1
  34. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  35. package/dist/es5/lib/parsers/xml/parse-xml-helpers.js +67 -0
  36. package/dist/es5/lib/parsers/xml/parse-xml-helpers.js.map +1 -0
  37. package/dist/es5/lib/services/arcgis/arcgis-image-service.js +35 -54
  38. package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -1
  39. package/dist/es5/lib/services/arcgis/arcgis-server.js +50 -54
  40. package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -1
  41. package/dist/es5/lib/services/generic/image-service.js +27 -36
  42. package/dist/es5/lib/services/generic/image-service.js.map +1 -1
  43. package/dist/es5/lib/services/ogc/csw-service.js +161 -186
  44. package/dist/es5/lib/services/ogc/csw-service.js.map +1 -1
  45. package/dist/es5/lib/services/ogc/wms-service.js +283 -245
  46. package/dist/es5/lib/services/ogc/wms-service.js.map +1 -1
  47. package/dist/es5/lib/sources/data-source.js +1 -6
  48. package/dist/es5/lib/sources/data-source.js.map +1 -1
  49. package/dist/es5/lib/sources/image-source.js.map +1 -1
  50. package/dist/es5/lib/sources/tile-source.js.map +1 -1
  51. package/dist/es5/lib/sources/utils/utils.js +0 -4
  52. package/dist/es5/lib/sources/utils/utils.js.map +1 -1
  53. package/dist/es5/wip/arcgis-feature-service.js +2 -7
  54. package/dist/es5/wip/arcgis-feature-service.js.map +1 -1
  55. package/dist/es5/wip/data-source.js +0 -2
  56. package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
  57. package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
  58. package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
  59. package/dist/es5/wip/wcs-capabilities-loader.js +7 -10
  60. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
  61. package/dist/es5/wip/wfs-capabilities-loader.js +7 -10
  62. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
  63. package/dist/es5/wip/wms-feature-info-loader.js +6 -8
  64. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  65. package/dist/es5/wip/wms-layer-description-loader.js +6 -8
  66. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
  67. package/dist/es5/wip/wmts-capabilities-loader.js +7 -16
  68. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  69. package/dist/es5/wms-capabilities-loader.js +8 -12
  70. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  71. package/dist/es5/wms-error-loader.js +7 -9
  72. package/dist/es5/wms-error-loader.js.map +1 -1
  73. package/dist/esm/bundle.js +0 -2
  74. package/dist/esm/bundle.js.map +1 -1
  75. package/dist/esm/csw-capabilities-loader.js +1 -5
  76. package/dist/esm/csw-capabilities-loader.js.map +1 -1
  77. package/dist/esm/csw-domain-loader.js +1 -4
  78. package/dist/esm/csw-domain-loader.js.map +1 -1
  79. package/dist/esm/csw-records-loader.js +1 -4
  80. package/dist/esm/csw-records-loader.js.map +1 -1
  81. package/dist/esm/gml-loader.js +1 -4
  82. package/dist/esm/gml-loader.js.map +1 -1
  83. package/dist/esm/index.js +0 -11
  84. package/dist/esm/index.js.map +1 -1
  85. package/dist/esm/lerc-loader.js +1 -4
  86. package/dist/esm/lerc-loader.js.map +1 -1
  87. package/dist/esm/lib/create-image-source.js +0 -3
  88. package/dist/esm/lib/create-image-source.js.map +1 -1
  89. package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js +0 -3
  90. package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
  91. package/dist/esm/lib/parsers/csw/parse-csw-domain.js +0 -3
  92. package/dist/esm/lib/parsers/csw/parse-csw-domain.js.map +1 -1
  93. package/dist/esm/lib/parsers/csw/parse-csw-records.js +0 -3
  94. package/dist/esm/lib/parsers/csw/parse-csw-records.js.map +1 -1
  95. package/dist/esm/lib/parsers/csw/parse-exception-report.js +0 -3
  96. package/dist/esm/lib/parsers/csw/parse-exception-report.js.map +1 -1
  97. package/dist/esm/lib/parsers/gml/deep-strict-equal.js +0 -9
  98. package/dist/esm/lib/parsers/gml/deep-strict-equal.js.map +1 -1
  99. package/dist/esm/lib/parsers/gml/parse-gml.js +0 -14
  100. package/dist/esm/lib/parsers/gml/parse-gml.js.map +1 -1
  101. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js +151 -42
  102. package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  103. package/dist/esm/lib/parsers/wms/parse-wms-error.js +0 -3
  104. package/dist/esm/lib/parsers/wms/parse-wms-error.js.map +1 -1
  105. package/dist/esm/lib/parsers/wms/parse-wms-features.js +0 -3
  106. package/dist/esm/lib/parsers/wms/parse-wms-features.js.map +1 -1
  107. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js +0 -3
  108. package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  109. package/dist/esm/lib/parsers/xml/parse-xml-helpers.js +53 -0
  110. package/dist/esm/lib/parsers/xml/parse-xml-helpers.js.map +1 -0
  111. package/dist/esm/lib/services/arcgis/arcgis-image-service.js +0 -9
  112. package/dist/esm/lib/services/arcgis/arcgis-image-service.js.map +1 -1
  113. package/dist/esm/lib/services/arcgis/arcgis-server.js +0 -2
  114. package/dist/esm/lib/services/arcgis/arcgis-server.js.map +1 -1
  115. package/dist/esm/lib/services/generic/image-service.js +0 -5
  116. package/dist/esm/lib/services/generic/image-service.js.map +1 -1
  117. package/dist/esm/lib/services/ogc/csw-service.js +0 -11
  118. package/dist/esm/lib/services/ogc/csw-service.js.map +1 -1
  119. package/dist/esm/lib/services/ogc/wms-service.js +96 -87
  120. package/dist/esm/lib/services/ogc/wms-service.js.map +1 -1
  121. package/dist/esm/lib/sources/data-source.js +0 -6
  122. package/dist/esm/lib/sources/data-source.js.map +1 -1
  123. package/dist/esm/lib/sources/image-source.js +0 -3
  124. package/dist/esm/lib/sources/image-source.js.map +1 -1
  125. package/dist/esm/lib/sources/tile-source.js +0 -3
  126. package/dist/esm/lib/sources/tile-source.js.map +1 -1
  127. package/dist/esm/lib/sources/utils/utils.js +0 -5
  128. package/dist/esm/lib/sources/utils/utils.js.map +1 -1
  129. package/dist/esm/wip/arcgis-feature-service.js +0 -3
  130. package/dist/esm/wip/arcgis-feature-service.js.map +1 -1
  131. package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js +0 -3
  132. package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
  133. package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js +0 -3
  134. package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
  135. package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js +0 -3
  136. package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
  137. package/dist/esm/wip/wcs-capabilities-loader.js +1 -4
  138. package/dist/esm/wip/wcs-capabilities-loader.js.map +1 -1
  139. package/dist/esm/wip/wfs-capabilities-loader.js +1 -4
  140. package/dist/esm/wip/wfs-capabilities-loader.js.map +1 -1
  141. package/dist/esm/wip/wms-feature-info-loader.js +0 -2
  142. package/dist/esm/wip/wms-feature-info-loader.js.map +1 -1
  143. package/dist/esm/wip/wms-layer-description-loader.js +0 -2
  144. package/dist/esm/wip/wms-layer-description-loader.js.map +1 -1
  145. package/dist/esm/wip/wmts-capabilities-loader.js +1 -6
  146. package/dist/esm/wip/wmts-capabilities-loader.js.map +1 -1
  147. package/dist/esm/wms-capabilities-loader.js +3 -7
  148. package/dist/esm/wms-capabilities-loader.js.map +1 -1
  149. package/dist/esm/wms-error-loader.js +1 -4
  150. package/dist/esm/wms-error-loader.js.map +1 -1
  151. package/dist/index.d.ts +0 -3
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +3 -5
  154. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts +78 -62
  155. package/dist/lib/parsers/wms/parse-wms-capabilities.d.ts.map +1 -1
  156. package/dist/lib/parsers/wms/parse-wms-capabilities.js +165 -1935
  157. package/dist/lib/parsers/xml/parse-xml-helpers.d.ts +11 -0
  158. package/dist/lib/parsers/xml/parse-xml-helpers.d.ts.map +1 -0
  159. package/dist/lib/parsers/xml/parse-xml-helpers.js +68 -0
  160. package/dist/lib/services/arcgis/arcgis-image-service.js +1 -1
  161. package/dist/lib/services/generic/image-service.js +1 -1
  162. package/dist/lib/services/ogc/csw-service.d.ts +1 -1
  163. package/dist/lib/services/ogc/csw-service.d.ts.map +1 -1
  164. package/dist/lib/services/ogc/csw-service.js +1 -1
  165. package/dist/lib/services/ogc/wms-service.d.ts +63 -58
  166. package/dist/lib/services/ogc/wms-service.d.ts.map +1 -1
  167. package/dist/lib/services/ogc/wms-service.js +106 -71
  168. package/dist/lib/sources/image-source.d.ts +3 -9
  169. package/dist/lib/sources/image-source.d.ts.map +1 -1
  170. package/dist/wip/wmts-capabilities-loader.d.ts +3 -4
  171. package/dist/wip/wmts-capabilities-loader.d.ts.map +1 -1
  172. package/dist/wip/wmts-capabilities-loader.js +1 -0
  173. package/dist/wms-capabilities-loader.d.ts +6 -1
  174. package/dist/wms-capabilities-loader.d.ts.map +1 -1
  175. package/dist/wms-capabilities-loader.js +2 -2
  176. package/package.json +6 -6
  177. package/src/index.ts +3 -4
  178. package/src/lib/parsers/wms/parse-wms-capabilities.ts +293 -2004
  179. package/src/lib/parsers/xml/parse-xml-helpers.ts +65 -0
  180. package/src/lib/services/ogc/csw-service.ts +1 -1
  181. package/src/lib/services/ogc/wms-service.ts +169 -109
  182. package/src/lib/sources/image-source.ts +3 -9
  183. package/src/wip/wmts-capabilities-loader.ts +2 -2
  184. package/src/wms-capabilities-loader.ts +9 -3
@@ -22,6 +22,9 @@ var _wmsCapabilitiesLoader = require("../../../wms-capabilities-loader");
22
22
  var _wmsFeatureInfoLoader = require("../../../wip/wms-feature-info-loader");
23
23
  var _wmsLayerDescriptionLoader = require("../../../wip/wms-layer-description-loader");
24
24
  var _wmsErrorLoader = require("../../../wms-error-loader");
25
+ 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; } } }; }
26
+ 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); }
27
+ 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; }
25
28
  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; }
26
29
  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; }
27
30
  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); }; }
@@ -29,46 +32,44 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
29
32
  var WMSService = function (_ImageSource) {
30
33
  (0, _inherits2.default)(WMSService, _ImageSource);
31
34
  var _super = _createSuper(WMSService);
32
-
33
35
  function WMSService(props) {
34
36
  var _this;
35
37
  (0, _classCallCheck2.default)(this, WMSService);
36
38
  _this = _super.call(this, props);
37
-
38
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "props", void 0);
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "url", void 0);
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wmsParameters", void 0);
41
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "vendorParameters", void 0);
39
42
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "capabilities", null);
40
43
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loaders", [_images.ImageLoader, _wmsErrorLoader.WMSErrorLoader, _wmsCapabilitiesLoader.WMSCapabilitiesLoader, _wmsFeatureInfoLoader.WMSFeatureInfoLoader, _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader]);
41
-
42
- _this.props = _objectSpread({
43
- loadOptions: undefined,
44
+ _this.url = props.url;
45
+ _this.wmsParameters = _objectSpread({
44
46
  layers: undefined,
45
47
  styles: undefined,
46
- version: '1.1.1',
47
- srs: 'EPSG:4326',
48
+ version: '1.3.0',
49
+ crs: 'EPSG:4326',
48
50
  format: 'image/png',
49
- info_format: 'text/plain'
50
- }, props);
51
+ info_format: 'text/plain',
52
+ transparent: undefined
53
+ }, props.wmsParameters);
54
+ _this.vendorParameters = props.vendorParameters || {};
51
55
  return _this;
52
56
  }
53
-
54
57
  (0, _createClass2.default)(WMSService, [{
55
58
  key: "getMetadata",
56
59
  value: function () {
57
60
  var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
58
61
  var capabilities;
59
62
  return _regenerator.default.wrap(function _callee$(_context) {
60
- while (1) {
61
- switch (_context.prev = _context.next) {
62
- case 0:
63
- _context.next = 2;
64
- return this.getCapabilities();
65
- case 2:
66
- capabilities = _context.sent;
67
- return _context.abrupt("return", this.normalizeMetadata(capabilities));
68
- case 4:
69
- case "end":
70
- return _context.stop();
71
- }
63
+ while (1) switch (_context.prev = _context.next) {
64
+ case 0:
65
+ _context.next = 2;
66
+ return this.getCapabilities();
67
+ case 2:
68
+ capabilities = _context.sent;
69
+ return _context.abrupt("return", this.normalizeMetadata(capabilities));
70
+ case 4:
71
+ case "end":
72
+ return _context.stop();
72
73
  }
73
74
  }, _callee, this);
74
75
  }));
@@ -81,18 +82,21 @@ var WMSService = function (_ImageSource) {
81
82
  key: "getImage",
82
83
  value: function () {
83
84
  var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
85
+ var wmsParameters;
84
86
  return _regenerator.default.wrap(function _callee2$(_context2) {
85
- while (1) {
86
- switch (_context2.prev = _context2.next) {
87
- case 0:
88
- _context2.next = 2;
89
- return this.getMap(parameters);
90
- case 2:
91
- return _context2.abrupt("return", _context2.sent);
92
- case 3:
93
- case "end":
94
- return _context2.stop();
95
- }
87
+ while (1) switch (_context2.prev = _context2.next) {
88
+ case 0:
89
+ wmsParameters = _objectSpread(_objectSpread({}, parameters), {}, {
90
+ crs: parameters.srs
91
+ });
92
+ delete wmsParameters.srs;
93
+ _context2.next = 4;
94
+ return this.getMap(wmsParameters);
95
+ case 4:
96
+ return _context2.abrupt("return", _context2.sent);
97
+ case 5:
98
+ case "end":
99
+ return _context2.stop();
96
100
  }
97
101
  }, _callee2, this);
98
102
  }));
@@ -106,36 +110,33 @@ var WMSService = function (_ImageSource) {
106
110
  value: function normalizeMetadata(capabilities) {
107
111
  return capabilities;
108
112
  }
109
-
110
113
  }, {
111
114
  key: "getCapabilities",
112
115
  value: function () {
113
116
  var _getCapabilities = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(wmsParameters, vendorParameters) {
114
117
  var url, response, arrayBuffer, capabilities;
115
118
  return _regenerator.default.wrap(function _callee3$(_context3) {
116
- while (1) {
117
- switch (_context3.prev = _context3.next) {
118
- case 0:
119
- url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
120
- _context3.next = 3;
121
- return this.fetch(url);
122
- case 3:
123
- response = _context3.sent;
124
- _context3.next = 6;
125
- return response.arrayBuffer();
126
- case 6:
127
- arrayBuffer = _context3.sent;
128
- this._checkResponse(response, arrayBuffer);
129
- _context3.next = 10;
130
- return _wmsCapabilitiesLoader.WMSCapabilitiesLoader.parse(arrayBuffer, this.props.loadOptions);
131
- case 10:
132
- capabilities = _context3.sent;
133
- this.capabilities = capabilities;
134
- return _context3.abrupt("return", capabilities);
135
- case 13:
136
- case "end":
137
- return _context3.stop();
138
- }
119
+ while (1) switch (_context3.prev = _context3.next) {
120
+ case 0:
121
+ url = this.getCapabilitiesURL(wmsParameters, vendorParameters);
122
+ _context3.next = 3;
123
+ return this.fetch(url);
124
+ case 3:
125
+ response = _context3.sent;
126
+ _context3.next = 6;
127
+ return response.arrayBuffer();
128
+ case 6:
129
+ arrayBuffer = _context3.sent;
130
+ this._checkResponse(response, arrayBuffer);
131
+ _context3.next = 10;
132
+ return _wmsCapabilitiesLoader.WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);
133
+ case 10:
134
+ capabilities = _context3.sent;
135
+ this.capabilities = capabilities;
136
+ return _context3.abrupt("return", capabilities);
137
+ case 13:
138
+ case "end":
139
+ return _context3.stop();
139
140
  }
140
141
  }, _callee3, this);
141
142
  }));
@@ -147,35 +148,33 @@ var WMSService = function (_ImageSource) {
147
148
  }, {
148
149
  key: "getMap",
149
150
  value: function () {
150
- var _getMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options, vendorParameters) {
151
+ var _getMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(wmsParameters, vendorParameters) {
151
152
  var url, response, arrayBuffer;
152
153
  return _regenerator.default.wrap(function _callee4$(_context4) {
153
- while (1) {
154
- switch (_context4.prev = _context4.next) {
155
- case 0:
156
- url = this.getMapURL(options, vendorParameters);
157
- _context4.next = 3;
158
- return this.fetch(url);
159
- case 3:
160
- response = _context4.sent;
161
- _context4.next = 6;
162
- return response.arrayBuffer();
163
- case 6:
164
- arrayBuffer = _context4.sent;
165
- this._checkResponse(response, arrayBuffer);
166
- _context4.prev = 8;
167
- _context4.next = 11;
168
- return _images.ImageLoader.parse(arrayBuffer, this.props.loadOptions);
169
- case 11:
170
- return _context4.abrupt("return", _context4.sent);
171
- case 14:
172
- _context4.prev = 14;
173
- _context4.t0 = _context4["catch"](8);
174
- throw this._parseError(arrayBuffer);
175
- case 17:
176
- case "end":
177
- return _context4.stop();
178
- }
154
+ while (1) switch (_context4.prev = _context4.next) {
155
+ case 0:
156
+ url = this.getMapURL(wmsParameters, vendorParameters);
157
+ _context4.next = 3;
158
+ return this.fetch(url);
159
+ case 3:
160
+ response = _context4.sent;
161
+ _context4.next = 6;
162
+ return response.arrayBuffer();
163
+ case 6:
164
+ arrayBuffer = _context4.sent;
165
+ this._checkResponse(response, arrayBuffer);
166
+ _context4.prev = 8;
167
+ _context4.next = 11;
168
+ return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
169
+ case 11:
170
+ return _context4.abrupt("return", _context4.sent);
171
+ case 14:
172
+ _context4.prev = 14;
173
+ _context4.t0 = _context4["catch"](8);
174
+ throw this._parseError(arrayBuffer);
175
+ case 17:
176
+ case "end":
177
+ return _context4.stop();
179
178
  }
180
179
  }, _callee4, this, [[8, 14]]);
181
180
  }));
@@ -187,30 +186,28 @@ var WMSService = function (_ImageSource) {
187
186
  }, {
188
187
  key: "getFeatureInfo",
189
188
  value: function () {
190
- var _getFeatureInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(options, vendorParameters) {
189
+ var _getFeatureInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(wmsParameters, vendorParameters) {
191
190
  var url, response, arrayBuffer;
192
191
  return _regenerator.default.wrap(function _callee5$(_context5) {
193
- while (1) {
194
- switch (_context5.prev = _context5.next) {
195
- case 0:
196
- url = this.getFeatureInfoURL(options, vendorParameters);
197
- _context5.next = 3;
198
- return this.fetch(url);
199
- case 3:
200
- response = _context5.sent;
201
- _context5.next = 6;
202
- return response.arrayBuffer();
203
- case 6:
204
- arrayBuffer = _context5.sent;
205
- this._checkResponse(response, arrayBuffer);
206
- _context5.next = 10;
207
- return _wmsFeatureInfoLoader.WMSFeatureInfoLoader.parse(arrayBuffer, this.props.loadOptions);
208
- case 10:
209
- return _context5.abrupt("return", _context5.sent);
210
- case 11:
211
- case "end":
212
- return _context5.stop();
213
- }
192
+ while (1) switch (_context5.prev = _context5.next) {
193
+ case 0:
194
+ url = this.getFeatureInfoURL(wmsParameters, vendorParameters);
195
+ _context5.next = 3;
196
+ return this.fetch(url);
197
+ case 3:
198
+ response = _context5.sent;
199
+ _context5.next = 6;
200
+ return response.arrayBuffer();
201
+ case 6:
202
+ arrayBuffer = _context5.sent;
203
+ this._checkResponse(response, arrayBuffer);
204
+ _context5.next = 10;
205
+ return _wmsFeatureInfoLoader.WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);
206
+ case 10:
207
+ return _context5.abrupt("return", _context5.sent);
208
+ case 11:
209
+ case "end":
210
+ return _context5.stop();
214
211
  }
215
212
  }, _callee5, this);
216
213
  }));
@@ -222,27 +219,25 @@ var WMSService = function (_ImageSource) {
222
219
  }, {
223
220
  key: "getFeatureInfoText",
224
221
  value: function () {
225
- var _getFeatureInfoText = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(options, vendorParameters) {
222
+ var _getFeatureInfoText = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(wmsParameters, vendorParameters) {
226
223
  var url, response, arrayBuffer;
227
224
  return _regenerator.default.wrap(function _callee6$(_context6) {
228
- while (1) {
229
- switch (_context6.prev = _context6.next) {
230
- case 0:
231
- url = this.getFeatureInfoURL(options, vendorParameters);
232
- _context6.next = 3;
233
- return this.fetch(url);
234
- case 3:
235
- response = _context6.sent;
236
- _context6.next = 6;
237
- return response.arrayBuffer();
238
- case 6:
239
- arrayBuffer = _context6.sent;
240
- this._checkResponse(response, arrayBuffer);
241
- return _context6.abrupt("return", new TextDecoder().decode(arrayBuffer));
242
- case 9:
243
- case "end":
244
- return _context6.stop();
245
- }
225
+ while (1) switch (_context6.prev = _context6.next) {
226
+ case 0:
227
+ url = this.getFeatureInfoURL(wmsParameters, vendorParameters);
228
+ _context6.next = 3;
229
+ return this.fetch(url);
230
+ case 3:
231
+ response = _context6.sent;
232
+ _context6.next = 6;
233
+ return response.arrayBuffer();
234
+ case 6:
235
+ arrayBuffer = _context6.sent;
236
+ this._checkResponse(response, arrayBuffer);
237
+ return _context6.abrupt("return", new TextDecoder().decode(arrayBuffer));
238
+ case 9:
239
+ case "end":
240
+ return _context6.stop();
246
241
  }
247
242
  }, _callee6, this);
248
243
  }));
@@ -254,30 +249,28 @@ var WMSService = function (_ImageSource) {
254
249
  }, {
255
250
  key: "describeLayer",
256
251
  value: function () {
257
- var _describeLayer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(options, vendorParameters) {
252
+ var _describeLayer = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(wmsParameters, vendorParameters) {
258
253
  var url, response, arrayBuffer;
259
254
  return _regenerator.default.wrap(function _callee7$(_context7) {
260
- while (1) {
261
- switch (_context7.prev = _context7.next) {
262
- case 0:
263
- url = this.describeLayerURL(options, vendorParameters);
264
- _context7.next = 3;
265
- return this.fetch(url);
266
- case 3:
267
- response = _context7.sent;
268
- _context7.next = 6;
269
- return response.arrayBuffer();
270
- case 6:
271
- arrayBuffer = _context7.sent;
272
- this._checkResponse(response, arrayBuffer);
273
- _context7.next = 10;
274
- return _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader.parse(arrayBuffer, this.props.loadOptions);
275
- case 10:
276
- return _context7.abrupt("return", _context7.sent);
277
- case 11:
278
- case "end":
279
- return _context7.stop();
280
- }
255
+ while (1) switch (_context7.prev = _context7.next) {
256
+ case 0:
257
+ url = this.describeLayerURL(wmsParameters, vendorParameters);
258
+ _context7.next = 3;
259
+ return this.fetch(url);
260
+ case 3:
261
+ response = _context7.sent;
262
+ _context7.next = 6;
263
+ return response.arrayBuffer();
264
+ case 6:
265
+ arrayBuffer = _context7.sent;
266
+ this._checkResponse(response, arrayBuffer);
267
+ _context7.next = 10;
268
+ return _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);
269
+ case 10:
270
+ return _context7.abrupt("return", _context7.sent);
271
+ case 11:
272
+ case "end":
273
+ return _context7.stop();
281
274
  }
282
275
  }, _callee7, this);
283
276
  }));
@@ -289,35 +282,33 @@ var WMSService = function (_ImageSource) {
289
282
  }, {
290
283
  key: "getLegendGraphic",
291
284
  value: function () {
292
- var _getLegendGraphic = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(options, vendorParameters) {
285
+ var _getLegendGraphic = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(wmsParameters, vendorParameters) {
293
286
  var url, response, arrayBuffer;
294
287
  return _regenerator.default.wrap(function _callee8$(_context8) {
295
- while (1) {
296
- switch (_context8.prev = _context8.next) {
297
- case 0:
298
- url = this.getLegendGraphicURL(options, vendorParameters);
299
- _context8.next = 3;
300
- return this.fetch(url);
301
- case 3:
302
- response = _context8.sent;
303
- _context8.next = 6;
304
- return response.arrayBuffer();
305
- case 6:
306
- arrayBuffer = _context8.sent;
307
- this._checkResponse(response, arrayBuffer);
308
- _context8.prev = 8;
309
- _context8.next = 11;
310
- return _images.ImageLoader.parse(arrayBuffer, this.props.loadOptions);
311
- case 11:
312
- return _context8.abrupt("return", _context8.sent);
313
- case 14:
314
- _context8.prev = 14;
315
- _context8.t0 = _context8["catch"](8);
316
- throw this._parseError(arrayBuffer);
317
- case 17:
318
- case "end":
319
- return _context8.stop();
320
- }
288
+ while (1) switch (_context8.prev = _context8.next) {
289
+ case 0:
290
+ url = this.getLegendGraphicURL(wmsParameters, vendorParameters);
291
+ _context8.next = 3;
292
+ return this.fetch(url);
293
+ case 3:
294
+ response = _context8.sent;
295
+ _context8.next = 6;
296
+ return response.arrayBuffer();
297
+ case 6:
298
+ arrayBuffer = _context8.sent;
299
+ this._checkResponse(response, arrayBuffer);
300
+ _context8.prev = 8;
301
+ _context8.next = 11;
302
+ return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
303
+ case 11:
304
+ return _context8.abrupt("return", _context8.sent);
305
+ case 14:
306
+ _context8.prev = 14;
307
+ _context8.t0 = _context8["catch"](8);
308
+ throw this._parseError(arrayBuffer);
309
+ case 17:
310
+ case "end":
311
+ return _context8.stop();
321
312
  }
322
313
  }, _callee8, this, [[8, 14]]);
323
314
  }));
@@ -328,99 +319,148 @@ var WMSService = function (_ImageSource) {
328
319
  }()
329
320
  }, {
330
321
  key: "getCapabilitiesURL",
331
- value:
332
-
333
- function getCapabilitiesURL(wmsParameters, vendorParameters) {
334
- var options = _objectSpread(_objectSpread({
335
- service: 'WMS',
336
- version: this.props.version,
337
- request: 'GetCapabilities'
338
- }, wmsParameters), vendorParameters);
339
- return this._getWMSUrl(options, vendorParameters);
322
+ value: function getCapabilitiesURL(wmsParameters, vendorParameters) {
323
+ var options = _objectSpread({
324
+ version: this.wmsParameters.version
325
+ }, wmsParameters);
326
+ return this._getWMSUrl('GetCapabilities', options, vendorParameters);
340
327
  }
341
-
342
328
  }, {
343
329
  key: "getMapURL",
344
- value:
345
- function getMapURL(wmsParameters, vendorParameters) {
346
- var options = _objectSpread(_objectSpread({
347
- service: 'WMS',
348
- version: this.props.version,
349
- request: 'GetMap',
350
- styles: this.props.styles,
351
- srs: this.props.srs,
352
- format: this.props.format
353
- }, wmsParameters), vendorParameters);
354
- return this._getWMSUrl(options, vendorParameters);
330
+ value: function getMapURL(wmsParameters, vendorParameters) {
331
+ var options = _objectSpread({
332
+ version: this.wmsParameters.version,
333
+ styles: this.wmsParameters.styles,
334
+ crs: this.wmsParameters.crs,
335
+ format: this.wmsParameters.format,
336
+ transparent: this.wmsParameters.transparent
337
+ }, wmsParameters);
338
+ return this._getWMSUrl('GetMap', options, vendorParameters);
355
339
  }
356
-
357
340
  }, {
358
341
  key: "getFeatureInfoURL",
359
- value:
360
- function getFeatureInfoURL(wmsParameters, vendorParameters) {
361
- var options = _objectSpread(_objectSpread({
362
- service: 'WMS',
363
- version: this.props.version,
364
- request: 'GetFeatureInfo',
365
- srs: this.props.srs,
366
- format: this.props.format,
367
- info_format: this.props.info_format,
368
- styles: this.props.styles
369
- }, wmsParameters), vendorParameters);
370
- return this._getWMSUrl(options, vendorParameters);
342
+ value: function getFeatureInfoURL(wmsParameters, vendorParameters) {
343
+ var options = _objectSpread({
344
+ version: this.wmsParameters.version,
345
+ srs: this.wmsParameters.crs,
346
+ format: this.wmsParameters.format,
347
+ info_format: this.wmsParameters.info_format,
348
+ styles: this.wmsParameters.styles
349
+ }, wmsParameters);
350
+ return this._getWMSUrl('GetFeatureInfo', options, vendorParameters);
371
351
  }
372
-
373
352
  }, {
374
353
  key: "describeLayerURL",
375
- value:
376
- function describeLayerURL(wmsParameters, vendorParameters) {
377
- var options = _objectSpread(_objectSpread({
378
- service: 'WMS',
379
- version: this.props.version,
380
- request: 'DescribeLayer'
381
- }, wmsParameters), vendorParameters);
382
- return this._getWMSUrl(options, vendorParameters);
354
+ value: function describeLayerURL(wmsParameters, vendorParameters) {
355
+ var options = _objectSpread({
356
+ version: this.wmsParameters.version
357
+ }, wmsParameters);
358
+ return this._getWMSUrl('DescribeLayer', options, vendorParameters);
383
359
  }
384
360
  }, {
385
361
  key: "getLegendGraphicURL",
386
362
  value: function getLegendGraphicURL(wmsParameters, vendorParameters) {
387
- var options = _objectSpread(_objectSpread({
388
- service: 'WMS',
389
- version: this.props.version,
390
- request: 'GetLegendGraphic'
391
- }, wmsParameters), vendorParameters);
392
- return this._getWMSUrl(options, vendorParameters);
363
+ var options = _objectSpread({
364
+ version: this.wmsParameters.version
365
+ }, wmsParameters);
366
+ return this._getWMSUrl('GetLegendGraphic', options, vendorParameters);
367
+ }
368
+ }, {
369
+ key: "_parseWMSUrl",
370
+ value: function _parseWMSUrl(url) {
371
+ var _url$split = url.split('?'),
372
+ _url$split2 = (0, _slicedToArray2.default)(_url$split, 2),
373
+ baseUrl = _url$split2[0],
374
+ search = _url$split2[1];
375
+ var searchParams = search.split('&');
376
+ var parameters = {};
377
+ var _iterator = _createForOfIteratorHelper(searchParams),
378
+ _step;
379
+ try {
380
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
381
+ var parameter = _step.value;
382
+ var _parameter$split = parameter.split('='),
383
+ _parameter$split2 = (0, _slicedToArray2.default)(_parameter$split, 2),
384
+ _key = _parameter$split2[0],
385
+ value = _parameter$split2[1];
386
+ parameters[_key] = value;
387
+ }
388
+ } catch (err) {
389
+ _iterator.e(err);
390
+ } finally {
391
+ _iterator.f();
392
+ }
393
+ return {
394
+ url: baseUrl,
395
+ parameters: parameters
396
+ };
393
397
  }
394
-
395
398
  }, {
396
399
  key: "_getWMSUrl",
397
- value:
398
-
399
- function _getWMSUrl(options, vendorParameters) {
400
- var url = this.props.url;
400
+ value: function _getWMSUrl(request, wmsParameters, vendorParameters) {
401
+ var url = this.url;
401
402
  var first = true;
402
- for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
403
+ var allParameters = _objectSpread(_objectSpread(_objectSpread({
404
+ service: 'WMS',
405
+ version: wmsParameters.version,
406
+ request: request
407
+ }, wmsParameters), this.vendorParameters), vendorParameters);
408
+ for (var _i = 0, _Object$entries = Object.entries(allParameters); _i < _Object$entries.length; _i++) {
403
409
  var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
404
- key = _Object$entries$_i[0],
410
+ _key2 = _Object$entries$_i[0],
405
411
  value = _Object$entries$_i[1];
406
- url += first ? '?' : '&';
407
- first = false;
408
- if (Array.isArray(value)) {
409
- url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
410
- } else {
411
- url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
412
+ if (_key2 !== 'transparent' || value) {
413
+ url += first ? '?' : '&';
414
+ first = false;
415
+ url += this._getParameterValue(wmsParameters.version, _key2, value);
412
416
  }
413
417
  }
414
418
  return encodeURI(url);
415
419
  }
416
-
420
+ }, {
421
+ key: "_getParameterValue",
422
+ value: function _getParameterValue(version, key, value) {
423
+ if (key === 'crs' && version !== '1.3.0') {
424
+ key = 'srs';
425
+ }
426
+ key = key.toUpperCase();
427
+ return Array.isArray(value) ? "".concat(key, "=").concat(value.join(',')) : "".concat(key, "=").concat(value ? String(value) : '');
428
+ }
429
+ }, {
430
+ key: "_fetchArrayBuffer",
431
+ value: function () {
432
+ var _fetchArrayBuffer2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(url) {
433
+ var response, arrayBuffer;
434
+ return _regenerator.default.wrap(function _callee9$(_context9) {
435
+ while (1) switch (_context9.prev = _context9.next) {
436
+ case 0:
437
+ _context9.next = 2;
438
+ return this.fetch(url);
439
+ case 2:
440
+ response = _context9.sent;
441
+ _context9.next = 5;
442
+ return response.arrayBuffer();
443
+ case 5:
444
+ arrayBuffer = _context9.sent;
445
+ this._checkResponse(response, arrayBuffer);
446
+ return _context9.abrupt("return", arrayBuffer);
447
+ case 8:
448
+ case "end":
449
+ return _context9.stop();
450
+ }
451
+ }, _callee9, this);
452
+ }));
453
+ function _fetchArrayBuffer(_x14) {
454
+ return _fetchArrayBuffer2.apply(this, arguments);
455
+ }
456
+ return _fetchArrayBuffer;
457
+ }()
417
458
  }, {
418
459
  key: "_checkResponse",
419
- value:
420
- function _checkResponse(response, arrayBuffer) {
460
+ value: function _checkResponse(response, arrayBuffer) {
421
461
  var contentType = response.headers['content-type'];
422
462
  if (!response.ok || _wmsErrorLoader.WMSErrorLoader.mimeTypes.includes(contentType)) {
423
- var loadOptions = (0, _loaderUtils.mergeLoaderOptions)(this.props.loadOptions, {
463
+ var loadOptions = (0, _loaderUtils.mergeLoaderOptions)(this.loadOptions, {
424
464
  wms: {
425
465
  throwOnError: true
426
466
  }
@@ -429,12 +469,10 @@ var WMSService = function (_ImageSource) {
429
469
  throw new Error(error);
430
470
  }
431
471
  }
432
-
433
472
  }, {
434
473
  key: "_parseError",
435
- value:
436
- function _parseError(arrayBuffer) {
437
- var error = _wmsErrorLoader.WMSErrorLoader.parseSync(arrayBuffer, this.props.loadOptions);
474
+ value: function _parseError(arrayBuffer) {
475
+ var error = _wmsErrorLoader.WMSErrorLoader.parseSync(arrayBuffer, this.loadOptions);
438
476
  return new Error(error);
439
477
  }
440
478
  }]);