@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
@@ -111,7 +111,7 @@
111
111
  <div class="tsd-signature tsd-kind-icon">end<wbr>Time<wbr>Field<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
112
112
  <aside class="tsd-sources">
113
113
  <ul>
114
- <li>Defined in src/portal/LayerDefinition.ts:799</li>
114
+ <li>Defined in src/portal/LayerDefinition.ts:805</li>
115
115
  </ul>
116
116
  </aside>
117
117
  <div class="tsd-comment tsd-typography">
@@ -126,7 +126,7 @@
126
126
  <div class="tsd-signature tsd-kind-icon">export<wbr>Options<span class="tsd-signature-symbol">:</span> <a href="portal_layerdefinition.timeinfoexportoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">TimeInfoExportOptions</a></div>
127
127
  <aside class="tsd-sources">
128
128
  <ul>
129
- <li>Defined in src/portal/LayerDefinition.ts:804</li>
129
+ <li>Defined in src/portal/LayerDefinition.ts:810</li>
130
130
  </ul>
131
131
  </aside>
132
132
  <div class="tsd-comment tsd-typography">
@@ -141,7 +141,7 @@
141
141
  <div class="tsd-signature tsd-kind-icon">has<wbr>Live<wbr>Data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
142
142
  <aside class="tsd-sources">
143
143
  <ul>
144
- <li>Defined in src/portal/LayerDefinition.ts:809</li>
144
+ <li>Defined in src/portal/LayerDefinition.ts:815</li>
145
145
  </ul>
146
146
  </aside>
147
147
  <div class="tsd-comment tsd-typography">
@@ -156,7 +156,7 @@
156
156
  <div class="tsd-signature tsd-kind-icon">start<wbr>Time<wbr>Field<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
157
157
  <aside class="tsd-sources">
158
158
  <ul>
159
- <li>Defined in src/portal/LayerDefinition.ts:815</li>
159
+ <li>Defined in src/portal/LayerDefinition.ts:821</li>
160
160
  </ul>
161
161
  </aside>
162
162
  <div class="tsd-comment tsd-typography">
@@ -172,7 +172,7 @@
172
172
  <div class="tsd-signature tsd-kind-icon">time<wbr>Extent<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></div>
173
173
  <aside class="tsd-sources">
174
174
  <ul>
175
- <li>Defined in src/portal/LayerDefinition.ts:820</li>
175
+ <li>Defined in src/portal/LayerDefinition.ts:826</li>
176
176
  </ul>
177
177
  </aside>
178
178
  <div class="tsd-comment tsd-typography">
@@ -187,7 +187,7 @@
187
187
  <div class="tsd-signature tsd-kind-icon">time<wbr>Interval<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
188
188
  <aside class="tsd-sources">
189
189
  <ul>
190
- <li>Defined in src/portal/LayerDefinition.ts:826</li>
190
+ <li>Defined in src/portal/LayerDefinition.ts:832</li>
191
191
  </ul>
192
192
  </aside>
193
193
  <div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
203
203
  <div class="tsd-signature tsd-kind-icon">time<wbr>Interval<wbr>Units<span class="tsd-signature-symbol">:</span> <a href="../modules/portal_layerdefinition.html#temporalunit" class="tsd-signature-type" data-tsd-kind="Type alias">TemporalUnit</a></div>
204
204
  <aside class="tsd-sources">
205
205
  <ul>
206
- <li>Defined in src/portal/LayerDefinition.ts:831</li>
206
+ <li>Defined in src/portal/LayerDefinition.ts:837</li>
207
207
  </ul>
208
208
  </aside>
209
209
  <div class="tsd-comment tsd-typography">
@@ -218,7 +218,7 @@
218
218
  <div class="tsd-signature tsd-kind-icon">time<wbr>Reference<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>respectsDaylightSaving<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>timeZone<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
219
219
  <aside class="tsd-sources">
220
220
  <ul>
221
- <li>Defined in src/portal/LayerDefinition.ts:838</li>
221
+ <li>Defined in src/portal/LayerDefinition.ts:844</li>
222
222
  </ul>
223
223
  </aside>
224
224
  <div class="tsd-comment tsd-typography">
@@ -257,7 +257,7 @@
257
257
  <div class="tsd-signature tsd-kind-icon">track<wbr>IdField<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
258
258
  <aside class="tsd-sources">
259
259
  <ul>
260
- <li>Defined in src/portal/LayerDefinition.ts:854</li>
260
+ <li>Defined in src/portal/LayerDefinition.ts:860</li>
261
261
  </ul>
262
262
  </aside>
263
263
  <div class="tsd-comment tsd-typography">
@@ -104,7 +104,7 @@
104
104
  <div class="tsd-signature tsd-kind-icon">field<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
105
105
  <aside class="tsd-sources">
106
106
  <ul>
107
- <li>Defined in src/portal/LayerDefinition.ts:915</li>
107
+ <li>Defined in src/portal/LayerDefinition.ts:921</li>
108
108
  </ul>
109
109
  </aside>
110
110
  <div class="tsd-comment tsd-typography">
@@ -119,7 +119,7 @@
119
119
  <div class="tsd-signature tsd-kind-icon">order<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;asc&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;desc&quot;</span></div>
120
120
  <aside class="tsd-sources">
121
121
  <ul>
122
- <li>Defined in src/portal/LayerDefinition.ts:927</li>
122
+ <li>Defined in src/portal/LayerDefinition.ts:933</li>
123
123
  </ul>
124
124
  </aside>
125
125
  <div class="tsd-comment tsd-typography">
@@ -134,7 +134,7 @@
134
134
  <div class="tsd-signature tsd-kind-icon">value<wbr>Expression<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
135
135
  <aside class="tsd-sources">
136
136
  <ul>
137
- <li>Defined in src/portal/LayerDefinition.ts:922</li>
137
+ <li>Defined in src/portal/LayerDefinition.ts:928</li>
138
138
  </ul>
139
139
  </aside>
140
140
  <div class="tsd-comment tsd-typography">
@@ -106,7 +106,7 @@
106
106
  <div class="tsd-signature tsd-kind-icon">time<wbr>Data<wbr>Cumulative<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
107
107
  <aside class="tsd-sources">
108
108
  <ul>
109
- <li>Defined in src/portal/LayerDefinition.ts:865</li>
109
+ <li>Defined in src/portal/LayerDefinition.ts:871</li>
110
110
  </ul>
111
111
  </aside>
112
112
  <div class="tsd-comment tsd-typography">
@@ -121,7 +121,7 @@
121
121
  <div class="tsd-signature tsd-kind-icon">time<wbr>Offset<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
122
122
  <aside class="tsd-sources">
123
123
  <ul>
124
- <li>Defined in src/portal/LayerDefinition.ts:871</li>
124
+ <li>Defined in src/portal/LayerDefinition.ts:877</li>
125
125
  </ul>
126
126
  </aside>
127
127
  <div class="tsd-comment tsd-typography">
@@ -138,7 +138,7 @@
138
138
  <div class="tsd-signature tsd-kind-icon">time<wbr>Offset<wbr>Units<span class="tsd-signature-symbol">:</span> <a href="../modules/portal_layerdefinition.html#temporalunit" class="tsd-signature-type" data-tsd-kind="Type alias">TemporalUnit</a></div>
139
139
  <aside class="tsd-sources">
140
140
  <ul>
141
- <li>Defined in src/portal/LayerDefinition.ts:876</li>
141
+ <li>Defined in src/portal/LayerDefinition.ts:882</li>
142
142
  </ul>
143
143
  </aside>
144
144
  <div class="tsd-comment tsd-typography">
@@ -153,7 +153,7 @@
153
153
  <div class="tsd-signature tsd-kind-icon">use<wbr>Time<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
154
154
  <aside class="tsd-sources">
155
155
  <ul>
156
- <li>Defined in src/portal/LayerDefinition.ts:881</li>
156
+ <li>Defined in src/portal/LayerDefinition.ts:887</li>
157
157
  </ul>
158
158
  </aside>
159
159
  <div class="tsd-comment tsd-typography">
@@ -100,7 +100,7 @@
100
100
  <div class="tsd-signature tsd-kind-icon">Layer<wbr>Extension<wbr>Schema<wbr>Property<wbr>Binding<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>property<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>readonly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>sync<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol"> }</span></div>
101
101
  <aside class="tsd-sources">
102
102
  <ul>
103
- <li>Defined in src/mapping/_LayerExtension.ts:1547</li>
103
+ <li>Defined in src/mapping/_LayerExtension.ts:1551</li>
104
104
  </ul>
105
105
  </aside>
106
106
  <div class="tsd-comment tsd-typography">
@@ -92,7 +92,7 @@
92
92
  <li class="tsd-description">
93
93
  <aside class="tsd-sources">
94
94
  <ul>
95
- <li>Defined in src/portal/DrawingInfo.ts:34</li>
95
+ <li>Defined in src/portal/DrawingInfo.ts:35</li>
96
96
  </ul>
97
97
  </aside>
98
98
  <div class="tsd-comment tsd-typography">
@@ -130,7 +130,7 @@
130
130
  <li class="tsd-description">
131
131
  <aside class="tsd-sources">
132
132
  <ul>
133
- <li>Defined in src/portal/DrawingInfo.ts:100</li>
133
+ <li>Defined in src/portal/DrawingInfo.ts:101</li>
134
134
  </ul>
135
135
  </aside>
136
136
  <div class="tsd-comment tsd-typography">
@@ -103,7 +103,7 @@
103
103
  <div class="tsd-signature tsd-kind-icon">Html<wbr>Popup<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;esriServerHTMLPopupTypeAsHTMLText&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriServerHTMLPopupTypeAsURL&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriServerHTMLPopupTypeNone&quot;</span></div>
104
104
  <aside class="tsd-sources">
105
105
  <ul>
106
- <li>Defined in src/portal/LayerDefinition.ts:903</li>
106
+ <li>Defined in src/portal/LayerDefinition.ts:909</li>
107
107
  </ul>
108
108
  </aside>
109
109
  <div class="tsd-comment tsd-typography">
@@ -118,7 +118,7 @@
118
118
  <div class="tsd-signature tsd-kind-icon">Temporal<wbr>Unit<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;esriTimeUnitsCenturies&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsDays&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsDecades&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsHours&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsMilliseconds&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsMinutes&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsMonths&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsSeconds&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsUnknown&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsWeeks&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;esriTimeUnitsYears&quot;</span></div>
119
119
  <aside class="tsd-sources">
120
120
  <ul>
121
- <li>Defined in src/portal/LayerDefinition.ts:887</li>
121
+ <li>Defined in src/portal/LayerDefinition.ts:893</li>
122
122
  </ul>
123
123
  </aside>
124
124
  <div class="tsd-comment tsd-typography">
@@ -104,7 +104,7 @@
104
104
  <div class="tsd-signature tsd-kind-icon">ADD<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Add&quot;</span><span class="tsd-signature-symbol"> = &quot;Add&quot;</span></div>
105
105
  <aside class="tsd-sources">
106
106
  <ul>
107
- <li>Defined in src/portal/LayerDefinition.ts:938</li>
107
+ <li>Defined in src/portal/LayerDefinition.ts:944</li>
108
108
  </ul>
109
109
  </aside>
110
110
  <div class="tsd-comment tsd-typography">
@@ -119,7 +119,7 @@
119
119
  <div class="tsd-signature tsd-kind-icon">DELETE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Delete&quot;</span><span class="tsd-signature-symbol"> = &quot;Delete&quot;</span></div>
120
120
  <aside class="tsd-sources">
121
121
  <ul>
122
- <li>Defined in src/portal/LayerDefinition.ts:943</li>
122
+ <li>Defined in src/portal/LayerDefinition.ts:949</li>
123
123
  </ul>
124
124
  </aside>
125
125
  <div class="tsd-comment tsd-typography">
@@ -134,7 +134,7 @@
134
134
  <div class="tsd-signature tsd-kind-icon">EDITING<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Editing&quot;</span><span class="tsd-signature-symbol"> = &quot;Editing&quot;</span></div>
135
135
  <aside class="tsd-sources">
136
136
  <ul>
137
- <li>Defined in src/portal/LayerDefinition.ts:948</li>
137
+ <li>Defined in src/portal/LayerDefinition.ts:954</li>
138
138
  </ul>
139
139
  </aside>
140
140
  <div class="tsd-comment tsd-typography">
@@ -149,7 +149,7 @@
149
149
  <div class="tsd-signature tsd-kind-icon">QUERY<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Query&quot;</span><span class="tsd-signature-symbol"> = &quot;Query&quot;</span></div>
150
150
  <aside class="tsd-sources">
151
151
  <ul>
152
- <li>Defined in src/portal/LayerDefinition.ts:953</li>
152
+ <li>Defined in src/portal/LayerDefinition.ts:959</li>
153
153
  </ul>
154
154
  </aside>
155
155
  <div class="tsd-comment tsd-typography">
@@ -164,7 +164,7 @@
164
164
  <div class="tsd-signature tsd-kind-icon">UPDATE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Update&quot;</span><span class="tsd-signature-symbol"> = &quot;Update&quot;</span></div>
165
165
  <aside class="tsd-sources">
166
166
  <ul>
167
- <li>Defined in src/portal/LayerDefinition.ts:958</li>
167
+ <li>Defined in src/portal/LayerDefinition.ts:964</li>
168
168
  </ul>
169
169
  </aside>
170
170
  <div class="tsd-comment tsd-typography">
@@ -186,7 +186,7 @@
186
186
  <li class="tsd-description">
187
187
  <aside class="tsd-sources">
188
188
  <ul>
189
- <li>Defined in src/portal/LayerDefinition.ts:966</li>
189
+ <li>Defined in src/portal/LayerDefinition.ts:972</li>
190
190
  </ul>
191
191
  </aside>
192
192
  <div class="tsd-comment tsd-typography">
@@ -186,7 +186,7 @@
186
186
  <a name="isbuildingcomponentsublayer" class="tsd-anchor"></a>
187
187
  <h3>is<wbr>Building<wbr>Component<wbr>Sublayer</h3>
188
188
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
189
- <li class="tsd-signature tsd-kind-icon">is<wbr>Building<wbr>Component<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">BuildingComponentSublayer</span></li>
189
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Building<wbr>Component<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">BuildingComponentSublayer</span></li>
190
190
  </ul>
191
191
  <ul class="tsd-descriptions">
192
192
  <li class="tsd-description">
@@ -203,7 +203,7 @@
203
203
  <h4 class="tsd-parameters-title">Parameters</h4>
204
204
  <ul class="tsd-parameters">
205
205
  <li>
206
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
206
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
207
207
  <div class="tsd-comment tsd-typography">
208
208
  <p>The sublayer to check.</p>
209
209
  </div>
@@ -217,7 +217,7 @@
217
217
  <a name="isbuildinggroupsublayer" class="tsd-anchor"></a>
218
218
  <h3>is<wbr>Building<wbr>Group<wbr>Sublayer</h3>
219
219
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
220
- <li class="tsd-signature tsd-kind-icon">is<wbr>Building<wbr>Group<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">BuildingGroupSublayer</span></li>
220
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Building<wbr>Group<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">BuildingGroupSublayer</span></li>
221
221
  </ul>
222
222
  <ul class="tsd-descriptions">
223
223
  <li class="tsd-description">
@@ -234,7 +234,7 @@
234
234
  <h4 class="tsd-parameters-title">Parameters</h4>
235
235
  <ul class="tsd-parameters">
236
236
  <li>
237
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
237
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
238
238
  <div class="tsd-comment tsd-typography">
239
239
  <p>The sublayer to check.</p>
240
240
  </div>
@@ -620,7 +620,7 @@
620
620
  <a name="iskmlsublayer" class="tsd-anchor"></a>
621
621
  <h3>isKMLSublayer</h3>
622
622
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
623
- <li class="tsd-signature tsd-kind-icon">isKMLSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">KMLSublayer</span></li>
623
+ <li class="tsd-signature tsd-kind-icon">isKMLSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">KMLSublayer</span></li>
624
624
  </ul>
625
625
  <ul class="tsd-descriptions">
626
626
  <li class="tsd-description">
@@ -637,7 +637,7 @@
637
637
  <h4 class="tsd-parameters-title">Parameters</h4>
638
638
  <ul class="tsd-parameters">
639
639
  <li>
640
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
640
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
641
641
  <div class="tsd-comment tsd-typography">
642
642
  <p>The sublayer to check.</p>
643
643
  </div>
@@ -682,7 +682,7 @@
682
682
  <a name="islayerwithlegendenabledproperty" class="tsd-anchor"></a>
683
683
  <h3>is<wbr>Layer<wbr>With<wbr>Legend<wbr>Enabled<wbr>Property</h3>
684
684
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
685
- <li class="tsd-signature tsd-kind-icon">is<wbr>Layer<wbr>With<wbr>Legend<wbr>Enabled<wbr>Property<span class="tsd-signature-symbol">(</span>layer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Layer</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">layer</span><span class="tsd-signature-symbol"> is </span><a href="../interfaces/portal__layerhelper.layerwithlegendenabledproperty.html" class="tsd-signature-type" data-tsd-kind="Interface">LayerWithLegendEnabledProperty</a></li>
685
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Layer<wbr>With<wbr>Legend<wbr>Enabled<wbr>Property<span class="tsd-signature-symbol">(</span>layer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">layer</span><span class="tsd-signature-symbol"> is </span><a href="../interfaces/portal__layerhelper.layerwithlegendenabledproperty.html" class="tsd-signature-type" data-tsd-kind="Interface">LayerWithLegendEnabledProperty</a></li>
686
686
  </ul>
687
687
  <ul class="tsd-descriptions">
688
688
  <li class="tsd-description">
@@ -700,7 +700,7 @@
700
700
  <h4 class="tsd-parameters-title">Parameters</h4>
701
701
  <ul class="tsd-parameters">
702
702
  <li>
703
- <h5>layer: <span class="tsd-signature-type">Layer</span></h5>
703
+ <h5>layer: <span class="tsd-signature-type">unknown</span></h5>
704
704
  <div class="tsd-comment tsd-typography">
705
705
  <p>The layer to interrogate.</p>
706
706
  </div>
@@ -745,7 +745,7 @@
745
745
  <a name="ismapimagesublayer" class="tsd-anchor"></a>
746
746
  <h3>is<wbr>Map<wbr>Image<wbr>Sublayer</h3>
747
747
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
748
- <li class="tsd-signature tsd-kind-icon">is<wbr>Map<wbr>Image<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">Sublayer</span></li>
748
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Map<wbr>Image<wbr>Sublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">Sublayer</span></li>
749
749
  </ul>
750
750
  <ul class="tsd-descriptions">
751
751
  <li class="tsd-description">
@@ -762,7 +762,7 @@
762
762
  <h4 class="tsd-parameters-title">Parameters</h4>
763
763
  <ul class="tsd-parameters">
764
764
  <li>
765
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
765
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
766
766
  <div class="tsd-comment tsd-typography">
767
767
  <p>The sublayer to check.</p>
768
768
  </div>
@@ -931,7 +931,7 @@
931
931
  <a name="istiledimageservicelayer" class="tsd-anchor"></a>
932
932
  <h3>is<wbr>Tiled<wbr>Image<wbr>Service<wbr>Layer</h3>
933
933
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
934
- <li class="tsd-signature tsd-kind-icon">is<wbr>Tiled<wbr>Image<wbr>Service<wbr>Layer<span class="tsd-signature-symbol">(</span>layer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
934
+ <li class="tsd-signature tsd-kind-icon">is<wbr>Tiled<wbr>Image<wbr>Service<wbr>Layer<span class="tsd-signature-symbol">(</span>layer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">layer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">TileLayer</span></li>
935
935
  </ul>
936
936
  <ul class="tsd-descriptions">
937
937
  <li class="tsd-description">
@@ -954,7 +954,7 @@
954
954
  </div>
955
955
  </li>
956
956
  </ul>
957
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
957
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">layer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">TileLayer</span></h4>
958
958
  </li>
959
959
  </ul>
960
960
  </section>
@@ -1055,7 +1055,7 @@
1055
1055
  <a name="iswmssublayer" class="tsd-anchor"></a>
1056
1056
  <h3>isWMSSublayer</h3>
1057
1057
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
1058
- <li class="tsd-signature tsd-kind-icon">isWMSSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">WMSSublayer</span></li>
1058
+ <li class="tsd-signature tsd-kind-icon">isWMSSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">WMSSublayer</span></li>
1059
1059
  </ul>
1060
1060
  <ul class="tsd-descriptions">
1061
1061
  <li class="tsd-description">
@@ -1072,7 +1072,7 @@
1072
1072
  <h4 class="tsd-parameters-title">Parameters</h4>
1073
1073
  <ul class="tsd-parameters">
1074
1074
  <li>
1075
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
1075
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
1076
1076
  <div class="tsd-comment tsd-typography">
1077
1077
  <p>The sublayer to check.</p>
1078
1078
  </div>
@@ -1117,7 +1117,7 @@
1117
1117
  <a name="iswmtssublayer" class="tsd-anchor"></a>
1118
1118
  <h3>isWMTSSublayer</h3>
1119
1119
  <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
1120
- <li class="tsd-signature tsd-kind-icon">isWMTSSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">WMTSSublayer</span></li>
1120
+ <li class="tsd-signature tsd-kind-icon">isWMTSSublayer<span class="tsd-signature-symbol">(</span>sublayer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">sublayer</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">WMTSSublayer</span></li>
1121
1121
  </ul>
1122
1122
  <ul class="tsd-descriptions">
1123
1123
  <li class="tsd-description">
@@ -1134,7 +1134,7 @@
1134
1134
  <h4 class="tsd-parameters-title">Parameters</h4>
1135
1135
  <ul class="tsd-parameters">
1136
1136
  <li>
1137
- <h5>sublayer: <a href="../interfaces/support_esri.sublayerlike.html" class="tsd-signature-type" data-tsd-kind="Interface">SublayerLike</a></h5>
1137
+ <h5>sublayer: <span class="tsd-signature-type">unknown</span></h5>
1138
1138
  <div class="tsd-comment tsd-typography">
1139
1139
  <p>The sublayer to check.</p>
1140
1140
  </div>
@@ -81,7 +81,7 @@
81
81
  <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
82
82
  <a name="version-1" class="tsd-anchor"></a>
83
83
  <h3><span class="tsd-flag ts-flagConst">Const</span> version</h3>
84
- <div class="tsd-signature tsd-kind-icon">version<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;34.2.0&quot;</span><span class="tsd-signature-symbol"> = &quot;34.2.0&quot;</span></div>
84
+ <div class="tsd-signature tsd-kind-icon">version<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;34.2.3&quot;</span><span class="tsd-signature-symbol"> = &quot;34.2.3&quot;</span></div>
85
85
  <aside class="tsd-sources">
86
86
  <ul>
87
87
  <li>Defined in src/version.ts:4</li>
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{MapServiceLayer as PortalMapServiceLayer}from"../portal/MapServiceLayer.js";import{serializable}from"../support/Serializable.js";import{isMapImageLayer}from"../utilities/_layers.js";import{MapImageSublayerExtension}from"./MapImageSublayerExtension.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let MapImageLayerExtension=class extends LayerExtension{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:r,layers:a}=PortalMapServiceLayer.fromEsriApiMapImageLayer(this.layer);return e.visibleLayers=r,a&&(e.layers=a.map((e=>{var r,a,i,t,n,o,l,s;const{id:y,layerDefinition:p}=e,c={id:y},{definitionExpression:m,drawingInfo:u}=null!=p?p:{};return m&&(c.layerDefinition={...c.layerDefinition,definitionExpression:m}),u&&(null===(i=null===(a=null===(r=this.layer)||void 0===r?void 0:r.capabilities)||void 0===a?void 0:a.exportMap)||void 0===i?void 0:i.supportsDynamicLayers)&&(c.layerDefinition={...c.layerDefinition,drawingInfo:u}),(null===(o=null===(n=null===(t=this.layer)||void 0===t?void 0:t.capabilities)||void 0===n?void 0:n.exportMap)||void 0===o?void 0:o.supportsSublayerVisibility)&&void 0!==(null==u?void 0:u.transparency)&&(c.layerDefinition=null!==(l=c.layerDefinition)&&void 0!==l?l:{},c.layerDefinition.drawingInfo=null!==(s=c.layerDefinition.drawingInfo)&&void 0!==s?s:{},c.layerDefinition.drawingInfo.transparency=u.transparency),c}))),e}_createSublayerExtension(e){return new MapImageSublayerExtension(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISMapServiceLayer"}}}}_isSupportedLayer(e){return isMapImageLayer(e)}_createSchema(){return new MapImageLayerSchema(this)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Map Image Layer from Portal item that has type: ${e.type}`);if(e.typeKeywords.includes("Tiled"))throw new Error("Cannot create Map Image Layer from Portal item that references Tile Map Service");const r={layerType:"ArcGISMapServiceLayer",url:e.url},a=await e.fetchData();return(null==a?void 0:a.layers)&&(r.layers=a.layers),PortalMapServiceLayer.applyToEsriApiLayer(r,this.layer)}};MapImageLayerExtension=__decorate([serializable],MapImageLayerExtension);export{MapImageLayerExtension};let MapImageLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};MapImageLayerSchema=__decorate([serializable],MapImageLayerSchema);
1
+ import{__decorate}from"tslib";import{MapServiceLayer as PortalMapServiceLayer}from"../portal/MapServiceLayer.js";import{serializable}from"../support/Serializable.js";import{isMapImageLayer}from"../utilities/_layers.js";import{MapImageSublayerExtension}from"./MapImageSublayerExtension.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let MapImageLayerExtension=class extends LayerExtension{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:r,layers:a}=PortalMapServiceLayer.fromEsriApiMapImageLayer(this.layer);return e.visibleLayers=r,a&&(e.layers=a.map((e=>{var r,a,i;const{id:t,layerDefinition:n}=e,s={id:t},{definitionExpression:o,drawingInfo:l}=null!=n?n:{};return o&&(s.layerDefinition={...s.layerDefinition,definitionExpression:o}),l&&(null===(i=null===(a=null===(r=this.layer)||void 0===r?void 0:r.capabilities)||void 0===a?void 0:a.exportMap)||void 0===i?void 0:i.supportsDynamicLayers)&&(s.layerDefinition={...s.layerDefinition,drawingInfo:l}),s}))),e}_createSublayerExtension(e){return new MapImageSublayerExtension(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISMapServiceLayer"}}}}_isSupportedLayer(e){return isMapImageLayer(e)}_createSchema(){return new MapImageLayerSchema(this)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Map Image Layer from Portal item that has type: ${e.type}`);if(e.typeKeywords.includes("Tiled"))throw new Error("Cannot create Map Image Layer from Portal item that references Tile Map Service");const r={layerType:"ArcGISMapServiceLayer",url:e.url},a=await e.fetchData();return(null==a?void 0:a.layers)&&(r.layers=a.layers),PortalMapServiceLayer.applyToEsriApiLayer(r,this.layer)}};MapImageLayerExtension=__decorate([serializable],MapImageLayerExtension);export{MapImageLayerExtension};let MapImageLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};MapImageLayerSchema=__decorate([serializable],MapImageLayerSchema);
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{ArgumentError}from"../ArgumentError.js";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection}from"../support/ReadOnlyInitializableCollection.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{isGroupLayerExtension}from"../utilities/extensions.js";import{hasMmapLayer}from"../utilities/layers.js";import{getLogger}from"../utilities/log.js";import{deepClone}from"../utilities/object.js";import{toPortalItem}from"../utilities/portal.js";import{onCollectionPropertyChange,watchEach}from"../utilities/watch.js";import{_assignSublayerExtensions}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings,fromLayerListMode}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const ERR_INVALID_LAYER_TYPE="Invalid type of layer for this type of layer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_ADD_SUBLAYERX_NOT_SUPPORTED="This type of layer cannot have sublayers.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export class LayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.LAYER_EXTENSION,this._watchHandles=[],this._dynamicallyAddedLayer=!1,this._visibilityMode="independent",this._onSublayerAddedPostInitialize=async e=>{var t,i;try{await e.initialize()}catch(r){getLayerXLogger().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}'. ${r}`)}};const t={...this.getDefaults(),...e};checkArg("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let r;if((null==i?void 0:i.hasOwnProperty("listMode"))&&(r=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...r,...t.layerListSettings}),isLayer(i))checkArg("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=toPortalItem(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new AllSublayerExtensionCollectionImpl(this),this.watch("parentLayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible"))),this.watch("layer.sublayers",(()=>this.notifyChange("_sublayers")))}get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new DefaultArcGISRequestHelper),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){var e,t,i,r,s,a,n,o,l,y,h,p;return null!==(p=null!==(r=null!==(t=null===(e=this.layer)||void 0===e?void 0:e.title)&&void 0!==t?t:null===(i=this._deferredLayerProperties)||void 0===i?void 0:i.title)&&void 0!==r?r:"string"==typeof(null===(s=this._deferredLayerProperties)||void 0===s?void 0:s.$ref)?null===(a=this._deferredLayerProperties)||void 0===a?void 0:a.$ref:null!==(l=null===(o=null===(n=this._deferredLayerProperties)||void 0===n?void 0:n.$ref)||void 0===o?void 0:o.title)&&void 0!==l?l:null===(h=null===(y=this._deferredLayerProperties)||void 0===y?void 0:y.$ref)||void 0===h?void 0:h.id)&&void 0!==p?p:"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}static create(e){if(!LayerExtension.factory)throw new InvalidOperationError("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){var i;checkArg("portalItemLike",e).isNotMissing();const r=null!=t?t:{};checkArg("layerExtensionProperties.layer",r.layer).satisfies((e=>!isLayer(e)));const s={...r.layer};checkArg("layerExtensionProperties.layer.$ref",s.$ref).satisfies((e=>null==e));const a=new DefaultArcGISRequestHelper,n=toPortalItem(e);let o;await load(n);const l=null!==(i=n.typeKeywords)&&void 0!==i?i:"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o="ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType?o="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||l.includes("Elevation 3D Layer"))&&(o="ArcGISTiledElevationServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();s.featureCollection=e}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(s,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(s,e)}if(!o)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(s.layerType&&s.layerType!==o)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return s.layerType=o,s.$portalItem=n,r.layer=s,LayerExtension.create(r)}static _matchesRef(e,t){if(!e||!t)return!1;const i=t.$ref;return"string"==typeof i?e.id===i||e.title===i:!!i&&(e.id===i.id||e.title===i.title&&!i.path)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i||!i.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}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)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties&&this._deferredLayerProperties.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),checkArg("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._deferredLayerProperties=void 0)}_setMapExtension(e){const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),this.notifyChange("mapExtension")}_setBasemapExtension(e){this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("basemapExtension")}_setGroundExtension(e){this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("groundExtension")}_setParentLayerExtension(e){const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&((!this.featureSettings.formatSettings.parent||this.mapExtension&&this.featureSettings.formatSettings.parent===this.mapExtension.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),this.notifyChange("parentLayerExtension")}_resolveLayer(e){var t,i,r;if(this.layer||!this._deferredLayerProperties)return;const s=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let a;e?a=e.find(s):(null===(t=this.basemapExtension)||void 0===t?void 0:t.basemap)?(a=this.basemapExtension.basemap.baseLayers.find(s),a=a||this.basemapExtension.basemap.referenceLayers.find(s)):(null===(i=this.groundExtension)||void 0===i?void 0:i.ground)?a=this.groundExtension.ground.layers.find(s):(null===(r=this.parentLayerExtension)||void 0===r?void 0:r.layer)?a=this.parentLayerExtension.layer.layers.find(s):this.mapExtension&&(a=this.mapExtension.map.layers.find(s)),a&&this._isSupportedLayer(a)&&(this._setLayer(a),this._originalRef=this._deferredLayerProperties.$ref,this._deferredLayerProperties.$portalItem&&getLayerXLogger().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;checkArg("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this.isInitialized&&await load(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,this._setLayer(e);const i=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}_getProjectWebmapJSON(){if(!this.layer)return;let e=PortalLayerBase.fromEsriApiLayer(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:r,visibility:s,opacity:a}=e;e={id:t,title:i,layerType:r,visibility:s,opacity:a}}return e}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:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=PortalLayerBase.getLayerType(this._layer),t=this._getSerializableRefLayerProperties();return{$ref:this._originalRef||{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType()},layerType:e,...t}}return PortalLayerBase.fromEsriApiLayer(this.layer)}return this._deferredLayerProperties?deepClone(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(isLayer(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else e&&(this._layer?this._applyLayerProperties(e,this.layer):this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e}))}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await load(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new InvalidOperationError(`No layer found matching reference "${e}".`):new InvalidOperationError("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await load(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new Collection),this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this._watchHandles.push(onCollectionPropertyChange(this,"layer.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))})))}_applyPortalItemProperties(e){throw new InvalidOperationError("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}_capabilities(){return DEFAULT_CAPABILITIES}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return PortalLayerBase.toEsriApiLayer(e)}_applyLayerProperties(e,t){checkArg("layerJson",e).isNotMissing();const i=e.layerType||e.type;return checkArg("layerJson.layerType",i).satisfies((e=>{var t;return!e||e===(null===(t=this.getDefault("layer"))||void 0===t?void 0:t.layerType)}),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,t)}_setLayer(e){if(this._layer=e,e.watch("visible",this._onVisibleChanged.bind(this)),this.layer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.layer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layer.watch("title",(()=>this.notifyChange("title"))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=e.watch("sublayers",(()=>{this._setupSublayersHandles(),t.remove()}),!0)}this.notifyChange("layer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_setupSublayersHandles(){this._sublayers.on("change",this._onSublayersChange.bind(this)),watchEach(this._sublayers,"visible",this._onSublayersSublayerVisibleChanged.bind(this))}_onVisibleChanged(e){if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;this.notifyChange("isEffectivelyVisible")}_onSublayersSublayerVisibleChanged(e,t,i,r){e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(r)}_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.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);const i=e.sublayer?e.sublayer.layer:void 0;i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class AllSublayerExtensionCollectionImpl extends ReadOnlyInitializableCollection{constructor(e){super(),this._layerExtension=e}get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.sublayer.id===e))}forSublayer(e){return checkArg("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}emit(e,t){if("change"===e){const i=new Collection;i.addMany(t.added);const r=i.flatten((e=>e.sublayerExtensions)).toArray(),s=new Collection;s.addMany(t.removed);const a=s.flatten((e=>e.sublayerExtensions)).toArray(),n=new Collection;n.addMany(t.moved);const o=n.flatten((e=>e.sublayerExtensions)).toArray();return super.emit(e,{added:r,removed:a,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let LayerExtensionLayerListSettings=class extends ExtensionBaseLayerListSettings{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};LayerExtensionLayerListSettings=__decorate([serializable],LayerExtensionLayerListSettings);let LayerExtensionSchema=class extends Schema{constructor(e){if(super(),this._layerBindings=new Map,this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer)this._onLayerResolved(e.layer);else{const t=e.watch("layer",(()=>{this._onLayerResolved(e.layer),t.remove()}),!0)}}_getPropertyBindings(){return{}}_getSetting(e,t){if(this._layerBindings.has(e)){let t=this._layerBindings.get(e);if("string"==typeof t&&(t={property:t}),t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){let i=this._layerBindings.get(e);if("string"==typeof i&&(i={property:i}),i.readonly||i.hasOwnProperty("value"))throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of Object.keys(e)){let i=e[t];"string"==typeof i&&(i={property:i}),this._layerBindings.set(t,i),i.hasOwnProperty("value")||this._layerExtension.watch(`layer.${i.property}`,(()=>this.notifyChange(t)),!i.hasOwnProperty("sync")||i.sync)}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};LayerExtensionSchema=__decorate([serializable],LayerExtensionSchema);export{LayerExtensionSchema};export class ArrayWrappedCollection extends CollectionProxy{constructor(e,t){if(super(),this._layerExtension=e,this._property=t,this._layerProperty=e instanceof LayerExtension?"layer":"sublayer",e[this._layerProperty])this._onLayerResolved(e[this._layerProperty]);else{this._collection=new Collection;const t=e.watch(this._layerProperty,(()=>{const i=e[this._layerProperty];this.length&&(i[this._property]=this.toArray()),this._onLayerResolved(i),t.remove()}),!0)}}add(e,t){const i=this._layerExtension[this._layerProperty];i&&!i[this._property]&&(i[this._property]=[],this._collection=wrapArrayWithCollection(i[this._property])),super.add(e,t)}_onLayerResolved(e){this._collection=wrapArrayWithCollection(e[this._property]||[]),e.watch(this._property,(()=>{this._collection=wrapArrayWithCollection(e[this._property]||[])}),!0)}}export function _assignLayerExtensions(e,t){return compare(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),isLayerRef(t)?void 0:i)},onMatch:(t,i,r,s)=>{i instanceof LayerExtension||t.assignProperties(i),r===s||isLayerRef(i)||e.reorder(t,s)},onMissing:t=>{(hasMmapLayer([t])||isGroupLayerExtension(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>t instanceof LayerExtension?t===e:!!LayerExtension._matchesRef(e.layer,t.layer)||e.id===t.id})}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}function getLayerXLogger(){return getLogger("geocortex.api.mapping.LayerExtension")}function isLayerRef(e){var t,i;return e instanceof LayerExtension?!!(null===(t=e._deferredLayerProperties)||void 0===t?void 0:t.$ref):!isLayer(e.layer)&&!!(null===(i=e.layer)||void 0===i?void 0:i.$ref)}
1
+ import{__decorate}from"tslib";import{ArgumentError}from"../ArgumentError.js";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection}from"../support/ReadOnlyInitializableCollection.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{isGroupLayerExtension}from"../utilities/extensions.js";import{hasMmapLayer}from"../utilities/layers.js";import{getLogger}from"../utilities/log.js";import{deepClone}from"../utilities/object.js";import{toPortalItem}from"../utilities/portal.js";import{onCollectionPropertyChange,watchEach}from"../utilities/watch.js";import{_assignSublayerExtensions}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings,fromLayerListMode}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const ERR_INVALID_LAYER_TYPE="Invalid type of layer for this type of layer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_ADD_SUBLAYERX_NOT_SUPPORTED="This type of layer cannot have sublayers.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export class LayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.LAYER_EXTENSION,this._watchHandles=[],this._dynamicallyAddedLayer=!1,this._visibilityMode="independent",this._onSublayerAddedPostInitialize=async e=>{var t,i;try{await e.initialize()}catch(r){getLayerXLogger().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}'. ${r}`)}};const t={...this.getDefaults(),...e};checkArg("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let r;if((null==i?void 0:i.hasOwnProperty("listMode"))&&(r=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...r,...t.layerListSettings}),isLayer(i))checkArg("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=toPortalItem(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new AllSublayerExtensionCollectionImpl(this),this.watch("parentLayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible"))),this.watch("layer.sublayers",(()=>this.notifyChange("_sublayers")))}get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new DefaultArcGISRequestHelper),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){var e,t,i,r,s,a,n,o,l,y,h,p;return null!==(p=null!==(r=null!==(t=null===(e=this.layer)||void 0===e?void 0:e.title)&&void 0!==t?t:null===(i=this._deferredLayerProperties)||void 0===i?void 0:i.title)&&void 0!==r?r:"string"==typeof(null===(s=this._deferredLayerProperties)||void 0===s?void 0:s.$ref)?null===(a=this._deferredLayerProperties)||void 0===a?void 0:a.$ref:null!==(l=null===(o=null===(n=this._deferredLayerProperties)||void 0===n?void 0:n.$ref)||void 0===o?void 0:o.title)&&void 0!==l?l:null===(h=null===(y=this._deferredLayerProperties)||void 0===y?void 0:y.$ref)||void 0===h?void 0:h.id)&&void 0!==p?p:"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}static create(e){if(!LayerExtension.factory)throw new InvalidOperationError("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){var i;checkArg("portalItemLike",e).isNotMissing();const r=null!=t?t:{};checkArg("layerExtensionProperties.layer",r.layer).satisfies((e=>!isLayer(e)));const s={...r.layer};checkArg("layerExtensionProperties.layer.$ref",s.$ref).satisfies((e=>null==e));const a=new DefaultArcGISRequestHelper,n=toPortalItem(e);let o;await load(n);const l=null!==(i=n.typeKeywords)&&void 0!==i?i:"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o="ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType?o="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||l.includes("Elevation 3D Layer"))&&(o="ArcGISTiledElevationServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();s.featureCollection=e}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(s,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(s,e)}if(!o)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(s.layerType&&s.layerType!==o)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return s.layerType=o,s.$portalItem=n,r.layer=s,LayerExtension.create(r)}static _matchesRef(e,t){if(!e||!t)return!1;const i=t.$ref;return"string"==typeof i?e.id===i||e.title===i:!!i&&(e.id===i.id||e.title===i.title&&!i.path)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i||!i.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}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)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties&&this._deferredLayerProperties.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),checkArg("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._deferredLayerProperties=void 0)}_setMapExtension(e){const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),this.notifyChange("mapExtension")}_setBasemapExtension(e){this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("basemapExtension")}_setGroundExtension(e){this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("groundExtension")}_setParentLayerExtension(e){const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&((!this.featureSettings.formatSettings.parent||this.mapExtension&&this.featureSettings.formatSettings.parent===this.mapExtension.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),this.notifyChange("parentLayerExtension")}_resolveLayer(e){var t,i,r;if(this.layer||!this._deferredLayerProperties)return;const s=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let a;e?a=e.find(s):(null===(t=this.basemapExtension)||void 0===t?void 0:t.basemap)?(a=this.basemapExtension.basemap.baseLayers.find(s),a=a||this.basemapExtension.basemap.referenceLayers.find(s)):(null===(i=this.groundExtension)||void 0===i?void 0:i.ground)?a=this.groundExtension.ground.layers.find(s):(null===(r=this.parentLayerExtension)||void 0===r?void 0:r.layer)?a=this.parentLayerExtension.layer.layers.find(s):this.mapExtension&&(a=this.mapExtension.map.layers.find(s)),a&&this._isSupportedLayer(a)&&(this._setLayer(a),this._originalRef=this._deferredLayerProperties.$ref,this._deferredLayerProperties.$portalItem&&getLayerXLogger().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;checkArg("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this.isInitialized&&await load(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,this._setLayer(e);const i=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}_getProjectWebmapJSON(){if(!this.layer)return;let e=PortalLayerBase.fromEsriApiLayer(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:r,visibility:s,opacity:a}=e;e={id:t,title:i,layerType:r,visibility:s,opacity:a}}return e}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:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=PortalLayerBase.getLayerType(this._layer),t=this._getSerializableRefLayerProperties();return{$ref:this._originalRef||{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType()},layerType:e,...t}}return PortalLayerBase.fromEsriApiLayer(this.layer)}return this._deferredLayerProperties?deepClone(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(isLayer(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else e&&(this._layer?this._applyLayerProperties(e,this.layer):this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e}))}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await load(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new InvalidOperationError(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new InvalidOperationError("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await load(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new Collection),this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this._watchHandles.push(onCollectionPropertyChange(this,"layer.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))})))}_applyPortalItemProperties(e){throw new InvalidOperationError("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}_capabilities(){return DEFAULT_CAPABILITIES}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return PortalLayerBase.toEsriApiLayer(e)}_applyLayerProperties(e,t){checkArg("layerJson",e).isNotMissing();const i=e.layerType||e.type;return checkArg("layerJson.layerType",i).satisfies((e=>{var t;return!e||e===(null===(t=this.getDefault("layer"))||void 0===t?void 0:t.layerType)}),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,t)}_setLayer(e){if(this._layer=e,e.watch("visible",this._onVisibleChanged.bind(this)),this.layer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.layer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layer.watch("title",(()=>this.notifyChange("title"))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=e.watch("sublayers",(()=>{this._setupSublayersHandles(),t.remove()}),!0)}this.notifyChange("layer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_setupSublayersHandles(){this._sublayers.on("change",this._onSublayersChange.bind(this)),watchEach(this._sublayers,"visible",this._onSublayersSublayerVisibleChanged.bind(this))}_onVisibleChanged(e){if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;this.notifyChange("isEffectivelyVisible")}_onSublayersSublayerVisibleChanged(e,t,i,r){e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(r)}_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.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);const i=e.sublayer?e.sublayer.layer:void 0;i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class AllSublayerExtensionCollectionImpl extends ReadOnlyInitializableCollection{constructor(e){super(),this._layerExtension=e}get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.sublayer.id===e))}forSublayer(e){return checkArg("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}emit(e,t){if("change"===e){const i=new Collection;i.addMany(t.added);const r=i.flatten((e=>e.sublayerExtensions)).toArray(),s=new Collection;s.addMany(t.removed);const a=s.flatten((e=>e.sublayerExtensions)).toArray(),n=new Collection;n.addMany(t.moved);const o=n.flatten((e=>e.sublayerExtensions)).toArray();return super.emit(e,{added:r,removed:a,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let LayerExtensionLayerListSettings=class extends ExtensionBaseLayerListSettings{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};LayerExtensionLayerListSettings=__decorate([serializable],LayerExtensionLayerListSettings);let LayerExtensionSchema=class extends Schema{constructor(e){if(super(),this._layerBindings=new Map,this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer)this._onLayerResolved(e.layer);else{const t=e.watch("layer",(()=>{this._onLayerResolved(e.layer),t.remove()}),!0)}}_getPropertyBindings(){return{}}_getSetting(e,t){if(this._layerBindings.has(e)){let t=this._layerBindings.get(e);if("string"==typeof t&&(t={property:t}),t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){let i=this._layerBindings.get(e);if("string"==typeof i&&(i={property:i}),i.readonly||i.hasOwnProperty("value"))throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of Object.keys(e)){let i=e[t];"string"==typeof i&&(i={property:i}),this._layerBindings.set(t,i),i.hasOwnProperty("value")||this._layerExtension.watch(`layer.${i.property}`,(()=>this.notifyChange(t)),!i.hasOwnProperty("sync")||i.sync)}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};LayerExtensionSchema=__decorate([serializable],LayerExtensionSchema);export{LayerExtensionSchema};export class ArrayWrappedCollection extends CollectionProxy{constructor(e,t){if(super(),this._layerExtension=e,this._property=t,this._layerProperty=e instanceof LayerExtension?"layer":"sublayer",e[this._layerProperty])this._onLayerResolved(e[this._layerProperty]);else{this._collection=new Collection;const t=e.watch(this._layerProperty,(()=>{const i=e[this._layerProperty];this.length&&(i[this._property]=this.toArray()),this._onLayerResolved(i),t.remove()}),!0)}}add(e,t){const i=this._layerExtension[this._layerProperty];i&&!i[this._property]&&(i[this._property]=[],this._collection=wrapArrayWithCollection(i[this._property])),super.add(e,t)}_onLayerResolved(e){this._collection=wrapArrayWithCollection(e[this._property]||[]),e.watch(this._property,(()=>{this._collection=wrapArrayWithCollection(e[this._property]||[])}),!0)}}export function _assignLayerExtensions(e,t){return compare(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),isLayerRef(t)?void 0:i)},onMatch:(t,i,r,s)=>{i instanceof LayerExtension||t.assignProperties(i),r===s||isLayerRef(i)||e.reorder(t,s)},onMissing:t=>{(hasMmapLayer([t])||isGroupLayerExtension(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>t instanceof LayerExtension?t===e:!!LayerExtension._matchesRef(e.layer,t.layer)||e.id===t.id})}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}function getLayerXLogger(){return getLogger("geocortex.api.mapping.LayerExtension")}function isLayerRef(e){var t,i;return e instanceof LayerExtension?!!(null===(t=e._deferredLayerProperties)||void 0===t?void 0:t.$ref):!isLayer(e.layer)&&!!(null===(i=e.layer)||void 0===i?void 0:i.$ref)}