@loaders.gl/wms 4.0.0-beta.2 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{esm/csw-capabilities-loader.js → csw-capabilities-loader.js} +2 -2
- package/dist/csw-capabilities-loader.js.map +1 -0
- package/dist/{esm/csw-domain-loader.js → csw-domain-loader.js} +2 -2
- package/dist/csw-domain-loader.js.map +1 -0
- package/dist/{esm/csw-records-loader.js → csw-records-loader.js} +2 -2
- package/dist/csw-records-loader.js.map +1 -0
- package/dist/{dist.min.js → dist.dev.js} +1151 -1224
- package/dist/{esm/gml-loader.js → gml-loader.js} +2 -2
- package/dist/gml-loader.js.map +1 -0
- package/dist/index.cjs +1641 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/{esm/lerc-loader.js → lerc-loader.js} +1 -1
- package/dist/lerc-loader.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/csw/parse-csw-capabilities.js +1 -1
- package/dist/lib/parsers/csw/parse-csw-capabilities.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/csw/parse-csw-domain.js +1 -1
- package/dist/lib/parsers/csw/parse-csw-domain.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/csw/parse-csw-records.js +2 -2
- package/dist/lib/parsers/csw/parse-csw-records.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/csw/parse-exception-report.js +1 -1
- package/dist/lib/parsers/csw/parse-exception-report.js.map +1 -0
- package/dist/lib/parsers/gml/deep-strict-equal.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/gml/parse-gml.js +13 -13
- package/dist/lib/parsers/gml/parse-gml.js.map +1 -0
- package/dist/lib/parsers/lerc/lerc-types.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/wms/parse-wms-capabilities.js +1 -1
- package/dist/lib/parsers/wms/parse-wms-capabilities.js.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-error.js.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-features.js.map +1 -0
- package/dist/lib/parsers/wms/parse-wms-layer-description.js.map +1 -0
- package/dist/lib/parsers/xml/parse-xml-helpers.js.map +1 -0
- package/dist/lib/services/create-image-service.js.map +1 -0
- package/dist/{esm/lib → lib}/services/image-service.js +4 -5
- package/dist/lib/services/image-service.js.map +1 -0
- package/dist/{esm/services → services}/arcgis/arcgis-image-service.js +7 -7
- package/dist/services/arcgis/arcgis-image-service.js.map +1 -0
- package/dist/{esm/services → services}/arcgis/arcgis-server.js +5 -5
- package/dist/services/arcgis/arcgis-server.js.map +1 -0
- package/dist/services/create-image-source.js +8 -0
- package/dist/services/create-image-source.js.map +1 -0
- package/dist/services/ogc/csw-service.d.ts +1 -1
- package/dist/services/ogc/csw-service.d.ts.map +1 -1
- package/dist/{esm/services → services}/ogc/csw-service.js +10 -11
- package/dist/services/ogc/csw-service.js.map +1 -0
- package/dist/services/ogc/wms-service.d.ts.map +1 -1
- package/dist/{esm/services → services}/ogc/wms-service.js +12 -12
- package/dist/services/ogc/wms-service.js.map +1 -0
- package/dist/wip/data-source.js.map +1 -0
- package/dist/wip/lib/wcs/parse-wcs-capabilities.js.map +1 -0
- package/dist/wip/lib/wfs/parse-wfs-capabilities.js.map +1 -0
- package/dist/wip/lib/wfs/parse-wfs.js.map +1 -0
- package/dist/wip/lib/wmts/parse-wmts-capabilities.js.map +1 -0
- package/dist/wip/lib/wmts/parse-wmts.js.map +1 -0
- package/dist/{esm/wip → wip}/services/arcgis-feature-service.js +3 -4
- package/dist/wip/services/arcgis-feature-service.js.map +1 -0
- package/dist/{esm/wip → wip}/wcs-capabilities-loader.js +2 -2
- package/dist/wip/wcs-capabilities-loader.js.map +1 -0
- package/dist/{esm/wip → wip}/wfs-capabilities-loader.js +2 -2
- package/dist/wip/wfs-capabilities-loader.js.map +1 -0
- package/dist/{esm/wip → wip}/wms-feature-info-loader.js +2 -2
- package/dist/wip/wms-feature-info-loader.js.map +1 -0
- package/dist/{esm/wip → wip}/wms-layer-description-loader.js +2 -2
- package/dist/wip/wms-layer-description-loader.js.map +1 -0
- package/dist/{esm/wip → wip}/wmts-capabilities-loader.js +2 -2
- package/dist/wip/wmts-capabilities-loader.js.map +1 -0
- package/dist/{esm/wms-capabilities-loader.js → wms-capabilities-loader.js} +2 -2
- package/dist/wms-capabilities-loader.js.map +1 -0
- package/dist/{esm/wms-error-loader.js → wms-error-loader.js} +3 -3
- package/dist/wms-error-loader.js.map +1 -0
- package/package.json +18 -10
- package/src/services/ogc/csw-service.ts +1 -1
- package/src/services/ogc/wms-service.ts +1 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/csw-capabilities-loader.js +0 -49
- package/dist/es5/csw-capabilities-loader.js.map +0 -1
- package/dist/es5/csw-domain-loader.js +0 -49
- package/dist/es5/csw-domain-loader.js.map +0 -1
- package/dist/es5/csw-records-loader.js +0 -49
- package/dist/es5/csw-records-loader.js.map +0 -1
- package/dist/es5/gml-loader.js +0 -49
- package/dist/es5/gml-loader.js.map +0 -1
- package/dist/es5/index.js +0 -131
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lerc-loader.js +0 -67
- package/dist/es5/lerc-loader.js.map +0 -1
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js +0 -25
- package/dist/es5/lib/parsers/csw/parse-csw-capabilities.js.map +0 -1
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js +0 -43
- package/dist/es5/lib/parsers/csw/parse-csw-domain.js.map +0 -1
- package/dist/es5/lib/parsers/csw/parse-csw-records.js +0 -76
- package/dist/es5/lib/parsers/csw/parse-csw-records.js.map +0 -1
- package/dist/es5/lib/parsers/csw/parse-exception-report.js +0 -16
- package/dist/es5/lib/parsers/csw/parse-exception-report.js.map +0 -1
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js +0 -56
- package/dist/es5/lib/parsers/gml/deep-strict-equal.js.map +0 -1
- package/dist/es5/lib/parsers/gml/parse-gml.js +0 -405
- package/dist/es5/lib/parsers/gml/parse-gml.js.map +0 -1
- package/dist/es5/lib/parsers/lerc/lerc-types.js +0 -2
- package/dist/es5/lib/parsers/lerc/lerc-types.js.map +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js +0 -274
- package/dist/es5/lib/parsers/wms/parse-wms-capabilities.js.map +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-error.js +0 -15
- package/dist/es5/lib/parsers/wms/parse-wms-error.js.map +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-features.js +0 -32
- package/dist/es5/lib/parsers/wms/parse-wms-features.js.map +0 -1
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js +0 -13
- package/dist/es5/lib/parsers/wms/parse-wms-layer-description.js.map +0 -1
- package/dist/es5/lib/parsers/xml/parse-xml-helpers.js +0 -67
- package/dist/es5/lib/parsers/xml/parse-xml-helpers.js.map +0 -1
- package/dist/es5/lib/services/create-image-service.js +0 -53
- package/dist/es5/lib/services/create-image-service.js.map +0 -1
- package/dist/es5/lib/services/image-service.js +0 -118
- package/dist/es5/lib/services/image-service.js.map +0 -1
- package/dist/es5/services/arcgis/arcgis-image-service.js +0 -168
- package/dist/es5/services/arcgis/arcgis-image-service.js.map +0 -1
- package/dist/es5/services/arcgis/arcgis-server.js +0 -111
- package/dist/es5/services/arcgis/arcgis-server.js.map +0 -1
- package/dist/es5/services/create-image-source.js +0 -14
- package/dist/es5/services/create-image-source.js.map +0 -1
- package/dist/es5/services/ogc/csw-service.js +0 -359
- package/dist/es5/services/ogc/csw-service.js.map +0 -1
- package/dist/es5/services/ogc/wms-service.js +0 -539
- package/dist/es5/services/ogc/wms-service.js.map +0 -1
- package/dist/es5/wip/data-source.js +0 -2
- package/dist/es5/wip/data-source.js.map +0 -1
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js +0 -22
- package/dist/es5/wip/lib/wcs/parse-wcs-capabilities.js.map +0 -1
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js +0 -23
- package/dist/es5/wip/lib/wfs/parse-wfs-capabilities.js.map +0 -1
- package/dist/es5/wip/lib/wfs/parse-wfs.js +0 -41
- package/dist/es5/wip/lib/wfs/parse-wfs.js.map +0 -1
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js +0 -23
- package/dist/es5/wip/lib/wmts/parse-wmts-capabilities.js.map +0 -1
- package/dist/es5/wip/lib/wmts/parse-wmts.js +0 -41
- package/dist/es5/wip/lib/wmts/parse-wmts.js.map +0 -1
- package/dist/es5/wip/services/arcgis-feature-service.js +0 -40
- package/dist/es5/wip/services/arcgis-feature-service.js.map +0 -1
- package/dist/es5/wip/wcs-capabilities-loader.js +0 -51
- package/dist/es5/wip/wcs-capabilities-loader.js.map +0 -1
- package/dist/es5/wip/wfs-capabilities-loader.js +0 -51
- package/dist/es5/wip/wfs-capabilities-loader.js.map +0 -1
- package/dist/es5/wip/wms-feature-info-loader.js +0 -42
- package/dist/es5/wip/wms-feature-info-loader.js.map +0 -1
- package/dist/es5/wip/wms-layer-description-loader.js +0 -42
- package/dist/es5/wip/wms-layer-description-loader.js.map +0 -1
- package/dist/es5/wip/wmts-capabilities-loader.js +0 -51
- package/dist/es5/wip/wmts-capabilities-loader.js.map +0 -1
- package/dist/es5/wms-capabilities-loader.js +0 -49
- package/dist/es5/wms-capabilities-loader.js.map +0 -1
- package/dist/es5/wms-error-loader.js +0 -66
- package/dist/es5/wms-error-loader.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/csw-capabilities-loader.js.map +0 -1
- package/dist/esm/csw-domain-loader.js.map +0 -1
- package/dist/esm/csw-records-loader.js.map +0 -1
- package/dist/esm/gml-loader.js.map +0 -1
- package/dist/esm/index.js +0 -18
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lerc-loader.js.map +0 -1
- package/dist/esm/lib/parsers/csw/parse-csw-capabilities.js.map +0 -1
- package/dist/esm/lib/parsers/csw/parse-csw-domain.js.map +0 -1
- package/dist/esm/lib/parsers/csw/parse-csw-records.js.map +0 -1
- package/dist/esm/lib/parsers/csw/parse-exception-report.js.map +0 -1
- package/dist/esm/lib/parsers/gml/deep-strict-equal.js.map +0 -1
- package/dist/esm/lib/parsers/gml/parse-gml.js.map +0 -1
- package/dist/esm/lib/parsers/lerc/lerc-types.js.map +0 -1
- package/dist/esm/lib/parsers/wms/parse-wms-capabilities.js.map +0 -1
- package/dist/esm/lib/parsers/wms/parse-wms-error.js.map +0 -1
- package/dist/esm/lib/parsers/wms/parse-wms-features.js.map +0 -1
- package/dist/esm/lib/parsers/wms/parse-wms-layer-description.js.map +0 -1
- package/dist/esm/lib/parsers/xml/parse-xml-helpers.js.map +0 -1
- package/dist/esm/lib/services/create-image-service.js.map +0 -1
- package/dist/esm/lib/services/image-service.js.map +0 -1
- package/dist/esm/services/arcgis/arcgis-image-service.js.map +0 -1
- package/dist/esm/services/arcgis/arcgis-server.js.map +0 -1
- package/dist/esm/services/create-image-source.js +0 -8
- package/dist/esm/services/create-image-source.js.map +0 -1
- package/dist/esm/services/ogc/csw-service.js.map +0 -1
- package/dist/esm/services/ogc/wms-service.js.map +0 -1
- package/dist/esm/wip/data-source.js.map +0 -1
- package/dist/esm/wip/lib/wcs/parse-wcs-capabilities.js.map +0 -1
- package/dist/esm/wip/lib/wfs/parse-wfs-capabilities.js.map +0 -1
- package/dist/esm/wip/lib/wfs/parse-wfs.js.map +0 -1
- package/dist/esm/wip/lib/wmts/parse-wmts-capabilities.js.map +0 -1
- package/dist/esm/wip/lib/wmts/parse-wmts.js.map +0 -1
- package/dist/esm/wip/services/arcgis-feature-service.js.map +0 -1
- package/dist/esm/wip/services/wmts-service.ts.disabled +0 -348
- package/dist/esm/wip/wcs-capabilities-loader.js.map +0 -1
- package/dist/esm/wip/wfs-capabilities-loader.js.map +0 -1
- package/dist/esm/wip/wms-feature-info-loader.js.map +0 -1
- package/dist/esm/wip/wms-layer-description-loader.js.map +0 -1
- package/dist/esm/wip/wms-layer-description-loader.md.disabled.md +0 -47
- package/dist/esm/wip/wmts-capabilities-loader.js.map +0 -1
- package/dist/esm/wms-capabilities-loader.js.map +0 -1
- package/dist/esm/wms-error-loader.js.map +0 -1
- package/src/bundle.ts +0 -6
- /package/dist/{esm/lib → lib}/parsers/gml/deep-strict-equal.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/lerc/lerc-types.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/wms/parse-wms-error.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/wms/parse-wms-features.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/wms/parse-wms-layer-description.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/xml/parse-xml-helpers.js +0 -0
- /package/dist/{esm/lib → lib}/services/create-image-service.js +0 -0
- /package/dist/{esm/wip → wip}/data-source.js +0 -0
- /package/dist/{esm/wip → wip}/lib/wcs/parse-wcs-capabilities.js +0 -0
- /package/dist/{esm/wip → wip}/lib/wfs/parse-wfs-capabilities.js +0 -0
- /package/dist/{esm/wip → wip}/lib/wfs/parse-wfs.js +0 -0
- /package/dist/{esm/wip → wip}/lib/wmts/parse-wmts-capabilities.js +0 -0
- /package/dist/{esm/wip → wip}/lib/wmts/parse-wmts.js +0 -0
- /package/dist/{es5/wip → wip}/services/wmts-service.ts.disabled +0 -0
- /package/dist/{es5/wip → wip}/wms-layer-description-loader.md.disabled.md +0 -0
|
@@ -1,274 +0,0 @@
|
|
|
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
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var _xml = require("@loaders.gl/xml");
|
|
11
|
-
var _parseXmlHelpers = require("../xml/parse-xml-helpers");
|
|
12
|
-
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; } } }; }
|
|
13
|
-
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); }
|
|
14
|
-
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; }
|
|
15
|
-
function parseWMSCapabilities(xmlText, options) {
|
|
16
|
-
var _XMLLoader$parseTextS;
|
|
17
|
-
var parsedXML = (_XMLLoader$parseTextS = _xml.XMLLoader.parseTextSync) === null || _XMLLoader$parseTextS === void 0 ? void 0 : _XMLLoader$parseTextS.call(_xml.XMLLoader, xmlText, options);
|
|
18
|
-
var xmlCapabilities = parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;
|
|
19
|
-
var capabilities = extractCapabilities(xmlCapabilities);
|
|
20
|
-
if (options !== null && options !== void 0 && options.inheritedLayerProps) {
|
|
21
|
-
var _iterator = _createForOfIteratorHelper(capabilities.layers),
|
|
22
|
-
_step;
|
|
23
|
-
try {
|
|
24
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
25
|
-
var layer = _step.value;
|
|
26
|
-
addInheritedLayerProps(layer, null);
|
|
27
|
-
}
|
|
28
|
-
} catch (err) {
|
|
29
|
-
_iterator.e(err);
|
|
30
|
-
} finally {
|
|
31
|
-
_iterator.f();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (options !== null && options !== void 0 && options.includeRawData || options !== null && options !== void 0 && options.raw) {
|
|
35
|
-
capabilities.raw = xmlCapabilities;
|
|
36
|
-
}
|
|
37
|
-
if (options !== null && options !== void 0 && options.includeXMLText) {
|
|
38
|
-
capabilities.xml = xmlText;
|
|
39
|
-
}
|
|
40
|
-
return capabilities;
|
|
41
|
-
}
|
|
42
|
-
function extractCapabilities(xml) {
|
|
43
|
-
var _xml$Service, _xml$Service2, _xml$Service3, _xml$Service4, _xml$Service5, _xml$Service6, _xml$Service6$Keyword, _xml$Service7, _xml$Service8, _xml$Service9, _xml$Service10, _xml$Service11, _xml$Service12, _xml$Service13, _xml$Capability, _xml$Capability2;
|
|
44
|
-
var capabilities = {
|
|
45
|
-
version: String(xml.version || ''),
|
|
46
|
-
name: String(((_xml$Service = xml.Service) === null || _xml$Service === void 0 ? void 0 : _xml$Service.Name) || 'unnamed'),
|
|
47
|
-
title: (_xml$Service2 = xml.Service) !== null && _xml$Service2 !== void 0 && _xml$Service2.Title ? String((_xml$Service3 = xml.Service) === null || _xml$Service3 === void 0 ? void 0 : _xml$Service3.Title) : undefined,
|
|
48
|
-
abstract: (_xml$Service4 = xml.Service) !== null && _xml$Service4 !== void 0 && _xml$Service4.Abstract ? String((_xml$Service5 = xml.Service) === null || _xml$Service5 === void 0 ? void 0 : _xml$Service5.Abstract) : undefined,
|
|
49
|
-
keywords: (0, _parseXmlHelpers.getXMLStringArray)((_xml$Service6 = xml.Service) === null || _xml$Service6 === void 0 ? void 0 : (_xml$Service6$Keyword = _xml$Service6.KeywordList) === null || _xml$Service6$Keyword === void 0 ? void 0 : _xml$Service6$Keyword.Keyword),
|
|
50
|
-
fees: (_xml$Service7 = xml.Service) !== null && _xml$Service7 !== void 0 && _xml$Service7.Fees ? JSON.stringify((_xml$Service8 = xml.Service) === null || _xml$Service8 === void 0 ? void 0 : _xml$Service8.Fees) : undefined,
|
|
51
|
-
accessConstraints: (_xml$Service9 = xml.Service) !== null && _xml$Service9 !== void 0 && _xml$Service9.AccessConstraints ? JSON.stringify((_xml$Service10 = xml.Service) === null || _xml$Service10 === void 0 ? void 0 : _xml$Service10.AccessConstraints) : undefined,
|
|
52
|
-
layerLimit: (0, _parseXmlHelpers.getXMLInteger)((_xml$Service11 = xml.Service) === null || _xml$Service11 === void 0 ? void 0 : _xml$Service11.LayerLimit),
|
|
53
|
-
maxWidth: (0, _parseXmlHelpers.getXMLInteger)((_xml$Service12 = xml.Service) === null || _xml$Service12 === void 0 ? void 0 : _xml$Service12.maxWidth),
|
|
54
|
-
maxHeight: (0, _parseXmlHelpers.getXMLInteger)((_xml$Service13 = xml.Service) === null || _xml$Service13 === void 0 ? void 0 : _xml$Service13.maxHeight),
|
|
55
|
-
layers: [],
|
|
56
|
-
requests: extractRequests((_xml$Capability = xml.Capability) === null || _xml$Capability === void 0 ? void 0 : _xml$Capability.Request),
|
|
57
|
-
exceptions: extractExceptions(xml.Exception)
|
|
58
|
-
};
|
|
59
|
-
var xmlLayers = (0, _parseXmlHelpers.getXMLArray)((_xml$Capability2 = xml.Capability) === null || _xml$Capability2 === void 0 ? void 0 : _xml$Capability2.Layer);
|
|
60
|
-
var _iterator2 = _createForOfIteratorHelper(xmlLayers),
|
|
61
|
-
_step2;
|
|
62
|
-
try {
|
|
63
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
64
|
-
var xmlSubLayer = _step2.value;
|
|
65
|
-
capabilities.layers.push(extractLayer(xmlSubLayer));
|
|
66
|
-
}
|
|
67
|
-
} catch (err) {
|
|
68
|
-
_iterator2.e(err);
|
|
69
|
-
} finally {
|
|
70
|
-
_iterator2.f();
|
|
71
|
-
}
|
|
72
|
-
for (var _i = 0, _Object$entries = Object.entries(capabilities); _i < _Object$entries.length; _i++) {
|
|
73
|
-
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
74
|
-
key = _Object$entries$_i[0],
|
|
75
|
-
value = _Object$entries$_i[1];
|
|
76
|
-
if (value === undefined) {
|
|
77
|
-
delete capabilities[key];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return capabilities;
|
|
81
|
-
}
|
|
82
|
-
function extractRequests(xmlRequests) {
|
|
83
|
-
var requests = {};
|
|
84
|
-
var _iterator3 = _createForOfIteratorHelper(Object.entries(xmlRequests || {})),
|
|
85
|
-
_step3;
|
|
86
|
-
try {
|
|
87
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
88
|
-
var _step3$value = (0, _slicedToArray2.default)(_step3.value, 2),
|
|
89
|
-
name = _step3$value[0],
|
|
90
|
-
xmlRequest = _step3$value[1];
|
|
91
|
-
var mimeTypes = (0, _parseXmlHelpers.getXMLStringArray)(xmlRequest === null || xmlRequest === void 0 ? void 0 : xmlRequest.Format);
|
|
92
|
-
requests[name] = {
|
|
93
|
-
mimeTypes: mimeTypes
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
} catch (err) {
|
|
97
|
-
_iterator3.e(err);
|
|
98
|
-
} finally {
|
|
99
|
-
_iterator3.f();
|
|
100
|
-
}
|
|
101
|
-
return requests;
|
|
102
|
-
}
|
|
103
|
-
function extractExceptions(xmlException) {
|
|
104
|
-
var xmlExceptionFormats = (0, _parseXmlHelpers.getXMLArray)(xmlException === null || xmlException === void 0 ? void 0 : xmlException.Format);
|
|
105
|
-
if (xmlExceptionFormats.length > 0) {
|
|
106
|
-
return {
|
|
107
|
-
mimeTypes: (0, _parseXmlHelpers.getXMLStringArray)(xmlException)
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
|
-
function extractLayer(xmlLayer) {
|
|
113
|
-
var _xmlLayer$KeywordList;
|
|
114
|
-
var layer = {
|
|
115
|
-
title: String((xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Title) || ''),
|
|
116
|
-
name: (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name) && String(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name),
|
|
117
|
-
abstract: (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Name) && String(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Abstract),
|
|
118
|
-
keywords: (0, _parseXmlHelpers.getXMLStringArray)((_xmlLayer$KeywordList = xmlLayer.KeywordList) === null || _xmlLayer$KeywordList === void 0 ? void 0 : _xmlLayer$KeywordList.Keyword)
|
|
119
|
-
};
|
|
120
|
-
var crs = (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.CRS) || (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.SRS);
|
|
121
|
-
if (crs && Array.isArray(crs) && crs.every(function (_) {
|
|
122
|
-
return typeof _ === 'string';
|
|
123
|
-
})) {
|
|
124
|
-
layer.crs = crs;
|
|
125
|
-
}
|
|
126
|
-
var geographicBoundingBox = (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.EX_GeographicBoundingBox) && extractEXBoundingBox(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.EX_GeographicBoundingBox);
|
|
127
|
-
if (geographicBoundingBox) {
|
|
128
|
-
layer.geographicBoundingBox = geographicBoundingBox;
|
|
129
|
-
}
|
|
130
|
-
geographicBoundingBox = (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.LatLonBoundingBox) && extractLatLonBoundingBox(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.LatLonBoundingBox);
|
|
131
|
-
if (geographicBoundingBox) {
|
|
132
|
-
layer.geographicBoundingBox = geographicBoundingBox;
|
|
133
|
-
}
|
|
134
|
-
var boundingBoxes = (xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.BoundingBox) && extractWMSBoundingBoxes(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.BoundingBox);
|
|
135
|
-
if (boundingBoxes && boundingBoxes.length > 0) {
|
|
136
|
-
layer.boundingBoxes = boundingBoxes;
|
|
137
|
-
}
|
|
138
|
-
var xmlDimensions = (0, _parseXmlHelpers.getXMLArray)(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Dimension);
|
|
139
|
-
var dimensions = xmlDimensions.map(function (xml) {
|
|
140
|
-
return extractDimension(xml);
|
|
141
|
-
});
|
|
142
|
-
if (dimensions.length) {
|
|
143
|
-
layer.dimensions = dimensions;
|
|
144
|
-
}
|
|
145
|
-
if (xmlLayer !== null && xmlLayer !== void 0 && xmlLayer.opaque) {
|
|
146
|
-
layer.opaque = (0, _parseXmlHelpers.getXMLBoolean)(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.opaque);
|
|
147
|
-
}
|
|
148
|
-
if (xmlLayer !== null && xmlLayer !== void 0 && xmlLayer.cascaded) {
|
|
149
|
-
layer.cascaded = (0, _parseXmlHelpers.getXMLBoolean)(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.cascaded);
|
|
150
|
-
}
|
|
151
|
-
if (xmlLayer !== null && xmlLayer !== void 0 && xmlLayer.queryable) {
|
|
152
|
-
layer.queryable = (0, _parseXmlHelpers.getXMLBoolean)(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.queryable);
|
|
153
|
-
}
|
|
154
|
-
var xmlLayers = (0, _parseXmlHelpers.getXMLArray)(xmlLayer === null || xmlLayer === void 0 ? void 0 : xmlLayer.Layer);
|
|
155
|
-
var layers = [];
|
|
156
|
-
var _iterator4 = _createForOfIteratorHelper(xmlLayers),
|
|
157
|
-
_step4;
|
|
158
|
-
try {
|
|
159
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
160
|
-
var xmlSubLayer = _step4.value;
|
|
161
|
-
layers.push(extractLayer(xmlSubLayer));
|
|
162
|
-
}
|
|
163
|
-
} catch (err) {
|
|
164
|
-
_iterator4.e(err);
|
|
165
|
-
} finally {
|
|
166
|
-
_iterator4.f();
|
|
167
|
-
}
|
|
168
|
-
if (layers.length > 0) {
|
|
169
|
-
layer.layers = layers;
|
|
170
|
-
}
|
|
171
|
-
for (var _i2 = 0, _Object$entries2 = Object.entries(layer); _i2 < _Object$entries2.length; _i2++) {
|
|
172
|
-
var _Object$entries2$_i = (0, _slicedToArray2.default)(_Object$entries2[_i2], 2),
|
|
173
|
-
key = _Object$entries2$_i[0],
|
|
174
|
-
value = _Object$entries2$_i[1];
|
|
175
|
-
if (value === undefined) {
|
|
176
|
-
delete layer[key];
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
return layer;
|
|
180
|
-
}
|
|
181
|
-
function extractEXBoundingBox(xmlBoundingBox) {
|
|
182
|
-
var w = xmlBoundingBox.westBoundLongitude,
|
|
183
|
-
n = xmlBoundingBox.northBoundLatitude,
|
|
184
|
-
e = xmlBoundingBox.eastBoundLongitude,
|
|
185
|
-
s = xmlBoundingBox.southBoundLatitude;
|
|
186
|
-
return [[w, s], [e, n]];
|
|
187
|
-
}
|
|
188
|
-
function extractLatLonBoundingBox(xmlBoundingBox) {
|
|
189
|
-
var minx = xmlBoundingBox.minx,
|
|
190
|
-
miny = xmlBoundingBox.miny,
|
|
191
|
-
maxx = xmlBoundingBox.maxx,
|
|
192
|
-
maxy = xmlBoundingBox.maxy;
|
|
193
|
-
return [[minx, miny], [maxx, maxy]];
|
|
194
|
-
}
|
|
195
|
-
function extractWMSBoundingBoxes(xmlBoundingBoxes) {
|
|
196
|
-
var xmlBoxes = (0, _parseXmlHelpers.getXMLArray)(xmlBoundingBoxes);
|
|
197
|
-
return xmlBoxes.map(function (xmlBox) {
|
|
198
|
-
return extractWMSBoundingBox(xmlBox);
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
function extractWMSBoundingBox(xmlBoundingBox) {
|
|
202
|
-
var CRS = xmlBoundingBox.CRS,
|
|
203
|
-
SRS = xmlBoundingBox.SRS,
|
|
204
|
-
minx = xmlBoundingBox.minx,
|
|
205
|
-
miny = xmlBoundingBox.miny,
|
|
206
|
-
maxx = xmlBoundingBox.maxx,
|
|
207
|
-
maxy = xmlBoundingBox.maxy,
|
|
208
|
-
resx = xmlBoundingBox.resx,
|
|
209
|
-
resy = xmlBoundingBox.resy;
|
|
210
|
-
var boundingBox = {
|
|
211
|
-
crs: CRS || SRS,
|
|
212
|
-
boundingBox: [[(0, _parseXmlHelpers.getXMLFloat)(minx), (0, _parseXmlHelpers.getXMLFloat)(miny)], [(0, _parseXmlHelpers.getXMLFloat)(maxx), (0, _parseXmlHelpers.getXMLFloat)(maxy)]]
|
|
213
|
-
};
|
|
214
|
-
if (resx) {
|
|
215
|
-
boundingBox.xResolution = resx;
|
|
216
|
-
}
|
|
217
|
-
if (resy) {
|
|
218
|
-
boundingBox.yResolution = resy;
|
|
219
|
-
}
|
|
220
|
-
return boundingBox;
|
|
221
|
-
}
|
|
222
|
-
function extractDimension(xmlDimension) {
|
|
223
|
-
var name = xmlDimension.name,
|
|
224
|
-
units = xmlDimension.units,
|
|
225
|
-
extent = xmlDimension.value;
|
|
226
|
-
var dimension = {
|
|
227
|
-
name: name,
|
|
228
|
-
units: units,
|
|
229
|
-
extent: extent
|
|
230
|
-
};
|
|
231
|
-
if (xmlDimension.unitSymbol) {
|
|
232
|
-
dimension.unitSymbol = xmlDimension.unitSymbol;
|
|
233
|
-
}
|
|
234
|
-
if (xmlDimension.default) {
|
|
235
|
-
dimension.defaultValue = xmlDimension.default;
|
|
236
|
-
}
|
|
237
|
-
if (xmlDimension.multipleValues) {
|
|
238
|
-
dimension.multipleValues = (0, _parseXmlHelpers.getXMLBoolean)(xmlDimension.multipleValues);
|
|
239
|
-
}
|
|
240
|
-
if (xmlDimension.nearestValue) {
|
|
241
|
-
dimension.nearestValue = (0, _parseXmlHelpers.getXMLBoolean)(xmlDimension.nearestValue);
|
|
242
|
-
}
|
|
243
|
-
if (xmlDimension.current) {
|
|
244
|
-
dimension.current = (0, _parseXmlHelpers.getXMLBoolean)(xmlDimension.current);
|
|
245
|
-
}
|
|
246
|
-
return dimension;
|
|
247
|
-
}
|
|
248
|
-
function addInheritedLayerProps(layer, parent) {
|
|
249
|
-
if (parent !== null && parent !== void 0 && parent.geographicBoundingBox && !layer.geographicBoundingBox) {
|
|
250
|
-
layer.geographicBoundingBox = (0, _toConsumableArray2.default)(parent.geographicBoundingBox);
|
|
251
|
-
}
|
|
252
|
-
if (parent !== null && parent !== void 0 && parent.crs && !layer.crs) {
|
|
253
|
-
layer.crs = (0, _toConsumableArray2.default)(parent.crs);
|
|
254
|
-
}
|
|
255
|
-
if (parent !== null && parent !== void 0 && parent.boundingBoxes && !layer.boundingBoxes) {
|
|
256
|
-
layer.boundingBoxes = (0, _toConsumableArray2.default)(parent.boundingBoxes);
|
|
257
|
-
}
|
|
258
|
-
if (parent !== null && parent !== void 0 && parent.dimensions && !layer.dimensions) {
|
|
259
|
-
layer.dimensions = (0, _toConsumableArray2.default)(parent.dimensions);
|
|
260
|
-
}
|
|
261
|
-
var _iterator5 = _createForOfIteratorHelper(layer.layers || []),
|
|
262
|
-
_step5;
|
|
263
|
-
try {
|
|
264
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
265
|
-
var subLayer = _step5.value;
|
|
266
|
-
addInheritedLayerProps(subLayer, layer);
|
|
267
|
-
}
|
|
268
|
-
} catch (err) {
|
|
269
|
-
_iterator5.e(err);
|
|
270
|
-
} finally {
|
|
271
|
-
_iterator5.f();
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
//# sourceMappingURL=parse-wms-capabilities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wms-capabilities.js","names":["_xml","require","_parseXmlHelpers","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","parseWMSCapabilities","xmlText","options","_XMLLoader$parseTextS","parsedXML","XMLLoader","parseTextSync","xmlCapabilities","WMT_MS_Capabilities","WMS_Capabilities","capabilities","extractCapabilities","inheritedLayerProps","_iterator","layers","_step","layer","addInheritedLayerProps","includeRawData","raw","includeXMLText","xml","_xml$Service","_xml$Service2","_xml$Service3","_xml$Service4","_xml$Service5","_xml$Service6","_xml$Service6$Keyword","_xml$Service7","_xml$Service8","_xml$Service9","_xml$Service10","_xml$Service11","_xml$Service12","_xml$Service13","_xml$Capability","_xml$Capability2","version","String","Service","Name","title","Title","undefined","abstract","Abstract","keywords","getXMLStringArray","KeywordList","Keyword","fees","Fees","JSON","stringify","accessConstraints","AccessConstraints","layerLimit","getXMLInteger","LayerLimit","maxWidth","maxHeight","requests","extractRequests","Capability","Request","exceptions","extractExceptions","Exception","xmlLayers","getXMLArray","Layer","_iterator2","_step2","xmlSubLayer","push","extractLayer","_i","_Object$entries","entries","_Object$entries$_i","_slicedToArray2","default","key","xmlRequests","_iterator3","_step3","_step3$value","xmlRequest","mimeTypes","Format","xmlException","xmlExceptionFormats","xmlLayer","_xmlLayer$KeywordList","crs","CRS","SRS","every","_","geographicBoundingBox","EX_GeographicBoundingBox","extractEXBoundingBox","LatLonBoundingBox","extractLatLonBoundingBox","boundingBoxes","BoundingBox","extractWMSBoundingBoxes","xmlDimensions","Dimension","dimensions","map","extractDimension","opaque","getXMLBoolean","cascaded","queryable","_iterator4","_step4","_i2","_Object$entries2","_Object$entries2$_i","xmlBoundingBox","w","westBoundLongitude","northBoundLatitude","eastBoundLongitude","southBoundLatitude","minx","miny","maxx","maxy","xmlBoundingBoxes","xmlBoxes","xmlBox","extractWMSBoundingBox","resx","resy","boundingBox","getXMLFloat","xResolution","yResolution","xmlDimension","units","extent","dimension","unitSymbol","defaultValue","multipleValues","nearestValue","current","parent","_toConsumableArray2","_iterator5","_step5","subLayer"],"sources":["../../../../../src/lib/parsers/wms/parse-wms-capabilities.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLLoader} from '@loaders.gl/xml';\nimport {\n getXMLArray,\n getXMLStringArray,\n getXMLInteger,\n getXMLFloat,\n getXMLBoolean\n} from '../xml/parse-xml-helpers';\n\n/** All capabilities of a WMS service - response to a WMS `GetCapabilities` data structure extracted from XML */\nexport type WMSCapabilities = {\n /** Version of the WMS service */\n version?: string; // '1.3.0' | '1.1.1' | '1.1.0' | '1.0.0'\n /** A short name for the service */\n name: string;\n /** A human readable name for the service */\n title?: string;\n /** A more extensive description of the service */\n abstract?: string;\n /** A set of keywords e.g. for searching services */\n keywords: string[];\n /** A field of unspecified format, if present describes any access constraints required to use the service. */\n accessConstraints?: string;\n /** A field of unspecified format, if present describes any fees associated with the use of the service */\n fees?: string;\n /** If present, the max number of layers that can be rendered by the service */\n layerLimit?: number;\n /** If present, the widest image that can be rendered by the service */\n maxWidth?: number;\n /** If present, the tallest image that can be rendered by the service */\n maxHeight?: number;\n /** Hierarchical list of layers. */\n layers: WMSLayer[];\n /** A map with information about supported WMS requests. If a record is present, the request is supported by the service */\n requests: Record<string, WMSRequest>;\n /** Information about any exceptions that the service will report (HTTP status != 2xx) */\n exceptions?: WMSExceptions;\n /** Only if `options.raw`: raw untyped JSON parsed from XML. Can include information not extracted in the typed response. */\n raw?: Record<string, unknown>;\n /** Only if `options.xml`, the unparsed XML string can be requested */\n xml?: string;\n};\n\n/**\n * Metadata about a layer\n * Layers inherit many properties from their parent layers, see description of individual props for details.\n * @see https://www.ogc.org/standard/wms/ 7.2.4.6\n */\nexport type WMSLayer = {\n /** The title is a human readable name. It is mandatory on each layer. Not inherited. */\n title: string;\n /** A layer is renderable if it has a name. A named parent layer will render all its sublayers. Not inherited. */\n name?: string;\n /** A narrative description of the map layer. */\n abstract?: string;\n /** A set of keywords e.g. for searching layers */\n keywords: string[];\n /** layer limits in unspecified CRS:84-like lng/lat, for quick access w/o CRS calculations. Defined or inherited. */\n geographicBoundingBox?: [min: [x: number, y: number], max: [x: number, y: number]];\n /** Supported CRS. Either defined or inherited. */\n crs?: string[];\n /** Bounding boxes in specific CRS:es */\n boundingBoxes?: WMSBoundingBox[];\n\n // minScale: number;\n // maxScale: number;\n // dimensions: ?? 7.2.4.6.10\n // MetadataURL\n // Attribution\n // Identifier and AuthorityURL\n // FeatureListURL\n // DataURL\n\n /** any extra dimension such as time */\n dimensions?: WMSDimension[];\n\n /** Whether queries can be performed on the layer */\n queryable?: boolean;\n /** `false` if layer has significant no-data areas that the client can display as transparent. */\n opaque?: boolean;\n /** WMS cascading allows server to expose layers coming from other WMS servers as if they were local layers */\n cascaded?: boolean;\n // noSubsets: boolean\n // fixedWith: number\n // fixedHeight: number\n\n /** A list of styles. @note not yet supported by WMSCapabilitiesLoader */\n styles?: unknown[];\n\n /** Sublayers - these inherit crs and boundingBox) if not overridden) */\n layers?: WMSLayer[];\n};\n\n/**\n * A bounding box specifies the coordinate range for data in the layer.\n * No data is available outside the bounding box.\n */\nexport type WMSBoundingBox = {\n /** CRS indicates the Layer CRS that applies to this bounding box. */\n crs: string;\n /** `[[w, s], [e, n]]`, indicates the limits of the bounding box using the axis units and order of the specified CRS. */\n boundingBox: [min: [x: number, y: number], max: [x: number, y: number]];\n /** Spatial horizontal resolution of data in same units as bounding box */\n xResolution?: number;\n /** Spatial vertical resolution of data in same units as bounding box */\n yResolution?: number;\n};\n\n/**\n * An optional dimension that can be queried using the `name=...` parameter\n * Note that layers that have at least one dimension without `default` value\n * become unrenderable unless the dimension value is supplied to GetMap requests.\n */\nexport type WMSDimension = {\n /** name of dimension, becomes a valid parameter key for this layer */\n name: string;\n /** Textual units for this dimensional axis */\n units: string;\n /** Unit symbol for this dimensional axis */\n unitSymbol?: string;\n /** Default value if no value is supplied. If dimension lacks defaultValue, requests fail if no value is supplied */\n defaultValue?: string;\n /** Can multiple values of the dimension be requested? */\n multipleValues?: boolean;\n /* Will nearest values will be substituted when out of range, if false exact values are required */\n nearestValue?: boolean;\n /** A special value \"current\" is supported, typically for time dimension */\n current?: boolean;\n /** Text content indicating available values for dimension */\n extent: string;\n};\n\n/** Metadata about a supported WMS request */\nexport type WMSRequest = {\n /** MIMEtypes that can be returned by this request. */\n mimeTypes: string[];\n};\n\nexport type WMSExceptions = {\n /** MIME types for exception response payloads. */\n mimeTypes: string[];\n};\n\nexport type ParseWMSCapabilitiesOptions = {\n /** Add inherited layer information to sub layers */\n inheritedLayerProps?: boolean;\n /** Include the \"raw\" JSON (parsed but untyped, unprocessed XML). May contain additional fields */\n includeRawData?: boolean;\n /** Include the original XML document text. May contain additional information. */\n includeXMLText?: boolean;\n /** @deprecated Use includeRawData` */\n raw?: boolean;\n // xml options are passed through to xml loader\n};\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(\n xmlText: string,\n options?: ParseWMSCapabilitiesOptions\n): WMSCapabilities {\n const parsedXML = XMLLoader.parseTextSync?.(xmlText, options);\n const xmlCapabilities: any =\n parsedXML.WMT_MS_Capabilities || parsedXML.WMS_Capabilities || parsedXML;\n const capabilities = extractCapabilities(xmlCapabilities);\n // In case the processed, normalized capabilities do not contain everything,\n // the user can get the parsed XML structure.\n if (options?.inheritedLayerProps) {\n // Traverse layers and inject missing props from parents\n for (const layer of capabilities.layers) {\n addInheritedLayerProps(layer, null);\n }\n // Not yet implemented\n }\n\n if (options?.includeRawData || options?.raw) {\n capabilities.raw = xmlCapabilities;\n }\n\n if (options?.includeXMLText) {\n capabilities.xml = xmlText;\n }\n\n return capabilities;\n}\n\n/** Extract typed capability data from XML */\nfunction extractCapabilities(xml: any): WMSCapabilities {\n const capabilities: WMSCapabilities = {\n version: String(xml.version || ''),\n name: String(xml.Service?.Name || 'unnamed'),\n title: xml.Service?.Title ? String(xml.Service?.Title) : undefined,\n abstract: xml.Service?.Abstract ? String(xml.Service?.Abstract) : undefined,\n keywords: getXMLStringArray(xml.Service?.KeywordList?.Keyword),\n fees: xml.Service?.Fees ? JSON.stringify(xml.Service?.Fees) : undefined,\n accessConstraints: xml.Service?.AccessConstraints\n ? JSON.stringify(xml.Service?.AccessConstraints)\n : undefined,\n layerLimit: getXMLInteger(xml.Service?.LayerLimit),\n maxWidth: getXMLInteger(xml.Service?.maxWidth),\n maxHeight: getXMLInteger(xml.Service?.maxHeight),\n layers: [],\n requests: extractRequests(xml.Capability?.Request),\n exceptions: extractExceptions(xml.Exception)\n // contact field is a mess of largely irrelevant information, put it last\n // contact: xml.Service?.Contact ? JSON.stringify(xml.Service?.Contact) : undefined,\n };\n\n // LAYERS\n const xmlLayers = getXMLArray(xml.Capability?.Layer);\n for (const xmlSubLayer of xmlLayers) {\n capabilities.layers.push(extractLayer(xmlSubLayer));\n }\n\n // Clean up object\n for (const [key, value] of Object.entries(capabilities)) {\n if (value === undefined) {\n delete capabilities[key];\n }\n }\n\n return capabilities;\n}\n\n/** Extract typed request metadata from XML requests field */\nfunction extractRequests(xmlRequests: any): Record<string, WMSRequest> {\n const requests: Record<string, WMSRequest> = {};\n for (const [name, xmlRequest] of Object.entries(xmlRequests || {}) as any) {\n const mimeTypes = getXMLStringArray(xmlRequest?.Format);\n requests[name] = {mimeTypes};\n }\n return requests;\n}\n\nfunction extractExceptions(xmlException: any): WMSExceptions | undefined {\n const xmlExceptionFormats = getXMLArray(xmlException?.Format);\n if (xmlExceptionFormats.length > 0) {\n return {\n mimeTypes: getXMLStringArray(xmlException)\n };\n }\n return undefined;\n}\n\n/** Extract request data */\n// eslint-disable-next-line complexity, max-statements\nfunction extractLayer(xmlLayer: any): WMSLayer {\n const layer: WMSLayer = {\n // All layers must have a title\n title: String(xmlLayer?.Title || ''),\n // Name is required only if renderable\n name: xmlLayer?.Name && String(xmlLayer?.Name),\n abstract: xmlLayer?.Name && String(xmlLayer?.Abstract),\n keywords: getXMLStringArray(xmlLayer.KeywordList?.Keyword)\n };\n\n // WMS 1.3.0 changes SRS to CRS\n const crs = xmlLayer?.CRS || xmlLayer?.SRS;\n if (crs && Array.isArray(crs) && crs.every((_) => typeof _ === 'string')) {\n layer.crs = crs;\n }\n\n // v1.3.0 extract simple geographic bounding box\n let geographicBoundingBox =\n xmlLayer?.EX_GeographicBoundingBox && extractEXBoundingBox(xmlLayer?.EX_GeographicBoundingBox);\n if (geographicBoundingBox) {\n layer.geographicBoundingBox = geographicBoundingBox;\n }\n\n // v1.1.1 extract simple geographic bounding box\n geographicBoundingBox =\n xmlLayer?.LatLonBoundingBox && extractLatLonBoundingBox(xmlLayer?.LatLonBoundingBox);\n if (geographicBoundingBox) {\n layer.geographicBoundingBox = geographicBoundingBox;\n }\n\n // Extract per-CRS bounding boxes\n const boundingBoxes = xmlLayer?.BoundingBox && extractWMSBoundingBoxes(xmlLayer?.BoundingBox);\n if (boundingBoxes && boundingBoxes.length > 0) {\n layer.boundingBoxes = boundingBoxes;\n }\n\n // Extract dimensions\n const xmlDimensions = getXMLArray(xmlLayer?.Dimension);\n const dimensions = xmlDimensions.map((xml) => extractDimension(xml));\n if (dimensions.length) {\n layer.dimensions = dimensions;\n }\n\n if (xmlLayer?.opaque) {\n layer.opaque = getXMLBoolean(xmlLayer?.opaque);\n }\n if (xmlLayer?.cascaded) {\n layer.cascaded = getXMLBoolean(xmlLayer?.cascaded);\n }\n if (xmlLayer?.queryable) {\n layer.queryable = getXMLBoolean(xmlLayer?.queryable);\n }\n\n // Single layer is not represented as array in XML\n const xmlLayers = getXMLArray(xmlLayer?.Layer);\n const layers: WMSLayer[] = [];\n\n for (const xmlSubLayer of xmlLayers) {\n layers.push(extractLayer(xmlSubLayer));\n }\n\n if (layers.length > 0) {\n layer.layers = layers;\n }\n\n // Clean up object\n for (const [key, value] of Object.entries(layer)) {\n if (value === undefined) {\n delete layer[key];\n }\n }\n\n return layer;\n}\n\n/** WMS 1.3.0 Loosely defined geospatial bounding box in unspecified CRS for quick content searches */\nfunction extractEXBoundingBox(xmlBoundingBox: any): [[number, number], [number, number]] {\n const {\n westBoundLongitude: w,\n northBoundLatitude: n,\n eastBoundLongitude: e,\n southBoundLatitude: s\n } = xmlBoundingBox;\n return [\n [w, s],\n [e, n]\n ];\n}\n\n/** WMS 1.1.1 Loosely defined geospatial bounding box in unspecified CRS for quick content searches */\nfunction extractLatLonBoundingBox(xmlBoundingBox: any): [[number, number], [number, number]] {\n const {minx, miny, maxx, maxy} = xmlBoundingBox;\n return [\n [minx, miny],\n [maxx, maxy]\n ];\n}\n\n/** Loosely defined geospatial bounding box in unspecified CRS for quick content searches */\nfunction extractWMSBoundingBoxes(xmlBoundingBoxes: any): WMSBoundingBox[] {\n const xmlBoxes = getXMLArray(xmlBoundingBoxes);\n return xmlBoxes.map((xmlBox) => extractWMSBoundingBox(xmlBox));\n}\n\n/** Loosely defined geospatial bounding box in unspecified CRS for quick content searches */\nfunction extractWMSBoundingBox(xmlBoundingBox: any): WMSBoundingBox {\n const {CRS, SRS, minx, miny, maxx, maxy, resx, resy} = xmlBoundingBox;\n const boundingBox: WMSBoundingBox = {\n // CRS in 1.3.0, SRS in 1.1.1\n crs: CRS || SRS,\n boundingBox: [\n [getXMLFloat(minx) as number, getXMLFloat(miny) as number],\n [getXMLFloat(maxx) as number, getXMLFloat(maxy) as number]\n ]\n };\n if (resx) {\n boundingBox.xResolution = resx;\n }\n if (resy) {\n boundingBox.yResolution = resy;\n }\n return boundingBox;\n}\n\n/**\n * Extracts optional WMS Dimension layer field\n * @param xmlDimension\n * @example <Dimension name=\"time\" units=\"ISO8601\" default=\"2018-01-01\" nearestValue=\"0\">2001-01-01/2018-01-01/P1Y</Dimension>\n * @see https://mapserver.org/ogc/wms_dimension.html\n */\nfunction extractDimension(xmlDimension: any): WMSDimension {\n const {name, units, value: extent} = xmlDimension;\n\n const dimension: WMSDimension = {name, units, extent};\n\n if (xmlDimension.unitSymbol) {\n dimension.unitSymbol = xmlDimension.unitSymbol;\n }\n if (xmlDimension.default) {\n dimension.defaultValue = xmlDimension.default;\n }\n if (xmlDimension.multipleValues) {\n dimension.multipleValues = getXMLBoolean(xmlDimension.multipleValues);\n }\n if (xmlDimension.nearestValue) {\n dimension.nearestValue = getXMLBoolean(xmlDimension.nearestValue);\n }\n if (xmlDimension.current) {\n dimension.current = getXMLBoolean(xmlDimension.current);\n }\n\n return dimension;\n}\n\n/** Traverse layers and inject missing props from parents */\n// eslint-disable-next-line complexity\nfunction addInheritedLayerProps(layer: WMSLayer, parent: WMSLayer | null): void {\n if (parent?.geographicBoundingBox && !layer.geographicBoundingBox) {\n layer.geographicBoundingBox = [...parent.geographicBoundingBox];\n }\n\n if (parent?.crs && !layer.crs) {\n layer.crs = [...parent.crs];\n }\n\n if (parent?.boundingBoxes && !layer.boundingBoxes) {\n layer.boundingBoxes = [...parent.boundingBoxes];\n }\n\n if (parent?.dimensions && !layer.dimensions) {\n layer.dimensions = [...parent.dimensions];\n }\n\n for (const subLayer of layer.layers || []) {\n addInheritedLayerProps(subLayer, layer);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseWMSError = parseWMSError;
|
|
7
|
-
var _xml = require("@loaders.gl/xml");
|
|
8
|
-
function parseWMSError(text, options) {
|
|
9
|
-
var _XMLLoader$parseTextS, _parsedXML$ServiceExc, _parsedXML$ogcServic;
|
|
10
|
-
var parsedXML = (_XMLLoader$parseTextS = _xml.XMLLoader.parseTextSync) === null || _XMLLoader$parseTextS === void 0 ? void 0 : _XMLLoader$parseTextS.call(_xml.XMLLoader, text, options);
|
|
11
|
-
var serviceExceptionXML = (parsedXML === null || parsedXML === void 0 ? void 0 : (_parsedXML$ServiceExc = parsedXML.ServiceExceptionReport) === null || _parsedXML$ServiceExc === void 0 ? void 0 : _parsedXML$ServiceExc.ServiceException) || (parsedXML === null || parsedXML === void 0 ? void 0 : (_parsedXML$ogcServic = parsedXML['ogc:ServiceExceptionReport']) === null || _parsedXML$ogcServic === void 0 ? void 0 : _parsedXML$ogcServic['ogc:ServiceException']);
|
|
12
|
-
var message = typeof serviceExceptionXML === 'string' ? serviceExceptionXML : serviceExceptionXML.value || serviceExceptionXML.code || 'Unknown error';
|
|
13
|
-
return message;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=parse-wms-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wms-error.js","names":["_xml","require","parseWMSError","text","options","_XMLLoader$parseTextS","_parsedXML$ServiceExc","_parsedXML$ogcServic","parsedXML","XMLLoader","parseTextSync","call","serviceExceptionXML","ServiceExceptionReport","ServiceException","message","value","code"],"sources":["../../../../../src/lib/parsers/wms/parse-wms-error.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\n/**\n * Extract an error message from WMS error response XML\n * @param text\n * @param options\n * @returns a string with a human readable message\n */\nexport function parseWMSError(text: string, options): string {\n const parsedXML = XMLLoader.parseTextSync?.(text, options);\n const serviceExceptionXML =\n parsedXML?.ServiceExceptionReport?.ServiceException ||\n parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];\n // Sigh, can be either a string or an object\n const message =\n typeof serviceExceptionXML === 'string'\n ? serviceExceptionXML\n : serviceExceptionXML.value || serviceExceptionXML.code || 'Unknown error';\n return message;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AAQO,SAASC,aAAaA,CAACC,IAAY,EAAEC,OAAO,EAAU;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA;EAC3D,IAAMC,SAAS,IAAAH,qBAAA,GAAGI,cAAS,CAACC,aAAa,cAAAL,qBAAA,uBAAvBA,qBAAA,CAAAM,IAAA,CAAAF,cAAS,EAAiBN,IAAI,EAAEC,OAAO,CAAC;EAC1D,IAAMQ,mBAAmB,GACvB,CAAAJ,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAEK,sBAAsB,cAAAP,qBAAA,uBAAjCA,qBAAA,CAAmCQ,gBAAgB,MACnDN,SAAS,aAATA,SAAS,wBAAAD,oBAAA,GAATC,SAAS,CAAG,4BAA4B,CAAC,cAAAD,oBAAA,uBAAzCA,oBAAA,CAA4C,sBAAsB,CAAC;EAErE,IAAMQ,OAAO,GACX,OAAOH,mBAAmB,KAAK,QAAQ,GACnCA,mBAAmB,GACnBA,mBAAmB,CAACI,KAAK,IAAIJ,mBAAmB,CAACK,IAAI,IAAI,eAAe;EAC9E,OAAOF,OAAO;AAChB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseWMSFeatureInfo = parseWMSFeatureInfo;
|
|
7
|
-
var _xml = require("@loaders.gl/xml");
|
|
8
|
-
function parseWMSFeatureInfo(text, options) {
|
|
9
|
-
var _XMLLoader$parseTextS, _parsedXML$FeatureInf;
|
|
10
|
-
var parsedXML = (_XMLLoader$parseTextS = _xml.XMLLoader.parseTextSync) === null || _XMLLoader$parseTextS === void 0 ? void 0 : _XMLLoader$parseTextS.call(_xml.XMLLoader, text, options);
|
|
11
|
-
var xmlFeatureInfo = ((_parsedXML$FeatureInf = parsedXML.FeatureInfoResponse) === null || _parsedXML$FeatureInf === void 0 ? void 0 : _parsedXML$FeatureInf.FIELDS) || [];
|
|
12
|
-
var xmlFeatures = Array.isArray(xmlFeatureInfo) ? xmlFeatureInfo : [xmlFeatureInfo];
|
|
13
|
-
return {
|
|
14
|
-
features: xmlFeatures.map(function (xmlFeature) {
|
|
15
|
-
return extractFeature(xmlFeature);
|
|
16
|
-
})
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function extractFeature(xmlFeature) {
|
|
20
|
-
var xmlFields = xmlFeature || {};
|
|
21
|
-
return {
|
|
22
|
-
attributes: xmlFields,
|
|
23
|
-
type: '',
|
|
24
|
-
bounds: {
|
|
25
|
-
bottom: 0,
|
|
26
|
-
top: 0,
|
|
27
|
-
left: 0,
|
|
28
|
-
right: 0
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=parse-wms-features.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wms-features.js","names":["_xml","require","parseWMSFeatureInfo","text","options","_XMLLoader$parseTextS","_parsedXML$FeatureInf","parsedXML","XMLLoader","parseTextSync","call","xmlFeatureInfo","FeatureInfoResponse","FIELDS","xmlFeatures","Array","isArray","features","map","xmlFeature","extractFeature","xmlFields","attributes","type","bounds","bottom","top","left","right"],"sources":["../../../../../src/lib/parsers/wms/parse-wms-features.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {XMLLoader} from '@loaders.gl/xml';\n\n/** WMS Feature info - response to a WMS `GetFeatureInfo` request */\nexport type WMSFeatureInfo = {\n features: WMSFeature[];\n};\n\nexport type WMSFeature = {\n attributes: Record<string, number | string>;\n type: string;\n bounds: {top: number; bottom: number; left: number; right: number};\n};\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 // TODO - not correct\n return {\n attributes: xmlFields,\n type: '',\n bounds: {bottom: 0, top: 0, left: 0, right: 0}\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AAiBO,SAASC,mBAAmBA,CAACC,IAAY,EAAEC,OAAO,EAAkB;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EACzE,IAAMC,SAAS,IAAAF,qBAAA,GAAGG,cAAS,CAACC,aAAa,cAAAJ,qBAAA,uBAAvBA,qBAAA,CAAAK,IAAA,CAAAF,cAAS,EAAiBL,IAAI,EAAEC,OAAO,CAAC;EAC1D,IAAMO,cAAmB,GAAG,EAAAL,qBAAA,GAAAC,SAAS,CAACK,mBAAmB,cAAAN,qBAAA,uBAA7BA,qBAAA,CAA+BO,MAAM,KAAI,EAAE;EAEvE,IAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACL,cAAc,CAAC,GAAGA,cAAc,GAAG,CAACA,cAAc,CAAC;EAErF,OAAO;IACLM,QAAQ,EAAEH,WAAW,CAACI,GAAG,CAAC,UAACC,UAAU;MAAA,OAAKC,cAAc,CAACD,UAAU,CAAC;IAAA;EACtE,CAAC;AACH;AAEA,SAASC,cAAcA,CAACD,UAAe,EAAE;EACvC,IAAME,SAAS,GAAGF,UAAU,IAAI,CAAC,CAAC;EAElC,OAAO;IACLG,UAAU,EAAED,SAAS;IACrBE,IAAI,EAAE,EAAE;IACRC,MAAM,EAAE;MAACC,MAAM,EAAE,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAC;EAC/C,CAAC;AACH"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parseWMSLayerDescription = parseWMSLayerDescription;
|
|
7
|
-
var _xml = require("@loaders.gl/xml");
|
|
8
|
-
function parseWMSLayerDescription(text, options) {
|
|
9
|
-
var _XMLLoader$parseTextS;
|
|
10
|
-
var parsedXML = (_XMLLoader$parseTextS = _xml.XMLLoader.parseTextSync) === null || _XMLLoader$parseTextS === void 0 ? void 0 : _XMLLoader$parseTextS.call(_xml.XMLLoader, text, options);
|
|
11
|
-
return parsedXML;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=parse-wms-layer-description.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-wms-layer-description.js","names":["_xml","require","parseWMSLayerDescription","text","options","_XMLLoader$parseTextS","parsedXML","XMLLoader","parseTextSync","call"],"sources":["../../../../../src/lib/parsers/wms/parse-wms-layer-description.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {XMLLoaderOptions} from '@loaders.gl/xml';\nimport {XMLLoader} from '@loaders.gl/xml';\n\n/** Layer description - response to a WMS `DescribeLayer` request */\nexport type WMSLayerDescription = {\n layers: {}[];\n};\n\n/**\n * Parses a typed data structure from raw XML for `GetFeatureInfo` response\n * @note Error handlings is fairly weak\n */\nexport function parseWMSLayerDescription(\n text: string,\n options?: XMLLoaderOptions\n): WMSLayerDescription {\n const parsedXML = XMLLoader.parseTextSync?.(text, options);\n // TODO - implement parser\n return parsedXML as unknown as WMSLayerDescription;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAWO,SAASC,wBAAwBA,CACtCC,IAAY,EACZC,OAA0B,EACL;EAAA,IAAAC,qBAAA;EACrB,IAAMC,SAAS,IAAAD,qBAAA,GAAGE,cAAS,CAACC,aAAa,cAAAH,qBAAA,uBAAvBA,qBAAA,CAAAI,IAAA,CAAAF,cAAS,EAAiBJ,IAAI,EAAEC,OAAO,CAAC;EAE1D,OAAOE,SAAS;AAClB"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.getXMLArray = getXMLArray;
|
|
8
|
-
exports.getXMLBoolean = getXMLBoolean;
|
|
9
|
-
exports.getXMLFloat = getXMLFloat;
|
|
10
|
-
exports.getXMLInteger = getXMLInteger;
|
|
11
|
-
exports.getXMLStringArray = getXMLStringArray;
|
|
12
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
function getXMLArray(xmlValue) {
|
|
14
|
-
if (Array.isArray(xmlValue)) {
|
|
15
|
-
return xmlValue;
|
|
16
|
-
}
|
|
17
|
-
if (xmlValue) {
|
|
18
|
-
return [xmlValue];
|
|
19
|
-
}
|
|
20
|
-
return [];
|
|
21
|
-
}
|
|
22
|
-
function getXMLStringArray(xmlValue) {
|
|
23
|
-
var xmlArray = getXMLArray(xmlValue);
|
|
24
|
-
if (xmlArray.length > 0 && xmlArray.every(function (_) {
|
|
25
|
-
return typeof _ === 'string';
|
|
26
|
-
})) {
|
|
27
|
-
return xmlArray;
|
|
28
|
-
}
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
function getXMLFloat(xmlValue) {
|
|
32
|
-
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
33
|
-
switch ((0, _typeof2.default)(xmlValue)) {
|
|
34
|
-
case 'number':
|
|
35
|
-
return xmlValue;
|
|
36
|
-
case 'string':
|
|
37
|
-
return parseFloat(xmlValue);
|
|
38
|
-
default:
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function getXMLInteger(xmlValue) {
|
|
43
|
-
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
44
|
-
switch ((0, _typeof2.default)(xmlValue)) {
|
|
45
|
-
case 'number':
|
|
46
|
-
return xmlValue;
|
|
47
|
-
case 'string':
|
|
48
|
-
return parseInt(xmlValue, 10);
|
|
49
|
-
default:
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function getXMLBoolean(xmlValue) {
|
|
54
|
-
switch (xmlValue) {
|
|
55
|
-
case 'true':
|
|
56
|
-
return true;
|
|
57
|
-
case 'false':
|
|
58
|
-
return false;
|
|
59
|
-
case '1':
|
|
60
|
-
return true;
|
|
61
|
-
case '0':
|
|
62
|
-
return false;
|
|
63
|
-
default:
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=parse-xml-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-xml-helpers.js","names":["getXMLArray","xmlValue","Array","isArray","getXMLStringArray","xmlArray","length","every","_","getXMLFloat","defaultValue","arguments","undefined","_typeof2","default","parseFloat","getXMLInteger","parseInt","getXMLBoolean"],"sources":["../../../../../src/lib/parsers/xml/parse-xml-helpers.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/** A single element of an array is not represented as an array in XML */\nexport function getXMLArray(xmlValue: any): any[] {\n // Already an array, return as is\n if (Array.isArray(xmlValue)) {\n return xmlValue;\n }\n // Single value, wrap in array\n if (xmlValue) {\n return [xmlValue];\n }\n // nullish, return empty array\n return [];\n}\n\n/** Get a list of strings from XML */\nexport function getXMLStringArray(xmlValue: any): string[] {\n const xmlArray = getXMLArray(xmlValue);\n if (xmlArray.length > 0 && xmlArray.every((_) => typeof _ === 'string')) {\n return xmlArray as string[];\n }\n // TODO - error handling?\n return [];\n}\n\n/** Get XML float */\nexport function getXMLFloat(xmlValue: any, defaultValue = undefined): number | undefined {\n switch (typeof xmlValue) {\n case 'number':\n return xmlValue;\n case 'string':\n return parseFloat(xmlValue);\n default:\n return undefined;\n }\n}\n\n/** Get XML integer */\nexport function getXMLInteger(xmlValue: any, defaultValue = undefined): number | undefined {\n switch (typeof xmlValue) {\n case 'number':\n return xmlValue;\n case 'string':\n return parseInt(xmlValue, 10);\n default:\n return undefined;\n }\n}\n\n/** Somewhat arbitrary boolean parsing */\nexport function getXMLBoolean(xmlValue: any): boolean {\n switch (xmlValue) {\n case 'true':\n return true;\n case 'false':\n return false;\n case '1':\n return true;\n case '0':\n return false;\n default:\n return false;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAGO,SAASA,WAAWA,CAACC,QAAa,EAAS;EAEhD,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;IAC3B,OAAOA,QAAQ;EACjB;EAEA,IAAIA,QAAQ,EAAE;IACZ,OAAO,CAACA,QAAQ,CAAC;EACnB;EAEA,OAAO,EAAE;AACX;AAGO,SAASG,iBAAiBA,CAACH,QAAa,EAAY;EACzD,IAAMI,QAAQ,GAAGL,WAAW,CAACC,QAAQ,CAAC;EACtC,IAAII,QAAQ,CAACC,MAAM,GAAG,CAAC,IAAID,QAAQ,CAACE,KAAK,CAAC,UAACC,CAAC;IAAA,OAAK,OAAOA,CAAC,KAAK,QAAQ;EAAA,EAAC,EAAE;IACvE,OAAOH,QAAQ;EACjB;EAEA,OAAO,EAAE;AACX;AAGO,SAASI,WAAWA,CAACR,QAAa,EAAgD;EAAA,IAA9CS,YAAY,GAAAC,SAAA,CAAAL,MAAA,QAAAK,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGC,SAAS;EACjE,YAAAC,QAAA,CAAAC,OAAA,EAAeb,QAAQ;IACrB,KAAK,QAAQ;MACX,OAAOA,QAAQ;IACjB,KAAK,QAAQ;MACX,OAAOc,UAAU,CAACd,QAAQ,CAAC;IAC7B;MACE,OAAOW,SAAS;EACpB;AACF;AAGO,SAASI,aAAaA,CAACf,QAAa,EAAgD;EAAA,IAA9CS,YAAY,GAAAC,SAAA,CAAAL,MAAA,QAAAK,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGC,SAAS;EACnE,YAAAC,QAAA,CAAAC,OAAA,EAAeb,QAAQ;IACrB,KAAK,QAAQ;MACX,OAAOA,QAAQ;IACjB,KAAK,QAAQ;MACX,OAAOgB,QAAQ,CAAChB,QAAQ,EAAE,EAAE,CAAC;IAC/B;MACE,OAAOW,SAAS;EACpB;AACF;AAGO,SAASM,aAAaA,CAACjB,QAAa,EAAW;EACpD,QAAQA,QAAQ;IACd,KAAK,MAAM;MACT,OAAO,IAAI;IACb,KAAK,OAAO;MACV,OAAO,KAAK;IACd,KAAK,GAAG;MACN,OAAO,IAAI;IACb,KAAK,GAAG;MACN,OAAO,KAAK;IACd;MACE,OAAO,KAAK;EAChB;AACF"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createImageService = createImageService;
|
|
7
|
-
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; } } }; }
|
|
8
|
-
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); }
|
|
9
|
-
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; }
|
|
10
|
-
function createImageService(props, services) {
|
|
11
|
-
var _props$type = props.type,
|
|
12
|
-
type = _props$type === void 0 ? 'auto' : _props$type;
|
|
13
|
-
var service = type === 'auto' ? guessServiceType(props.url, services) : getServiceOfType(type, services);
|
|
14
|
-
if (!service) {
|
|
15
|
-
throw new Error('Not a valid image source type');
|
|
16
|
-
}
|
|
17
|
-
return service.create(props);
|
|
18
|
-
}
|
|
19
|
-
function getServiceOfType(type, services) {
|
|
20
|
-
var _iterator = _createForOfIteratorHelper(services),
|
|
21
|
-
_step;
|
|
22
|
-
try {
|
|
23
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
24
|
-
var service = _step.value;
|
|
25
|
-
if (service.type === type) {
|
|
26
|
-
return service;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
} catch (err) {
|
|
30
|
-
_iterator.e(err);
|
|
31
|
-
} finally {
|
|
32
|
-
_iterator.f();
|
|
33
|
-
}
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
function guessServiceType(url, services) {
|
|
37
|
-
var _iterator2 = _createForOfIteratorHelper(services),
|
|
38
|
-
_step2;
|
|
39
|
-
try {
|
|
40
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
41
|
-
var service = _step2.value;
|
|
42
|
-
if (service.testURL && service.testURL(url)) {
|
|
43
|
-
return service;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
} catch (err) {
|
|
47
|
-
_iterator2.e(err);
|
|
48
|
-
} finally {
|
|
49
|
-
_iterator2.f();
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=create-image-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-image-service.js","names":["createImageService","props","services","_props$type","type","service","guessServiceType","url","getServiceOfType","Error","create","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","err","e","f","_iterator2","_step2","testURL"],"sources":["../../../../src/lib/services/create-image-service.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ImageSource, Service} from '@loaders.gl/loader-utils';\nimport {ImageServiceProps} from './image-service';\n\nexport type CreateImageServiceProps = ImageServiceProps & {\n type?: string | 'auto';\n};\n\n/**\n * Creates an image source\n * If type is not supplied, will try to automatically detect the the\n * @param url URL to the image source\n * @param type type of source. if not known, set to 'auto'\n * @returns an ImageSource instance\n */\nexport function createImageService(\n props: CreateImageServiceProps,\n services: Service[]\n): ImageSource {\n const {type = 'auto'} = props;\n const service: Service | null =\n type === 'auto' ? guessServiceType(props.url, services) : getServiceOfType(type, services);\n\n if (!service) {\n throw new Error('Not a valid image source type');\n }\n return service.create(props);\n}\n\n/** Guess service type from URL */\nfunction getServiceOfType(type: string, services: Service[]): Service | null {\n // if (type === 'template') {\n // return ImageService;\n // }\n\n for (const service of services) {\n if (service.type === type) {\n return service;\n }\n }\n\n return null;\n}\n\n/** Guess service type from URL */\nfunction guessServiceType(url: string, services: Service[]): Service | null {\n for (const service of services) {\n if (service.testURL && service.testURL(url)) {\n return service;\n }\n }\n\n return null;\n}\n"],"mappings":";;;;;;;;;AAgBO,SAASA,kBAAkBA,CAChCC,KAA8B,EAC9BC,QAAmB,EACN;EACb,IAAAC,WAAA,GAAwBF,KAAK,CAAtBG,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,MAAM,GAAAA,WAAA;EACpB,IAAME,OAAuB,GAC3BD,IAAI,KAAK,MAAM,GAAGE,gBAAgB,CAACL,KAAK,CAACM,GAAG,EAAEL,QAAQ,CAAC,GAAGM,gBAAgB,CAACJ,IAAI,EAAEF,QAAQ,CAAC;EAE5F,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAII,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,OAAOJ,OAAO,CAACK,MAAM,CAACT,KAAK,CAAC;AAC9B;AAGA,SAASO,gBAAgBA,CAACJ,IAAY,EAAEF,QAAmB,EAAkB;EAAA,IAAAS,SAAA,GAAAC,0BAAA,CAKrDV,QAAQ;IAAAW,KAAA;EAAA;IAA9B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAgC;MAAA,IAArBX,OAAO,GAAAQ,KAAA,CAAAI,KAAA;MAChB,IAAIZ,OAAO,CAACD,IAAI,KAAKA,IAAI,EAAE;QACzB,OAAOC,OAAO;MAChB;IACF;EAAC,SAAAa,GAAA;IAAAP,SAAA,CAAAQ,CAAA,CAAAD,GAAA;EAAA;IAAAP,SAAA,CAAAS,CAAA;EAAA;EAED,OAAO,IAAI;AACb;AAGA,SAASd,gBAAgBA,CAACC,GAAW,EAAEL,QAAmB,EAAkB;EAAA,IAAAmB,UAAA,GAAAT,0BAAA,CACpDV,QAAQ;IAAAoB,MAAA;EAAA;IAA9B,KAAAD,UAAA,CAAAP,CAAA,MAAAQ,MAAA,GAAAD,UAAA,CAAAN,CAAA,IAAAC,IAAA,GAAgC;MAAA,IAArBX,OAAO,GAAAiB,MAAA,CAAAL,KAAA;MAChB,IAAIZ,OAAO,CAACkB,OAAO,IAAIlB,OAAO,CAACkB,OAAO,CAAChB,GAAG,CAAC,EAAE;QAC3C,OAAOF,OAAO;MAChB;IACF;EAAC,SAAAa,GAAA;IAAAG,UAAA,CAAAF,CAAA,CAAAD,GAAA;EAAA;IAAAG,UAAA,CAAAD,CAAA;EAAA;EAED,OAAO,IAAI;AACb"}
|