@loaders.gl/wms 3.3.0-alpha.10
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.
- package/LICENSE +41 -0
- package/README.md +7 -0
- package/dist/dist.min.js +2277 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +34 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/data-sources/image-data-source.js +4 -0
- package/dist/es5/lib/data-sources/image-data-source.js.map +1 -0
- package/dist/es5/lib/data-sources/wms-data-source.js +223 -0
- package/dist/es5/lib/data-sources/wms-data-source.js.map +1 -0
- package/dist/es5/lib/parse-wms.js +102 -0
- package/dist/es5/lib/parse-wms.js.map +1 -0
- package/dist/es5/wms-capabilities-loader.js +54 -0
- package/dist/es5/wms-capabilities-loader.js.map +1 -0
- package/dist/es5/wms-feature-info-loader.js +44 -0
- package/dist/es5/wms-feature-info-loader.js.map +1 -0
- package/dist/es5/wms-layer-description-loader.js +44 -0
- package/dist/es5/wms-layer-description-loader.js.map +1 -0
- package/dist/es5/wms-types.js +2 -0
- package/dist/es5/wms-types.js.map +1 -0
- package/dist/esm/bundle.js +6 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/data-sources/image-data-source.js +2 -0
- package/dist/esm/lib/data-sources/image-data-source.js.map +1 -0
- package/dist/esm/lib/data-sources/wms-data-source.js +70 -0
- package/dist/esm/lib/data-sources/wms-data-source.js.map +1 -0
- package/dist/esm/lib/parse-wms.js +70 -0
- package/dist/esm/lib/parse-wms.js.map +1 -0
- package/dist/esm/wms-capabilities-loader.js +25 -0
- package/dist/esm/wms-capabilities-loader.js.map +1 -0
- package/dist/esm/wms-feature-info-loader.js +14 -0
- package/dist/esm/wms-feature-info-loader.js.map +1 -0
- package/dist/esm/wms-layer-description-loader.js +14 -0
- package/dist/esm/wms-layer-description-loader.js.map +1 -0
- package/dist/esm/wms-types.js +2 -0
- package/dist/esm/wms-types.js.map +1 -0
- package/package.json +43 -0
- package/src/bundle.ts +6 -0
- package/src/index.ts +13 -0
- package/src/lib/data-sources/image-data-source.ts +84 -0
- package/src/lib/data-sources/wms-data-source.ts +99 -0
- package/src/lib/parse-wms.ts +92 -0
- package/src/wms-capabilities-loader.ts +40 -0
- package/src/wms-feature-info-loader.ts +21 -0
- package/src/wms-layer-description-loader.ts +21 -0
- package/src/wms-types.ts +2051 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AAGA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "WMSCapabilitiesLoader", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _wmsCapabilitiesLoader.WMSCapabilitiesLoader;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "WMSFeatureInfoLoader", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _wmsFeatureInfoLoader.WMSFeatureInfoLoader;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "WMSLayerDescriptionLoader", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _wmsLayerDescriptionLoader.WMSLayerDescriptionLoader;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "_WMSDataSource", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _wmsDataSource.WMSDataSource;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var _wmsCapabilitiesLoader = require("./wms-capabilities-loader");
|
|
31
|
+
var _wmsFeatureInfoLoader = require("./wms-feature-info-loader");
|
|
32
|
+
var _wmsLayerDescriptionLoader = require("./wms-layer-description-loader");
|
|
33
|
+
var _wmsDataSource = require("./lib/data-sources/wms-data-source");
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// WMSCapabilitiesLoader\n\nexport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from './wms-types';\n\nexport type {WMSLoaderOptions} from './wms-capabilities-loader';\nexport {WMSCapabilitiesLoader} from './wms-capabilities-loader';\nexport {WMSFeatureInfoLoader} from './wms-feature-info-loader';\nexport {WMSLayerDescriptionLoader} from './wms-layer-description-loader';\n\nexport type {WMSDataSourceProps as _WMSDataSourceProps} from './lib/data-sources/wms-data-source';\nexport {WMSDataSource as _WMSDataSource} from './lib/data-sources/wms-data-source';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AAGA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-data-source.js","names":[],"sources":["../../../../src/lib/data-sources/image-data-source.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/*\nimport {ImageType} from '@loaders.gl/images';\n\n/** General data source class *\nexport abstract class DataSource {};\n\n/** Data source that serves data by tile index *\nexport abstract class TileDataSource extends DataSource {};\n\nexport type ImageFeatureInfo = {};\n\nexport type ImageLayerInfo = {};\n\nexport type ImageDataSourceCapabilities = {}\n\n/**\n * ImageDataSource - data sources that allow data to be queried by (geospatial) extents\n * @note\n * - If geospatial, bounding box is expected to be in web mercator coordinates\n *\nexport abstract class ImageDataSource extends DataSource {\n abstract getCapabilities(): Promise<ImageDataSourceCapabilities>;\n abstract getImage({boundingBox, width, height, layers, parameters}): Promise<ImageType>;\n getFeatureInfo({layers, parameters}): Promise<ImageFeatureInfo> {\n throw new Error('not implemented');\n }\n getLayerInfo({layers, parameters}): Promise<ImageLayerInfo> {\n throw new Error('not implemented');\n }\n getLegendImage({layers, parameters}): Promise<ImageType> {\n throw new Error('not implemented');\n }\n}\n\n// Vector Tile Data Source\n\nexport type VectorTileDataSourceCapabilities = {\n // check tile.json\n}\n\nexport type VectorTile = Record<string, any>;\n\nexport abstract class VectorTileDataSource extends TileDataSource {\n abstract getCapabilities(): Promise<VectorTileDataSourceCapabilities>;\n abstract getTile({x, y, z, width, height, layers, parameters}): Promise<VectorTile>;\n}\n\n// Image Tile Data Source\n\nexport type ImageTileDataSourceCapabilities = {\n}\n\nexport type ImageTile = Record<string, any>;\n\nexport type FeatureInfo = {};\n\nexport abstract class ImageTileDataSource extends TileDataSource {\n source: ImageDataSource;\n \n constructor(source: ImageDataSource) {\n super();\n this.source = source;\n }\n\n getCapabilities(): Promise<ImageTileDataSourceCapabilities> {\n return this.source.getCapabilities();\n }\n\n getTile({x, y, z, width, height, layers, parameters}): Promise<ImageType> {\n const boundingBox = this.getBoundingBoxFromTileIndex(x, y, z);\n return this.source.getImage({boundingBox, width, height, layers, parameters});\n }\n\n getFeatureInfo(): FeatureInfo | null {\n return null;\n }\n\n getBoundingBoxFromTileIndex(x: number, y: number, z: number): [number, number, number, number] {\n return [0, 0, 1, 1];\n }\n}\n*/\n"],"mappings":""}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.WMSDataSource = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _wms = require("@loaders.gl/wms");
|
|
14
|
+
var _images = require("@loaders.gl/images");
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
var WMSDataSource = function () {
|
|
18
|
+
|
|
19
|
+
function WMSDataSource(props) {
|
|
20
|
+
(0, _classCallCheck2.default)(this, WMSDataSource);
|
|
21
|
+
(0, _defineProperty2.default)(this, "url", void 0);
|
|
22
|
+
(0, _defineProperty2.default)(this, "loadOptions", void 0);
|
|
23
|
+
(0, _defineProperty2.default)(this, "fetch", void 0);
|
|
24
|
+
this.url = props.url;
|
|
25
|
+
this.loadOptions = props.loadOptions || {};
|
|
26
|
+
this.fetch = props.fetch || fetch;
|
|
27
|
+
}
|
|
28
|
+
(0, _createClass2.default)(WMSDataSource, [{
|
|
29
|
+
key: "getCapabilities",
|
|
30
|
+
value: function () {
|
|
31
|
+
var _getCapabilities = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
32
|
+
var url, response, arrayBuffer;
|
|
33
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
34
|
+
while (1) {
|
|
35
|
+
switch (_context.prev = _context.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
url = this.getUrl(_objectSpread({
|
|
38
|
+
request: 'GetCapabilities'
|
|
39
|
+
}, options));
|
|
40
|
+
_context.next = 3;
|
|
41
|
+
return this.fetch(url, this.loadOptions);
|
|
42
|
+
case 3:
|
|
43
|
+
response = _context.sent;
|
|
44
|
+
_context.next = 6;
|
|
45
|
+
return response.arrayBuffer();
|
|
46
|
+
case 6:
|
|
47
|
+
arrayBuffer = _context.sent;
|
|
48
|
+
_context.next = 9;
|
|
49
|
+
return _wms.WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);
|
|
50
|
+
case 9:
|
|
51
|
+
return _context.abrupt("return", _context.sent);
|
|
52
|
+
case 10:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context.stop();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, _callee, this);
|
|
58
|
+
}));
|
|
59
|
+
function getCapabilities(_x) {
|
|
60
|
+
return _getCapabilities.apply(this, arguments);
|
|
61
|
+
}
|
|
62
|
+
return getCapabilities;
|
|
63
|
+
}()
|
|
64
|
+
}, {
|
|
65
|
+
key: "getImage",
|
|
66
|
+
value: function () {
|
|
67
|
+
var _getImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
|
|
68
|
+
var url, response, arrayBuffer;
|
|
69
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
70
|
+
while (1) {
|
|
71
|
+
switch (_context2.prev = _context2.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
url = this.getUrl(_objectSpread({
|
|
74
|
+
request: 'GetMap'
|
|
75
|
+
}, options));
|
|
76
|
+
_context2.next = 3;
|
|
77
|
+
return this.fetch(url, this.loadOptions);
|
|
78
|
+
case 3:
|
|
79
|
+
response = _context2.sent;
|
|
80
|
+
_context2.next = 6;
|
|
81
|
+
return response.arrayBuffer();
|
|
82
|
+
case 6:
|
|
83
|
+
arrayBuffer = _context2.sent;
|
|
84
|
+
_context2.next = 9;
|
|
85
|
+
return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
|
|
86
|
+
case 9:
|
|
87
|
+
return _context2.abrupt("return", _context2.sent);
|
|
88
|
+
case 10:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context2.stop();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, _callee2, this);
|
|
94
|
+
}));
|
|
95
|
+
function getImage(_x2) {
|
|
96
|
+
return _getImage.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
return getImage;
|
|
99
|
+
}()
|
|
100
|
+
}, {
|
|
101
|
+
key: "getFeatureInfo",
|
|
102
|
+
value: function () {
|
|
103
|
+
var _getFeatureInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
|
|
104
|
+
var url, response, arrayBuffer;
|
|
105
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
106
|
+
while (1) {
|
|
107
|
+
switch (_context3.prev = _context3.next) {
|
|
108
|
+
case 0:
|
|
109
|
+
url = this.getUrl(_objectSpread({
|
|
110
|
+
request: 'GetFeatureInfo'
|
|
111
|
+
}, options));
|
|
112
|
+
_context3.next = 3;
|
|
113
|
+
return this.fetch(url, this.loadOptions);
|
|
114
|
+
case 3:
|
|
115
|
+
response = _context3.sent;
|
|
116
|
+
_context3.next = 6;
|
|
117
|
+
return response.arrayBuffer();
|
|
118
|
+
case 6:
|
|
119
|
+
arrayBuffer = _context3.sent;
|
|
120
|
+
_context3.next = 9;
|
|
121
|
+
return _wms.WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);
|
|
122
|
+
case 9:
|
|
123
|
+
return _context3.abrupt("return", _context3.sent);
|
|
124
|
+
case 10:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context3.stop();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, _callee3, this);
|
|
130
|
+
}));
|
|
131
|
+
function getFeatureInfo(_x3) {
|
|
132
|
+
return _getFeatureInfo.apply(this, arguments);
|
|
133
|
+
}
|
|
134
|
+
return getFeatureInfo;
|
|
135
|
+
}()
|
|
136
|
+
}, {
|
|
137
|
+
key: "getLayerInfo",
|
|
138
|
+
value: function () {
|
|
139
|
+
var _getLayerInfo = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
|
|
140
|
+
var url, response, arrayBuffer;
|
|
141
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
142
|
+
while (1) {
|
|
143
|
+
switch (_context4.prev = _context4.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
url = this.getUrl(_objectSpread({
|
|
146
|
+
request: 'GetLayerInfo'
|
|
147
|
+
}, options));
|
|
148
|
+
_context4.next = 3;
|
|
149
|
+
return this.fetch(url, this.loadOptions);
|
|
150
|
+
case 3:
|
|
151
|
+
response = _context4.sent;
|
|
152
|
+
_context4.next = 6;
|
|
153
|
+
return response.arrayBuffer();
|
|
154
|
+
case 6:
|
|
155
|
+
arrayBuffer = _context4.sent;
|
|
156
|
+
_context4.next = 9;
|
|
157
|
+
return _wms.WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);
|
|
158
|
+
case 9:
|
|
159
|
+
return _context4.abrupt("return", _context4.sent);
|
|
160
|
+
case 10:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context4.stop();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}, _callee4, this);
|
|
166
|
+
}));
|
|
167
|
+
function getLayerInfo(_x4) {
|
|
168
|
+
return _getLayerInfo.apply(this, arguments);
|
|
169
|
+
}
|
|
170
|
+
return getLayerInfo;
|
|
171
|
+
}()
|
|
172
|
+
}, {
|
|
173
|
+
key: "getLegendImage",
|
|
174
|
+
value: function () {
|
|
175
|
+
var _getLegendImage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(options) {
|
|
176
|
+
var url, response, arrayBuffer;
|
|
177
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
178
|
+
while (1) {
|
|
179
|
+
switch (_context5.prev = _context5.next) {
|
|
180
|
+
case 0:
|
|
181
|
+
url = this.getUrl(_objectSpread({
|
|
182
|
+
request: 'GetLegendImage'
|
|
183
|
+
}, options));
|
|
184
|
+
_context5.next = 3;
|
|
185
|
+
return this.fetch(url, this.loadOptions);
|
|
186
|
+
case 3:
|
|
187
|
+
response = _context5.sent;
|
|
188
|
+
_context5.next = 6;
|
|
189
|
+
return response.arrayBuffer();
|
|
190
|
+
case 6:
|
|
191
|
+
arrayBuffer = _context5.sent;
|
|
192
|
+
_context5.next = 9;
|
|
193
|
+
return _images.ImageLoader.parse(arrayBuffer, this.loadOptions);
|
|
194
|
+
case 9:
|
|
195
|
+
return _context5.abrupt("return", _context5.sent);
|
|
196
|
+
case 10:
|
|
197
|
+
case "end":
|
|
198
|
+
return _context5.stop();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}, _callee5, this);
|
|
202
|
+
}));
|
|
203
|
+
function getLegendImage(_x5) {
|
|
204
|
+
return _getLegendImage.apply(this, arguments);
|
|
205
|
+
}
|
|
206
|
+
return getLegendImage;
|
|
207
|
+
}()
|
|
208
|
+
}, {
|
|
209
|
+
key: "getUrl",
|
|
210
|
+
value:
|
|
211
|
+
function getUrl(options) {
|
|
212
|
+
var _options$layers;
|
|
213
|
+
var url = "".concat(this.url, "?REQUEST=").concat(options.request);
|
|
214
|
+
if ((_options$layers = options.layers) !== null && _options$layers !== void 0 && _options$layers.length) {
|
|
215
|
+
url += "&LAYERS=[".concat(options.layers.join(','), "]");
|
|
216
|
+
}
|
|
217
|
+
return url;
|
|
218
|
+
}
|
|
219
|
+
}]);
|
|
220
|
+
return WMSDataSource;
|
|
221
|
+
}();
|
|
222
|
+
exports.WMSDataSource = WMSDataSource;
|
|
223
|
+
//# sourceMappingURL=wms-data-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-data-source.js","names":["WMSDataSource","props","url","loadOptions","fetch","options","getUrl","request","response","arrayBuffer","WMSCapabilitiesLoader","parse","ImageLoader","WMSFeatureInfoLoader","WMSLayerDescriptionLoader","layers","length","join"],"sources":["../../../../src/lib/data-sources/wms-data-source.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {WMSCapabilities, WMSFeatureInfo, WMSLayerDescription} from '@loaders.gl/wms';\nimport {\n WMSCapabilitiesLoader,\n WMSFeatureInfoLoader,\n WMSLayerDescriptionLoader\n} from '@loaders.gl/wms';\nimport {ImageLoader, ImageType} from '@loaders.gl/images';\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\n\n// import {ImageDataSource} from './image-data-sources';\n\ntype FetchLike = (url: string, options?: RequestInit) => Promise<Response>;\n\nexport type WMSDataSourceProps = {\n url: string;\n loadOptions?: LoaderOptions;\n fetch?: typeof fetch | FetchLike;\n};\n\nexport class WMSDataSource {\n // implements ImageDataSource {\n url: string;\n loadOptions: LoaderOptions;\n fetch: typeof fetch | FetchLike;\n\n constructor(props: WMSDataSourceProps) {\n this.url = props.url;\n this.loadOptions = props.loadOptions || {};\n this.fetch = props.fetch || fetch;\n }\n\n async getCapabilities(options: {parameters?: Record<string, unknown>}): Promise<WMSCapabilities> {\n const url = this.getUrl({request: 'GetCapabilities', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSCapabilitiesLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getImage(options: {\n boundingBox;\n width;\n height;\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<ImageType> {\n const url = this.getUrl({request: 'GetMap', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getFeatureInfo(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<WMSFeatureInfo> {\n const url = this.getUrl({request: 'GetFeatureInfo', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSFeatureInfoLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getLayerInfo(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<WMSLayerDescription> {\n const url = this.getUrl({request: 'GetLayerInfo', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await WMSLayerDescriptionLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n async getLegendImage(options: {\n layers: string[];\n parameters?: Record<string, unknown>;\n }): Promise<ImageType> {\n const url = this.getUrl({request: 'GetLegendImage', ...options});\n const response = await this.fetch(url, this.loadOptions);\n const arrayBuffer = await response.arrayBuffer();\n return await ImageLoader.parse(arrayBuffer, this.loadOptions);\n }\n\n /**\n * @note protected, since perhaps getUrl 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: {\n request: string;\n layers?: string[];\n parameters?: Record<string, unknown>;\n }): string {\n let url = `${this.url}?REQUEST=${options.request}`;\n if (options.layers?.length) {\n url += `&LAYERS=[${options.layers.join(',')}]`;\n }\n return url;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.parseWMSCapabilities = parseWMSCapabilities;
|
|
8
|
+
exports.parseWMSFeatureInfo = parseWMSFeatureInfo;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _xml = require("@loaders.gl/xml");
|
|
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
|
+
|
|
15
|
+
function parseWMSCapabilities(text, options) {
|
|
16
|
+
var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
|
|
17
|
+
var xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
|
|
18
|
+
return extractCapabilities(xmlCapabilities);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function extractCapabilities(xml) {
|
|
22
|
+
var _xml$Service, _xml$Service2, _xml$Capability, _xml$Service3, _xml$Service3$Keyword;
|
|
23
|
+
var capabilities = {
|
|
24
|
+
name: ((_xml$Service = xml.Service) === null || _xml$Service === void 0 ? void 0 : _xml$Service.Name) || 'unnamed',
|
|
25
|
+
title: (_xml$Service2 = xml.Service) === null || _xml$Service2 === void 0 ? void 0 : _xml$Service2.Title,
|
|
26
|
+
keywords: [],
|
|
27
|
+
requests: {},
|
|
28
|
+
layer: extractLayer((_xml$Capability = xml.Capability) === null || _xml$Capability === void 0 ? void 0 : _xml$Capability.Layer),
|
|
29
|
+
raw: xml
|
|
30
|
+
};
|
|
31
|
+
var _iterator = _createForOfIteratorHelper(((_xml$Service3 = xml.Service) === null || _xml$Service3 === void 0 ? void 0 : (_xml$Service3$Keyword = _xml$Service3.KeywordList) === null || _xml$Service3$Keyword === void 0 ? void 0 : _xml$Service3$Keyword.Keyword) || []),
|
|
32
|
+
_step;
|
|
33
|
+
try {
|
|
34
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
35
|
+
var keyword = _step.value;
|
|
36
|
+
capabilities.keywords.push(keyword);
|
|
37
|
+
}
|
|
38
|
+
} catch (err) {
|
|
39
|
+
_iterator.e(err);
|
|
40
|
+
} finally {
|
|
41
|
+
_iterator.f();
|
|
42
|
+
}
|
|
43
|
+
for (var _i = 0, _Object$entries = Object.entries(((_xml$Capability2 = xml.Capability) === null || _xml$Capability2 === void 0 ? void 0 : _xml$Capability2.Request) || {}); _i < _Object$entries.length; _i++) {
|
|
44
|
+
var _xml$Capability2;
|
|
45
|
+
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
46
|
+
name = _Object$entries$_i[0],
|
|
47
|
+
xmlRequest = _Object$entries$_i[1];
|
|
48
|
+
capabilities.requests[name] = extractRequest(name, xmlRequest);
|
|
49
|
+
}
|
|
50
|
+
return capabilities;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function extractRequest(name, xmlRequest) {
|
|
54
|
+
var format = xmlRequest === null || xmlRequest === void 0 ? void 0 : xmlRequest.Format;
|
|
55
|
+
var mimeTypes = Array.isArray(format) ? format : [format];
|
|
56
|
+
return {
|
|
57
|
+
name: name,
|
|
58
|
+
mimeTypes: mimeTypes
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function extractLayer(xmlLayer) {
|
|
63
|
+
var layer = {
|
|
64
|
+
name: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name,
|
|
65
|
+
title: xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Title,
|
|
66
|
+
srs: (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.SRS) || [],
|
|
67
|
+
layers: []
|
|
68
|
+
};
|
|
69
|
+
var _iterator2 = _createForOfIteratorHelper((xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Layer) || []),
|
|
70
|
+
_step2;
|
|
71
|
+
try {
|
|
72
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
73
|
+
var _layer$layers;
|
|
74
|
+
var xmlSubLayer = _step2.value;
|
|
75
|
+
(_layer$layers = layer.layers) === null || _layer$layers === void 0 ? void 0 : _layer$layers.push(extractLayer(xmlSubLayer));
|
|
76
|
+
}
|
|
77
|
+
} catch (err) {
|
|
78
|
+
_iterator2.e(err);
|
|
79
|
+
} finally {
|
|
80
|
+
_iterator2.f();
|
|
81
|
+
}
|
|
82
|
+
return layer;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function parseWMSFeatureInfo(text, options) {
|
|
86
|
+
var _parsedXML$FeatureInf;
|
|
87
|
+
var parsedXML = _xml.XMLLoader.parseTextSync(text, options);
|
|
88
|
+
var xmlFeatureInfo = ((_parsedXML$FeatureInf = parsedXML.FeatureInfoResponse) === null || _parsedXML$FeatureInf === void 0 ? void 0 : _parsedXML$FeatureInf.FIELDS) || [];
|
|
89
|
+
var xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
|
|
90
|
+
return {
|
|
91
|
+
features: xmlFeatures.map(function (xmlFeature) {
|
|
92
|
+
return extractFeature(xmlFeature);
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function extractFeature(xmlFeature) {
|
|
97
|
+
var xmlFields = xmlFeature || {};
|
|
98
|
+
return {
|
|
99
|
+
attributes: xmlFields
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=parse-wms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-wms.js","names":["parseWMSCapabilities","text","options","parsedXML","XMLLoader","parseTextSync","xmlCapabilities","WMT_MS_Capabilities","WMS_Capabilities","extractCapabilities","xml","capabilities","name","Service","Name","title","Title","keywords","requests","layer","extractLayer","Capability","Layer","raw","KeywordList","Keyword","keyword","push","Object","entries","Request","xmlRequest","extractRequest","format","Format","mimeTypes","Array","isArray","xmlLayer","srs","SRS","layers","xmlSubLayer","parseWMSFeatureInfo","xmlFeatureInfo","FeatureInfoResponse","FIELDS","xmlFeatures","features","map","xmlFeature","extractFeature","xmlFields","attributes"],"sources":["../../../src/lib/parse-wms.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {\n WMSCapabilities,\n WMSLayer,\n WMSRequest,\n WMSFeatureInfo\n // WMSFeature,\n // WMSLayerDescription\n} from '../wms-types';\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\n// GetCapabilities\n\n/**\n * Parses a typed data structure from raw XML for `GetCapabilities` response\n * @note Error handlings is fairly weak\n */\nexport function parseWMSCapabilities(text: string, options): WMSCapabilities {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n const xmlCapabilities: any =\n parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;\n return extractCapabilities(xmlCapabilities);\n}\n\n/** Extract typed capability data from XML */\nfunction extractCapabilities(xml: any): WMSCapabilities {\n const capabilities: WMSCapabilities = {\n name: xml.Service?.Name || 'unnamed',\n title: xml.Service?.Title,\n keywords: [],\n requests: {},\n layer: extractLayer(xml.Capability?.Layer),\n raw: xml\n };\n\n for (const keyword of xml.Service?.KeywordList?.Keyword || []) {\n capabilities.keywords.push(keyword);\n }\n\n for (const [name, xmlRequest] of Object.entries(xml.Capability?.Request || {})) {\n capabilities.requests[name] = extractRequest(name, xmlRequest);\n }\n\n return capabilities;\n}\n\n/** Extract typed request data from XML */\nfunction extractRequest(name: string, xmlRequest: any): WMSRequest {\n const format: string | string[] = xmlRequest?.Format;\n const mimeTypes: string[] = Array.isArray(format) ? format : [format];\n return {name, mimeTypes};\n}\n\n/** Extract request data */\nfunction extractLayer(xmlLayer: any): WMSLayer {\n const layer: WMSLayer = {\n name: xmlLayer?.Name,\n title: xmlLayer?.Title,\n srs: xmlLayer?.SRS || [],\n layers: []\n };\n\n for (const xmlSubLayer of xmlLayer?.Layer || []) {\n layer.layers?.push(extractLayer(xmlSubLayer));\n }\n\n return layer;\n}\n\n// GetFeatureInfo\n\n/**\n * Parses a typed data structure from raw XML for `GetFeatureInfo` response\n * @note Error handlings is fairly weak\n */\nexport function parseWMSFeatureInfo(text: string, options): WMSFeatureInfo {\n const parsedXML = XMLLoader.parseTextSync(text, options);\n const xmlFeatureInfo: any = parsedXML.FeatureInfoResponse?.FIELDS || [];\n\n const xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];\n\n return {\n features: xmlFeatures.map((xmlFeature) => extractFeature(xmlFeature))\n };\n}\n\nfunction extractFeature(xmlFeature: any) {\n const xmlFields = xmlFeature || {};\n return {attributes: xmlFields};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports._typecheckWMSCapabilitiesLoader = exports.WMSCapabilitiesLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _parseWms = require("./lib/parse-wms");
|
|
11
|
+
|
|
12
|
+
var VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
|
|
13
|
+
var WMSCapabilitiesLoader = {
|
|
14
|
+
name: 'WMS Capabilities',
|
|
15
|
+
id: 'wms-capabilities',
|
|
16
|
+
module: 'wms',
|
|
17
|
+
version: VERSION,
|
|
18
|
+
worker: false,
|
|
19
|
+
extensions: ['xml'],
|
|
20
|
+
mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],
|
|
21
|
+
testText: testXMLFile,
|
|
22
|
+
options: {
|
|
23
|
+
wms: {}
|
|
24
|
+
},
|
|
25
|
+
parse: function () {
|
|
26
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
27
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
28
|
+
while (1) {
|
|
29
|
+
switch (_context.prev = _context.next) {
|
|
30
|
+
case 0:
|
|
31
|
+
return _context.abrupt("return", (0, _parseWms.parseWMSCapabilities)(new TextDecoder().decode(arrayBuffer), options));
|
|
32
|
+
case 1:
|
|
33
|
+
case "end":
|
|
34
|
+
return _context.stop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, _callee);
|
|
38
|
+
}));
|
|
39
|
+
function parse(_x, _x2) {
|
|
40
|
+
return _parse.apply(this, arguments);
|
|
41
|
+
}
|
|
42
|
+
return parse;
|
|
43
|
+
}(),
|
|
44
|
+
parseTextSync: function parseTextSync(text, options) {
|
|
45
|
+
return (0, _parseWms.parseWMSCapabilities)(text, options);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.WMSCapabilitiesLoader = WMSCapabilitiesLoader;
|
|
49
|
+
function testXMLFile(text) {
|
|
50
|
+
return text.startsWith('<?xml');
|
|
51
|
+
}
|
|
52
|
+
var _typecheckWMSCapabilitiesLoader = WMSCapabilitiesLoader;
|
|
53
|
+
exports._typecheckWMSCapabilitiesLoader = _typecheckWMSCapabilitiesLoader;
|
|
54
|
+
//# sourceMappingURL=wms-capabilities-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-capabilities-loader.js","names":["VERSION","WMSCapabilitiesLoader","name","id","module","version","worker","extensions","mimeTypes","testText","testXMLFile","options","wms","parse","arrayBuffer","parseWMSCapabilities","TextDecoder","decode","parseTextSync","text","startsWith","_typecheckWMSCapabilitiesLoader"],"sources":["../../src/wms-capabilities-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parseWMSCapabilities} from './lib/parse-wms';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type WMSLoaderOptions = LoaderOptions & {\n wms?: {};\n};\n\n/**\n * Loader for the response to the WMS GetCapability request\n */\nexport const WMSCapabilitiesLoader = {\n name: 'WMS Capabilities',\n id: 'wms-capabilities',\n\n module: 'wms',\n version: VERSION,\n worker: false,\n extensions: ['xml'],\n mimeTypes: ['application/vnd.ogc.wms_xml', 'application/xml', 'text/xml'],\n testText: testXMLFile,\n options: {\n wms: {}\n },\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSCapabilities(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSCapabilities(text, options)\n};\n\nfunction testXMLFile(text: string): boolean {\n // TODO - There could be space first.\n return text.startsWith('<?xml');\n}\n\nexport const _typecheckWMSCapabilitiesLoader: LoaderWithParser = WMSCapabilitiesLoader;\n"],"mappings":";;;;;;;;;AAGA;;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AASpE,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE,kBAAkB;EACxBC,EAAE,EAAE,kBAAkB;EAEtBC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,UAAU,CAAC;EACzEC,QAAQ,EAAEC,WAAW;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR,CAAC;EACDC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEH,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAI,8BAAoB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,EAAEH,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACtEO,aAAa,EAAE,uBAACC,IAAY,EAAER,OAA0B;IAAA,OAAK,IAAAI,8BAAoB,EAACI,IAAI,EAAER,OAAO,CAAC;EAAA;AAClG,CAAC;AAAC;AAEF,SAASD,WAAW,CAACS,IAAY,EAAW;EAE1C,OAAOA,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;AACjC;AAEO,IAAMC,+BAAiD,GAAGpB,qBAAqB;AAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports._typecheckWMSFeatureInfoLoader = exports.WMSFeatureInfoLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _wmsCapabilitiesLoader = require("./wms-capabilities-loader");
|
|
12
|
+
var _parseWms = require("./lib/parse-wms");
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var WMSFeatureInfoLoader = _objectSpread(_objectSpread({}, _wmsCapabilitiesLoader.WMSCapabilitiesLoader), {}, {
|
|
16
|
+
name: 'WMS FeatureInfo',
|
|
17
|
+
id: 'wms-feature-info',
|
|
18
|
+
parse: function () {
|
|
19
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
20
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
21
|
+
while (1) {
|
|
22
|
+
switch (_context.prev = _context.next) {
|
|
23
|
+
case 0:
|
|
24
|
+
return _context.abrupt("return", (0, _parseWms.parseWMSFeatureInfo)(new TextDecoder().decode(arrayBuffer), options));
|
|
25
|
+
case 1:
|
|
26
|
+
case "end":
|
|
27
|
+
return _context.stop();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}, _callee);
|
|
31
|
+
}));
|
|
32
|
+
function parse(_x, _x2) {
|
|
33
|
+
return _parse.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
return parse;
|
|
36
|
+
}(),
|
|
37
|
+
parseTextSync: function parseTextSync(text, options) {
|
|
38
|
+
return (0, _parseWms.parseWMSFeatureInfo)(text, options);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
exports.WMSFeatureInfoLoader = WMSFeatureInfoLoader;
|
|
42
|
+
var _typecheckWMSFeatureInfoLoader = WMSFeatureInfoLoader;
|
|
43
|
+
exports._typecheckWMSFeatureInfoLoader = _typecheckWMSFeatureInfoLoader;
|
|
44
|
+
//# sourceMappingURL=wms-feature-info-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-feature-info-loader.js","names":["WMSFeatureInfoLoader","WMSCapabilitiesLoader","name","id","parse","arrayBuffer","options","parseWMSFeatureInfo","TextDecoder","decode","parseTextSync","text","_typecheckWMSFeatureInfoLoader"],"sources":["../../src/wms-feature-info-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {WMSCapabilitiesLoader, WMSLoaderOptions} from './wms-capabilities-loader';\nimport {parseWMSFeatureInfo} from './lib/parse-wms';\n\n/**\n * Loader for the response to the WMS GetFeatureInfo request\n */\nexport const WMSFeatureInfoLoader = {\n ...WMSCapabilitiesLoader,\n\n name: 'WMS FeatureInfo',\n id: 'wms-feature-info',\n\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSFeatureInfoLoader;\n"],"mappings":";;;;;;;;;;AAGA;AACA;AAAoD;AAAA;AAK7C,IAAMA,oBAAoB,mCAC5BC,4CAAqB;EAExBC,IAAI,EAAE,iBAAiB;EACvBC,EAAE,EAAE,kBAAkB;EAEtBC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEC,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAC,6BAAmB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACrEI,aAAa,EAAE,uBAACC,IAAY,EAAEL,OAA0B;IAAA,OAAK,IAAAC,6BAAmB,EAACI,IAAI,EAAEL,OAAO,CAAC;EAAA;AAAA,EAChG;AAAC;AAEK,IAAMM,8BAAgD,GAAGZ,oBAAoB;AAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports._typecheckWMSFeatureInfoLoader = exports.WMSLayerDescriptionLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _wmsCapabilitiesLoader = require("./wms-capabilities-loader");
|
|
12
|
+
var _parseWms = require("./lib/parse-wms");
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var WMSLayerDescriptionLoader = _objectSpread(_objectSpread({}, _wmsCapabilitiesLoader.WMSCapabilitiesLoader), {}, {
|
|
16
|
+
name: 'WMS DescribeLayer',
|
|
17
|
+
id: 'wms-layer-description',
|
|
18
|
+
parse: function () {
|
|
19
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
20
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
21
|
+
while (1) {
|
|
22
|
+
switch (_context.prev = _context.next) {
|
|
23
|
+
case 0:
|
|
24
|
+
return _context.abrupt("return", (0, _parseWms.parseWMSFeatureInfo)(new TextDecoder().decode(arrayBuffer), options));
|
|
25
|
+
case 1:
|
|
26
|
+
case "end":
|
|
27
|
+
return _context.stop();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}, _callee);
|
|
31
|
+
}));
|
|
32
|
+
function parse(_x, _x2) {
|
|
33
|
+
return _parse.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
return parse;
|
|
36
|
+
}(),
|
|
37
|
+
parseTextSync: function parseTextSync(text, options) {
|
|
38
|
+
return (0, _parseWms.parseWMSFeatureInfo)(text, options);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
exports.WMSLayerDescriptionLoader = WMSLayerDescriptionLoader;
|
|
42
|
+
var _typecheckWMSFeatureInfoLoader = WMSLayerDescriptionLoader;
|
|
43
|
+
exports._typecheckWMSFeatureInfoLoader = _typecheckWMSFeatureInfoLoader;
|
|
44
|
+
//# sourceMappingURL=wms-layer-description-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wms-layer-description-loader.js","names":["WMSLayerDescriptionLoader","WMSCapabilitiesLoader","name","id","parse","arrayBuffer","options","parseWMSFeatureInfo","TextDecoder","decode","parseTextSync","text","_typecheckWMSFeatureInfoLoader"],"sources":["../../src/wms-layer-description-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {WMSCapabilitiesLoader, WMSLoaderOptions} from './wms-capabilities-loader';\nimport {parseWMSFeatureInfo} from './lib/parse-wms';\n\n/**\n * Loader for the response to the WMS GetFeatureInfo request\n */\nexport const WMSLayerDescriptionLoader = {\n ...WMSCapabilitiesLoader,\n\n name: 'WMS DescribeLayer',\n id: 'wms-layer-description',\n\n parse: async (arrayBuffer: ArrayBuffer, options?: WMSLoaderOptions) =>\n parseWMSFeatureInfo(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync: (text: string, options?: WMSLoaderOptions) => parseWMSFeatureInfo(text, options)\n};\n\nexport const _typecheckWMSFeatureInfoLoader: LoaderWithParser = WMSLayerDescriptionLoader;\n"],"mappings":";;;;;;;;;;AAGA;AACA;AAAoD;AAAA;AAK7C,IAAMA,yBAAyB,mCACjCC,4CAAqB;EAExBC,IAAI,EAAE,mBAAmB;EACzBC,EAAE,EAAE,uBAAuB;EAE3BC,KAAK;IAAA,uEAAE,iBAAOC,WAAwB,EAAEC,OAA0B;MAAA;QAAA;UAAA;YAAA;cAAA,iCAChE,IAAAC,6BAAmB,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACrEI,aAAa,EAAE,uBAACC,IAAY,EAAEL,OAA0B;IAAA,OAAK,IAAAC,6BAAmB,EAACI,IAAI,EAAEL,OAAO,CAAC;EAAA;AAAA,EAChG;AAAC;AAEK,IAAMM,8BAAgD,GAAGZ,yBAAyB;AAAC"}
|