@vertigis/arcgis-extensions 34.2.0 → 34.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/docs/html/classes/mapping__layerextension.arraywrappedcollection.html +2 -2
  2. package/docs/html/classes/mapping__layerextension.layerextension.html +9 -9
  3. package/docs/html/classes/mapping__layerextension.layerextensionschema.html +6 -6
  4. package/docs/html/classes/mapping_buildingscenelayerextension.buildingscenelayerextension.html +6 -6
  5. package/docs/html/classes/mapping_buildingscenelayerextension.buildingscenelayerreadonlyschema.html +4 -4
  6. package/docs/html/classes/mapping_csvlayerextension.csvlayerextension.html +9 -9
  7. package/docs/html/classes/mapping_elevationlayerextension.elevationlayerextension.html +7 -7
  8. package/docs/html/classes/mapping_featurecollectionlayerextension.featurecollectionlayerextension.html +6 -6
  9. package/docs/html/classes/mapping_featurelayerextension.featurelayerextension.html +6 -6
  10. package/docs/html/classes/mapping_featurelayerextensionbase.featurelayerextensionbase.html +7 -7
  11. package/docs/html/classes/mapping_featurelayerextensionbase.featurelayerschema.html +4 -4
  12. package/docs/html/classes/mapping_georsslayerextension.georsslayerextension.html +8 -8
  13. package/docs/html/classes/mapping_graphicslayerextension.graphicslayerextension.html +6 -6
  14. package/docs/html/classes/mapping_grouplayerextension.grouplayerextension.html +6 -6
  15. package/docs/html/classes/mapping_imagerylayerextension.imagerylayerextension.html +8 -8
  16. package/docs/html/classes/mapping_imagerytilelayerextension.imagerytilelayerextension.html +6 -6
  17. package/docs/html/classes/mapping_integratedmeshlayerextension.integratedmeshlayerextension.html +8 -8
  18. package/docs/html/classes/mapping_kmllayerextension.kmllayerextension.html +6 -6
  19. package/docs/html/classes/mapping_mapimagelayerextension.mapimagelayerextension.html +13 -13
  20. package/docs/html/classes/mapping_openstreetmaplayerextension.openstreetmaplayerextension.html +9 -9
  21. package/docs/html/classes/mapping_pointcloudlayerextension.pointcloudlayerextension.html +8 -8
  22. package/docs/html/classes/mapping_scenelayerextension.scenelayerextension.html +8 -8
  23. package/docs/html/classes/mapping_streamlayerextension.streamlayerextension.html +8 -8
  24. package/docs/html/classes/mapping_streamlayerextension.streamlayerschema.html +4 -4
  25. package/docs/html/classes/mapping_tilelayerextension.tilelayerextension.html +6 -6
  26. package/docs/html/classes/mapping_vectortilelayerextension.vectortilelayerextension.html +7 -7
  27. package/docs/html/classes/mapping_webtilelayerextension.webtilelayerextension.html +9 -9
  28. package/docs/html/classes/mapping_wmslayerextension.wmslayerextension.html +7 -7
  29. package/docs/html/classes/mapping_wmtslayerextension.wmtslayerextension.html +7 -7
  30. package/docs/html/interfaces/portal_drawinginfo.drawinginfo-1.html +7 -7
  31. package/docs/html/interfaces/portal_layerdefinition.fieldoverride.html +3 -3
  32. package/docs/html/interfaces/portal_layerdefinition.layerdefinition-1.html +48 -48
  33. package/docs/html/interfaces/portal_layerdefinition.layerdefinitiondefaults.html +8 -8
  34. package/docs/html/interfaces/portal_layerdefinition.layertimeinfo.html +9 -9
  35. package/docs/html/interfaces/portal_layerdefinition.orderbyclause.html +3 -3
  36. package/docs/html/interfaces/portal_layerdefinition.timeinfoexportoptions.html +4 -4
  37. package/docs/html/modules/mapping__layerextension.html +1 -1
  38. package/docs/html/modules/portal_drawinginfo.drawinginfo.html +2 -2
  39. package/docs/html/modules/portal_layerdefinition.html +2 -2
  40. package/docs/html/modules/portal_layerdefinition.layerdefinitioncapabilities.html +6 -6
  41. package/docs/html/modules/utilities__layers.html +16 -16
  42. package/docs/html/modules/version.html +1 -1
  43. package/mapping/MapImageLayerExtension.js +1 -1
  44. package/mapping/_LayerExtension.js +1 -1
  45. package/mapping/_SublayerExtension.js +1 -1
  46. package/package.json +3 -3
  47. package/portal/DrawingInfo.js +1 -1
  48. package/portal/LayerDefinition.js +1 -1
  49. package/utilities/_layers.d.ts +8 -9
  50. package/utilities/_layers.js +1 -1
  51. package/version.d.ts +1 -1
  52. package/version.js +1 -1
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{isSublayerExtension,ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{serializable}from"../support/Serializable.js";import{isBuildingComponentSublayer,isBuildingGroupSublayer,isKMLSublayer,isMapImageSublayer,isTileLayer,isWMSSublayer,isWMTSSublayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{getLogger}from"../utilities/log.js";import{parse}from"../utilities/number.js";import{deepClone}from"../utilities/object.js";import{onCollectionPropertyChange,watchCollectionPropertyEach}from"../utilities/watch.js";import{fromLayerListMode,LayerListSettings}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("SublayerExtension"),ERR_INVALID_SUBLAYER_TYPE="Invalid type of sublayer for this type of sublayer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_SUBLAYERX_NOT_SUPPORTED="This type of sublayer extension cannot have child sublayer extensions.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export function getSublayerType(e){if(isMapImageSublayer(e))return isTileLayer(null==e?void 0:e.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(isKMLSublayer(e))return"KMLSublayer";if(isWMTSSublayer(e))return"WMTSSublayer";if(isWMSSublayer(e))return"WMSSublayer";if(isBuildingComponentSublayer(e))return"BuildingComponentSublayer";if(isBuildingGroupSublayer(e))return"BuildingGroupSublayer";throw new Error(`Unknown sublayer type for ESRI sublayer: ${e}`)}export class SublayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.SUBLAYER_EXTENSION,this._watchHandles=[],this._onSublayerAddedPostInitialize=async e=>{var t,i;try{await e.initialize()}catch(s){log.error(`Error occurred while initializing sublayer extension for sublayer '${null!==(i=null!==(t=e.title)&&void 0!==t?t:e.sublayer.id)&&void 0!==i?i:e.id}'. ${s}`)}};const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;(null==i?void 0:i.hasOwnProperty("listMode"))&&(s=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),isSublayer(i)?(checkArg("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){checkArg("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){var e,t,i,s,r,a,n,l,o,u,y;return null!==(y=null!==(t=null===(e=this.sublayer)||void 0===e?void 0:e.title)&&void 0!==t?t:"string"==typeof(null===(i=this._deferredSublayerProperties)||void 0===i?void 0:i.$ref)||"number"==typeof(null===(s=this._deferredSublayerProperties)||void 0===s?void 0:s.$ref)?null===(r=this._deferredSublayerProperties)||void 0===r?void 0:r.$ref.toString():null!==(l=null===(n=null===(a=this._deferredSublayerProperties)||void 0===a?void 0:a.$ref)||void 0===n?void 0:n.title)&&void 0!==l?l:null===(u=null===(o=this._deferredSublayerProperties)||void 0===o?void 0:o.$ref)||void 0===u?void 0:u.id.toString())&&void 0!==y?y:"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayers(){var e;if(this.supportsSublayers)return null===(e=this.sublayer)||void 0===e?void 0:e.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}static create(e){if(!SublayerExtension.factory)throw new InvalidOperationError("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=parse(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});return"both"===i?e.id===s.id&&e.title===s.title:"by-id"===i?e.id===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension||!this.layerExtension.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:this._deferredSublayerProperties};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){var t;if(e===this.sublayer)return;checkArg("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this.isInitialized&&await load(e);const i=new Map;if(null===(t=this.sublayer)||void 0===t?void 0:t.sublayers)for(const e of this.sublayer.sublayers.toArray())i.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const s=[];if(this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>i.has(e.id))).toArray();s.push(...e.map((async e=>{const t=i.get(e.id);await t._switchSublayer(e),this._sublayerExtensions._register(t)})))}this.isInitialized&&s.push(this._initializeChildren()),await Promise.all(s)}async _postInitialize(){await super._postInitialize(),this._watchHandles.push(onCollectionPropertyChange(this,"sublayer.sublayers",(async e=>{var t;const i=(null!==(t=e.added)&&void 0!==t?t:[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(i.map(this._onSublayerAddedPostInitialize))})))}async _onDestroy(){this._watchHandles.forEach((e=>null==e?void 0:e.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:"initial",visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return deepClone(this._deferredSublayerProperties)},deserialize:e=>{if(isSublayer(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else this._sublayer?this._applySublayerProperties(e,this._sublayer):this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED)}_createSchema(){return new SublayerSchema(this)}_createLayerListSettings(e){return new LayerListSettings(e)}_capabilities(){return DEFAULT_CAPABILITIES}async _onInitialize(){var e,t;if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties&&(null===(e=this._deferredSublayerProperties)||void 0===e?void 0:e.$ref)||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=null===(t=this._deferredSublayerProperties)||void 0===t?void 0:t.$ref;if(!this._layerExtension)throw new InvalidOperationError("Cannot resolve sublayer reference: missing parent layer extension.");throw new InvalidOperationError(`No sublayer found matching reference "${e}".`)}this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_setSublayer(e){this._sublayer=e,e.watch("visible",this._onSetSublayerVisible.bind(this),!0),this.supportsSublayers&&(onCollectionPropertyChange(e,"sublayers",this._onSublayersChange.bind(this),!0),watchCollectionPropertyEach(e,"sublayers","visible",this._onSetSublayersSublayerVisible.bind(this),!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this.sublayer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.sublayer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_onSetSublayerVisible(e){if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")}_onSetSublayersSublayerVisible(e,t,i,s){e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)}_onSublayersChange(e){var t;(null===(t=e.added)||void 0===t?void 0:t.length)&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])}_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let SublayerSchema=class extends Schema{constructor(e){super(),this._sublayerExtension=e}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new InvalidOperationError("Cannot set sublayer schema spatial reference.")}};SublayerSchema=__decorate([serializable],SublayerSchema);export{SublayerSchema};export class SubSublayerExtensionCollection extends SublayerExtensionCollectionBase{constructor(e){super(e,"sublayer.sublayers")}get _layerExtension(){return this._parent.layerExtension}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED);e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,t)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){compare(e,t,{onNew:(t,s)=>{e.add(isSublayerExtension(t)?t:i(t),isSublayerRef(t)?void 0:s)},onMatch:(t,i,s,r)=>{isSublayerExtension(i)||t.assignProperties(i),s===r||isSublayerRef(i)||e.reorder(t,r)},equals:(e,t)=>isSublayerExtension(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function isSublayer(e){return e&&"function"==typeof e.get}function isSublayerRef(e){var t,i;return isSublayerExtension(e)?!!(null===(t=e._deferredSublayerProperties)||void 0===t?void 0:t.$ref):!isSublayer(e.sublayer)&&!!(null===(i=e.sublayer)||void 0===i?void 0:i.$ref)}
1
+ import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{isSublayerExtension,ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{serializable}from"../support/Serializable.js";import{isBuildingComponentSublayer,isBuildingGroupSublayer,isKMLSublayer,isMapImageSublayer,isTileLayer,isWMSSublayer,isWMTSSublayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{getLogger}from"../utilities/log.js";import{parse}from"../utilities/number.js";import{deepClone}from"../utilities/object.js";import{onCollectionPropertyChange,watchCollectionPropertyEach}from"../utilities/watch.js";import{fromLayerListMode,LayerListSettings}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("SublayerExtension"),ERR_INVALID_SUBLAYER_TYPE="Invalid type of sublayer for this type of sublayer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_SUBLAYERX_NOT_SUPPORTED="This type of sublayer extension cannot have child sublayer extensions.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export function getSublayerType(e){if(isMapImageSublayer(e))return isTileLayer(null==e?void 0:e.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(isKMLSublayer(e))return"KMLSublayer";if(isWMTSSublayer(e))return"WMTSSublayer";if(isWMSSublayer(e))return"WMSSublayer";if(isBuildingComponentSublayer(e))return"BuildingComponentSublayer";if(isBuildingGroupSublayer(e))return"BuildingGroupSublayer";throw new Error(`Unknown sublayer type for ESRI sublayer: ${e}`)}export class SublayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.SUBLAYER_EXTENSION,this._watchHandles=[],this._onSublayerAddedPostInitialize=async e=>{var t,i;try{await e.initialize()}catch(s){log.error(`Error occurred while initializing sublayer extension for sublayer '${null!==(i=null!==(t=e.title)&&void 0!==t?t:e.sublayer.id)&&void 0!==i?i:e.id}'. ${s}`)}};const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;(null==i?void 0:i.hasOwnProperty("listMode"))&&(s=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),isSublayer(i)?(checkArg("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}get visibilityMode(){return this.canToggleVisibility?this._visibilityMode:"inherited"}set visibilityMode(e){checkArg("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){var e,t,i,s,r,a,n,l,o,u,y;return null!==(y=null!==(t=null===(e=this.sublayer)||void 0===e?void 0:e.title)&&void 0!==t?t:"string"==typeof(null===(i=this._deferredSublayerProperties)||void 0===i?void 0:i.$ref)||"number"==typeof(null===(s=this._deferredSublayerProperties)||void 0===s?void 0:s.$ref)?null===(r=this._deferredSublayerProperties)||void 0===r?void 0:r.$ref.toString():null!==(l=null===(n=null===(a=this._deferredSublayerProperties)||void 0===a?void 0:a.$ref)||void 0===n?void 0:n.title)&&void 0!==l?l:null===(u=null===(o=this._deferredSublayerProperties)||void 0===o?void 0:o.$ref)||void 0===u?void 0:u.id.toString())&&void 0!==y?y:"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayers(){var e;if(this.supportsSublayers)return null===(e=this.sublayer)||void 0===e?void 0:e.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}static create(e){if(!SublayerExtension.factory)throw new InvalidOperationError("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=parse(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});return"both"===i?e.id===s.id&&e.title===s.title:"by-id"===i?e.id===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension||!this.layerExtension.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:this._deferredSublayerProperties};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){var t;if(e===this.sublayer)return;checkArg("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this.isInitialized&&await load(e);const i=new Map;if(null===(t=this.sublayer)||void 0===t?void 0:t.sublayers)for(const e of this.sublayer.sublayers.toArray())i.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const s=[];if(this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>i.has(e.id))).toArray();s.push(...e.map((async e=>{const t=i.get(e.id);await t._switchSublayer(e),this._sublayerExtensions._register(t)})))}this.isInitialized&&s.push(this._initializeChildren()),await Promise.all(s)}async _postInitialize(){await super._postInitialize(),this._watchHandles.push(onCollectionPropertyChange(this,"sublayer.sublayers",(async e=>{var t;const i=(null!==(t=e.added)&&void 0!==t?t:[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(i.map(this._onSublayerAddedPostInitialize))})))}async _onDestroy(){this._watchHandles.forEach((e=>null==e?void 0:e.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:"initial",visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return deepClone(this._deferredSublayerProperties)},deserialize:e=>{if(isSublayer(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else this._sublayer?this._applySublayerProperties(e,this._sublayer):this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED)}_createSchema(){return new SublayerSchema(this)}_createLayerListSettings(e){return new LayerListSettings(e)}_capabilities(){return DEFAULT_CAPABILITIES}async _onInitialize(){var e,t;if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties&&(null===(e=this._deferredSublayerProperties)||void 0===e?void 0:e.$ref)||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=null===(t=this._deferredSublayerProperties)||void 0===t?void 0:t.$ref;if(!this._layerExtension)throw new InvalidOperationError("Cannot resolve sublayer reference: missing parent layer extension.");throw new InvalidOperationError(`No sublayer found matching reference "${e}".`)}this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_setSublayer(e){this._sublayer=e,e.watch("visible",this._onSetSublayerVisible.bind(this),!0),this.supportsSublayers&&(onCollectionPropertyChange(e,"sublayers",this._onSublayersChange.bind(this),!0),watchCollectionPropertyEach(e,"sublayers","visible",this._onSetSublayersSublayerVisible.bind(this),!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this.sublayer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.sublayer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_onSetSublayerVisible(e){if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")}_onSetSublayersSublayerVisible(e,t,i,s){e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)}_onSublayersChange(e){var t;(null===(t=e.added)||void 0===t?void 0:t.length)&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])}_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let SublayerSchema=class extends Schema{constructor(e){super(),this._sublayerExtension=e}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new InvalidOperationError("Cannot set sublayer schema spatial reference.")}};SublayerSchema=__decorate([serializable],SublayerSchema);export{SublayerSchema};export class SubSublayerExtensionCollection extends SublayerExtensionCollectionBase{constructor(e){super(e,"sublayer.sublayers")}get _layerExtension(){return this._parent.layerExtension}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED);e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,t)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){compare(e,t,{onNew:(t,s)=>{e.add(isSublayerExtension(t)?t:i(t),isSublayerRef(t)?void 0:s)},onMatch:(t,i,s,r)=>{isSublayerExtension(i)||t.assignProperties(i),s===r||isSublayerRef(i)||e.reorder(t,r)},equals:(e,t)=>isSublayerExtension(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function isSublayer(e){return e&&"function"==typeof e.get}function isSublayerRef(e){var t,i;return isSublayerExtension(e)?!!(null===(t=e._deferredSublayerProperties)||void 0===t?void 0:t.$ref):!isSublayer(e.sublayer)&&!!(null===(i=e.sublayer)||void 0===i?void 0:i.$ref)}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vertigis/arcgis-extensions",
3
3
  "license": "SEE LICENSE IN LICENSE",
4
- "version": "34.2.0",
4
+ "version": "34.2.3",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://geocortex.visualstudio.com/Geocortex/_git/geocortex-api-ts"
@@ -50,6 +50,7 @@
50
50
  "alasql": "~1.7.3",
51
51
  "elasticlunr": "~0.9.5",
52
52
  "esri-proj-codes": "~1.0.3",
53
+ "json-stable-stringify": "~1.0.1",
53
54
  "jszip": "~3.7.1",
54
55
  "moment-timezone": "~0.5.33",
55
56
  "shpjs": "~4.0.2 ",
@@ -89,7 +90,6 @@
89
90
  "jest-util": "26.6.2",
90
91
  "jest-watch-typeahead": "0.6.4",
91
92
  "jsdom": "17.0.0",
92
- "json-stable-stringify": "1.0.1",
93
93
  "lint-staged": "11.2.0",
94
94
  "nock": "13.1.3",
95
95
  "node-fetch": "2.6.1",
@@ -105,7 +105,7 @@
105
105
  "whatwg-fetch": "3.6.2"
106
106
  },
107
107
  "peerDependencies": {
108
- "@arcgis/core": "~4.19.0",
108
+ "@arcgis/core": "~4.21.0",
109
109
  "tslib": "^2.3.1"
110
110
  },
111
111
  "type": "module",
@@ -1 +1 @@
1
- import{Warning as EsriWarning}from"../support/_esriInternal.js";import{isFeatureLayer,isMapImageSublayer as isEsriSublayer,isPointCloudLayer,isSceneLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{LabelingInfo}from"./LabelingInfo.js";import{PointCloudRenderer}from"./PointCloudRenderer.js";import{Renderer}from"./Renderer.js";export var DrawingInfo;!function(e){e.applyToEsriApiLayer=async function(e,r){checkArg("json",e).isNotMissing(),checkArg("layer",r).isNotMissing(),(isFeatureLayer(r)||isSceneLayer(r)||isEsriSublayer(r))&&(e.hasOwnProperty("labelingInfo")&&e.labelingInfo&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.toEsriApiLabelClass(e))}))),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels)),e.hasOwnProperty("renderer")&&(e.renderer?isPointCloudLayer(r)?r.renderer=await PointCloudRenderer.toEsriApiPointCloudRenderer(e.renderer):r.renderer=Renderer.toEsriApiRenderer(e.renderer):r.renderer=void 0,!r.renderer&&e.renderer&&r.loadWarnings.push(new EsriWarning("renderer:unsupported",`Renderers of type '${e.renderer.type||"unknown"}' are not supported`,{definition:e.renderer}))),e.hasOwnProperty("transparency")&&(r.opacity=1-e.transparency/100)},e.fromEsriApiLayer=function(e){checkArg("layer",e).isNotMissing();const r={};return e.renderer&&(r.renderer=Renderer.fromEsriApiRenderer(e.renderer)),void 0!==e.opacity&&isEsriSublayer(e)&&(r.transparency=100*(1-e.opacity)),e.labelingInfo&&e.labelingInfo.length&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.fromEsriApiLabelClass(e))}))),void 0!==e.labelsVisible&&null!==e.labelsVisible&&(r.showLabels=e.labelsVisible),r}}(DrawingInfo||(DrawingInfo={}));
1
+ import stableStringify from"json-stable-stringify";import{Warning as EsriWarning}from"../support/_esriInternal.js";import{isFeatureLayer,isMapImageSublayer as isEsriSublayer,isPointCloudLayer,isSceneLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{LabelingInfo}from"./LabelingInfo.js";import{PointCloudRenderer}from"./PointCloudRenderer.js";import{Renderer}from"./Renderer.js";export var DrawingInfo;!function(e){e.applyToEsriApiLayer=async function(e,r){checkArg("json",e).isNotMissing(),checkArg("layer",r).isNotMissing(),(isFeatureLayer(r)||isSceneLayer(r)||isEsriSublayer(r))&&(e.hasOwnProperty("labelingInfo")&&e.labelingInfo&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.toEsriApiLabelClass(e))}))),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels)),e.hasOwnProperty("renderer")&&(e.renderer?isPointCloudLayer(r)?r.renderer=await PointCloudRenderer.toEsriApiPointCloudRenderer(e.renderer):r.renderer=Renderer.toEsriApiRenderer(e.renderer):r.renderer=void 0,!r.renderer&&e.renderer&&r.loadWarnings.push(new EsriWarning("renderer:unsupported",`Renderers of type '${e.renderer.type||"unknown"}' are not supported`,{definition:e.renderer}))),e.hasOwnProperty("transparency")&&(r.opacity=1-e.transparency/100)},e.fromEsriApiLayer=function(e){var r,i,n,o,s,a,l,t;checkArg("layer",e).isNotMissing();const d={};return isEsriSublayer(e)&&!(null===(n=null===(i=null===(r=e.layer)||void 0===r?void 0:r.capabilities)||void 0===i?void 0:i.exportMap)||void 0===n?void 0:n.supportsDynamicLayers)||(e.renderer&&(isEsriSublayer(e)&&"map-layer"===e.source.type&&(null===(s=null===(o=e.sourceJSON)||void 0===o?void 0:o.drawingInfo)||void 0===s?void 0:s.renderer)&&stableStringify(null===(a=e.renderer)||void 0===a?void 0:a.toJSON())===stableStringify(Renderer.toEsriApiRenderer(null===(t=null===(l=e.sourceJSON)||void 0===l?void 0:l.drawingInfo)||void 0===t?void 0:t.renderer).toJSON())||(d.renderer=Renderer.fromEsriApiRenderer(e.renderer))),void 0!==e.opacity&&isEsriSublayer(e)&&(d.transparency=100*(1-e.opacity)),e.labelingInfo&&e.labelingInfo.length&&(d.labelingInfo=[],e.labelingInfo.forEach((e=>{d.labelingInfo.push(LabelingInfo.fromEsriApiLabelClass(e))}))),void 0!==e.labelsVisible&&null!==e.labelsVisible&&(d.showLabels=e.labelsVisible)),d}}(DrawingInfo||(DrawingInfo={}));
@@ -1 +1 @@
1
- import EsriExtent from"@arcgis/core/geometry/Extent";import{DataLayerSource,MapLayerSource}from"../support/_esriInternal.js";import{isBuildingSceneLayer,isCSVLayer,isFeatureLayer,isFeatureLayerBase,isMapImageSublayer as isEsriSublayer,isSceneLayer,isStreamLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{isEmpty}from"../utilities/object.js";import{DrawingInfo}from"./DrawingInfo.js";import{ElevationInfo}from"./ElevationInfo.js";import{FeatureReduction}from"./FeatureReduction.js";import{Field as PortalField}from"./Field.js";import{GeometryType}from"./Geometry.js";import{SpatialReference}from"./SpatialReference.js";import{Template}from"./Template.js";export var LayerDefinition;!function(e){e.applyToEsriApiLayer=async function(e,i){var t,r;checkArg("json",e).isNotMissing(),checkArg("layer",i).isNotMissing();const a=i,s=i;if(isFeatureLayerBase(a)&&(e.hasOwnProperty("objectIdField")&&(isStreamLayer(a)?a.objectIdField="__esri_stream_id__":a.objectIdField=e.objectIdField),e.hasOwnProperty("geometryType")&&(a.geometryType=GeometryType.toEsriApiGeometryType(e.geometryType)),e.hasOwnProperty("hasAttachments")&&s._set("capabilities.data.supportsAttachment",e.hasAttachments),e.hasOwnProperty("maxRecordCount")&&(s.maxRecordCount=e.maxRecordCount),e.hasOwnProperty("hasM")&&s._set("hasM",e.hasM),e.hasOwnProperty("hasZ")&&s._set("hasZ",e.hasZ),e.hasOwnProperty("templates")&&(a.templates=e.templates.map((e=>Template.toEsriApiFeatureTemplate(e))))),e.hasOwnProperty("orderBy")&&(isFeatureLayer(a)||isCSVLayer(a))&&(e.orderBy?a.orderBy=e.orderBy.map((e=>({field:e.field,order:"desc"===e.order?"descending":"ascending"}))):a.orderBy=void 0),e.hasOwnProperty("source")&&isEsriSublayer(i)&&!(null===(t=i.layer)||void 0===t?void 0:t.loaded)){const{type:i,...t}=e.source;"dataLayer"===i?s._set("source",new DataLayerSource(t)):"mapLayer"===i&&s._set("source",new MapLayerSource(t))}if(e.hasOwnProperty("copyrightText")&&(i.copyright=e.copyrightText),e.hasOwnProperty("defaultVisibility")&&(i.visible=e.defaultVisibility),e.hasOwnProperty("definitionExpression")&&(i.definitionExpression=e.definitionExpression),e.hasOwnProperty("elevationInfo")&&e.elevationInfo&&(i.elevationInfo=ElevationInfo.toEsriApiElevationInfo(e.elevationInfo)),e.hasOwnProperty("extent")&&(i.fullExtent=e.extent?EsriExtent.fromJSON(e.extent):void 0),e.hasOwnProperty("fields")){const i=[];e.fields.forEach((e=>{i.push(PortalField.toEsriApiField(e))})),s._set("fields",i)}e.hasOwnProperty("maxScale")&&(i.maxScale=e.maxScale),e.hasOwnProperty("minScale")&&(i.minScale=e.minScale),e.hasOwnProperty("name")&&!i.title&&(i.title=e.name);try{e.hasOwnProperty("spatialReference")?i.spatialReference=SpatialReference.toEsriApiSpatialReference(e.spatialReference):(null===(r=i.fullExtent)||void 0===r?void 0:r.spatialReference)&&i.spatialReference&&(i.spatialReference=i.fullExtent.spatialReference.clone())}catch{}e.hasOwnProperty("featureReduction")&&e.featureReduction&&await FeatureReduction.applyToEsriApiLayer(e.featureReduction,i),e.hasOwnProperty("drawingInfo")&&await DrawingInfo.applyToEsriApiLayer(e.drawingInfo,i)},e.fromEsriApiLayer=function(e,i={}){checkArg("layer",e).isNotMissing();const t={},r=e,a=e;if(isFeatureLayerBase(r)){const s=e;r.objectIdField&&(t.objectIdField=r.objectIdField),s.geometryType&&(t.geometryType=GeometryType.fromEsriApiGeometryType(s.geometryType)),r.capabilities&&r.capabilities.data.supportsAttachment!==i.hasAttachments&&(t.hasAttachments=r.capabilities.data.supportsAttachment),isNaN(a.maxRecordCount)||null==a.maxRecordCount||(t.maxRecordCount=a.maxRecordCount),r.capabilities&&(t.capabilities=LayerDefinitionCapabilities.fromEsriApiFeatureLayerCapabilities(r.capabilities),r.capabilities.query&&(t.supportsAdvancedQueries=r.capabilities.query.supportsOrderBy||r.capabilities.query.supportsDistinct,t.supportsStatistics=r.capabilities.query.supportsStatistics)),r.hasM!==i.hasM&&(t.hasM=r.hasM),r.hasZ!==i.hasZ&&(t.hasZ=r.hasZ),r.templates&&r.templates.length>0&&(t.templates=r.templates.map((e=>Template.fromEsriApiFeatureTemplate(e))))}if(e.featureReduction&&(t.featureReduction=FeatureReduction.fromEsriApiLayer(e)),isEsriSublayer(e)&&e.source&&("data-layer"===e.source.type||"map-layer"===e.source.type)&&(t.source=e.source.toJSON()),e.copyright&&(t.copyrightText=e.copyright),e.visible===i.visible||isEsriSublayer(e)||(t.defaultVisibility=e.visible),e.definitionExpression&&(t.definitionExpression=e.definitionExpression),t.drawingInfo=DrawingInfo.fromEsriApiLayer(e),isEmpty(t.drawingInfo)&&delete t.drawingInfo,e.elevationInfo&&(t.elevationInfo=ElevationInfo.fromEsriApiElevationInfo(e.elevationInfo)),e.fullExtent&&!e.fullExtent.equals(i.fullExtent)&&(t.extent=e.fullExtent.toJSON()),e.fields&&e.fields.length>0){const i=[];e.fields.forEach((e=>{i.push(PortalField.fromEsriApiField(e))})),t.fields=i}if((isFeatureLayer(r)||isCSVLayer(r))&&r.orderBy&&(t.orderBy=r.orderBy.map((e=>({field:e.field,order:"descending"===e.order?"desc":"asc"})))),isFeatureLayer(r)||isCSVLayer(r)||isStreamLayer(r)||isSceneLayer(r)||isBuildingSceneLayer(r)){const{maxScale:e}=r,{minScale:a}=r;isNaN(e)||null===e||e===i.maxScale&&e===a||(t.maxScale=e),isNaN(a)||null===a||a===i.minScale&&a===e||(t.minScale=a)}return t.name=e.title,e.spatialReference&&e.spatialReference.wkid!==i.wkid&&(t.spatialReference=SpatialReference.fromEsriApiSpatialReference(e.spatialReference)),t}}(LayerDefinition||(LayerDefinition={}));export var LayerDefinitionCapabilities;!function(e){e.ADD="Add",e.DELETE="Delete",e.EDITING="Editing",e.QUERY="Query",e.UPDATE="Update",e.fromEsriApiFeatureLayerCapabilities=function(i){checkArg("capabilities",i).isNotMissing();const t=[];return i.operations.supportsAdd&&t.push(e.ADD),i.operations.supportsDelete&&t.push(e.DELETE),i.operations.supportsEditing&&t.push(e.EDITING),i.operations.supportsQuery&&t.push(e.QUERY),i.operations.supportsUpdate&&t.push(e.UPDATE),t.join(",")}}(LayerDefinitionCapabilities||(LayerDefinitionCapabilities={}));
1
+ import EsriExtent from"@arcgis/core/geometry/Extent";import{DataLayerSource,MapLayerSource}from"../support/_esriInternal.js";import{isBuildingSceneLayer,isCSVLayer,isFeatureLayer,isFeatureLayerBase,isMapImageSublayer as isEsriSublayer,isSceneLayer,isStreamLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{isEmpty}from"../utilities/object.js";import{DrawingInfo}from"./DrawingInfo.js";import{ElevationInfo}from"./ElevationInfo.js";import{FeatureReduction}from"./FeatureReduction.js";import{Field as PortalField}from"./Field.js";import{GeometryType}from"./Geometry.js";import{SpatialReference}from"./SpatialReference.js";import{Template}from"./Template.js";export var LayerDefinition;!function(e){e.applyToEsriApiLayer=async function(e,i){var t,r;checkArg("json",e).isNotMissing(),checkArg("layer",i).isNotMissing();const a=i,s=i;if(isFeatureLayerBase(a)&&(e.hasOwnProperty("objectIdField")&&(isStreamLayer(a)?a.objectIdField="__esri_stream_id__":a.objectIdField=e.objectIdField),e.hasOwnProperty("geometryType")&&(a.geometryType=GeometryType.toEsriApiGeometryType(e.geometryType)),e.hasOwnProperty("hasAttachments")&&s._set("capabilities.data.supportsAttachment",e.hasAttachments),e.hasOwnProperty("maxRecordCount")&&(s.maxRecordCount=e.maxRecordCount),e.hasOwnProperty("hasM")&&s._set("hasM",e.hasM),e.hasOwnProperty("hasZ")&&s._set("hasZ",e.hasZ),e.hasOwnProperty("templates")&&(a.templates=e.templates.map((e=>Template.toEsriApiFeatureTemplate(e))))),e.hasOwnProperty("orderBy")&&(isFeatureLayer(a)||isCSVLayer(a))&&(e.orderBy?a.orderBy=e.orderBy.map((e=>({field:e.field,order:"desc"===e.order?"descending":"ascending"}))):a.orderBy=void 0),e.hasOwnProperty("source")&&isEsriSublayer(i)&&!(null===(t=i.layer)||void 0===t?void 0:t.loaded)){const{type:i,...t}=e.source;"dataLayer"===i?s._set("source",new DataLayerSource(t)):"mapLayer"===i&&s._set("source",new MapLayerSource(t))}if(e.hasOwnProperty("copyrightText")&&(i.copyright=e.copyrightText),e.hasOwnProperty("defaultVisibility")&&(i.visible=e.defaultVisibility),e.hasOwnProperty("definitionExpression")&&(i.definitionExpression=e.definitionExpression),e.hasOwnProperty("elevationInfo")&&e.elevationInfo&&(i.elevationInfo=ElevationInfo.toEsriApiElevationInfo(e.elevationInfo)),e.hasOwnProperty("extent")&&(i.fullExtent=e.extent?EsriExtent.fromJSON(e.extent):void 0),e.hasOwnProperty("fields")){const i=[];e.fields.forEach((e=>{i.push(PortalField.toEsriApiField(e))})),s._set("fields",i)}e.hasOwnProperty("maxScale")&&(i.maxScale=e.maxScale),e.hasOwnProperty("minScale")&&(i.minScale=e.minScale),e.hasOwnProperty("name")&&!i.title&&(i.title=e.name);try{e.hasOwnProperty("spatialReference")?i.spatialReference=SpatialReference.toEsriApiSpatialReference(e.spatialReference):(null===(r=i.fullExtent)||void 0===r?void 0:r.spatialReference)&&i.spatialReference&&(i.spatialReference=i.fullExtent.spatialReference.clone())}catch{}e.hasOwnProperty("featureReduction")&&e.featureReduction&&await FeatureReduction.applyToEsriApiLayer(e.featureReduction,i),e.hasOwnProperty("drawingInfo")&&await DrawingInfo.applyToEsriApiLayer(e.drawingInfo,i)},e.fromEsriApiLayer=function(e,i={}){checkArg("layer",e).isNotMissing();const t={},r=e,a=e;if(isFeatureLayerBase(r)){const s=e;r.objectIdField&&(t.objectIdField=r.objectIdField),s.geometryType&&(t.geometryType=GeometryType.fromEsriApiGeometryType(s.geometryType)),r.capabilities&&r.capabilities.data.supportsAttachment!==i.hasAttachments&&(t.hasAttachments=r.capabilities.data.supportsAttachment),isNaN(a.maxRecordCount)||null==a.maxRecordCount||(t.maxRecordCount=a.maxRecordCount),r.capabilities&&(t.capabilities=LayerDefinitionCapabilities.fromEsriApiFeatureLayerCapabilities(r.capabilities),r.capabilities.query&&(t.supportsAdvancedQueries=r.capabilities.query.supportsOrderBy||r.capabilities.query.supportsDistinct,t.supportsStatistics=r.capabilities.query.supportsStatistics)),r.hasM!==i.hasM&&(t.hasM=r.hasM),r.hasZ!==i.hasZ&&(t.hasZ=r.hasZ),r.templates&&r.templates.length>0&&(t.templates=r.templates.map((e=>Template.fromEsriApiFeatureTemplate(e))))}if(e.featureReduction&&(t.featureReduction=FeatureReduction.fromEsriApiLayer(e)),isEsriSublayer(e)&&e.source&&("data-layer"===e.source.type||"map-layer"===e.source.type)&&(t.source=e.source.toJSON()),e.copyright&&(t.copyrightText=e.copyright),e.visible===i.visible||isEsriSublayer(e)||(t.defaultVisibility=e.visible),e.definitionExpression&&(t.definitionExpression=e.definitionExpression),t.drawingInfo=DrawingInfo.fromEsriApiLayer(e),isEmpty(t.drawingInfo)&&delete t.drawingInfo,e.elevationInfo&&(t.elevationInfo=ElevationInfo.fromEsriApiElevationInfo(e.elevationInfo)),!isEsriSublayer(e)&&(!isFeatureLayer(e)||e.source)&&(e.fullExtent&&!e.fullExtent.equals(i.fullExtent)&&(t.extent=e.fullExtent.toJSON()),e.fields&&e.fields.length>0)){const i=[];e.fields.forEach((e=>{i.push(PortalField.fromEsriApiField(e))})),t.fields=i}if((isFeatureLayer(r)||isCSVLayer(r))&&r.orderBy&&(t.orderBy=r.orderBy.map((e=>({field:e.field,order:"descending"===e.order?"desc":"asc"})))),isFeatureLayer(r)||isCSVLayer(r)||isStreamLayer(r)||isSceneLayer(r)||isBuildingSceneLayer(r)){const{maxScale:e}=r,{minScale:a}=r;isNaN(e)||null===e||e===i.maxScale&&e===a||(t.maxScale=e),isNaN(a)||null===a||a===i.minScale&&a===e||(t.minScale=a)}return t.name=e.title,e.spatialReference&&e.spatialReference.wkid!==i.wkid&&(t.spatialReference=SpatialReference.fromEsriApiSpatialReference(e.spatialReference)),t}}(LayerDefinition||(LayerDefinition={}));export var LayerDefinitionCapabilities;!function(e){e.ADD="Add",e.DELETE="Delete",e.EDITING="Editing",e.QUERY="Query",e.UPDATE="Update",e.fromEsriApiFeatureLayerCapabilities=function(i){checkArg("capabilities",i).isNotMissing();const t=[];return i.operations.supportsAdd&&t.push(e.ADD),i.operations.supportsDelete&&t.push(e.DELETE),i.operations.supportsEditing&&t.push(e.EDITING),i.operations.supportsQuery&&t.push(e.QUERY),i.operations.supportsUpdate&&t.push(e.UPDATE),t.join(",")}}(LayerDefinitionCapabilities||(LayerDefinitionCapabilities={}));
@@ -32,7 +32,6 @@ import type { LayerExtension } from "../mapping/_LayerExtension.js";
32
32
  import type { BaseMap as BasemapJson } from "../portal/BaseMap.js";
33
33
  import { LayerBase as LayerJson } from "../portal/_LayerBase.js";
34
34
  import type { LayerWithLegendEnabledProperty } from "../portal/_layerHelper.js";
35
- import { SublayerLike } from "../support/esri.js";
36
35
  /**
37
36
  * Determines whether two layer objects represent the equivalent layer. Two
38
37
  * layers are considered equivalent if they have the same URL.
@@ -192,7 +191,7 @@ export declare function isImageryTileLayer(layer: unknown): layer is ImageryTile
192
191
  *
193
192
  * @param layer The layer to check.
194
193
  */
195
- export declare function isTiledImageServiceLayer(layer: unknown): boolean;
194
+ export declare function isTiledImageServiceLayer(layer: unknown): layer is TileLayer;
196
195
  /**
197
196
  * Returns true if layer is a TiledMapServiceLayer.
198
197
  *
@@ -204,44 +203,44 @@ export declare function isTiledMapServiceLayer(layer: unknown): boolean;
204
203
  *
205
204
  * @param sublayer The sublayer to check.
206
205
  */
207
- export declare function isMapImageSublayer(sublayer: SublayerLike): sublayer is MapImageSublayer;
206
+ export declare function isMapImageSublayer(sublayer: unknown): sublayer is MapImageSublayer;
208
207
  /**
209
208
  * Returns true if sublayer is a KMLSublayer.
210
209
  *
211
210
  * @param sublayer The sublayer to check.
212
211
  */
213
- export declare function isKMLSublayer(sublayer: SublayerLike): sublayer is KMLSublayer;
212
+ export declare function isKMLSublayer(sublayer: unknown): sublayer is KMLSublayer;
214
213
  /**
215
214
  * Returns true if sublayer is a WMTSSublayer.
216
215
  *
217
216
  * @param sublayer The sublayer to check.
218
217
  */
219
- export declare function isWMTSSublayer(sublayer: SublayerLike): sublayer is WMTSSublayer;
218
+ export declare function isWMTSSublayer(sublayer: unknown): sublayer is WMTSSublayer;
220
219
  /**
221
220
  * Returns true if sublayer is a WMSSublayer.
222
221
  *
223
222
  * @param sublayer The sublayer to check.
224
223
  */
225
- export declare function isWMSSublayer(sublayer: SublayerLike): sublayer is WMSSublayer;
224
+ export declare function isWMSSublayer(sublayer: unknown): sublayer is WMSSublayer;
226
225
  /**
227
226
  * Returns true if sublayer is a BuildingComponentSublayer.
228
227
  *
229
228
  * @param sublayer The sublayer to check.
230
229
  */
231
- export declare function isBuildingComponentSublayer(sublayer: SublayerLike): sublayer is BuildingComponentSublayer;
230
+ export declare function isBuildingComponentSublayer(sublayer: unknown): sublayer is BuildingComponentSublayer;
232
231
  /**
233
232
  * Returns true if sublayer is a BuildingGroupSublayer.
234
233
  *
235
234
  * @param sublayer The sublayer to check.
236
235
  */
237
- export declare function isBuildingGroupSublayer(sublayer: SublayerLike): sublayer is BuildingGroupSublayer;
236
+ export declare function isBuildingGroupSublayer(sublayer: unknown): sublayer is BuildingGroupSublayer;
238
237
  /**
239
238
  * This list should contains all the layers which do not have the legendEnable property.
240
239
  * The data source can be found on the API reference / documentation.
241
240
  *
242
241
  * @param layer The layer to interrogate.
243
242
  */
244
- export declare function isLayerWithLegendEnabledProperty(layer: Layer): layer is LayerWithLegendEnabledProperty;
243
+ export declare function isLayerWithLegendEnabledProperty(layer: unknown): layer is LayerWithLegendEnabledProperty;
245
244
  /**
246
245
  * Whether the layer extensions contain an mmap layer. The layer may be nested
247
246
  * within a group layer.
@@ -1 +1 @@
1
- import{LayerBase as LayerJson}from"../portal/_LayerBase.js";import{WellKnownBasemap}from"../support/esri.js";import{isGroupLayerExtension}from"./extensions.js";import{isBasemap}from"./mapping.js";export function layersAreEquivalent(e,r){if(e===r)return!0;const a=isLayer(e)?LayerJson.getLayerType(e):e.layerType;if(a!==(isLayer(r)?LayerJson.getLayerType(r):r.layerType))return!1;if("OpenStreetMap"===a)return!0;if("ArcGISFeatureLayer"===a){const a=isFeatureLayer(e)?`${e.url}/${e.layerId}`:e.url,s=isFeatureLayer(r)?`${r.url}/${r.layerId}`:r.url;return e.id===r.id||e.url&&urlsAreEquivalent(a,s)}return e.id===r.id||e.url&&urlsAreEquivalent(e.url,r.url)||(e.styleUrl||r.styleUrl)&&urlsAreEquivalent(e.url||e.styleUrl,r.url||r.styleUrl)||e.key&&e.key===r.key||e.urlTemplate&&urlsAreEquivalent(e.urlTemplate,r.urlTemplate)}export function basemapsAreEquivalent(e,r){var a,s,t,i,l,n,o,c;if(e===r)return!0;if(!e||!r)return!1;let y,p,d,u;return isBasemap(e)?(y=e.baseLayers.toArray(),d=e.referenceLayers.toArray()):(y=null!==(s=null===(a=e.baseMapLayers)||void 0===a?void 0:a.filter((e=>!e.isReference)))&&void 0!==s?s:[],d=null!==(i=null===(t=e.baseMapLayers)||void 0===t?void 0:t.filter((e=>e.isReference)))&&void 0!==i?i:[]),isBasemap(r)?(p=r.baseLayers.toArray(),u=r.referenceLayers.toArray()):(p=null!==(n=null===(l=r.baseMapLayers)||void 0===l?void 0:l.filter((e=>!e.isReference)))&&void 0!==n?n:[],u=null!==(c=null===(o=r.baseMapLayers)||void 0===o?void 0:o.filter((e=>e.isReference)))&&void 0!==c?c:[]),y.length===p.length&&y.every(((e,r)=>layersAreEquivalent(e,p[r])))&&d.length===u.length&&d.every(((e,r)=>layersAreEquivalent(e,u[r])))}export const standardBasemaps={[WellKnownBasemap.DARK_GRAY]:{baseMapLayers:[{id:"dark-gray-base-layer",title:"World Dark Gray Base",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{isReference:!0,id:"dark-gray-reference-layer",title:"World Dark Gray Reference",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.DARK_GRAY_VECTOR]:{baseMapLayers:[{id:"dark-gray-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Dark Gray Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/5e9b3685f4c24d8781073dd928ebda50/resources/styles/root.json"},{id:"dark-gray-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Dark Gray Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/747cb7a5329c478cbe6981076cc879c5/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.GRAY]:{baseMapLayers:[{id:"gray-base-layer",title:"World Light Gray Base",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{isReference:!0,id:"gray-reference-layer",title:"World Light Gray Reference",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.GRAY_VECTOR]:{baseMapLayers:[{id:"gray-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Light Gray Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/291da5eab3a0412593b66d384379f89f/resources/styles/root.json"},{id:"gray-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Light Gray Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/1768e8369a214dfab4e2167d5c5f2454/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.HYBRID]:{baseMapLayers:[{id:"hybrid-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",title:"World Imagery"},{id:"hybrid-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer",title:"World Boundaries and Places",isReference:!0}]},[WellKnownBasemap.HYBRID_VECTOR]:{baseMapLayers:[{id:"hybrid-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",title:"World Imagery"},{id:"hybrid-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Hybrid Reference Layer",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/30d6b8271e1849cd9c3042060001f425/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.NATIONAL_GEOGRAPHIC]:{baseMapLayers:[{id:"national-geographic-base-layer",title:"NatGeo World Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.OCEANS]:{baseMapLayers:[{id:"oceans-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",title:"World Ocean Base"},{id:"oceans-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,title:"World Ocean Reference",url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Reference/MapServer",isReference:!0}]},[WellKnownBasemap.OCEANS_VECTOR]:{baseMapLayers:[{id:"oceans-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",title:"World Ocean Base"},{id:"oceans-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Ocean Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/89860a5baf424f3ea0c655115faababe/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.OPEN_STREET_MAP]:{baseMapLayers:[{id:"osm-base-layer",layerType:"OpenStreetMap",showLegend:!1,title:"OpenStreetMap"}]},[WellKnownBasemap.OPEN_STREET_MAP_VECTOR]:{baseMapLayers:[{id:"osm-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"OpenStreetMap",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/3e1a00aeae81496587988075fe529f71/resources/styles/root.json"}]},[WellKnownBasemap.SATELLITE]:{baseMapLayers:[{id:"satellite-base-layer",title:"World Imagery",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.STREETS]:{baseMapLayers:[{id:"streets-base-layer",title:"World Street Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.STREETS_NAVIGATION_VECTOR]:{baseMapLayers:[{id:"streets-navigation-vector-base-layer",title:"World Streets Navigation",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/63c47b7177f946b49902c24129b87252/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_NIGHT_VECTOR]:{baseMapLayers:[{id:"streets-night-vector-base-layer",title:"World Streets Night",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_RELIEF_VECTOR]:{baseMapLayers:[{id:"world-hillshade-layer",title:"World Hillshade",url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{id:"streets-relief-vector-base-layer",title:"World Streets Relief",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/b266e6d17fc345b498345613930fbd76/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_VECTOR]:{baseMapLayers:[{id:"streets-vector-base-layer",title:"World Streets",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/de26a3cf4cc9451298ea173c4b324736/resources/styles/root.json"}]},[WellKnownBasemap.TERRAIN]:{baseMapLayers:[{id:"terrain-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer",title:"World Terrain Base"},{id:"terrain-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer",title:"World Terrain Reference",isReference:!0}]},[WellKnownBasemap.TERRAIN_VECTOR]:{baseMapLayers:[{id:"world-hillshade",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",title:"World Hillshade"},{id:"terrain-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Terrain Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/33064a20de0c48d2bb61efa8faca93a8/resources/styles/root.json"},{id:"terrain-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Terrain Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/14fbc125ccc9488888b014db09f35f67/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.TOPO]:{baseMapLayers:[{id:"topo-base-layer",title:"World Topo Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.TOPO_VECTOR]:{baseMapLayers:[{id:"world-hillshade-layer",title:"World Hillshade",url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{id:"topo-vector-base-layer",title:"World Topo",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/7dc6cea0b1764a1f9af2e679f642f0f5/resources/styles/root.json"}]}};function urlsAreEquivalent(e,r){return e&&r?e.toLowerCase().replace("www.arcgis.com","cdn.arcgis.com")===r.toLowerCase().replace("www.arcgis.com","cdn.arcgis.com"):e==r}const LAYER_DECLARED_CLASS_REGEX=/^esri\.layers\.\w+Layer$/;export function isLayer(e){const r=null==e?void 0:e.declaredClass;return"string"==typeof r&&LAYER_DECLARED_CLASS_REGEX.test(r)}export function isCSVLayer(e){return"csv"===(null==e?void 0:e.type)}export function isStreamLayer(e){return"stream"===(null==e?void 0:e.type)}export function isFeatureLayerBase(e){return isCSVLayer(e)||isFeatureLayer(e)||isStreamLayer(e)}export function isFeatureLayer(e){return"feature"===(null==e?void 0:e.type)}export function isGeoRssLayer(e){return"geo-rss"===(null==e?void 0:e.type)}export function isGraphicsLayer(e){return"graphics"===(null==e?void 0:e.type)}export function isImageryLayer(e){return"imagery"===(null==e?void 0:e.type)}export function isKMLLayer(e){return"kml"===(null==e?void 0:e.type)}export function isMapImageLayer(e){return"map-image"===(null==e?void 0:e.type)}export function isOpenStreetMapLayer(e){return"open-street-map"===(null==e?void 0:e.type)}export function isWebTileLayer(e){return"web-tile"===(null==e?void 0:e.type)||"open-street-map"===(null==e?void 0:e.type)}export function isVectorTileLayer(e){return"vector-tile"===(null==e?void 0:e.type)}export function isElevationLayer(e){return"elevation"===(null==e?void 0:e.type)}export function isSceneLayer(e){return"scene"===(null==e?void 0:e.type)}export function isPointCloudLayer(e){return"point-cloud"===(null==e?void 0:e.type)}export function isIntegratedMeshLayer(e){return"integrated-mesh"===(null==e?void 0:e.type)}export function isGroupLayer(e){return"group"===(null==e?void 0:e.type)}export function isWMSLayer(e){return"wms"===(null==e?void 0:e.type)}export function isWMTSLayer(e){return"wmts"===(null==e?void 0:e.type)}export function isBuildingSceneLayer(e){return"building-scene"===(null==e?void 0:e.type)}export function isTileLayer(e){return"tile"===(null==e?void 0:e.type)}export function isImageryTileLayer(e){return"imagery-tile"===(null==e?void 0:e.type)}export function isTiledImageServiceLayer(e){return isTileLayer(e)&&isImageService(e)}export function isTiledMapServiceLayer(e){return isTileLayer(e)&&!isImageService(e)}function isImageService(e){var r,a;const s=null!==(r=e.url)&&void 0!==r?r:null===(a=e.portalItem)||void 0===a?void 0:a.url;return s&&/\/ImageServer(\/|\/?$)/i.test(s)}export function isMapImageSublayer(e){var r;return"esri.layers.support.Sublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isKMLSublayer(e){var r;return"esri.layers.support.KMLSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isWMTSSublayer(e){var r;return"esri.layers.support.WMTSSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isWMSSublayer(e){var r;return"esri.layers.support.WMSSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isBuildingComponentSublayer(e){const r=e;return"building-component"===(null==r?void 0:r.type)}export function isBuildingGroupSublayer(e){const r=e;return"building-group"===(null==r?void 0:r.type)}export function isLayerWithLegendEnabledProperty(e){return!(isBuildingSceneLayer(e)||isCSVLayer(e)||isElevationLayer(e)||isGraphicsLayer(e)||isGroupLayer(e)||isIntegratedMeshLayer(e)||isKMLLayer(e)||isOpenStreetMapLayer(e)||isPointCloudLayer(e)||isWebTileLayer(e)||isWMTSLayer(e)||isVectorTileLayer(e))}export function hasMmapLayer(e){return e.some((e=>{var r;const a=e._deferredLayerProperties;return!("string"==typeof(null==a?void 0:a.$ref)||!(null===(r=null==a?void 0:a.$ref)||void 0===r?void 0:r.path))||!!isGroupLayerExtension(e)&&hasMmapLayer(e.layerExtensions.toArray())}))}
1
+ import{LayerBase as LayerJson}from"../portal/_LayerBase.js";import{WellKnownBasemap}from"../support/esri.js";import{isGroupLayerExtension}from"./extensions.js";import{isBasemap}from"./mapping.js";export function layersAreEquivalent(e,r){if(e===r)return!0;const a=isLayer(e)?LayerJson.getLayerType(e):e.layerType;if(a!==(isLayer(r)?LayerJson.getLayerType(r):r.layerType))return!1;if("OpenStreetMap"===a)return!0;if("ArcGISFeatureLayer"===a){const a=isFeatureLayer(e)?`${e.url}/${e.layerId}`:e.url,s=isFeatureLayer(r)?`${r.url}/${r.layerId}`:r.url;return e.id===r.id||e.url&&urlsAreEquivalent(a,s)}return e.id===r.id||e.url&&urlsAreEquivalent(e.url,r.url)||(e.styleUrl||r.styleUrl)&&urlsAreEquivalent(e.url||e.styleUrl,r.url||r.styleUrl)||e.key&&e.key===r.key||e.urlTemplate&&urlsAreEquivalent(e.urlTemplate,r.urlTemplate)}export function basemapsAreEquivalent(e,r){var a,s,t,i,l,n,o,c;if(e===r)return!0;if(!e||!r)return!1;let y,p,d,u;return isBasemap(e)?(y=e.baseLayers.toArray(),d=e.referenceLayers.toArray()):(y=null!==(s=null===(a=e.baseMapLayers)||void 0===a?void 0:a.filter((e=>!e.isReference)))&&void 0!==s?s:[],d=null!==(i=null===(t=e.baseMapLayers)||void 0===t?void 0:t.filter((e=>e.isReference)))&&void 0!==i?i:[]),isBasemap(r)?(p=r.baseLayers.toArray(),u=r.referenceLayers.toArray()):(p=null!==(n=null===(l=r.baseMapLayers)||void 0===l?void 0:l.filter((e=>!e.isReference)))&&void 0!==n?n:[],u=null!==(c=null===(o=r.baseMapLayers)||void 0===o?void 0:o.filter((e=>e.isReference)))&&void 0!==c?c:[]),y.length===p.length&&y.every(((e,r)=>layersAreEquivalent(e,p[r])))&&d.length===u.length&&d.every(((e,r)=>layersAreEquivalent(e,u[r])))}export const standardBasemaps={[WellKnownBasemap.DARK_GRAY]:{baseMapLayers:[{id:"dark-gray-base-layer",title:"World Dark Gray Base",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{isReference:!0,id:"dark-gray-reference-layer",title:"World Dark Gray Reference",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.DARK_GRAY_VECTOR]:{baseMapLayers:[{id:"dark-gray-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Dark Gray Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/5e9b3685f4c24d8781073dd928ebda50/resources/styles/root.json"},{id:"dark-gray-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Dark Gray Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/747cb7a5329c478cbe6981076cc879c5/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.GRAY]:{baseMapLayers:[{id:"gray-base-layer",title:"World Light Gray Base",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{isReference:!0,id:"gray-reference-layer",title:"World Light Gray Reference",url:"https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.GRAY_VECTOR]:{baseMapLayers:[{id:"gray-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Light Gray Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/291da5eab3a0412593b66d384379f89f/resources/styles/root.json"},{id:"gray-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Light Gray Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/1768e8369a214dfab4e2167d5c5f2454/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.HYBRID]:{baseMapLayers:[{id:"hybrid-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",title:"World Imagery"},{id:"hybrid-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer",title:"World Boundaries and Places",isReference:!0}]},[WellKnownBasemap.HYBRID_VECTOR]:{baseMapLayers:[{id:"hybrid-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",title:"World Imagery"},{id:"hybrid-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"Hybrid Reference Layer",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/30d6b8271e1849cd9c3042060001f425/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.NATIONAL_GEOGRAPHIC]:{baseMapLayers:[{id:"national-geographic-base-layer",title:"NatGeo World Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.OCEANS]:{baseMapLayers:[{id:"oceans-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",title:"World Ocean Base"},{id:"oceans-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,title:"World Ocean Reference",url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Reference/MapServer",isReference:!0}]},[WellKnownBasemap.OCEANS_VECTOR]:{baseMapLayers:[{id:"oceans-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",title:"World Ocean Base"},{id:"oceans-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Ocean Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/89860a5baf424f3ea0c655115faababe/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.OPEN_STREET_MAP]:{baseMapLayers:[{id:"osm-base-layer",layerType:"OpenStreetMap",showLegend:!1,title:"OpenStreetMap"}]},[WellKnownBasemap.OPEN_STREET_MAP_VECTOR]:{baseMapLayers:[{id:"osm-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"OpenStreetMap",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/3e1a00aeae81496587988075fe529f71/resources/styles/root.json"}]},[WellKnownBasemap.SATELLITE]:{baseMapLayers:[{id:"satellite-base-layer",title:"World Imagery",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.STREETS]:{baseMapLayers:[{id:"streets-base-layer",title:"World Street Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.STREETS_NAVIGATION_VECTOR]:{baseMapLayers:[{id:"streets-navigation-vector-base-layer",title:"World Navigation Map",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/63c47b7177f946b49902c24129b87252/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_NIGHT_VECTOR]:{baseMapLayers:[{id:"streets-night-vector-base-layer",title:"World Street Map (Night)",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_RELIEF_VECTOR]:{baseMapLayers:[{id:"world-hillshade-layer",title:"World Hillshade",url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{id:"streets-relief-vector-base-layer",title:"World Streets Relief",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/b266e6d17fc345b498345613930fbd76/resources/styles/root.json"}]},[WellKnownBasemap.STREETS_VECTOR]:{baseMapLayers:[{id:"streets-vector-base-layer",title:"World Street Map",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/de26a3cf4cc9451298ea173c4b324736/resources/styles/root.json"}]},[WellKnownBasemap.TERRAIN]:{baseMapLayers:[{id:"terrain-base-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer",title:"World Terrain Base"},{id:"terrain-reference-layer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer",title:"World Terrain Reference",isReference:!0}]},[WellKnownBasemap.TERRAIN_VECTOR]:{baseMapLayers:[{id:"world-hillshade",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1,url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",title:"World Hillshade"},{id:"terrain-base-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Terrain Base",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/33064a20de0c48d2bb61efa8faca93a8/resources/styles/root.json"},{id:"terrain-reference-layer",layerType:"VectorTileLayer",showLegend:!1,title:"World Terrain Reference",styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/14fbc125ccc9488888b014db09f35f67/resources/styles/root.json",isReference:!0}]},[WellKnownBasemap.TOPO]:{baseMapLayers:[{id:"topo-base-layer",title:"World Topo Map",url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1}]},[WellKnownBasemap.TOPO_VECTOR]:{baseMapLayers:[{id:"world-hillshade-layer",title:"World Hillshade",url:"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",layerType:"ArcGISTiledMapServiceLayer",showLegend:!1},{id:"topo-vector-base-layer",title:"World Topographic Map",layerType:"VectorTileLayer",showLegend:!1,styleUrl:"https://cdn.arcgis.com/sharing/rest/content/items/7dc6cea0b1764a1f9af2e679f642f0f5/resources/styles/root.json"}]}};function urlsAreEquivalent(e,r){return e&&r?e.toLowerCase().replace("www.arcgis.com","cdn.arcgis.com")===r.toLowerCase().replace("www.arcgis.com","cdn.arcgis.com"):e==r}const LAYER_DECLARED_CLASS_REGEX=/^esri\.layers\.\w+Layer$/;export function isLayer(e){const r=null==e?void 0:e.declaredClass;return"string"==typeof r&&LAYER_DECLARED_CLASS_REGEX.test(r)}export function isCSVLayer(e){return"csv"===(null==e?void 0:e.type)}export function isStreamLayer(e){return"stream"===(null==e?void 0:e.type)}export function isFeatureLayerBase(e){return isCSVLayer(e)||isFeatureLayer(e)||isStreamLayer(e)}export function isFeatureLayer(e){return"feature"===(null==e?void 0:e.type)}export function isGeoRssLayer(e){return"geo-rss"===(null==e?void 0:e.type)}export function isGraphicsLayer(e){return"graphics"===(null==e?void 0:e.type)}export function isImageryLayer(e){return"imagery"===(null==e?void 0:e.type)}export function isKMLLayer(e){return"kml"===(null==e?void 0:e.type)}export function isMapImageLayer(e){return"map-image"===(null==e?void 0:e.type)}export function isOpenStreetMapLayer(e){return"open-street-map"===(null==e?void 0:e.type)}export function isWebTileLayer(e){return"web-tile"===(null==e?void 0:e.type)||"open-street-map"===(null==e?void 0:e.type)}export function isVectorTileLayer(e){return"vector-tile"===(null==e?void 0:e.type)}export function isElevationLayer(e){return"elevation"===(null==e?void 0:e.type)}export function isSceneLayer(e){return"scene"===(null==e?void 0:e.type)}export function isPointCloudLayer(e){return"point-cloud"===(null==e?void 0:e.type)}export function isIntegratedMeshLayer(e){return"integrated-mesh"===(null==e?void 0:e.type)}export function isGroupLayer(e){return"group"===(null==e?void 0:e.type)}export function isWMSLayer(e){return"wms"===(null==e?void 0:e.type)}export function isWMTSLayer(e){return"wmts"===(null==e?void 0:e.type)}export function isBuildingSceneLayer(e){return"building-scene"===(null==e?void 0:e.type)}export function isTileLayer(e){return"tile"===(null==e?void 0:e.type)}export function isImageryTileLayer(e){return"imagery-tile"===(null==e?void 0:e.type)}export function isTiledImageServiceLayer(e){return isTileLayer(e)&&isImageService(e)}export function isTiledMapServiceLayer(e){return isTileLayer(e)&&!isImageService(e)}function isImageService(e){var r,a;const s=null!==(r=e.url)&&void 0!==r?r:null===(a=e.portalItem)||void 0===a?void 0:a.url;return s&&/\/ImageServer(\/|\/?$)/i.test(s)}export function isMapImageSublayer(e){var r;return"esri.layers.support.Sublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isKMLSublayer(e){var r;return"esri.layers.support.KMLSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isWMTSSublayer(e){var r;return"esri.layers.support.WMTSSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isWMSSublayer(e){var r;return"esri.layers.support.WMSSublayer"===(null===(r=e)||void 0===r?void 0:r.declaredClass)}export function isBuildingComponentSublayer(e){const r=e;return"building-component"===(null==r?void 0:r.type)}export function isBuildingGroupSublayer(e){const r=e;return"building-group"===(null==r?void 0:r.type)}export function isLayerWithLegendEnabledProperty(e){return!(isBuildingSceneLayer(e)||isCSVLayer(e)||isElevationLayer(e)||isGraphicsLayer(e)||isGroupLayer(e)||isIntegratedMeshLayer(e)||isKMLLayer(e)||isOpenStreetMapLayer(e)||isPointCloudLayer(e)||isWebTileLayer(e)||isWMTSLayer(e)||isVectorTileLayer(e))}export function hasMmapLayer(e){return e.some((e=>{var r;const a=e._deferredLayerProperties;return!("string"==typeof(null==a?void 0:a.$ref)||!(null===(r=null==a?void 0:a.$ref)||void 0===r?void 0:r.path))||!!isGroupLayerExtension(e)&&hasMmapLayer(e.layerExtensions.toArray())}))}
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the Geocortex ArcGIS Extensions API.
3
3
  */
4
- export declare const version = "34.2.0";
4
+ export declare const version = "34.2.3";
package/version.js CHANGED
@@ -1 +1 @@
1
- export const version="34.2.0";
1
+ export const version="34.2.3";