@loaders.gl/wms 3.4.13 → 3.4.15

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 (94) hide show
  1. package/dist/dist.min.js +0 -7
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/csw-capabilities-loader.js +5 -26
  5. package/dist/es5/csw-capabilities-loader.js.map +1 -1
  6. package/dist/es5/csw-domain-loader.js +5 -26
  7. package/dist/es5/csw-domain-loader.js.map +1 -1
  8. package/dist/es5/csw-records-loader.js +4 -25
  9. package/dist/es5/csw-records-loader.js.map +1 -1
  10. package/dist/es5/gml-loader.js +5 -26
  11. package/dist/es5/gml-loader.js.map +1 -1
  12. package/dist/es5/index.js +16 -16
  13. package/dist/es5/lerc-loader.js +10 -47
  14. package/dist/es5/lerc-loader.js.map +1 -1
  15. package/dist/es5/lib/create-image-source.js +8 -19
  16. package/dist/es5/lib/create-image-source.js.map +1 -1
  17. package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js +7 -9
  18. package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +1 -1
  19. package/dist/es5/lib/parsers/csw/parse-csw-domain.js +11 -25
  20. package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +1 -1
  21. package/dist/es5/lib/parsers/csw/parse-csw-records.js +21 -47
  22. package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +1 -1
  23. package/dist/es5/lib/parsers/csw/parse-exception-report.js +2 -2
  24. package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +1 -1
  25. package/dist/es5/lib/parsers/gml/deep-strict-equal.js +9 -11
  26. package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +1 -1
  27. package/dist/es5/lib/parsers/gml/parse-gml.js +79 -130
  28. package/dist/es5/lib/parsers/gml/parse-gml.js.map +1 -1
  29. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +69 -126
  30. package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +1 -1
  31. package/dist/es5/lib/parsers/wms/parse-wms-error.js +3 -3
  32. package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +1 -1
  33. package/dist/es5/lib/parsers/wms/parse-wms-features.js +5 -7
  34. package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +1 -1
  35. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +1 -1
  36. package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +1 -1
  37. package/dist/es5/lib/parsers/xml/parse-xml-helpers.js +6 -10
  38. package/dist/es5/lib/parsers/xml/parse-xml-helpers.js.map +1 -1
  39. package/dist/es5/lib/services/arcgis/arcgis-image-service.js +48 -146
  40. package/dist/es5/lib/services/arcgis/arcgis-image-service.js.map +1 -1
  41. package/dist/es5/lib/services/arcgis/arcgis-server.js +26 -98
  42. package/dist/es5/lib/services/arcgis/arcgis-server.js.map +1 -1
  43. package/dist/es5/lib/services/generic/image-service.js +32 -103
  44. package/dist/es5/lib/services/generic/image-service.js.map +1 -1
  45. package/dist/es5/lib/services/ogc/csw-service.js +134 -334
  46. package/dist/es5/lib/services/ogc/csw-service.js.map +1 -1
  47. package/dist/es5/lib/services/ogc/wms-service.js +218 -494
  48. package/dist/es5/lib/services/ogc/wms-service.js.map +1 -1
  49. package/dist/es5/lib/sources/data-source.js +28 -43
  50. package/dist/es5/lib/sources/data-source.js.map +1 -1
  51. package/dist/es5/lib/sources/image-source.js +1 -17
  52. package/dist/es5/lib/sources/image-source.js.map +1 -1
  53. package/dist/es5/lib/sources/tile-source.js +1 -17
  54. package/dist/es5/lib/sources/tile-source.js.map +1 -1
  55. package/dist/es5/lib/sources/utils/utils.js +11 -19
  56. package/dist/es5/lib/sources/utils/utils.js.map +1 -1
  57. package/dist/es5/wip/arcgis-feature-service.js +16 -23
  58. package/dist/es5/wip/arcgis-feature-service.js.map +1 -1
  59. package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js +7 -9
  60. package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -1
  61. package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js +7 -9
  62. package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -1
  63. package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js +7 -9
  64. package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -1
  65. package/dist/es5/wip/wcs-capabilities-loader.js +5 -26
  66. package/dist/es5/wip/wcs-capabilities-loader.js.map +1 -1
  67. package/dist/es5/wip/wfs-capabilities-loader.js +5 -26
  68. package/dist/es5/wip/wfs-capabilities-loader.js.map +1 -1
  69. package/dist/es5/wip/wms-feature-info-loader.js +6 -29
  70. package/dist/es5/wip/wms-feature-info-loader.js.map +1 -1
  71. package/dist/es5/wip/wms-layer-description-loader.js +6 -29
  72. package/dist/es5/wip/wms-layer-description-loader.js.map +1 -1
  73. package/dist/es5/wip/wmts-capabilities-loader.js +5 -26
  74. package/dist/es5/wip/wmts-capabilities-loader.js.map +1 -1
  75. package/dist/es5/wms-capabilities-loader.js +5 -26
  76. package/dist/es5/wms-capabilities-loader.js.map +1 -1
  77. package/dist/es5/wms-error-loader.js +13 -36
  78. package/dist/es5/wms-error-loader.js.map +1 -1
  79. package/dist/esm/csw-capabilities-loader.js +1 -1
  80. package/dist/esm/csw-domain-loader.js +1 -1
  81. package/dist/esm/csw-records-loader.js +1 -1
  82. package/dist/esm/gml-loader.js +1 -1
  83. package/dist/esm/lerc-loader.js +1 -1
  84. package/dist/esm/lib/services/ogc/wms-service.js +0 -1
  85. package/dist/esm/lib/services/ogc/wms-service.js.map +1 -1
  86. package/dist/esm/wip/wcs-capabilities-loader.js +1 -1
  87. package/dist/esm/wip/wfs-capabilities-loader.js +1 -1
  88. package/dist/esm/wip/wmts-capabilities-loader.js +1 -1
  89. package/dist/esm/wms-capabilities-loader.js +1 -1
  90. package/dist/esm/wms-error-loader.js +1 -1
  91. package/dist/lib/services/ogc/wms-service.d.ts +0 -75
  92. package/dist/lib/services/ogc/wms-service.d.ts.map +1 -1
  93. package/package.json +6 -6
  94. package/src/lib/services/ogc/wms-service.ts +0 -9
@@ -5,158 +5,60 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ArcGISImageServer = 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
9
  var _imageSource = require("../../sources/image-source");
18
- 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; }
19
- 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; }
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 ArcGISImageServer = function (_ImageSource) {
23
- (0, _inherits2.default)(ArcGISImageServer, _ImageSource);
24
- var _super = _createSuper(ArcGISImageServer);
25
- function ArcGISImageServer(props) {
26
- (0, _classCallCheck2.default)(this, ArcGISImageServer);
27
- return _super.call(this, props);
10
+ class ArcGISImageServer extends _imageSource.ImageSource {
11
+ constructor(props) {
12
+ super(props);
28
13
  }
29
- (0, _createClass2.default)(ArcGISImageServer, [{
30
- key: "getMetadata",
31
- value: function () {
32
- var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
33
- return _regenerator.default.wrap(function _callee$(_context) {
34
- while (1) switch (_context.prev = _context.next) {
35
- case 0:
36
- _context.next = 2;
37
- return this.metadata();
38
- case 2:
39
- return _context.abrupt("return", _context.sent);
40
- case 3:
41
- case "end":
42
- return _context.stop();
43
- }
44
- }, _callee, this);
45
- }));
46
- function getMetadata() {
47
- return _getMetadata.apply(this, arguments);
48
- }
49
- return getMetadata;
50
- }()
51
- }, {
52
- key: "getImage",
53
- value: function () {
54
- var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
55
- return _regenerator.default.wrap(function _callee2$(_context2) {
56
- while (1) switch (_context2.prev = _context2.next) {
57
- case 0:
58
- throw new Error('not implemented');
59
- case 1:
60
- case "end":
61
- return _context2.stop();
62
- }
63
- }, _callee2);
64
- }));
65
- function getImage(_x) {
66
- return _getImage.apply(this, arguments);
67
- }
68
- return getImage;
69
- }()
70
- }, {
71
- key: "metadata",
72
- value: function () {
73
- var _metadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
74
- return _regenerator.default.wrap(function _callee3$(_context3) {
75
- while (1) switch (_context3.prev = _context3.next) {
76
- case 0:
77
- throw new Error('not implemented');
78
- case 1:
79
- case "end":
80
- return _context3.stop();
81
- }
82
- }, _callee3);
83
- }));
84
- function metadata() {
85
- return _metadata.apply(this, arguments);
14
+ async getMetadata() {
15
+ return await this.metadata();
16
+ }
17
+ async getImage(parameters) {
18
+ throw new Error('not implemented');
19
+ }
20
+ async metadata() {
21
+ throw new Error('not implemented');
22
+ }
23
+ exportImage(options) {
24
+ throw new Error('not implemented');
25
+ }
26
+ metadataURL(options) {
27
+ return "".concat(this.props.url, "?f=pjson");
28
+ }
29
+ exportImageURL(options) {
30
+ const bbox = "bbox=".concat(options.bbox[0], ",").concat(options.bbox[1], ",").concat(options.bbox[2], ",").concat(options.bbox[3]);
31
+ const size = "size=".concat(options.width, ",").concat(options.height);
32
+ const arcgisOptions = {
33
+ ...options,
34
+ bbox,
35
+ size
36
+ };
37
+ delete arcgisOptions.width;
38
+ delete arcgisOptions.height;
39
+ return this.getUrl('exportImage', arcgisOptions);
40
+ }
41
+ getUrl(path, options, extra) {
42
+ let url = "".concat(this.props.url, "/").concat(path);
43
+ let first = true;
44
+ for (const [key, value] of Object.entries(options)) {
45
+ url += first ? '?' : '&';
46
+ first = false;
47
+ if (Array.isArray(value)) {
48
+ url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
49
+ } else {
50
+ url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
86
51
  }
87
- return metadata;
88
- }()
89
- }, {
90
- key: "exportImage",
91
- value: function exportImage(options) {
92
- throw new Error('not implemented');
93
52
  }
94
- }, {
95
- key: "metadataURL",
96
- value: function metadataURL(options) {
97
- return "".concat(this.props.url, "?f=pjson");
98
- }
99
- }, {
100
- key: "exportImageURL",
101
- value: function exportImageURL(options) {
102
- var bbox = "bbox=".concat(options.bbox[0], ",").concat(options.bbox[1], ",").concat(options.bbox[2], ",").concat(options.bbox[3]);
103
- var size = "size=".concat(options.width, ",").concat(options.height);
104
- var arcgisOptions = _objectSpread(_objectSpread({}, options), {}, {
105
- bbox: bbox,
106
- size: size
107
- });
108
- delete arcgisOptions.width;
109
- delete arcgisOptions.height;
110
- return this.getUrl('exportImage', arcgisOptions);
111
- }
112
- }, {
113
- key: "getUrl",
114
- value: function getUrl(path, options, extra) {
115
- var url = "".concat(this.props.url, "/").concat(path);
116
- var first = true;
117
- for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
118
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
119
- key = _Object$entries$_i[0],
120
- value = _Object$entries$_i[1];
121
- url += first ? '?' : '&';
122
- first = false;
123
- if (Array.isArray(value)) {
124
- url += "".concat(key.toUpperCase(), "=").concat(value.join(','));
125
- } else {
126
- url += "".concat(key.toUpperCase(), "=").concat(value ? String(value) : '');
127
- }
128
- }
129
- return url;
53
+ return url;
54
+ }
55
+ async checkResponse(response) {
56
+ if (!response.ok) {
57
+ throw new Error('error');
130
58
  }
131
- }, {
132
- key: "checkResponse",
133
- value: function () {
134
- var _checkResponse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(response) {
135
- return _regenerator.default.wrap(function _callee4$(_context4) {
136
- while (1) switch (_context4.prev = _context4.next) {
137
- case 0:
138
- if (response.ok) {
139
- _context4.next = 2;
140
- break;
141
- }
142
- throw new Error('error');
143
- case 2:
144
- case "end":
145
- return _context4.stop();
146
- }
147
- }, _callee4);
148
- }));
149
- function checkResponse(_x2) {
150
- return _checkResponse.apply(this, arguments);
151
- }
152
- return checkResponse;
153
- }()
154
- }]);
155
- return ArcGISImageServer;
156
- }(_imageSource.ImageSource);
59
+ }
60
+ }
157
61
  exports.ArcGISImageServer = ArcGISImageServer;
158
62
  (0, _defineProperty2.default)(ArcGISImageServer, "type", 'arcgis-image-server');
159
- (0, _defineProperty2.default)(ArcGISImageServer, "testURL", function (url) {
160
- return url.toLowerCase().includes('ImageServer');
161
- });
63
+ (0, _defineProperty2.default)(ArcGISImageServer, "testURL", url => url.toLowerCase().includes('ImageServer'));
162
64
  //# sourceMappingURL=arcgis-image-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arcgis-image-service.js","names":["_imageSource","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ArcGISImageServer","_ImageSource","_inherits2","_super","props","_classCallCheck2","_createClass2","value","_getMetadata","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","metadata","abrupt","sent","stop","getMetadata","_getImage","_callee2","parameters","_callee2$","_context2","Error","getImage","_x","_metadata","_callee3","_callee3$","_context3","exportImage","options","metadataURL","concat","url","exportImageURL","bbox","size","width","height","arcgisOptions","getUrl","path","extra","first","_i","_Object$entries","entries","_Object$entries$_i","_slicedToArray2","Array","isArray","toUpperCase","join","String","_checkResponse","_callee4","response","_callee4$","_context4","ok","checkResponse","_x2","ImageSource","exports","toLowerCase","includes"],"sources":["../../../../../src/lib/services/arcgis/arcgis-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageType} from '@loaders.gl/images';\nimport type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';\nimport type {ImageSourceProps} from '../../sources/image-source';\nimport {ImageSource} from '../../sources/image-source';\n\nexport type ArcGISImageServerProps = ImageSourceProps & {\n url: string;\n};\n\n/**\n * ArcGIS ImageServer\n * Note - exports a big API, that could be exposed here if there is a use case\n * @see https://developers.arcgis.com/rest/services-reference/enterprise/image-service.htm\n */\nexport class ArcGISImageServer extends ImageSource<ArcGISImageServerProps> {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n constructor(props: ArcGISImageServerProps) {\n super(props);\n }\n\n // ImageSource (normalized endpoints)\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n return (await this.metadata()) 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 metadata(): 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 metadataURL(options: {parameters?: Record<string, unknown>}): string {\n return `${this.props.url}?f=pjson`;\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?\n // bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&\n // size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&\n // noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&\n // compressionQuality=&bandIds=&mosaicRule=&renderingRule=&\n // f=image\n */\n exportImageURL(options: {\n bbox: [number, number, number, number];\n boxSR?: 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 bbox = `bbox=${options.bbox[0]},${options.bbox[1]},${options.bbox[2]},${options.bbox[3]}`;\n const size = `size=${options.width},${options.height}`;\n const arcgisOptions = {...options, bbox, size};\n // @ts-expect-error\n delete arcgisOptions.width;\n // @ts-expect-error\n delete arcgisOptions.height;\n return this.getUrl('exportImage', arcgisOptions);\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(\n path: string,\n options: Record<string, unknown>,\n extra?: Record<string, unknown>\n ): string {\n let url = `${this.props.url}/${path}`;\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":"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"}
1
+ {"version":3,"file":"arcgis-image-service.js","names":["_imageSource","require","ArcGISImageServer","ImageSource","constructor","props","getMetadata","metadata","getImage","parameters","Error","exportImage","options","metadataURL","concat","url","exportImageURL","bbox","size","width","height","arcgisOptions","getUrl","path","extra","first","key","value","Object","entries","Array","isArray","toUpperCase","join","String","checkResponse","response","ok","exports","_defineProperty2","default","toLowerCase","includes"],"sources":["../../../../../src/lib/services/arcgis/arcgis-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageType} from '@loaders.gl/images';\nimport type {ImageSourceMetadata, GetImageParameters} from '../../sources/image-source';\nimport type {ImageSourceProps} from '../../sources/image-source';\nimport {ImageSource} from '../../sources/image-source';\n\nexport type ArcGISImageServerProps = ImageSourceProps & {\n url: string;\n};\n\n/**\n * ArcGIS ImageServer\n * Note - exports a big API, that could be exposed here if there is a use case\n * @see https://developers.arcgis.com/rest/services-reference/enterprise/image-service.htm\n */\nexport class ArcGISImageServer extends ImageSource<ArcGISImageServerProps> {\n static type: 'arcgis-image-server' = 'arcgis-image-server';\n static testURL = (url: string): boolean => url.toLowerCase().includes('ImageServer');\n\n constructor(props: ArcGISImageServerProps) {\n super(props);\n }\n\n // ImageSource (normalized endpoints)\n\n async getMetadata(): Promise<ImageSourceMetadata> {\n return (await this.metadata()) 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 metadata(): 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 metadataURL(options: {parameters?: Record<string, unknown>}): string {\n return `${this.props.url}?f=pjson`;\n }\n\n /** \n * Form a URL to an ESRI ImageServer\n // https://sampleserver6.arcgisonline.com/arcgis/rest/services/NLCDLandCover2001/ImageServer/exportImage?\n // bbox=${bounds[0]},${bounds[1]},${bounds[2]},${bounds[3]}&bboxSR=4326&\n // size=${width},${height}&imageSR=102100&time=&format=jpgpng&pixelType=U8&\n // noData=&noDataInterpretation=esriNoDataMatchAny&interpolation=+RSP_NearestNeighbor&compression=&\n // compressionQuality=&bandIds=&mosaicRule=&renderingRule=&\n // f=image\n */\n exportImageURL(options: {\n bbox: [number, number, number, number];\n boxSR?: 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 bbox = `bbox=${options.bbox[0]},${options.bbox[1]},${options.bbox[2]},${options.bbox[3]}`;\n const size = `size=${options.width},${options.height}`;\n const arcgisOptions = {...options, bbox, size};\n // @ts-expect-error\n delete arcgisOptions.width;\n // @ts-expect-error\n delete arcgisOptions.height;\n return this.getUrl('exportImage', arcgisOptions);\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(\n path: string,\n options: Record<string, unknown>,\n extra?: Record<string, unknown>\n ): string {\n let url = `${this.props.url}/${path}`;\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":"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"}
@@ -1,110 +1,38 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.getArcGISServices = getArcGISServices;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- 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; } } }; }
12
- 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); }
13
- 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; }
14
- function getArcGISServices(_x) {
15
- return _getArcGISServices.apply(this, arguments);
16
- }
17
- function _getArcGISServices() {
18
- _getArcGISServices = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(url) {
19
- var fetchFile,
20
- serverUrl,
21
- _args = arguments;
22
- return _regenerator.default.wrap(function _callee$(_context) {
23
- while (1) switch (_context.prev = _context.next) {
24
- case 0:
25
- fetchFile = _args.length > 1 && _args[1] !== undefined ? _args[1] : fetch;
26
- if (!url.includes('rest/services')) {
27
- _context.next = 4;
28
- break;
29
- }
30
- serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
31
- return _context.abrupt("return", loadServiceDirectory(serverUrl, fetchFile, []));
32
- case 4:
33
- return _context.abrupt("return", null);
34
- case 5:
35
- case "end":
36
- return _context.stop();
37
- }
38
- }, _callee);
39
- }));
40
- return _getArcGISServices.apply(this, arguments);
41
- }
42
- function loadServiceDirectory(_x2, _x3, _x4) {
43
- return _loadServiceDirectory.apply(this, arguments);
7
+ async function getArcGISServices(url) {
8
+ let fetchFile = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : fetch;
9
+ if (url.includes('rest/services')) {
10
+ const serverUrl = url.replace(/rest\/services.*$/i, 'rest/services');
11
+ return loadServiceDirectory(serverUrl, fetchFile, []);
12
+ }
13
+ return null;
44
14
  }
45
- function _loadServiceDirectory() {
46
- _loadServiceDirectory = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(serverUrl, fetch, path) {
47
- var serviceUrl, response, directory, services, folders, promises, _iterator2, _step2, folderServices;
48
- return _regenerator.default.wrap(function _callee2$(_context2) {
49
- while (1) switch (_context2.prev = _context2.next) {
50
- case 0:
51
- serviceUrl = "".concat(serverUrl, "/").concat(path.join('/'));
52
- _context2.next = 3;
53
- return fetch("".concat(serviceUrl, "?f=pjson"));
54
- case 3:
55
- response = _context2.sent;
56
- _context2.next = 6;
57
- return response.json();
58
- case 6:
59
- directory = _context2.sent;
60
- services = extractServices(directory, serviceUrl);
61
- folders = directory.folders || [];
62
- promises = folders.map(function (folder) {
63
- return loadServiceDirectory("".concat(serverUrl), fetch, [].concat((0, _toConsumableArray2.default)(path), [folder]));
64
- });
65
- _context2.t0 = _createForOfIteratorHelper;
66
- _context2.next = 13;
67
- return Promise.all(promises);
68
- case 13:
69
- _context2.t1 = _context2.sent;
70
- _iterator2 = (0, _context2.t0)(_context2.t1);
71
- try {
72
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
73
- folderServices = _step2.value;
74
- services.push.apply(services, (0, _toConsumableArray2.default)(folderServices));
75
- }
76
- } catch (err) {
77
- _iterator2.e(err);
78
- } finally {
79
- _iterator2.f();
80
- }
81
- return _context2.abrupt("return", services);
82
- case 17:
83
- case "end":
84
- return _context2.stop();
85
- }
86
- }, _callee2);
87
- }));
88
- return _loadServiceDirectory.apply(this, arguments);
15
+ async function loadServiceDirectory(serverUrl, fetch, path) {
16
+ const serviceUrl = "".concat(serverUrl, "/").concat(path.join('/'));
17
+ const response = await fetch("".concat(serviceUrl, "?f=pjson"));
18
+ const directory = await response.json();
19
+ const services = extractServices(directory, serviceUrl);
20
+ const folders = directory.folders || [];
21
+ const promises = folders.map(folder => loadServiceDirectory("".concat(serverUrl), fetch, [...path, folder]));
22
+ for (const folderServices of await Promise.all(promises)) {
23
+ services.push(...folderServices);
24
+ }
25
+ return services;
89
26
  }
90
27
  function extractServices(directory, url) {
91
- var arcgisServices = directory.services || [];
92
- var services = [];
93
- var _iterator = _createForOfIteratorHelper(arcgisServices),
94
- _step;
95
- try {
96
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
97
- var service = _step.value;
98
- services.push({
99
- name: service.name,
100
- type: "arcgis-".concat(service.type.toLocaleLowerCase().replace('server', '-server')),
101
- url: "".concat(url).concat(service.name, "/").concat(service.type)
102
- });
103
- }
104
- } catch (err) {
105
- _iterator.e(err);
106
- } finally {
107
- _iterator.f();
28
+ const arcgisServices = directory.services || [];
29
+ const services = [];
30
+ for (const service of arcgisServices) {
31
+ services.push({
32
+ name: service.name,
33
+ type: "arcgis-".concat(service.type.toLocaleLowerCase().replace('server', '-server')),
34
+ url: "".concat(url).concat(service.name, "/").concat(service.type)
35
+ });
108
36
  }
109
37
  return services;
110
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arcgis-server.js","names":["getArcGISServices","_x","_getArcGISServices","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","url","fetchFile","serverUrl","_args","wrap","_callee$","_context","prev","next","length","undefined","fetch","includes","replace","abrupt","loadServiceDirectory","stop","_x2","_x3","_x4","_loadServiceDirectory","_callee2","path","serviceUrl","response","directory","services","folders","promises","_iterator2","_step2","folderServices","_callee2$","_context2","concat","join","sent","json","extractServices","map","folder","_toConsumableArray2","t0","_createForOfIteratorHelper","Promise","all","t1","s","n","done","value","push","err","e","f","arcgisServices","_iterator","_step","service","name","type","toLocaleLowerCase"],"sources":["../../../../../src/lib/services/arcgis/arcgis-server.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type Service = {name: string; type: string; url: string};\n\ntype FetchLike = typeof fetch;\n\n/**\n * (Recursively) load the service directory from an ArcGIS Server URL\n * @param url\n * @param fetchFile= Optional fetch function override\n * @returns\n */\nexport async function getArcGISServices(\n url: string,\n fetchFile: FetchLike = fetch\n): Promise<Service[] | null> {\n if (url.includes('rest/services')) {\n const serverUrl = url.replace(/rest\\/services.*$/i, 'rest/services');\n return loadServiceDirectory(serverUrl, fetchFile, []);\n }\n return null;\n}\n\nasync function loadServiceDirectory(\n serverUrl: string,\n fetch: FetchLike,\n path: string[]\n): Promise<Service[]> {\n const serviceUrl = `${serverUrl}/${path.join('/')}`;\n\n const response = await fetch(`${serviceUrl}?f=pjson`);\n const directory = await response.json();\n\n const services = extractServices(directory, serviceUrl);\n\n const folders = (directory.folders || []) as string[];\n const promises = folders.map((folder) =>\n loadServiceDirectory(`${serverUrl}`, fetch, [...path, folder])\n );\n\n for (const folderServices of await Promise.all(promises)) {\n services.push(...folderServices);\n }\n\n return services;\n}\n\nfunction extractServices(directory: unknown, url: string): Service[] {\n const arcgisServices = ((directory as any).services || []) as {name: string; type: string}[];\n const services: Service[] = [];\n for (const service of arcgisServices) {\n services.push({\n name: service.name,\n type: `arcgis-${service.type.toLocaleLowerCase().replace('server', '-server')}`,\n url: `${url}${service.name}/${service.type}`\n });\n }\n return services;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"arcgis-server.js","names":["getArcGISServices","url","fetchFile","arguments","length","undefined","fetch","includes","serverUrl","replace","loadServiceDirectory","path","serviceUrl","concat","join","response","directory","json","services","extractServices","folders","promises","map","folder","folderServices","Promise","all","push","arcgisServices","service","name","type","toLocaleLowerCase"],"sources":["../../../../../src/lib/services/arcgis/arcgis-server.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type Service = {name: string; type: string; url: string};\n\ntype FetchLike = typeof fetch;\n\n/**\n * (Recursively) load the service directory from an ArcGIS Server URL\n * @param url\n * @param fetchFile= Optional fetch function override\n * @returns\n */\nexport async function getArcGISServices(\n url: string,\n fetchFile: FetchLike = fetch\n): Promise<Service[] | null> {\n if (url.includes('rest/services')) {\n const serverUrl = url.replace(/rest\\/services.*$/i, 'rest/services');\n return loadServiceDirectory(serverUrl, fetchFile, []);\n }\n return null;\n}\n\nasync function loadServiceDirectory(\n serverUrl: string,\n fetch: FetchLike,\n path: string[]\n): Promise<Service[]> {\n const serviceUrl = `${serverUrl}/${path.join('/')}`;\n\n const response = await fetch(`${serviceUrl}?f=pjson`);\n const directory = await response.json();\n\n const services = extractServices(directory, serviceUrl);\n\n const folders = (directory.folders || []) as string[];\n const promises = folders.map((folder) =>\n loadServiceDirectory(`${serverUrl}`, fetch, [...path, folder])\n );\n\n for (const folderServices of await Promise.all(promises)) {\n services.push(...folderServices);\n }\n\n return services;\n}\n\nfunction extractServices(directory: unknown, url: string): Service[] {\n const arcgisServices = ((directory as any).services || []) as {name: string; type: string}[];\n const services: Service[] = [];\n for (const service of arcgisServices) {\n services.push({\n name: service.name,\n type: `arcgis-${service.type.toLocaleLowerCase().replace('server', '-server')}`,\n url: `${url}${service.name}/${service.type}`\n });\n }\n return services;\n}\n"],"mappings":";;;;;;AAYO,eAAeA,iBAAiBA,CACrCC,GAAW,EAEgB;EAAA,IAD3BC,SAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,KAAK;EAE5B,IAAIL,GAAG,CAACM,QAAQ,CAAC,eAAe,CAAC,EAAE;IACjC,MAAMC,SAAS,GAAGP,GAAG,CAACQ,OAAO,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACpE,OAAOC,oBAAoB,CAACF,SAAS,EAAEN,SAAS,EAAE,EAAE,CAAC;EACvD;EACA,OAAO,IAAI;AACb;AAEA,eAAeQ,oBAAoBA,CACjCF,SAAiB,EACjBF,KAAgB,EAChBK,IAAc,EACM;EACpB,MAAMC,UAAU,MAAAC,MAAA,CAAML,SAAS,OAAAK,MAAA,CAAIF,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,CAAE;EAEnD,MAAMC,QAAQ,GAAG,MAAMT,KAAK,IAAAO,MAAA,CAAID,UAAU,aAAU,CAAC;EACrD,MAAMI,SAAS,GAAG,MAAMD,QAAQ,CAACE,IAAI,CAAC,CAAC;EAEvC,MAAMC,QAAQ,GAAGC,eAAe,CAACH,SAAS,EAAEJ,UAAU,CAAC;EAEvD,MAAMQ,OAAO,GAAIJ,SAAS,CAACI,OAAO,IAAI,EAAe;EACrD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,GAAG,CAAEC,MAAM,IAClCb,oBAAoB,IAAAG,MAAA,CAAIL,SAAS,GAAIF,KAAK,EAAE,CAAC,GAAGK,IAAI,EAAEY,MAAM,CAAC,CAC/D,CAAC;EAED,KAAK,MAAMC,cAAc,IAAI,MAAMC,OAAO,CAACC,GAAG,CAACL,QAAQ,CAAC,EAAE;IACxDH,QAAQ,CAACS,IAAI,CAAC,GAAGH,cAAc,CAAC;EAClC;EAEA,OAAON,QAAQ;AACjB;AAEA,SAASC,eAAeA,CAACH,SAAkB,EAAEf,GAAW,EAAa;EACnE,MAAM2B,cAAc,GAAKZ,SAAS,CAASE,QAAQ,IAAI,EAAqC;EAC5F,MAAMA,QAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMW,OAAO,IAAID,cAAc,EAAE;IACpCV,QAAQ,CAACS,IAAI,CAAC;MACZG,IAAI,EAAED,OAAO,CAACC,IAAI;MAClBC,IAAI,YAAAlB,MAAA,CAAYgB,OAAO,CAACE,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAACvB,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAE;MAC/ER,GAAG,KAAAY,MAAA,CAAKZ,GAAG,EAAAY,MAAA,CAAGgB,OAAO,CAACC,IAAI,OAAAjB,MAAA,CAAIgB,OAAO,CAACE,IAAI;IAC5C,CAAC,CAAC;EACJ;EACA,OAAOb,QAAQ;AACjB"}
@@ -5,114 +5,43 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ImageService = 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
9
  var _images = require("@loaders.gl/images");
18
10
  var _imageSource = require("../../sources/image-source");
19
- 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; }
20
- 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; }
21
- 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); }; }
22
- 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; } }
23
- var ImageService = function (_ImageSource) {
24
- (0, _inherits2.default)(ImageService, _ImageSource);
25
- var _super = _createSuper(ImageService);
26
- function ImageService(props) {
27
- (0, _classCallCheck2.default)(this, ImageService);
28
- return _super.call(this, props);
11
+ class ImageService extends _imageSource.ImageSource {
12
+ constructor(props) {
13
+ super(props);
29
14
  }
30
- (0, _createClass2.default)(ImageService, [{
31
- key: "getMetadata",
32
- value: function () {
33
- var _getMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
34
- return _regenerator.default.wrap(function _callee$(_context) {
35
- while (1) switch (_context.prev = _context.next) {
36
- case 0:
37
- throw new Error('ImageSource.getMetadata not implemented');
38
- case 1:
39
- case "end":
40
- return _context.stop();
41
- }
42
- }, _callee);
43
- }));
44
- function getMetadata() {
45
- return _getMetadata.apply(this, arguments);
46
- }
47
- return getMetadata;
48
- }()
49
- }, {
50
- key: "getImage",
51
- value: function () {
52
- var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(parameters) {
53
- var granularParameters, url, response, arrayBuffer;
54
- return _regenerator.default.wrap(function _callee2$(_context2) {
55
- while (1) switch (_context2.prev = _context2.next) {
56
- case 0:
57
- granularParameters = this.getGranularParameters(parameters);
58
- url = this.getURLFromTemplate(granularParameters);
59
- _context2.next = 4;
60
- return this.fetch(url);
61
- case 4:
62
- response = _context2.sent;
63
- _context2.next = 7;
64
- return response.arrayBuffer();
65
- case 7:
66
- arrayBuffer = _context2.sent;
67
- _context2.next = 10;
68
- return _images.ImageLoader.parse(arrayBuffer);
69
- case 10:
70
- return _context2.abrupt("return", _context2.sent);
71
- case 11:
72
- case "end":
73
- return _context2.stop();
74
- }
75
- }, _callee2, this);
76
- }));
77
- function getImage(_x) {
78
- return _getImage.apply(this, arguments);
79
- }
80
- return getImage;
81
- }()
82
- }, {
83
- key: "getGranularParameters",
84
- value: function getGranularParameters(parameters) {
85
- var _parameters$bbox = (0, _slicedToArray2.default)(parameters.bbox, 4),
86
- east = _parameters$bbox[0],
87
- north = _parameters$bbox[1],
88
- west = _parameters$bbox[2],
89
- south = _parameters$bbox[3];
90
- return _objectSpread(_objectSpread({}, parameters), {}, {
91
- east: east,
92
- north: north,
93
- south: south,
94
- west: west
95
- });
96
- }
97
- }, {
98
- key: "getURLFromTemplate",
99
- value: function getURLFromTemplate(parameters) {
100
- var url = this.props.url;
101
- for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
102
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
103
- key = _Object$entries$_i[0],
104
- value = _Object$entries$_i[1];
105
- url = url.replace("${".concat(key, "}"), String(value));
106
- url = url.replace("{".concat(key, "}"), String(value));
107
- }
108
- return url;
15
+ async getMetadata() {
16
+ throw new Error('ImageSource.getMetadata not implemented');
17
+ }
18
+ async getImage(parameters) {
19
+ const granularParameters = this.getGranularParameters(parameters);
20
+ const url = this.getURLFromTemplate(granularParameters);
21
+ const response = await this.fetch(url);
22
+ const arrayBuffer = await response.arrayBuffer();
23
+ return await _images.ImageLoader.parse(arrayBuffer);
24
+ }
25
+ getGranularParameters(parameters) {
26
+ const [east, north, west, south] = parameters.bbox;
27
+ return {
28
+ ...parameters,
29
+ east,
30
+ north,
31
+ south,
32
+ west
33
+ };
34
+ }
35
+ getURLFromTemplate(parameters) {
36
+ let url = this.props.url;
37
+ for (const [key, value] of Object.entries(parameters)) {
38
+ url = url.replace("${".concat(key, "}"), String(value));
39
+ url = url.replace("{".concat(key, "}"), String(value));
109
40
  }
110
- }]);
111
- return ImageService;
112
- }(_imageSource.ImageSource);
41
+ return url;
42
+ }
43
+ }
113
44
  exports.ImageService = ImageService;
114
45
  (0, _defineProperty2.default)(ImageService, "type", 'template');
115
- (0, _defineProperty2.default)(ImageService, "testURL", function (url) {
116
- return url.toLowerCase().includes('{');
117
- });
46
+ (0, _defineProperty2.default)(ImageService, "testURL", url => url.toLowerCase().includes('{'));
118
47
  //# sourceMappingURL=image-service.js.map