@itwin/ecschema-rpcinterface-tests 5.13.0-dev.18 → 5.13.0-dev.20

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.
@@ -18201,31 +18201,6 @@ module.exports = {
18201
18201
  }));
18202
18202
 
18203
18203
 
18204
- /***/ },
18205
-
18206
- /***/ "../../common/temp/node_modules/.pnpm/wms-capabilities@0.4.0/node_modules/wms-capabilities/dist/wms-capabilities.min.js"
18207
- /*!******************************************************************************************************************************!*\
18208
- !*** ../../common/temp/node_modules/.pnpm/wms-capabilities@0.4.0/node_modules/wms-capabilities/dist/wms-capabilities.min.js ***!
18209
- \******************************************************************************************************************************/
18210
- (module) {
18211
-
18212
- "use strict";
18213
- (function(f,m){ true?module.exports=m():0})(this,function(){function f(a){return void 0!==a}function m(a,c,b){if(a.nodeType===u.CDATA_SECTION||a.nodeType===u.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)m(a,c,b);return b}function F(a){for(a=a.nextElementSibling||a.nextSibling;a&&
18214
- a.nodeType!==u.ELEMENT;)a=a.nextSibling;return a}function h(a,c,b){b=f(b)?b:{};var d;var n=0;for(d=a.length;n<d;++n)b[a[n]]=c;return b}function A(a,c){return function(b,d){b=a.call(f(c)?c:this,b,d);f(b)&&d[d.length-1].push(b)}}function l(a,c,b,d,e){d.push(a);for(a=b.firstElementChild||b.firstChild;a&&a.nodeType!==u.ELEMENT;)a=a.nextSibling;for(;a;a=F(a))b=c[a.namespaceURI||null],f(b)&&(b=b[a.localName],f(b)&&b.call(e,a,d));return d.pop()}function b(a,c,b){return function(d,e){var n=a.call(f(b)?b:
18215
- this,d,e);f(n)&&(e=e[e.length-1],d=f(c)?c:d.localName,e[d]=n)}}function k(a,c,b){return function(d,e){var n=a.call(f(b)?b:this,d,e);if(f(n)){e=e[e.length-1];d=f(c)?c:d.localName;var g=[];(d in e?e[d]:e[d]=g).push(n)}}}function r(a){if(a=/^\s*(true|1)|(false|0)\s*$/.exec(a))return f(a[1])||!1}function t(a){return p(m(a,!1,[]).join(""))}function p(a){if(a=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(a))return parseFloat(a[1])}function w(a){return v(m(a,!1,[]).join(""))}function v(a){if(a=/^\s*(\d+)\s*$/.exec(a))return parseInt(a[1],
18216
- 10)}function e(a){return m(a,!1,[]).join("").replace(G,"")}function x(a){return a.getAttributeNS("http://www.w3.org/1999/xlink","href")}function B(a){return[p(a.getAttribute("minx")),p(a.getAttribute("miny")),p(a.getAttribute("maxx")),p(a.getAttribute("maxy"))]}function q(a,c){return l({},H,a,c)}function y(a,c){return l({},I,a,c)}function C(a,c){c=q(a,c);if(f(c))return a=[v(a.getAttribute("width")),v(a.getAttribute("height"))],c.size=a,c}function D(a,c){return l([],J,a,c)}var u={ELEMENT:1,ATTRIBUTE:2,
18217
- TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},z=function(a){this._parser=new a};z.prototype.toDocument=function(a){return this._parser.parseFromString(a,"application/xml")};z.prototype.getAllTextContent=function(a,c){return m(a,c,[]).join("").join("")};var G=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,g=[null,"http://www.opengis.net/wms"],M=h(g,{Service:b(function(a,c){return l({},K,a,c)}),Capability:b(function(a,
18218
- c){return l({},L,a,c)})}),L=h(g,{Request:b(function(a,c){return l({},N,a,c)}),Exception:b(function(a,c){return l([],O,a,c)}),Layer:b(function(a,c){var b=r(a.getAttribute("queryable"));return l({queryable:f(b)?b:!1},E,a,c)})}),K=h(g,{Name:b(e),Title:b(e),Abstract:b(e),KeywordList:b(D),OnlineResource:b(x),ContactInformation:b(function(a,c){return l({},P,a,c)}),Fees:b(e),AccessConstraints:b(e),LayerLimit:b(w),MaxWidth:b(w),MaxHeight:b(w)}),P=h(g,{ContactPersonPrimary:b(function(a,c){return l({},Q,a,
18219
- c)}),ContactPosition:b(e),ContactAddress:b(function(a,c){return l({},R,a,c)}),ContactVoiceTelephone:b(e),ContactFacsimileTelephone:b(e),ContactElectronicMailAddress:b(e)}),Q=h(g,{ContactPerson:b(e),ContactOrganization:b(e)}),R=h(g,{AddressType:b(e),Address:b(e),City:b(e),StateOrProvince:b(e),PostCode:b(e),Country:b(e)}),O=h(g,{Format:A(e)}),E=h(g,{Name:b(e),Title:b(e),Abstract:b(e),KeywordList:b(D),CRS:k(e),SRS:k(e),EX_GeographicBoundingBox:b(function(a,c){var b=l({},S,a,c);if(f(b)){a=b.westBoundLongitude;
18220
- c=b.southBoundLatitude;var d=b.eastBoundLongitude;b=b.northBoundLatitude;if(f(a)&&f(c)&&f(d)&&f(b))return[a,c,d,b]}}),LatLonBoundingBox:b(function(a,b){a=B(a);if(f(a[0])&&f(a[1])&&f(a[2])&&f(a[3]))return a}),BoundingBox:k(function(a,b){b=B(a);var c=[p(a.getAttribute("resx")),p(a.getAttribute("resy"))];return{crs:a.getAttribute("CRS")||a.getAttribute("SRS"),extent:b,res:c}}),Dimension:k(function(a,b){return{name:a.getAttribute("name"),units:a.getAttribute("units"),unitSymbol:a.getAttribute("unitSymbol"),
18221
- "default":a.getAttribute("default"),multipleValues:r(a.getAttribute("multipleValues")),nearestValue:r(a.getAttribute("nearestValue")),current:r(a.getAttribute("current")),values:e(a)}}),Attribution:b(function(a,b){return l({},T,a,b)}),AuthorityURL:k(function(a,b){b=q(a,b);if(f(b))return b.name=a.getAttribute("name"),b}),Identifier:k(e),MetadataURL:k(function(a,b){b=q(a,b);if(f(b))return b.type=a.getAttribute("type"),b}),DataURL:k(q),FeatureListURL:k(q),Style:k(function(a,b){return l({},U,a,b)}),MinScaleDenominator:b(t),
18222
- MaxScaleDenominator:b(t),ScaleHint:b(function(a,b){b=parseFloat(a.getAttribute("min"));a=parseFloat(a.getAttribute("max"));return{min:b,max:a}}),Layer:k(function(a,b){var c=b[b.length-1];b=l({},E,a,b);if(f(b)){var d=r(a.getAttribute("queryable"));f(d)||(d=c.queryable);b.queryable=f(d)?d:!1;d=v(a.getAttribute("cascaded"));f(d)||(d=c.cascaded);b.cascaded=d;d=r(a.getAttribute("opaque"));f(d)||(d=c.opaque);b.opaque=f(d)?d:!1;d=r(a.getAttribute("noSubsets"));f(d)||(d=c.noSubsets);b.noSubsets=f(d)?d:!1;
18223
- d=p(a.getAttribute("fixedWidth"));f(d)||(d=c.fixedWidth);b.fixedWidth=d;a=p(a.getAttribute("fixedHeight"));f(a)||(a=c.fixedHeight);b.fixedHeight=a;a=["Style","CRS","AuthorityURL"];d=0;for(var e=a.length;d<e;d++){var g=a[d],h=c[g];if(f(h)){var k=[];k=g in b?b[g]:b[g]=k;k=k.concat(h);b[g]=k}}a="EX_GeographicBoundingBox BoundingBox Dimension Attribution MinScaleDenominator MaxScaleDenominator".split(" ");d=0;for(e=a.length;d<e;d++)g=a[d],f(b[g])||(b[g]=c[g]);return b}})}),T=h(g,{Title:b(e),OnlineResource:b(x),
18224
- LogoURL:b(C)}),S=h(g,{westBoundLongitude:b(t),eastBoundLongitude:b(t),southBoundLatitude:b(t),northBoundLatitude:b(t)}),N=h(g,{GetCapabilities:b(y),GetMap:b(y),GetFeatureInfo:b(y)}),I=h(g,{Format:k(e),DCPType:k(function(a,b){return l({},V,a,b)})}),V=h(g,{HTTP:b(function(a,b){return l({},W,a,b)})}),W=h(g,{Get:b(q),Post:b(q)}),U=h(g,{Name:b(e),Title:b(e),Abstract:b(e),LegendURL:k(C),StyleSheetURL:b(q),StyleURL:b(q)}),H=h(g,{Format:b(e),OnlineResource:b(x)}),J=h(g,{Keyword:A(e)});g=function(a,b){b||
18225
- "undefined"===typeof window||(b=window.DOMParser);this.version=void 0;this._parser=new z(b);this._data=a};g.prototype.data=function(a){this._data=a;return this};g.prototype.toJSON=function(a){a=a||this._data;return this.parse(a)};g.prototype.parse=function(a){return this._readFromDocument(this._parser.toDocument(a))};g.prototype._readFromDocument=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==u.ELEMENT)return this.readFromNode(a);return null};g.prototype.readFromNode=function(a){this.version=
18226
- a.getAttribute("version");return l({version:this.version},M,a,[])||null};return g});
18227
-
18228
-
18229
18204
  /***/ },
18230
18205
 
18231
18206
  /***/ "../../core/bentley/lib/esm/AccessToken.js"
@@ -26290,6 +26265,12 @@ var BriefcaseIdValue;
26290
26265
  BriefcaseIdValue[BriefcaseIdValue["FirstValid"] = 2] = "FirstValid";
26291
26266
  /** All valid iModelHub issued BriefcaseIds will be equal or lower than this */
26292
26267
  BriefcaseIdValue[BriefcaseIdValue["LastValid"] = 16777205] = "LastValid";
26268
+ /**
26269
+ * Briefcase Id reserved for `Element` Ids allocated by SchemaSync reservations.
26270
+ * Never assigned to a real briefcase by iModelHub.
26271
+ * @internal
26272
+ */
26273
+ BriefcaseIdValue[BriefcaseIdValue["SchemaSyncElementReserved"] = 16777206] = "SchemaSyncElementReserved";
26293
26274
  /**
26294
26275
  * The briefcase has not been assigned a unique Id by iModelHub. Only briefcases that have been assigned a unique BriefcaseId may create changesets,
26295
26276
  * because BriefcaseId is used to create unique ElementIds for new elements.
@@ -26902,7 +26883,7 @@ class Code {
26902
26883
  equals(other) { return Code.equalCodes(this, other); }
26903
26884
  /** @internal */
26904
26885
  static equalCodes(c1, c2) {
26905
- return c1.spec === c2.spec && c1.scope === c2.scope && c1.value === c2.value;
26886
+ return c1.spec === c2.spec && c1.scope === c2.scope && (c1.value ?? "").toLowerCase() === (c2.value ?? "").toLowerCase();
26906
26887
  }
26907
26888
  /** Determine whether this Code is valid. */
26908
26889
  static isValid(c) { return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.isValidId64(c.spec); }
@@ -35410,6 +35391,7 @@ __webpack_require__.r(__webpack_exports__);
35410
35391
  /* harmony export */ CloudSqliteError: () => (/* binding */ CloudSqliteError),
35411
35392
  /* harmony export */ EditTxnError: () => (/* binding */ EditTxnError),
35412
35393
  /* harmony export */ ElementError: () => (/* binding */ ElementError),
35394
+ /* harmony export */ ElementReservationError: () => (/* binding */ ElementReservationError),
35413
35395
  /* harmony export */ ITwinSettingsError: () => (/* binding */ ITwinSettingsError),
35414
35396
  /* harmony export */ ServerBasedLocksError: () => (/* binding */ ServerBasedLocksError),
35415
35397
  /* harmony export */ SqliteError: () => (/* binding */ SqliteError),
@@ -35571,6 +35553,22 @@ var ElementError;
35571
35553
  }
35572
35554
  ElementError.isError = isError;
35573
35555
  })(ElementError || (ElementError = {}));
35556
+ /** @beta */
35557
+ var ElementReservationError;
35558
+ (function (ElementReservationError) {
35559
+ /** the ITwinError scope for `ElementReservationError`s. */
35560
+ ElementReservationError.scope = "itwin-ElementReservation";
35561
+ /** Instantiate and throw an ElementReservationError */
35562
+ function throwError(key, e) {
35563
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ITwinError.throwError({ ...e, iTwinErrorId: { scope: ElementReservationError.scope, key } });
35564
+ }
35565
+ ElementReservationError.throwError = throwError;
35566
+ /** Determine whether an error object is an ElementReservationError */
35567
+ function isError(error, key) {
35568
+ return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ITwinError.isError(error, ElementReservationError.scope, key);
35569
+ }
35570
+ ElementReservationError.isError = isError;
35571
+ })(ElementReservationError || (ElementReservationError = {}));
35574
35572
 
35575
35573
 
35576
35574
  /***/ },
@@ -45293,6 +45291,7 @@ __webpack_require__.r(__webpack_exports__);
45293
45291
  /* harmony export */ ElementGeometry: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_49__.ElementGeometry),
45294
45292
  /* harmony export */ ElementGeometryChange: () => (/* reexport safe */ _ModelGeometryChanges__WEBPACK_IMPORTED_MODULE_96__.ElementGeometryChange),
45295
45293
  /* harmony export */ ElementGeometryOpcode: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_49__.ElementGeometryOpcode),
45294
+ /* harmony export */ ElementReservationError: () => (/* reexport safe */ _ITwinCoreErrors__WEBPACK_IMPORTED_MODULE_73__.ElementReservationError),
45296
45295
  /* harmony export */ EmptyLocalization: () => (/* reexport safe */ _Localization__WEBPACK_IMPORTED_MODULE_83__.EmptyLocalization),
45297
45296
  /* harmony export */ EntityMetaData: () => (/* reexport safe */ _EntityProps__WEBPACK_IMPORTED_MODULE_34__.EntityMetaData),
45298
45297
  /* harmony export */ EntityReferenceSet: () => (/* reexport safe */ _EntityReference__WEBPACK_IMPORTED_MODULE_35__.EntityReferenceSet),
@@ -85452,10 +85451,19 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
85452
85451
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ipcAppChannels.txns;
85453
85452
  }
85454
85453
  /** Event raised after Txn validation or changeset application to indicate the set of changed elements.
85454
+ * Each [[TxnEntityChange]] exposes its class through `metadata.classFullName`. Use [[TxnEntityChanges.filter]] with `metadata.is` to match a class or one of its subclasses.
85455
+ * @example
85456
+ * ```ts
85457
+ * iModel.txns.onElementsChanged.addListener((changes) => {
85458
+ * for (const change of changes.filter({ includeMetadata: (metadata) => metadata.is("BisCore:GeometricElement") }))
85459
+ * updateElement(change.id);
85460
+ * });
85461
+ * ```
85455
85462
  * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
85456
85463
  */
85457
85464
  onElementsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
85458
85465
  /** Event raised after Txn validation or changeset application to indicate the set of changed models.
85466
+ * Each [[TxnEntityChange]] exposes its class through `metadata.classFullName`. Use [[TxnEntityChanges.filter]] with `metadata.is` to match a class or one of its subclasses.
85459
85467
  * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
85460
85468
  */
85461
85469
  onModelsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
@@ -88475,11 +88483,11 @@ class EmphasizeElements {
88475
88483
  * @see [[Viewport.addFeatureOverrideProvider]]
88476
88484
  */
88477
88485
  addFeatureOverrides(overrides, vp) {
88486
+ // Apply regardless of whether there are any emphasized/overridden elements for independent de-emphasis...
88487
+ if (undefined !== this._defaultAppearance)
88488
+ overrides.setDefaultOverrides(this._defaultAppearance);
88478
88489
  const emphasizedElements = this.getEmphasizedElements(vp);
88479
88490
  if (undefined !== emphasizedElements) {
88480
- if (this._defaultAppearance !== undefined) {
88481
- overrides.setDefaultOverrides(this._defaultAppearance);
88482
- }
88483
88491
  const appearance = this.wantEmphasis ? this._emphasizedAppearance : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.FeatureAppearance.defaults;
88484
88492
  // Avoid creating a new object per-element inside the loop
88485
88493
  const args = { elementId: "", appearance };
@@ -88495,8 +88503,6 @@ class EmphasizeElements {
88495
88503
  }
88496
88504
  const overriddenElements = this.getOverriddenElements();
88497
88505
  if (undefined !== overriddenElements) {
88498
- if (undefined !== this._defaultAppearance)
88499
- overrides.setDefaultOverrides(this._defaultAppearance);
88500
88506
  // Avoid creating a new object per-element inside the loop
88501
88507
  const args = { elementId: "", appearance: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.FeatureAppearance.defaults };
88502
88508
  for (const [key, ids] of overriddenElements) {
@@ -88563,7 +88569,10 @@ class EmphasizeElements {
88563
88569
  return { overrideType, color };
88564
88570
  }
88565
88571
  /** Establish a default appearance to apply to elements without overrides. If changing the default appearance
88566
- * without also calling overrideElements, an explicit refresh must be requested for the change to take effect.
88572
+ * without also calling emphasizeElements/overrideElements, an explicit refresh must be requested for the change to take effect.
88573
+ * @note Setting this to `undefined` to undo [[emphasizeElements]] or [[isolateElements]] leaves the always-drawn/isolated
88574
+ * element IDs in place but invisible to [[getEmphasizedElements]], [[getEmphasizedIsolatedElements]], and [[clearEmphasizedElements]].
88575
+ * Prefer [[clearEmphasizedElements]] or [[clearEmphasizedIsolatedElements]] to undo emphasis, which clear both together.
88567
88576
  * @see [[Viewport.setFeatureOverrideProviderChanged]]
88568
88577
  */
88569
88578
  get defaultAppearance() { return this._defaultAppearance; }
@@ -88922,7 +88931,9 @@ class EmphasizeElements {
88922
88931
  return true;
88923
88932
  }
88924
88933
  /** @return true if provider is currently overriding the display of any elements. */
88925
- isActive(vp) { return (undefined !== this.getNeverDrawnElements(vp) || undefined !== this.getAlwaysDrawnElements(vp) || undefined !== this.getOverriddenElements()); }
88934
+ isActive(vp) {
88935
+ return undefined !== this._defaultAppearance || undefined !== this.getNeverDrawnElements(vp) || undefined !== this.getAlwaysDrawnElements(vp) || undefined !== this.getOverriddenElements();
88936
+ }
88926
88937
  /** Serialize to JSON representation.
88927
88938
  * @see [[EmphasizeElements.fromJSON]]
88928
88939
  */
@@ -88968,8 +88979,12 @@ class EmphasizeElements {
88968
88979
  changed = true;
88969
88980
  if (undefined !== props.alwaysDrawnExclusiveEmphasized)
88970
88981
  this._emphasizeIsolated = new Set(props.alwaysDrawnExclusiveEmphasized); // changed status determined by setAlwaysDrawnElements...
88971
- if (undefined !== props.defaultAppearance)
88972
- this.defaultAppearance = _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.FeatureAppearance.fromJSON(props.defaultAppearance); // changed status determined by setAlwaysDrawnElements or overrideElements...
88982
+ if (undefined !== props.defaultAppearance) {
88983
+ const defaultAppearance = _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.FeatureAppearance.fromJSON(props.defaultAppearance);
88984
+ if (undefined === this._defaultAppearance || !this._defaultAppearance.equals(defaultAppearance))
88985
+ changed = true;
88986
+ this.defaultAppearance = defaultAppearance;
88987
+ }
88973
88988
  if (props.unanimatedAppearance)
88974
88989
  this.unanimatedAppearance = _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.FeatureAppearance.fromJSON(props.unanimatedAppearance);
88975
88990
  if (undefined !== props.appearanceOverride) {
@@ -159358,8 +159373,7 @@ __webpack_require__.r(__webpack_exports__);
159358
159373
  /* harmony export */ WmsCapabilities: () => (/* binding */ WmsCapabilities),
159359
159374
  /* harmony export */ WmsCapability: () => (/* binding */ WmsCapability)
159360
159375
  /* harmony export */ });
159361
- /* harmony import */ var wms_capabilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wms-capabilities */ "../../common/temp/node_modules/.pnpm/wms-capabilities@0.4.0/node_modules/wms-capabilities/dist/wms-capabilities.min.js");
159362
- /* harmony import */ var wms_capabilities__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(wms_capabilities__WEBPACK_IMPORTED_MODULE_0__);
159376
+ /* harmony import */ var wms_capabilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wms-capabilities */ "../../common/temp/node_modules/.pnpm/wms-capabilities@0.6.0/node_modules/wms-capabilities/dist/wms-capabilities.mjs");
159363
159377
  /* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
159364
159378
  /*---------------------------------------------------------------------------------------------
159365
159379
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
@@ -159511,7 +159525,7 @@ var WmsCapability;
159511
159525
  this.title = _json.Title;
159512
159526
  this.queryable = _json.queryable ? true : false;
159513
159527
  this.cartoRange = rangeFromJSON(_json);
159514
- this.ownCrs = capabilities.isVersion13 ? _json.CRS : _json.SRS;
159528
+ this.ownCrs = initArray(capabilities.isVersion13 ? _json.CRS : _json.SRS) ?? [];
159515
159529
  const crs = new Set(this.ownCrs);
159516
159530
  if (parent) {
159517
159531
  getParentCrs(parent, crs);
@@ -159541,12 +159555,32 @@ class WmsCapabilities {
159541
159555
  get featureInfoFormats() { return Array.isArray(this._json.Capability?.Request?.GetFeatureInfo?.Format) ? this._json.Capability?.Request?.GetFeatureInfo?.Format : undefined; }
159542
159556
  constructor(_json) {
159543
159557
  this._json = _json;
159544
- this.version = _json.version;
159545
- this.isVersion13 = _json.version !== undefined && 0 === _json.version.indexOf("1.3");
159546
- this.service = new WmsCapability.Service(_json.Service);
159547
- if (_json.Capability)
159558
+ if (!_json || typeof _json !== "object" || (_json.Service === undefined && _json.Capability === undefined))
159559
+ throw new Error("Invalid WMS GetCapabilities response");
159560
+ this.version = typeof _json.version === "string" ? _json.version : undefined;
159561
+ this.isVersion13 = this.version !== undefined && this.version.startsWith("1.3");
159562
+ this.service = new WmsCapability.Service(_json.Service ?? {});
159563
+ if (_json.Capability?.Layer)
159548
159564
  this.layer = new WmsCapability.Layer(_json.Capability.Layer, this);
159549
159565
  }
159566
+ /** Parse a GetCapabilities XML response, returning undefined if it is not a valid WMS capabilities document. */
159567
+ static tryParse(xmlCapabilities) {
159568
+ // Validate the document is actually rooted at a WMS capabilities element before parsing:
159569
+ // wms-capabilities happily parses any root and recognizes direct Service/Capability children.
159570
+ // WMS 1.3.0 uses WMS_Capabilities; WMS 1.0.0-1.1.1 uses WMT_MS_Capabilities.
159571
+ const doc = new DOMParser().parseFromString(xmlCapabilities, "text/xml");
159572
+ const rootName = doc.documentElement?.localName;
159573
+ if (rootName !== "WMS_Capabilities" && rootName !== "WMT_MS_Capabilities")
159574
+ return undefined; // Not a WMS GetCapabilities document
159575
+ if (doc.getElementsByTagName("parsererror").length > 0)
159576
+ return undefined; // XML parse error (browsers embed a parsererror element)
159577
+ try {
159578
+ return new WmsCapabilities(new wms_capabilities__WEBPACK_IMPORTED_MODULE_0__["default"](undefined, DOMParser).parse(xmlCapabilities));
159579
+ }
159580
+ catch {
159581
+ return undefined; // Degenerate capabilities document
159582
+ }
159583
+ }
159550
159584
  static async create(url, credentials, ignoreCache, queryParams) {
159551
159585
  if (!ignoreCache) {
159552
159586
  const cached = WmsCapabilities._capabilitiesCache.get(url);
@@ -159565,7 +159599,9 @@ class WmsCapabilities {
159565
159599
  const xmlCapabilities = await _tile_internal__WEBPACK_IMPORTED_MODULE_1__.WmsUtilities.fetchXml(tmpUrl.toString(), credentials);
159566
159600
  if (!xmlCapabilities)
159567
159601
  return undefined;
159568
- const capabilities = new WmsCapabilities(new (wms_capabilities__WEBPACK_IMPORTED_MODULE_0___default())().parse(xmlCapabilities));
159602
+ const capabilities = WmsCapabilities.tryParse(xmlCapabilities);
159603
+ if (capabilities === undefined)
159604
+ return undefined;
159569
159605
  if (!credentials) {
159570
159606
  // Avoid caching protected data
159571
159607
  WmsCapabilities._capabilitiesCache.set(url, capabilities);
@@ -334979,6 +335015,1170 @@ var loadLanguages = instance.loadLanguages;
334979
335015
 
334980
335016
 
334981
335017
 
335018
+ /***/ },
335019
+
335020
+ /***/ "../../common/temp/node_modules/.pnpm/wms-capabilities@0.6.0/node_modules/wms-capabilities/dist/wms-capabilities.mjs"
335021
+ /*!***************************************************************************************************************************!*\
335022
+ !*** ../../common/temp/node_modules/.pnpm/wms-capabilities@0.6.0/node_modules/wms-capabilities/dist/wms-capabilities.mjs ***!
335023
+ \***************************************************************************************************************************/
335024
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
335025
+
335026
+ "use strict";
335027
+ __webpack_require__.r(__webpack_exports__);
335028
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
335029
+ /* harmony export */ "default": () => (/* binding */ WMS)
335030
+ /* harmony export */ });
335031
+
335032
+ /**
335033
+ * wms-capabilities @0.6.0
335034
+ * @description WMS service Capabilities > JSON, based on openlayers
335035
+ * @license BSD-2-Clause
335036
+ * @preserve
335037
+ */
335038
+
335039
+ /**
335040
+ * Returns true if the specified value is not undefined.
335041
+ *
335042
+ * @param {?} val Variable to test.
335043
+ * @return {Boolean} Whether variable is defined.
335044
+ */
335045
+ var isDef = (val) => val !== void 0;
335046
+
335047
+ /**
335048
+ * Adds a key-value pair to the object/map/hash if it doesn't exist yet.
335049
+ *
335050
+ * @param {Object.<K,V>} obj The object to which to add the key-value pair.
335051
+ * @param {String} key The key to add.
335052
+ * @param {V} value The value to add if the key wasn't present.
335053
+ * @return {V} The value of the entry at the end of the function.
335054
+ * @template K,V
335055
+ */
335056
+ var setIfUndefined = (obj, key, value) => key in obj ? obj[key] : (obj[key] = value);
335057
+
335058
+ /**
335059
+ * @enum {Number}
335060
+ */
335061
+ const NODE_TYPES = {
335062
+ ELEMENT: 1,
335063
+ ATTRIBUTE: 2,
335064
+ TEXT: 3,
335065
+ CDATA_SECTION: 4,
335066
+ ENTITY_REFERENCE: 5,
335067
+ ENTITY: 6,
335068
+ PROCESSING_INSTRUCTION: 7,
335069
+ COMMENT: 8,
335070
+ DOCUMENT: 9,
335071
+ DOCUMENT_TYPE: 10,
335072
+ DOCUMENT_FRAGMENT: 11,
335073
+ NOTATION: 12
335074
+ };
335075
+
335076
+ class XMLParser {
335077
+ /**
335078
+ * XML DOM parser
335079
+ * @constructor
335080
+ * @param {DOMParser} DOMParser
335081
+ */
335082
+ constructor (DOMParser) {
335083
+ /**
335084
+ * @type {DOMParser}
335085
+ */
335086
+ this._parser = new DOMParser();
335087
+ };
335088
+
335089
+ /**
335090
+ * @param {String} xmlstring
335091
+ * @return {Document}
335092
+ */
335093
+ toDocument (xmlstring) {
335094
+ return this._parser.parseFromString(xmlstring, 'application/xml');
335095
+ }
335096
+
335097
+ /**
335098
+ * Recursively grab all text content of child nodes into a single string.
335099
+ * @param {Node} node Node.
335100
+ * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line
335101
+ * breaks.
335102
+ * @return {string} All text content.
335103
+ * @api
335104
+ */
335105
+ getAllTextContent (node, normalizeWhitespace) {
335106
+ return getAllTextContent(node, normalizeWhitespace).join('');
335107
+ }
335108
+ }
335109
+
335110
+
335111
+ /**
335112
+ * Recursively grab all text content of child nodes into a single string.
335113
+ * @param {Node} node Node.
335114
+ * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line
335115
+ * breaks.
335116
+ * @return {string} All text content.
335117
+ * @api
335118
+ */
335119
+ function getAllTextContent (node, normalizeWhitespace) {
335120
+ return getAllTextContentInternal(node, normalizeWhitespace, []).join('');
335121
+ }
335122
+
335123
+
335124
+ /**
335125
+ * @param {Node} node Node.
335126
+ * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line
335127
+ * breaks.
335128
+ * @param {Array.<String|string>} accumulator Accumulator.
335129
+ * @private
335130
+ * @return {Array.<String|string>} Accumulator.
335131
+ */
335132
+ function getAllTextContentInternal (node, normalizeWhitespace, accumulator) {
335133
+ if (node.nodeType === NODE_TYPES.CDATA_SECTION ||
335134
+ node.nodeType === NODE_TYPES.TEXT) {
335135
+ if (normalizeWhitespace) {
335136
+ // FIXME understand why goog.dom.getTextContent_ uses String here
335137
+ accumulator.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, ''));
335138
+ } else {
335139
+ accumulator.push(node.nodeValue);
335140
+ }
335141
+ } else {
335142
+ var n;
335143
+ for (n = node.firstChild; n; n = n.nextSibling) {
335144
+ getAllTextContentInternal(n, normalizeWhitespace, accumulator);
335145
+ }
335146
+ }
335147
+ return accumulator;
335148
+ }
335149
+
335150
+ /**
335151
+ * @param {Object.<string, Object.<string, XMLParser.Parser>>} parsersNS
335152
+ * Parsers by namespace.
335153
+ * @param {Node} node Node.
335154
+ * @param {Array.<*>} objectStack Object stack.
335155
+ * @param {*=} bind The object to use as `this`.
335156
+ */
335157
+ function parseNode (parsersNS, node, objectStack, bind) {
335158
+ for (var n = firstElementChild(node); n; n = nextElementSibling(n)) {
335159
+ var namespaceURI = n.namespaceURI || null;
335160
+ var parsers = parsersNS[namespaceURI];
335161
+ if (isDef(parsers)) {
335162
+ var parser = parsers[n.localName];
335163
+ if (isDef(parser)) {
335164
+ parser.call(bind, n, objectStack);
335165
+ }
335166
+ }
335167
+ }
335168
+ }
335169
+
335170
+ /**
335171
+ * Mostly for node.js
335172
+ * @param {Node} node
335173
+ * @return {Node}
335174
+ */
335175
+ function firstElementChild (node) {
335176
+ let firstElementChild = node.firstElementChild || node.firstChild;
335177
+ while (firstElementChild && firstElementChild.nodeType !== NODE_TYPES.ELEMENT) {
335178
+ firstElementChild = firstElementChild.nextSibling;
335179
+ }
335180
+ return firstElementChild;
335181
+ }
335182
+
335183
+ /**
335184
+ * Mostly for node.js
335185
+ * @param {Node} node
335186
+ * @return {Node}
335187
+ */
335188
+ function nextElementSibling (node) {
335189
+ let nextSibling = node.nextElementSibling || node.nextSibling;
335190
+ while (nextSibling && nextSibling.nodeType !== NODE_TYPES.ELEMENT) {
335191
+ nextSibling = nextSibling.nextSibling;
335192
+ }
335193
+ return nextSibling;
335194
+ }
335195
+
335196
+ /**
335197
+ * @param {Array.<string>} namespaceURIs Namespace URIs.
335198
+ * @param {Object.<string, XMLParser.Parser>} parsers Parsers.
335199
+ * @param {Object.<string, Object.<string, XMLParser.Parser>>=} opt_parsersNS
335200
+ * ParsersNS.
335201
+ * @return {Object.<string, Object.<string, XMLParser.Parser>>} Parsers NS.
335202
+ */
335203
+ function makeParsersNS (namespaceURIs, parsers, opt_parsersNS) {
335204
+ return /** @type {Object.<string, Object.<string, XMLParser.Parser>>} */ (
335205
+ makeStructureNS(namespaceURIs, parsers, opt_parsersNS));
335206
+ }
335207
+
335208
+ /**
335209
+ * Creates a namespaced structure, using the same values for each namespace.
335210
+ * This can be used as a starting point for versioned parsers, when only a few
335211
+ * values are version specific.
335212
+ * @param {Array.<string>} namespaceURIs Namespace URIs.
335213
+ * @param {T} structure Structure.
335214
+ * @param {Object.<string, T>=} opt_structureNS Namespaced structure to add to.
335215
+ * @return {Object.<string, T>} Namespaced structure.
335216
+ * @template T
335217
+ */
335218
+ function makeStructureNS (namespaceURIs, structure, opt_structureNS) {
335219
+ /**
335220
+ * @type {Object.<string, *>}
335221
+ */
335222
+ var structureNS = isDef(opt_structureNS) ? opt_structureNS : {};
335223
+ var i, ii;
335224
+ for (i = 0, ii = namespaceURIs.length; i < ii; ++i) {
335225
+ structureNS[namespaceURIs[i]] = structure;
335226
+ }
335227
+ return structureNS;
335228
+ }
335229
+
335230
+
335231
+ /**
335232
+ * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader.
335233
+ * @param {T=} opt_this The object to use as `this` in `valueReader`.
335234
+ * @return {Function} Parser.
335235
+ * @template T
335236
+ */
335237
+ function makeArrayPusher (valueReader, opt_this) {
335238
+ return (
335239
+ /**
335240
+ * @param {Node} node Node.
335241
+ * @param {Array.<*>} objectStack Object stack.
335242
+ */
335243
+ function(node, objectStack) {
335244
+ var value = valueReader.call(isDef(opt_this) ? opt_this : this,
335245
+ node, objectStack);
335246
+ if (isDef(value)) {
335247
+ var array = objectStack[objectStack.length - 1];
335248
+ array.push(value);
335249
+ }
335250
+ });
335251
+ }
335252
+
335253
+ /**
335254
+ * @param {Object} object Object.
335255
+ * @param {Object.<String, Object.<String, Function>>} parsersNS Parsers by namespace.
335256
+ * @param {Node} node Node.
335257
+ * @param {Array.<*>} objectStack Object stack.
335258
+ * @param {*=} bind The object to use as `this`.
335259
+ * @return {Object|undefined} Object.
335260
+ */
335261
+ function pushParseAndPop (object, parsersNS, node, objectStack, bind) {
335262
+ objectStack.push(object);
335263
+ parseNode(parsersNS, node, objectStack, bind);
335264
+ return objectStack.pop();
335265
+ }
335266
+
335267
+
335268
+ /**
335269
+ * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader.
335270
+ * @param {string=} opt_property Property.
335271
+ * @param {T=} opt_this The object to use as `this` in `valueReader`.
335272
+ * @return {XMLParser.Parser} Parser.
335273
+ * @template T
335274
+ */
335275
+ function makeObjectPropertySetter (valueReader, opt_property, opt_this) {
335276
+ return (
335277
+ /**
335278
+ * @param {Node} node Node.
335279
+ * @param {Array.<*>} objectStack Object stack.
335280
+ */
335281
+ function(node, objectStack) {
335282
+ let value = valueReader.call(isDef(opt_this) ? opt_this : this,
335283
+ node, objectStack);
335284
+ if (isDef(value)) {
335285
+ var object = /** @type {Object} */ (objectStack[objectStack.length - 1]);
335286
+ var property = isDef(opt_property) ? opt_property : node.localName;
335287
+ object[property] = value;
335288
+ }
335289
+ });
335290
+ }
335291
+
335292
+
335293
+ /**
335294
+ * @param {function(this: T, Node, Array.<*>): *} valueReader Value reader.
335295
+ * @param {string=} opt_property Property.
335296
+ * @param {T=} opt_this The object to use as `this` in `valueReader`.
335297
+ * @return {Function} Parser.
335298
+ * @template T
335299
+ */
335300
+ function makeObjectPropertyPusher (valueReader, opt_property, opt_this) {
335301
+ return (
335302
+ /**
335303
+ * @param {Node} node Node.
335304
+ * @param {Array.<*>} objectStack Object stack.
335305
+ */
335306
+ function(node, objectStack) {
335307
+ var value = valueReader.call(isDef(opt_this) ? opt_this : this,
335308
+ node, objectStack);
335309
+
335310
+ if (isDef(value)) {
335311
+ var object = /** @type {Object} */ (objectStack[objectStack.length - 1]);
335312
+ var property = isDef(opt_property) ? opt_property : node.localName;
335313
+ var array = setIfUndefined(object, property, []);
335314
+ array.push(value);
335315
+ }
335316
+ });
335317
+ }
335318
+
335319
+ /**
335320
+ * Make sure we trim BOM and NBSP
335321
+ * @type {RegExp}
335322
+ */
335323
+ const TRIM_RE = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
335324
+
335325
+ /**
335326
+ * @param {String} str
335327
+ * @return {String}
335328
+ */
335329
+ function trim (str) {
335330
+ return str.replace(TRIM_RE, '');
335331
+ }
335332
+
335333
+ /**
335334
+ * @param {string} string String.
335335
+ * @return {boolean|undefined} Boolean.
335336
+ */
335337
+ function readBooleanString (string) {
335338
+ const m = /^\s*(true|1)|(false|0)\s*$/.exec(string);
335339
+ if (m) {
335340
+ return isDef(m[1]) || false;
335341
+ } else {
335342
+ return undefined;
335343
+ }
335344
+ }
335345
+
335346
+
335347
+ /**
335348
+ * @param {Node} node Node.
335349
+ * @return {number|undefined} Decimal.
335350
+ */
335351
+ function readDecimal (node) {
335352
+ return readDecimalString(getAllTextContent(node, false));
335353
+ }
335354
+
335355
+
335356
+ /**
335357
+ * @param {string} string String.
335358
+ * @return {number|undefined} Decimal.
335359
+ */
335360
+ function readDecimalString (string) {
335361
+ // FIXME check spec
335362
+ const m = /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(string);
335363
+ if (m) {
335364
+ return parseFloat(m[1]);
335365
+ } else {
335366
+ return undefined;
335367
+ }
335368
+ }
335369
+
335370
+
335371
+ /**
335372
+ * @param {Node} node Node.
335373
+ * @return {number|undefined} Non negative integer.
335374
+ */
335375
+ function readNonNegativeInteger (node) {
335376
+ return readNonNegativeIntegerString(getAllTextContent(node, false));
335377
+ }
335378
+
335379
+
335380
+ /**
335381
+ * @param {string} string String.
335382
+ * @return {number|undefined} Non negative integer.
335383
+ */
335384
+ function readNonNegativeIntegerString (string) {
335385
+ const m = /^\s*(\d+)\s*$/.exec(string);
335386
+ if (m) {
335387
+ return parseInt(m[1], 10);
335388
+ } else {
335389
+ return undefined;
335390
+ }
335391
+ }
335392
+
335393
+
335394
+ /**
335395
+ * @param {Node} node Node.
335396
+ * @return {string|undefined} String.
335397
+ */
335398
+ function readString (node) {
335399
+ return trim(getAllTextContent(node, false));
335400
+ }
335401
+
335402
+ /**
335403
+ * @const
335404
+ * @type {string}
335405
+ */
335406
+ const NAMESPACE_URI = 'http://www.w3.org/1999/xlink';
335407
+
335408
+ /**
335409
+ * @param {Node} node Node.
335410
+ * @return {Boolean|undefined} Boolean.
335411
+ */
335412
+ function readHref (node) {
335413
+ return node.getAttributeNS(NAMESPACE_URI, 'href');
335414
+ }
335415
+
335416
+ /**
335417
+ * @param {Node} node Node.
335418
+ * @param {Array.<*>} objectStack Object stack.
335419
+ * @return {Object|undefined} Attribution object.
335420
+ */
335421
+ function readAttribution(node, objectStack) {
335422
+ return pushParseAndPop({}, ATTRIBUTION_PARSERS, node, objectStack);
335423
+ }
335424
+
335425
+
335426
+ /**
335427
+ * @private
335428
+ * @param {Node} node Node.
335429
+ * @return {ol.Extent} Bounding box object.
335430
+ */
335431
+ function readBoundingBoxExtent (node) {
335432
+ return [
335433
+ readDecimalString(node.getAttribute('minx')),
335434
+ readDecimalString(node.getAttribute('miny')),
335435
+ readDecimalString(node.getAttribute('maxx')),
335436
+ readDecimalString(node.getAttribute('maxy'))
335437
+ ];
335438
+ }
335439
+
335440
+ /**
335441
+ * @private
335442
+ * @param {Node} node Node.
335443
+ * @param {Array.<*>} objectStack Object stack.
335444
+ * @return {Object} Bounding box object.
335445
+ */
335446
+ function readBoundingBox (node, objectStack) {
335447
+ const extent = readBoundingBoxExtent(node);
335448
+ const resolutions = [
335449
+ readDecimalString(node.getAttribute('resx')),
335450
+ readDecimalString(node.getAttribute('resy'))
335451
+ ];
335452
+
335453
+ return {
335454
+ 'crs': node.getAttribute('CRS') || node.getAttribute('SRS'),
335455
+ extent, res: resolutions
335456
+ };
335457
+ }
335458
+
335459
+ /**
335460
+ * @private
335461
+ * @param {Node} node Node.
335462
+ * @param {Array.<*>} objectStack Object stack.
335463
+ * @return {ol.Extent|undefined} Bounding box object.
335464
+ */
335465
+ function readLatLonBoundingBox (node, objectStack) {
335466
+ const extent = readBoundingBoxExtent(node);
335467
+
335468
+ if (!isDef(extent[0]) || !isDef(extent[1]) ||
335469
+ !isDef(extent[2]) || !isDef(extent[3])) {
335470
+ return undefined;
335471
+ }
335472
+
335473
+ return extent;
335474
+ }
335475
+
335476
+
335477
+ /**
335478
+ * @privat
335479
+ * @param {Node} node Node
335480
+ * @param {Arra.<Object>} objectStack Object stack
335481
+ * @return {Object}
335482
+ */
335483
+ function readScaleHint (node, objectStack) {
335484
+ const min = parseFloat(node.getAttribute('min'));
335485
+ const max = parseFloat(node.getAttribute('max'));
335486
+
335487
+ return { min, max };
335488
+ }
335489
+
335490
+
335491
+ /**
335492
+ * @private
335493
+ * @param {Node} node Node.
335494
+ * @param {Array.<*>} objectStack Object stack.
335495
+ * @return {ol.Extent|undefined} Bounding box object.
335496
+ */
335497
+ function readEXGeographicBoundingBox (node, objectStack) {
335498
+ const geographicBoundingBox = pushParseAndPop({},
335499
+ EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS,
335500
+ node, objectStack);
335501
+ if (!isDef(geographicBoundingBox)) return undefined;
335502
+
335503
+ const westBoundLongitude = /** @type {number|undefined} */
335504
+ (geographicBoundingBox['westBoundLongitude']);
335505
+ const southBoundLatitude = /** @type {number|undefined} */
335506
+ (geographicBoundingBox['southBoundLatitude']);
335507
+ const eastBoundLongitude = /** @type {number|undefined} */
335508
+ (geographicBoundingBox['eastBoundLongitude']);
335509
+ const northBoundLatitude = /** @type {number|undefined} */
335510
+ (geographicBoundingBox['northBoundLatitude']);
335511
+
335512
+ if (!isDef(westBoundLongitude) || !isDef(southBoundLatitude) ||
335513
+ !isDef(eastBoundLongitude) || !isDef(northBoundLatitude)) {
335514
+ return undefined;
335515
+ }
335516
+
335517
+ return [
335518
+ westBoundLongitude, southBoundLatitude,
335519
+ eastBoundLongitude, northBoundLatitude
335520
+ ];
335521
+ }
335522
+
335523
+
335524
+ /**
335525
+ * @param {Node} node Node.
335526
+ * @param {Array.<*>} objectStack Object stack.
335527
+ * @private
335528
+ * @return {Object|undefined} Capability object.
335529
+ */
335530
+ function readCapability (node, objectStack) {
335531
+ return pushParseAndPop({}, CAPABILITY_PARSERS, node, objectStack);
335532
+ }
335533
+
335534
+
335535
+ /**
335536
+ * @param {Node} node Node.
335537
+ * @param {Array.<*>} objectStack Object stack.
335538
+ * @private
335539
+ * @return {Object|undefined} Service object.
335540
+ */
335541
+ function readService (node, objectStack) {
335542
+ return pushParseAndPop({}, SERVICE_PARSERS, node, objectStack);
335543
+ }
335544
+
335545
+
335546
+ /**
335547
+ * @param {Node} node Node.
335548
+ * @param {Array.<*>} objectStack Object stack.
335549
+ * @private
335550
+ * @return {Object|undefined} Contact information object.
335551
+ */
335552
+ function readContactInformation (node, objectStack) {
335553
+ return pushParseAndPop({}, CONTACT_INFORMATION_PARSERS,
335554
+ node, objectStack);
335555
+ }
335556
+
335557
+
335558
+ /**
335559
+ * @param {Node} node Node.
335560
+ * @param {Array.<*>} objectStack Object stack.
335561
+ * @private
335562
+ * @return {Object|undefined} Contact person object.
335563
+ */
335564
+ function readContactPersonPrimary (node, objectStack) {
335565
+ return pushParseAndPop({}, CONTACT_PERSON_PARSERS,
335566
+ node, objectStack);
335567
+ }
335568
+
335569
+
335570
+ /**
335571
+ * @param {Node} node Node.
335572
+ * @param {Array.<*>} objectStack Object stack.
335573
+ * @private
335574
+ * @return {Object|undefined} Contact address object.
335575
+ */
335576
+ function readContactAddress (node, objectStack) {
335577
+ return pushParseAndPop({}, CONTACT_ADDRESS_PARSERS,
335578
+ node, objectStack);
335579
+ }
335580
+
335581
+
335582
+ /**
335583
+ * @param {Node} node Node.
335584
+ * @param {Array.<*>} objectStack Object stack.
335585
+ * @private
335586
+ * @return {Array.<string>|undefined} Format array.
335587
+ */
335588
+ function readException (node, objectStack) {
335589
+ return pushParseAndPop(
335590
+ [], EXCEPTION_PARSERS, node, objectStack);
335591
+ }
335592
+
335593
+
335594
+ /**
335595
+ * @param {Node} node Node.
335596
+ * @param {Array.<*>} objectStack Object stack.
335597
+ * @private
335598
+ * @return {Object|undefined} Layer object.
335599
+ */
335600
+ function readCapabilityLayer (node, objectStack) {
335601
+ const queryable = readBooleanString(node.getAttribute('queryable'));
335602
+ return pushParseAndPop({
335603
+ queryable: isDef(queryable) ? queryable : false },
335604
+ LAYER_PARSERS, node, objectStack);
335605
+ }
335606
+
335607
+
335608
+ /**
335609
+ * @private
335610
+ * @param {Node} node Node.
335611
+ * @param {Array.<*>} objectStack Object stack.
335612
+ * @return {Object|undefined} Layer object.
335613
+ */
335614
+ function readLayer (node, objectStack) {
335615
+ var parentLayerObject = /** @type {Object.<string,*>} */
335616
+ (objectStack[objectStack.length - 1]);
335617
+
335618
+ const layerObject = /** @type {Object.<string,*>} */
335619
+ (pushParseAndPop({}, LAYER_PARSERS,
335620
+ node, objectStack));
335621
+
335622
+ if (!isDef(layerObject)) return undefined;
335623
+
335624
+ let queryable = readBooleanString(node.getAttribute('queryable'));
335625
+ if (!isDef(queryable)) {
335626
+ queryable = parentLayerObject['queryable'];
335627
+ }
335628
+ layerObject['queryable'] = isDef(queryable) ? queryable : false;
335629
+
335630
+ let cascaded = readNonNegativeIntegerString(node.getAttribute('cascaded'));
335631
+ if (!isDef(cascaded)) {
335632
+ cascaded = parentLayerObject['cascaded'];
335633
+ }
335634
+ layerObject['cascaded'] = cascaded;
335635
+
335636
+ let opaque = readBooleanString(node.getAttribute('opaque'));
335637
+ if (!isDef(opaque)) {
335638
+ opaque = parentLayerObject['opaque'];
335639
+ }
335640
+ layerObject['opaque'] = isDef(opaque) ? opaque : false;
335641
+
335642
+ let noSubsets = readBooleanString(node.getAttribute('noSubsets'));
335643
+ if (!isDef(noSubsets)) {
335644
+ noSubsets = parentLayerObject['noSubsets'];
335645
+ }
335646
+ layerObject['noSubsets'] = isDef(noSubsets) ? noSubsets : false;
335647
+
335648
+ let fixedWidth = readDecimalString(node.getAttribute('fixedWidth'));
335649
+ if (!isDef(fixedWidth)) {
335650
+ fixedWidth = parentLayerObject['fixedWidth'];
335651
+ }
335652
+ layerObject['fixedWidth'] = fixedWidth;
335653
+
335654
+ let fixedHeight = readDecimalString(node.getAttribute('fixedHeight'));
335655
+ if (!isDef(fixedHeight)) {
335656
+ fixedHeight = parentLayerObject['fixedHeight'];
335657
+ }
335658
+ layerObject['fixedHeight'] = fixedHeight;
335659
+
335660
+ // See 7.2.4.8
335661
+ const addKeys = ['Style', 'CRS', 'AuthorityURL'];
335662
+ for (let i = 0, len = addKeys.length; i < len; i++) {
335663
+ const key = addKeys[i];
335664
+ const parentValue = parentLayerObject[key];
335665
+ if (isDef(parentValue)) {
335666
+ let childValue = setIfUndefined(layerObject, key, []);
335667
+ childValue = childValue.concat(parentValue);
335668
+ layerObject[key] = childValue;
335669
+ }
335670
+ }
335671
+
335672
+ const replaceKeys = ['EX_GeographicBoundingBox', 'BoundingBox', 'Dimension',
335673
+ 'Attribution', 'MinScaleDenominator', 'MaxScaleDenominator'
335674
+ ];
335675
+ for (let i = 0, len = replaceKeys.length; i < len; i++) {
335676
+ const key = replaceKeys[i];
335677
+ const childValue = layerObject[key];
335678
+ if (!isDef(childValue)) {
335679
+ const parentValue = parentLayerObject[key];
335680
+ layerObject[key] = parentValue;
335681
+ }
335682
+ }
335683
+
335684
+ return layerObject;
335685
+ }
335686
+
335687
+
335688
+ /**
335689
+ * @private
335690
+ * @param {Node} node Node.
335691
+ * @param {Array.<*>} objectStack Object stack.
335692
+ * @return {Object} Dimension object.
335693
+ */
335694
+ function readDimension (node, objectStack) {
335695
+ return {
335696
+ 'name': node.getAttribute('name'),
335697
+ 'units': node.getAttribute('units'),
335698
+ 'unitSymbol': node.getAttribute('unitSymbol'),
335699
+ 'default': node.getAttribute('default'),
335700
+ 'multipleValues': readBooleanString(node.getAttribute('multipleValues')),
335701
+ 'nearestValue': readBooleanString(node.getAttribute('nearestValue')),
335702
+ 'current': readBooleanString(node.getAttribute('current')),
335703
+ 'values': readString(node)
335704
+ };
335705
+ }
335706
+
335707
+
335708
+ /**
335709
+ * @private
335710
+ * @param {Node} node Node.
335711
+ * @param {Array.<*>} objectStack Object stack.
335712
+ * @return {Object|undefined} Online resource object.
335713
+ */
335714
+ function readFormatOnlineresource (node, objectStack) {
335715
+ return pushParseAndPop({}, FORMAT_ONLINERESOURCE_PARSERS,
335716
+ node, objectStack);
335717
+ }
335718
+
335719
+
335720
+ /**
335721
+ * @private
335722
+ * @param {Node} node Node.
335723
+ * @param {Array.<*>} objectStack Object stack.
335724
+ * @return {Object|undefined} Request object.
335725
+ */
335726
+ function readRequest (node, objectStack) {
335727
+ return pushParseAndPop({}, REQUEST_PARSERS, node, objectStack);
335728
+ }
335729
+
335730
+
335731
+ /**
335732
+ * @private
335733
+ * @param {Node} node Node.
335734
+ * @param {Array.<*>} objectStack Object stack.
335735
+ * @return {Object|undefined} DCP type object.
335736
+ */
335737
+ function readDCPType (node, objectStack) {
335738
+ return pushParseAndPop({}, DCPTYPE_PARSERS, node, objectStack);
335739
+ }
335740
+
335741
+
335742
+ /**
335743
+ * @private
335744
+ * @param {Node} node Node.
335745
+ * @param {Array.<*>} objectStack Object stack.
335746
+ * @return {Object|undefined} HTTP object.
335747
+ */
335748
+ function readHTTP (node, objectStack) {
335749
+ return pushParseAndPop({}, HTTP_PARSERS, node, objectStack);
335750
+ }
335751
+
335752
+
335753
+ /**
335754
+ * @private
335755
+ * @param {Node} node Node.
335756
+ * @param {Array.<*>} objectStack Object stack.
335757
+ * @return {Object|undefined} Operation type object.
335758
+ */
335759
+ function readOperationType (node, objectStack) {
335760
+ return pushParseAndPop({}, OPERATIONTYPE_PARSERS, node, objectStack);
335761
+ }
335762
+
335763
+
335764
+ /**
335765
+ * @private
335766
+ * @param {Node} node Node.
335767
+ * @param {Array.<*>} objectStack Object stack.
335768
+ * @return {Object|undefined} Online resource object.
335769
+ */
335770
+ function readSizedFormatOnlineresource (node, objectStack) {
335771
+ var formatOnlineresource = readFormatOnlineresource(node, objectStack);
335772
+ if (isDef(formatOnlineresource)) {
335773
+ const size = [
335774
+ readNonNegativeIntegerString(node.getAttribute('width')),
335775
+ readNonNegativeIntegerString(node.getAttribute('height'))
335776
+ ];
335777
+ formatOnlineresource['size'] = size;
335778
+ return formatOnlineresource;
335779
+ }
335780
+ return undefined;
335781
+ }
335782
+
335783
+
335784
+ /**
335785
+ * @private
335786
+ * @param {Node} node Node.
335787
+ * @param {Array.<*>} objectStack Object stack.
335788
+ * @return {Object|undefined} Authority URL object.
335789
+ */
335790
+ function readAuthorityURL (node, objectStack) {
335791
+ var authorityObject = readFormatOnlineresource(node, objectStack);
335792
+ if (isDef(authorityObject)) {
335793
+ authorityObject['name'] = node.getAttribute('name');
335794
+ return authorityObject;
335795
+ }
335796
+ return undefined;
335797
+ }
335798
+
335799
+
335800
+ /**
335801
+ * @private
335802
+ * @param {Node} node Node.
335803
+ * @param {Array.<*>} objectStack Object stack.
335804
+ * @return {Object|undefined} Metadata URL object.
335805
+ */
335806
+ function readMetadataURL (node, objectStack) {
335807
+ var metadataObject = readFormatOnlineresource(node, objectStack);
335808
+ if (isDef(metadataObject)) {
335809
+ metadataObject['type'] = node.getAttribute('type');
335810
+ return metadataObject;
335811
+ }
335812
+ return undefined;
335813
+ }
335814
+
335815
+
335816
+ /**
335817
+ * @private
335818
+ * @param {Node} node Node.
335819
+ * @param {Array.<*>} objectStack Object stack.
335820
+ * @return {Object|undefined} Style object.
335821
+ */
335822
+ function readStyle (node, objectStack) {
335823
+ return pushParseAndPop({}, STYLE_PARSERS, node, objectStack);
335824
+ }
335825
+
335826
+
335827
+ /**
335828
+ * @private
335829
+ * @param {Node} node Node.
335830
+ * @param {Array.<*>} objectStack Object stack.
335831
+ * @return {Array.<string>|undefined} Keyword list.
335832
+ */
335833
+ function readKeywordList (node, objectStack) {
335834
+ return pushParseAndPop(
335835
+ [], KEYWORDLIST_PARSERS, node, objectStack);
335836
+ }
335837
+
335838
+
335839
+ /**
335840
+ * @const
335841
+ * @type {Array.<string>}
335842
+ */
335843
+ const NAMESPACE_URIS = [
335844
+ null,
335845
+ 'http://www.opengis.net/wms'
335846
+ ];
335847
+
335848
+ /**
335849
+ * @const
335850
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335851
+ * @private
335852
+ */
335853
+ const PARSERS = makeParsersNS(
335854
+ NAMESPACE_URIS, {
335855
+ 'Service': makeObjectPropertySetter(readService),
335856
+ 'Capability': makeObjectPropertySetter(readCapability)
335857
+ });
335858
+
335859
+ /**
335860
+ * @const
335861
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335862
+ * @private
335863
+ */
335864
+ const CAPABILITY_PARSERS = makeParsersNS(
335865
+ NAMESPACE_URIS, {
335866
+ 'Request': makeObjectPropertySetter(readRequest),
335867
+ 'Exception': makeObjectPropertySetter(readException),
335868
+ 'Layer': makeObjectPropertySetter(readCapabilityLayer)
335869
+ });
335870
+
335871
+ /**
335872
+ * @const
335873
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335874
+ * @private
335875
+ */
335876
+ const SERVICE_PARSERS = makeParsersNS(
335877
+ NAMESPACE_URIS, {
335878
+ 'Name': makeObjectPropertySetter(readString),
335879
+ 'Title': makeObjectPropertySetter(readString),
335880
+ 'Abstract': makeObjectPropertySetter(readString),
335881
+ 'KeywordList': makeObjectPropertySetter(readKeywordList),
335882
+ 'OnlineResource': makeObjectPropertySetter(readHref),
335883
+ 'ContactInformation': makeObjectPropertySetter(readContactInformation),
335884
+ 'Fees': makeObjectPropertySetter(readString),
335885
+ 'AccessConstraints': makeObjectPropertySetter(readString),
335886
+ 'LayerLimit': makeObjectPropertySetter(readNonNegativeInteger),
335887
+ 'MaxWidth': makeObjectPropertySetter(readNonNegativeInteger),
335888
+ 'MaxHeight': makeObjectPropertySetter(readNonNegativeInteger)
335889
+ });
335890
+
335891
+ /**
335892
+ * @const
335893
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335894
+ * @private
335895
+ */
335896
+ const CONTACT_INFORMATION_PARSERS = makeParsersNS(
335897
+ NAMESPACE_URIS, {
335898
+ 'ContactPersonPrimary': makeObjectPropertySetter(readContactPersonPrimary),
335899
+ 'ContactPosition': makeObjectPropertySetter(readString),
335900
+ 'ContactAddress': makeObjectPropertySetter(readContactAddress),
335901
+ 'ContactVoiceTelephone': makeObjectPropertySetter(readString),
335902
+ 'ContactFacsimileTelephone': makeObjectPropertySetter(readString),
335903
+ 'ContactElectronicMailAddress': makeObjectPropertySetter(readString)
335904
+ });
335905
+
335906
+ /**
335907
+ * @const
335908
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335909
+ * @private
335910
+ */
335911
+ const CONTACT_PERSON_PARSERS = makeParsersNS(
335912
+ NAMESPACE_URIS, {
335913
+ 'ContactPerson': makeObjectPropertySetter(readString),
335914
+ 'ContactOrganization': makeObjectPropertySetter(readString)
335915
+ });
335916
+
335917
+
335918
+ /**
335919
+ * @const
335920
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335921
+ * @private
335922
+ */
335923
+ const CONTACT_ADDRESS_PARSERS = makeParsersNS(
335924
+ NAMESPACE_URIS, {
335925
+ 'AddressType': makeObjectPropertySetter(readString),
335926
+ 'Address': makeObjectPropertySetter(readString),
335927
+ 'City': makeObjectPropertySetter(readString),
335928
+ 'StateOrProvince': makeObjectPropertySetter(readString),
335929
+ 'PostCode': makeObjectPropertySetter(readString),
335930
+ 'Country': makeObjectPropertySetter(readString)
335931
+ });
335932
+
335933
+
335934
+ /**
335935
+ * @const
335936
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335937
+ * @private
335938
+ */
335939
+ const EXCEPTION_PARSERS = makeParsersNS(
335940
+ NAMESPACE_URIS, {
335941
+ 'Format': makeArrayPusher(readString)
335942
+ });
335943
+
335944
+
335945
+ /**
335946
+ * @const
335947
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335948
+ * @private
335949
+ */
335950
+ const LAYER_PARSERS = makeParsersNS(
335951
+ NAMESPACE_URIS, {
335952
+ 'Name': makeObjectPropertySetter(readString),
335953
+ 'Title': makeObjectPropertySetter(readString),
335954
+ 'Abstract': makeObjectPropertySetter(readString),
335955
+ 'KeywordList': makeObjectPropertySetter(readKeywordList),
335956
+ 'CRS': makeObjectPropertyPusher(readString),
335957
+ 'SRS': makeObjectPropertyPusher(readString),
335958
+ 'EX_GeographicBoundingBox': makeObjectPropertySetter(readEXGeographicBoundingBox),
335959
+ 'LatLonBoundingBox': makeObjectPropertySetter(readLatLonBoundingBox),
335960
+ 'BoundingBox': makeObjectPropertyPusher(readBoundingBox),
335961
+ 'Dimension': makeObjectPropertyPusher(readDimension),
335962
+ 'Attribution': makeObjectPropertySetter(readAttribution),
335963
+ 'AuthorityURL': makeObjectPropertyPusher(readAuthorityURL),
335964
+ 'Identifier': makeObjectPropertyPusher(readString),
335965
+ 'MetadataURL': makeObjectPropertyPusher(readMetadataURL),
335966
+ 'DataURL': makeObjectPropertyPusher(readFormatOnlineresource),
335967
+ 'FeatureListURL': makeObjectPropertyPusher(readFormatOnlineresource),
335968
+ 'Style': makeObjectPropertyPusher(readStyle),
335969
+ 'MinScaleDenominator': makeObjectPropertySetter(readDecimal),
335970
+ 'MaxScaleDenominator': makeObjectPropertySetter(readDecimal),
335971
+ 'ScaleHint': makeObjectPropertySetter(readScaleHint),
335972
+ 'Layer': makeObjectPropertyPusher(readLayer)
335973
+ });
335974
+
335975
+
335976
+ /**
335977
+ * @const
335978
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335979
+ * @private
335980
+ */
335981
+ const ATTRIBUTION_PARSERS = makeParsersNS(
335982
+ NAMESPACE_URIS, {
335983
+ 'Title': makeObjectPropertySetter(readString),
335984
+ 'OnlineResource': makeObjectPropertySetter(readHref),
335985
+ 'LogoURL': makeObjectPropertySetter(readSizedFormatOnlineresource)
335986
+ });
335987
+
335988
+
335989
+ /**
335990
+ * @const
335991
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
335992
+ * @private
335993
+ */
335994
+ const EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS =
335995
+ makeParsersNS(NAMESPACE_URIS, {
335996
+ 'westBoundLongitude': makeObjectPropertySetter(readDecimal),
335997
+ 'eastBoundLongitude': makeObjectPropertySetter(readDecimal),
335998
+ 'southBoundLatitude': makeObjectPropertySetter(readDecimal),
335999
+ 'northBoundLatitude': makeObjectPropertySetter(readDecimal)
336000
+ });
336001
+
336002
+
336003
+ /**
336004
+ * @const
336005
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336006
+ * @private
336007
+ */
336008
+ const REQUEST_PARSERS = makeParsersNS(
336009
+ NAMESPACE_URIS, {
336010
+ 'GetCapabilities': makeObjectPropertySetter(
336011
+ readOperationType),
336012
+ 'GetMap': makeObjectPropertySetter(
336013
+ readOperationType),
336014
+ 'GetFeatureInfo': makeObjectPropertySetter(
336015
+ readOperationType)
336016
+ });
336017
+
336018
+
336019
+ /**
336020
+ * @const
336021
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336022
+ * @private
336023
+ */
336024
+ const OPERATIONTYPE_PARSERS = makeParsersNS(
336025
+ NAMESPACE_URIS, {
336026
+ 'Format': makeObjectPropertyPusher(readString),
336027
+ 'DCPType': makeObjectPropertyPusher(
336028
+ readDCPType)
336029
+ });
336030
+
336031
+
336032
+ /**
336033
+ * @const
336034
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336035
+ * @private
336036
+ */
336037
+ const DCPTYPE_PARSERS = makeParsersNS(
336038
+ NAMESPACE_URIS, {
336039
+ 'HTTP': makeObjectPropertySetter(
336040
+ readHTTP)
336041
+ });
336042
+
336043
+
336044
+ /**
336045
+ * @const
336046
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336047
+ * @private
336048
+ */
336049
+ const HTTP_PARSERS = makeParsersNS(
336050
+ NAMESPACE_URIS, {
336051
+ 'Get': makeObjectPropertySetter(
336052
+ readFormatOnlineresource),
336053
+ 'Post': makeObjectPropertySetter(
336054
+ readFormatOnlineresource)
336055
+ });
336056
+
336057
+
336058
+ /**
336059
+ * @const
336060
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336061
+ * @private
336062
+ */
336063
+ const STYLE_PARSERS = makeParsersNS(
336064
+ NAMESPACE_URIS, {
336065
+ 'Name': makeObjectPropertySetter(readString),
336066
+ 'Title': makeObjectPropertySetter(readString),
336067
+ 'Abstract': makeObjectPropertySetter(readString),
336068
+ 'LegendURL': makeObjectPropertyPusher(readSizedFormatOnlineresource),
336069
+ 'StyleSheetURL': makeObjectPropertySetter(readFormatOnlineresource),
336070
+ 'StyleURL': makeObjectPropertySetter(readFormatOnlineresource)
336071
+ });
336072
+
336073
+
336074
+ /**
336075
+ * @const
336076
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336077
+ * @private
336078
+ */
336079
+ const FORMAT_ONLINERESOURCE_PARSERS = makeParsersNS(
336080
+ NAMESPACE_URIS, {
336081
+ 'Format': makeObjectPropertySetter(readString),
336082
+ 'OnlineResource': makeObjectPropertySetter(readHref)
336083
+ });
336084
+
336085
+
336086
+ /**
336087
+ * @const
336088
+ * @type {Object.<string, Object.<string, XMLParser.Parser>>}
336089
+ * @private
336090
+ */
336091
+ const KEYWORDLIST_PARSERS = makeParsersNS(
336092
+ NAMESPACE_URIS, {
336093
+ 'Keyword': makeArrayPusher(readString)
336094
+ });
336095
+
336096
+ class WMS {
336097
+ /**
336098
+ * WMS Capabilities parser
336099
+ *
336100
+ * @param {String=} xmlString
336101
+ * @constructor
336102
+ */
336103
+ constructor(xmlString, DOMParser) {
336104
+ if (!DOMParser && typeof window !== 'undefined') {
336105
+ DOMParser = window.DOMParser;
336106
+ }
336107
+
336108
+ /**
336109
+ * @type {String}
336110
+ */
336111
+ this.version = undefined;
336112
+
336113
+ /**
336114
+ * @type {XMLParser}
336115
+ */
336116
+ this._parser = new XMLParser(DOMParser);
336117
+
336118
+ /**
336119
+ * @type {String=}
336120
+ */
336121
+ this._data = xmlString;
336122
+ }
336123
+
336124
+
336125
+ /**
336126
+ * @param {String} xmlString
336127
+ * @return {WMS}
336128
+ */
336129
+ data (xmlString) {
336130
+ this._data = xmlString;
336131
+ return this;
336132
+ }
336133
+
336134
+ /**
336135
+ * @param {String=} xmlString
336136
+ * @return {Object|null}
336137
+ */
336138
+ toJSON (xmlString) {
336139
+ xmlString = xmlString || this._data;
336140
+ return this.parse(xmlString);
336141
+ }
336142
+
336143
+ /**
336144
+ * @return {String} xml
336145
+ * @return {Object|null}
336146
+ */
336147
+ parse (xmlString) {
336148
+ return this.readFromDocument(this._parser.toDocument(xmlString));
336149
+ }
336150
+
336151
+ /**
336152
+ * @param {Document} doc
336153
+ * @return {Object|null}
336154
+ */
336155
+ readFromDocument (doc) {
336156
+ for (let node = doc.firstChild; node; node = node.nextSibling) {
336157
+ if (node.nodeType == NODE_TYPES.ELEMENT) {
336158
+ return this.readFromNode(node);
336159
+ }
336160
+ }
336161
+ return null;
336162
+ }
336163
+
336164
+ /**
336165
+ * @param {DOMNode} node
336166
+ * @return {Object}
336167
+ */
336168
+ readFromNode (node) {
336169
+ this.version = node.getAttribute('version');
336170
+ const wmsCapabilityObject = pushParseAndPop({
336171
+ 'version': this.version
336172
+ }, PARSERS, node, []);
336173
+
336174
+ return wmsCapabilityObject || null;
336175
+ }
336176
+ }
336177
+
336178
+
336179
+ //# sourceMappingURL=wms-capabilities.mjs.map
336180
+
336181
+
334982
336182
  /***/ },
334983
336183
 
334984
336184
  /***/ "../../core/frontend/package.json"
@@ -334988,7 +336188,7 @@ var loadLanguages = instance.loadLanguages;
334988
336188
  (module) {
334989
336189
 
334990
336190
  "use strict";
334991
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.18","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s build:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run build:test-worker && vitest --run","cover":"npm run build:test-worker && vitest --run","build:test-worker":"vite build --config ./src/test/worker/vite.config.mts 1>&2","build:workers":"rimraf lib/workers/webpack && vite build --config ./src/workers/ImdlParser/vite.config.mts 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.11","@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/node":"~20.17.0","@types/sinon":"^17.0.2","@vitest/browser-playwright":"^4.1.10","@vitest/coverage-v8":"^4.1.10","cpx2":"^8.0.0","eslint":"^9.31.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","typescript":"~5.6.2","vite":"^6.4.3","vitest":"^4.1.10","vite-plugin-static-copy":"2.2.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
336191
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.13.0-dev.20","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s build:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run build:test-worker && vitest --run","cover":"npm run build:test-worker && vitest --run","build:test-worker":"vite build --config ./src/test/worker/vite.config.mts 1>&2","build:workers":"rimraf lib/workers/webpack && vite build --config ./src/workers/ImdlParser/vite.config.mts 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.11","@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/node":"~20.17.0","@types/sinon":"^17.0.2","@vitest/browser-playwright":"^4.1.10","@vitest/coverage-v8":"^4.1.10","cpx2":"^8.0.0","eslint":"^9.31.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","typescript":"~5.6.2","vite":"^6.4.3","vitest":"^4.1.10","vite-plugin-static-copy":"2.2.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.6.0"}}');
334992
336192
 
334993
336193
  /***/ }
334994
336194