@vertigis/arcgis-extensions 52.2.0 → 53.1.0

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 (387) hide show
  1. package/AppConfig.schema.json +1969 -329
  2. package/data/Feature.d.ts +1 -1
  3. package/data/FeatureList.d.ts +1 -1
  4. package/data/FeatureList.js +1 -1
  5. package/data/FeatureSet.d.ts +27 -4
  6. package/data/FeatureSet.js +1 -1
  7. package/data/FeatureSettings.d.ts +6 -1
  8. package/data/FeatureSettings.js +1 -1
  9. package/data/Schema.d.ts +32 -2
  10. package/data/Schema.js +1 -1
  11. package/data/TaskSettings.d.ts +6 -1
  12. package/data/_TableExtension.d.ts +1 -1
  13. package/data/convert.d.ts +6 -2
  14. package/data/convert.js +1 -1
  15. package/data/support/_dxfConverters.d.ts +2 -1
  16. package/data/support/_dxfFunctions.d.ts +2 -1
  17. package/declarations/arcgis-js-api-extensions/index.d.ts +2 -217
  18. package/declarations/arcgis-js-api-extensions/modules.d.ts +99 -0
  19. package/docs/html/assets/highlight.css +16 -16
  20. package/docs/html/assets/navigation.js +1 -1
  21. package/docs/html/assets/search.js +1 -1
  22. package/docs/html/classes/Entity.EntityBase.html +7 -10
  23. package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +7 -10
  24. package/docs/html/classes/data_Attachment.Attachment.html +7 -10
  25. package/docs/html/classes/data_Feature.Feature.html +7 -10
  26. package/docs/html/classes/data_FeatureList.FeatureList.html +56 -28
  27. package/docs/html/classes/data_FeatureSet.FeatureSet.html +6 -5
  28. package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +6 -3
  29. package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +7 -10
  30. package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +53 -25
  31. package/docs/html/classes/data_FeatureStream.FeatureStream.html +7 -10
  32. package/docs/html/classes/data_FieldExtension.FieldExtension.html +7 -10
  33. package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +7 -10
  34. package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +7 -10
  35. package/docs/html/classes/data_Schema.Schema.html +6 -3
  36. package/docs/html/classes/data_TaskSettings.TaskSettings.html +5 -2
  37. package/docs/html/classes/data__TableExtension.TableExtension.html +7 -10
  38. package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +6 -3
  39. package/docs/html/classes/data__TableExtension.TableSchema.html +7 -4
  40. package/docs/html/classes/data_support__dxfConverters.DxfEntityProcessor.html +2 -2
  41. package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +7 -10
  42. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +12 -15
  43. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +54 -26
  44. package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +8 -11
  45. package/docs/html/classes/mapping_Bookmark.Bookmark.html +7 -10
  46. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +12 -15
  47. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +5 -2
  48. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +12 -15
  49. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +5 -2
  50. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +14 -17
  51. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +5 -2
  52. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +12 -15
  53. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +5 -2
  54. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +5 -2
  55. package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +12 -15
  56. package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +14 -17
  57. package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +14 -17
  58. package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +12 -15
  59. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +14 -17
  60. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +5 -2
  61. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +5 -2
  62. package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +12 -15
  63. package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +14 -17
  64. package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +14 -17
  65. package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +8 -11
  66. package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +15 -18
  67. package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +76 -25
  68. package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +14 -17
  69. package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +14 -17
  70. package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +14 -17
  71. package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +14 -17
  72. package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +12 -15
  73. package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +5 -2
  74. package/docs/html/classes/mapping_MapExtension.MapExtension.html +7 -10
  75. package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +14 -17
  76. package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +12 -15
  77. package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +14 -17
  78. package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +12 -15
  79. package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +5 -2
  80. package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +14 -17
  81. package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +14 -17
  82. package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +14 -17
  83. package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +14 -17
  84. package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +5 -2
  85. package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +14 -17
  86. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +14 -17
  87. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +5 -2
  88. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +14 -17
  89. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +54 -26
  90. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +5 -2
  91. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +12 -15
  92. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +54 -26
  93. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +5 -2
  94. package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +14 -17
  95. package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +12 -15
  96. package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +14 -17
  97. package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +14 -17
  98. package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +14 -17
  99. package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +14 -17
  100. package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +12 -15
  101. package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +14 -17
  102. package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +14 -17
  103. package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +14 -17
  104. package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +5 -2
  105. package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -2
  106. package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +76 -25
  107. package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +76 -25
  108. package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +12 -15
  109. package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +5 -2
  110. package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +53 -25
  111. package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +76 -25
  112. package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +76 -25
  113. package/docs/html/classes/menus_Menu.Menu.html +7 -10
  114. package/docs/html/classes/menus_MenuItem.MenuItem.html +7 -10
  115. package/docs/html/classes/support_FormatSettings.FormatSettings.html +5 -2
  116. package/docs/html/classes/support_InitializableBase.InitializableBase.html +6 -9
  117. package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +53 -25
  118. package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +53 -25
  119. package/docs/html/classes/support_Settings.Settings.html +5 -2
  120. package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +54 -26
  121. package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +7 -10
  122. package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +7 -10
  123. package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +7 -10
  124. package/docs/html/classes/tasks_identify_WMSLayerFeatureInfoIdentifyProvider.WMSLayerFeatureInfoIdentifyProvider.html +2 -2
  125. package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +7 -10
  126. package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +7 -10
  127. package/docs/html/classes/tasks_query_QueryService.QueryService.html +8 -11
  128. package/docs/html/classes/tasks_query_SubtypeSublayerQueryProvider.SubtypeSublayerQueryProvider.html +2 -2
  129. package/docs/html/classes/tasks_search_SearchService.SearchService.html +8 -11
  130. package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +6 -5
  131. package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +56 -29
  132. package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +53 -25
  133. package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +53 -25
  134. package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +6 -5
  135. package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +6 -5
  136. package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +53 -25
  137. package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +35 -9
  138. package/docs/html/classes/utilities__ReferenceCountedHandle.default.html +2 -2
  139. package/docs/html/functions/data_convert.getDefaultSymbol.html +2 -2
  140. package/docs/html/functions/data_convert.parseKMLSymbol.html +2 -2
  141. package/docs/html/functions/mapping_support_LayerListSettings.fromLayerListMode.html +1 -1
  142. package/docs/html/functions/support_observableUtils.observable-1.html +3 -3
  143. package/docs/html/functions/support_observableUtils.onWatch.html +1 -1
  144. package/docs/html/functions/support_observableUtils.watch.html +1 -1
  145. package/docs/html/functions/support_observableUtils.watchEach.html +1 -1
  146. package/docs/html/functions/support_observableUtils.watchEvent.html +3 -3
  147. package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
  148. package/docs/html/functions/utilities_renderers.isClassBreaksRenderer.html +1 -1
  149. package/docs/html/functions/utilities_renderers.isDictionaryRenderer.html +1 -1
  150. package/docs/html/functions/utilities_renderers.isDotDensityRenderer.html +1 -1
  151. package/docs/html/functions/utilities_renderers.isHeatMapRenderer.html +1 -1
  152. package/docs/html/functions/utilities_renderers.isRenderer.html +2 -2
  153. package/docs/html/functions/utilities_renderers.isSimpleRenderer.html +1 -1
  154. package/docs/html/functions/utilities_renderers.isUniqueValueRenderer.html +1 -1
  155. package/docs/html/functions/utilities_symbol.isPolygonGeometrySymbol.html +2 -2
  156. package/docs/html/functions/utilities_watch.onCollectionPropertyChange.html +3 -3
  157. package/docs/html/functions/utilities_watch.onEach.html +4 -4
  158. package/docs/html/functions/utilities_watch.onOnce.html +5 -5
  159. package/docs/html/hierarchy.html +1 -1
  160. package/docs/html/interfaces/data_Feature.PresentableAttributes.html +36 -10
  161. package/docs/html/interfaces/data_FeatureSet.FeatureSetEvents.html +12 -0
  162. package/docs/html/interfaces/data_PopupContentExtension.ContentProperties.html +2 -2
  163. package/docs/html/interfaces/data_Schema.FieldCollection.html +1 -1
  164. package/docs/html/interfaces/data_Schema.SchemaEvents.html +16 -0
  165. package/docs/html/interfaces/data_support__dxfInterfaces.IDxfJsonComponentContext.html +2 -2
  166. package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +19 -6
  167. package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +2 -2
  168. package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +2 -2
  169. package/docs/html/interfaces/json_BuildingSceneSublayerJson.BuildingSceneSublayerJson.html +2 -2
  170. package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +2 -2
  171. package/docs/html/interfaces/json_EnvironmentJson.SnowyWeatherJson.html +2 -2
  172. package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +2 -2
  173. package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +2 -2
  174. package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +2 -2
  175. package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +2 -2
  176. package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +2 -2
  177. package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +2 -2
  178. package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +2 -2
  179. package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +2 -2
  180. package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +2 -2
  181. package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +2 -2
  182. package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +2 -2
  183. package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +2 -2
  184. package/docs/html/interfaces/json_PopupInfoJson.PopupElementJson.html +2 -2
  185. package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +2 -2
  186. package/docs/html/interfaces/json_RendererJson.SizeInfoJson.html +2 -2
  187. package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +2 -2
  188. package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +2 -2
  189. package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +2 -2
  190. package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +2 -2
  191. package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +2 -2
  192. package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +2 -2
  193. package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +2 -2
  194. package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +2 -2
  195. package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +2 -2
  196. package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +2 -2
  197. package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +2 -2
  198. package/docs/html/interfaces/json_WebSceneJson.HeightModelInfoJson.html +2 -2
  199. package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +2 -2
  200. package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +2 -2
  201. package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +2 -2
  202. package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +2 -2
  203. package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +3 -3
  204. package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +2 -2
  205. package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +2 -2
  206. package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerProperties.html +2 -2
  207. package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +2 -2
  208. package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +2 -2
  209. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +2 -2
  210. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +2 -2
  211. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +2 -2
  212. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +2 -2
  213. package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +2 -2
  214. package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +2 -2
  215. package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +2 -2
  216. package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +2 -2
  217. package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +2 -2
  218. package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +2 -2
  219. package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +2 -2
  220. package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +2 -2
  221. package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +2 -2
  222. package/docs/html/interfaces/mapping_MapExtension.MapExtensionEvents.html +14 -0
  223. package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +4 -4
  224. package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +2 -2
  225. package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +2 -2
  226. package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +2 -2
  227. package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +2 -2
  228. package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +2 -2
  229. package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +2 -2
  230. package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +2 -2
  231. package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +2 -2
  232. package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +2 -2
  233. package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +2 -2
  234. package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +2 -2
  235. package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +2 -2
  236. package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +2 -2
  237. package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +2 -2
  238. package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +2 -2
  239. package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +2 -2
  240. package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +2 -2
  241. package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +2 -2
  242. package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +2 -2
  243. package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +2 -2
  244. package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +2 -2
  245. package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +2 -2
  246. package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestHelperResponse.html +1 -1
  247. package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestOptions.html +2 -2
  248. package/docs/html/interfaces/support_InitializableBase.InitializableBaseEvents.html +7 -0
  249. package/docs/html/interfaces/support_InitializableCollectionProxy.InitializableCollection.html +1 -1
  250. package/docs/html/interfaces/support_Settings.SettingsEvents.html +7 -0
  251. package/docs/html/interfaces/support_esri.ChangeEvent.html +5 -5
  252. package/docs/html/interfaces/support_esri.LayerWithSublayers.html +1 -1
  253. package/docs/html/interfaces/support_esri.SublayerLike.html +2 -2
  254. package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +3 -3
  255. package/docs/html/interfaces/support_observableUtils.WatchOptions.html +3 -3
  256. package/docs/html/interfaces/utilities_ObservableMap.MapAfterItemEvent.html +4 -0
  257. package/docs/html/interfaces/utilities_ObservableMap.MapEvents.html +10 -0
  258. package/docs/html/interfaces/utilities_ObservableSet.SetAfterItemEvent.html +4 -0
  259. package/docs/html/interfaces/utilities_ObservableSet.SetChangeEvent.html +10 -0
  260. package/docs/html/interfaces/utilities_ObservableSet.SetEvents.html +10 -0
  261. package/docs/html/interfaces/utilities__layers.LayerWithLegendEnabledProperty.html +1 -1
  262. package/docs/html/interfaces/utilities__layers.TimeAwareLayer.html +1 -1
  263. package/docs/html/interfaces/utilities_collection.AfterItemChangeEvent.html +1 -1
  264. package/docs/html/modules/data_FeatureSet.html +2 -1
  265. package/docs/html/modules/data_Schema.html +1 -0
  266. package/docs/html/modules/data_convert.html +1 -0
  267. package/docs/html/modules/mapping_MapExtension.html +2 -1
  268. package/docs/html/modules/support_InitializableBase.html +1 -0
  269. package/docs/html/modules/support_Settings.html +1 -0
  270. package/docs/html/modules/support_esri.html +1 -6
  271. package/docs/html/modules/support_observableUtils.html +2 -1
  272. package/docs/html/modules/utilities_ObservableMap.html +3 -1
  273. package/docs/html/modules/utilities_ObservableSet.html +3 -0
  274. package/docs/html/types/data_convert.SimpleSymbol.html +2 -0
  275. package/docs/html/types/json_SymbolJson.ColorJson.html +1 -1
  276. package/docs/html/types/support_observableUtils.EventTarget.html +2 -0
  277. package/docs/html/types/support_observableUtils.WhenOptions.html +1 -1
  278. package/docs/html/variables/support_esri.Collection.html +1 -1
  279. package/docs/html/variables/version.version.html +1 -1
  280. package/json/SymbolJson.d.ts +1 -1
  281. package/mapping/ArcGISSublayerExtension.d.ts +2 -2
  282. package/mapping/BasemapExtension.d.ts +2 -1
  283. package/mapping/BuildingComponentSublayerExtension.d.ts +2 -2
  284. package/mapping/BuildingSceneLayerExtension.d.ts +2 -2
  285. package/mapping/CSVLayerExtension.d.ts +1 -1
  286. package/mapping/FeatureLayerExtension.d.ts +1 -1
  287. package/mapping/FeatureLayerExtensionBase.d.ts +2 -2
  288. package/mapping/GeoJSONLayerExtension.d.ts +1 -1
  289. package/mapping/GroundExtension.d.ts +2 -1
  290. package/mapping/MapExtension.d.ts +24 -4
  291. package/mapping/MapExtension.js +1 -1
  292. package/mapping/SceneLayerExtension.d.ts +2 -2
  293. package/mapping/StreamLayerExtension.d.ts +2 -2
  294. package/mapping/SubtypeSublayerExtension.d.ts +3 -3
  295. package/mapping/WFSLayerExtension.d.ts +2 -2
  296. package/mapping/_LayerExtension.d.ts +6 -5
  297. package/mapping/_LayerExtension.js +1 -1
  298. package/mapping/_SublayerExtension.d.ts +4 -2
  299. package/mapping/support/_LayerExtensionCollection.d.ts +3 -9
  300. package/mapping/support/_LayerExtensionCollection.js +1 -1
  301. package/mapping/support/_SublayerExtensionCollection.d.ts +4 -9
  302. package/mapping/support/_SublayerExtensionCollection.js +1 -1
  303. package/mapping/support/featureService.js +1 -1
  304. package/package.json +2 -2
  305. package/portal/CSVLayer.d.ts +1 -1
  306. package/portal/ElevationInfo.d.ts +4 -3
  307. package/portal/ElevationInfo.js +1 -1
  308. package/portal/LabelingInfo.js +1 -1
  309. package/portal/LayerDefinition.js +1 -1
  310. package/portal/MapServiceLayer.js +1 -1
  311. package/portal/Slide.js +1 -1
  312. package/portal/SubtypeGroupLayer.d.ts +2 -2
  313. package/portal/Symbol.d.ts +1 -1
  314. package/portal/Symbol.js +1 -1
  315. package/portal/TiledMapServiceLayer.d.ts +1 -1
  316. package/portal/TiledMapServiceLayer.js +1 -1
  317. package/portal/WMSLayer.d.ts +4 -3
  318. package/portal/WMTSInfo.d.ts +2 -2
  319. package/portal/WebMap.js +1 -1
  320. package/support/ArcGISRequestHelper.d.ts +2 -2
  321. package/support/FormatSettings.d.ts +6 -1
  322. package/support/InitializableBase.d.ts +17 -2
  323. package/support/InitializableBase.js +1 -1
  324. package/support/Serializable.d.ts +1 -1
  325. package/support/Serializable.js +1 -1
  326. package/support/Settings.d.ts +19 -0
  327. package/support/_esriInternal.d.ts +1 -3
  328. package/support/_esriInternal.js +1 -1
  329. package/support/esri.d.ts +2 -7
  330. package/support/observableUtils.d.ts +8 -8
  331. package/support/observableUtils.js +1 -1
  332. package/tasks/identify/ArcGISSublayerIdentifyProvider.d.ts +1 -1
  333. package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.d.ts +1 -1
  334. package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.d.ts +1 -1
  335. package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.d.ts +1 -1
  336. package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.d.ts +1 -1
  337. package/tasks/identify/FeatureLayerClientSideIdentifyProvider.d.ts +1 -1
  338. package/tasks/identify/FeatureLayerQueryIdentifyProvider.d.ts +1 -1
  339. package/tasks/identify/GeoJSONLayer3DHitTestIdentifyProvider.d.ts +1 -1
  340. package/tasks/identify/GeoJSONLayerClientSideQueryIdentifyProvider.d.ts +1 -1
  341. package/tasks/identify/GeoRSSLayerIdentifyProvider.d.ts +1 -1
  342. package/tasks/identify/GraphicsLayerQueryIdentifyProvider.d.ts +1 -1
  343. package/tasks/identify/HitTestIdentifyProvider.d.ts +1 -1
  344. package/tasks/identify/IdentifyProviderBase.d.ts +1 -1
  345. package/tasks/identify/IdentifyService.d.ts +1 -1
  346. package/tasks/identify/ImageryLayerIdentifyProvider.d.ts +1 -1
  347. package/tasks/identify/KMLLayerQueryIdentifyProvider.d.ts +1 -1
  348. package/tasks/identify/MapNotesSublayerQueryIdentifyProvider.d.ts +1 -1
  349. package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.d.ts +1 -1
  350. package/tasks/identify/RouteLayerQueryIdentifyProvider.d.ts +1 -1
  351. package/tasks/identify/SceneLayerHitTestIdentifyProvider.d.ts +1 -1
  352. package/tasks/identify/SceneLayerQueryIdentifyProvider.d.ts +1 -1
  353. package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.d.ts +1 -1
  354. package/tasks/identify/WMSLayerFeatureInfoIdentifyProvider.d.ts +1 -1
  355. package/tasks/identify/WMSSublayerIdentifyProvider.d.ts +1 -1
  356. package/tasks/query/QueryOptions.d.ts +1 -1
  357. package/tasks/query/SubtypeSublayerQueryProvider.d.ts +3 -2
  358. package/tasks/search/SearchOptions.d.ts +1 -1
  359. package/tasks/search/support/_querySearchProviderUtils.d.ts +1 -1
  360. package/utilities/CollectionProxy.d.ts +30 -22
  361. package/utilities/CollectionProxy.js +1 -1
  362. package/utilities/MapTransformCollection.js +1 -1
  363. package/utilities/ObservableMap.d.ts +30 -6
  364. package/utilities/ObservableMap.js +1 -1
  365. package/utilities/ObservableSet.d.ts +52 -7
  366. package/utilities/ObservableSet.js +1 -1
  367. package/utilities/ReadOnlyMap.d.ts +10 -8
  368. package/utilities/_ReferenceCountedHandle.d.ts +3 -2
  369. package/utilities/_geoJson.d.ts +1 -1
  370. package/utilities/_gml.d.ts +1 -1
  371. package/utilities/_project.d.ts +1 -1
  372. package/utilities/_wkt.d.ts +1 -1
  373. package/utilities/collection.d.ts +2 -1
  374. package/utilities/esri.d.ts +1 -1
  375. package/utilities/geometry.d.ts +1 -1
  376. package/utilities/query.d.ts +1 -1
  377. package/utilities/renderers.d.ts +8 -8
  378. package/utilities/symbol.d.ts +2 -2
  379. package/utilities/watch.d.ts +6 -6
  380. package/utilities/watch.js +1 -1
  381. package/version.d.ts +1 -1
  382. package/version.js +1 -1
  383. package/docs/html/types/support_esri.BuildingComponentSublayerCapabilities.html +0 -1
  384. package/docs/html/types/support_esri.BuildingComponentSublayerCapabilitiesData.html +0 -1
  385. package/docs/html/types/support_esri.CollectionAfterChangesEventHandler.html +0 -1
  386. package/docs/html/types/support_esri.CollectionBeforeChangesEventHandler.html +0 -1
  387. package/docs/html/types/support_esri.FeatureLayerElevationInfo.html +0 -1
package/support/esri.d.ts CHANGED
@@ -10,17 +10,13 @@ import type PieChartMediaInfo from "@arcgis/core/popup/content/PieChartMediaInfo
10
10
  */
11
11
  declare const DeprecatedCollection: typeof Collection;
12
12
  export { DeprecatedCollection as Collection };
13
- export type BuildingComponentSublayerCapabilities = __esri.BuildingComponentSublayerCapabilities;
14
- export type BuildingComponentSublayerCapabilitiesData = __esri.BuildingComponentSublayerCapabilitiesData;
15
13
  export type CIMLineSymbol = __esri.CIMLineSymbol;
16
14
  export type CIMPointSymbol = __esri.CIMPointSymbol;
17
15
  export type CIMPolygonSymbol = __esri.CIMPolygonSymbol;
18
16
  export type CIMSymbolReference = __esri.CIMSymbolReference;
19
17
  export type CollectionAfterAddEventHandler<T> = __esri.CollectionAfterAddEventHandler<T>;
20
- export type CollectionAfterChangesEventHandler = __esri.CollectionAfterChangesEventHandler;
21
18
  export type CollectionAfterRemoveEventHandler<T> = __esri.CollectionAfterRemoveEventHandler<T>;
22
19
  export type CollectionBeforeAddEventHandler<T> = __esri.CollectionBeforeAddEventHandler<T>;
23
- export type CollectionBeforeChangesEventHandler = __esri.CollectionBeforeChangesEventHandler;
24
20
  export type CollectionBeforeRemoveEventHandler<T> = __esri.CollectionBeforeRemoveEventHandler<T>;
25
21
  export type CollectionEvent = __esri.CollectionEvent;
26
22
  export type CollectionItemEvent<T> = __esri.CollectionItemEvent<T>;
@@ -36,7 +32,6 @@ export type EventHandler = __esri.EventHandler;
36
32
  export type FeatureEditResult = __esri.FeatureEditResult;
37
33
  export type FeatureLayerApplyEdits = __esri.FeatureLayerApplyEditsEdits;
38
34
  export type FeatureLayerCapabilities = __esri.Capabilities;
39
- export type FeatureLayerElevationInfo = __esri.FeatureLayerBaseElevationInfo;
40
35
  export type FeatureLayerProperties = __esri.FeatureLayerProperties;
41
36
  export type FieldProperties = __esri.FieldProperties;
42
37
  export type GraphicHit = __esri.GraphicHit;
@@ -151,7 +146,7 @@ export type PortalItemType = "Web Map" | "Web Scene" | "Feature Service" | "Map
151
146
  /**
152
147
  * Raised when items are added, removed, or moved from a Collection.
153
148
  */
154
- export interface ChangeEvent<T> {
149
+ export interface ChangeEvent<T, Target = Collection<T>> {
155
150
  /**
156
151
  * The items that were added.
157
152
  */
@@ -167,7 +162,7 @@ export interface ChangeEvent<T> {
167
162
  /**
168
163
  * The Collection that raised the event.
169
164
  */
170
- target: Collection<T>;
165
+ target: Target;
171
166
  }
172
167
  /**
173
168
  * A callback that is invoked.
@@ -1,6 +1,6 @@
1
1
  import Accessor from "@arcgis/core/core/Accessor";
2
- import Collection from "@arcgis/core/core/Collection.js";
3
- import type Evented from "@arcgis/core/core/Evented.js";
2
+ import Collection, { type ReadonlyCollection } from "@arcgis/core/core/Collection.js";
3
+ import type { Evented, EventedCallback, EventNames, EventTypes } from "@arcgis/core/core/Evented.js";
4
4
  import { type ObservableMap } from "../utilities/ObservableMap.js";
5
5
  import type { ObservableSet } from "../utilities/ObservableSet.js";
6
6
  /**
@@ -14,7 +14,7 @@ export type Observable = ObservableMixin | Accessor;
14
14
  * Represents an object that is collection like and can be observed. This can be
15
15
  * an esri collection, an ObservableMap, or an ObservableSet.
16
16
  */
17
- type ObservableCollectionLike<T> = Collection<T> | ObservableMap<any, T> | ObservableSet<T>;
17
+ type ObservableCollectionLike<T> = Collection<T> | ReadonlyCollection<T> | ObservableMap<any, T> | ObservableSet<T>;
18
18
  /**
19
19
  * Represents a path to a property on an observable or esri class with a base
20
20
  * class of accessor. Only traverses to 3 levels deep.
@@ -122,10 +122,10 @@ type NestedEventedPropertyPath<T extends Observable, Depth extends number[]> = {
122
122
  */
123
123
  type EventedTypeFromPath<T extends Observable, P extends string> = P extends keyof T ? T[P] : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? NonNullable<T[K]> extends Observable ? // Keep recursing through the path to get the type of the
124
124
  EventedTypeFromPath<NonNullable<T[K]>, Rest> | (undefined extends T[K] ? undefined : never) : unknown : unknown : unknown;
125
- type OverloadProps<TOverload> = Pick<TOverload, keyof TOverload>;
126
- type OverloadUnionRecursive<TOverload, TPartialOverload = unknown> = TOverload extends (...args: infer TArgs) => infer TReturn ? TPartialOverload extends TOverload ? never : OverloadUnionRecursive<TPartialOverload & TOverload, TPartialOverload & ((...args: TArgs) => TReturn) & OverloadProps<TOverload>> | ((...args: TArgs) => TReturn) : never;
127
- type OverloadUnion<TOverload extends (...args: any[]) => any> = Exclude<OverloadUnionRecursive<(() => never) & TOverload>, TOverload extends () => never ? never : () => never>;
128
- type OverloadParameters<T extends (...args: any[]) => any> = Parameters<OverloadUnion<T>>;
125
+ /**
126
+ * Ensures that the given object is an evented object.
127
+ */
128
+ export type EventTarget<TTarget> = TTarget extends Evented ? TTarget : never;
129
129
  /**
130
130
  * Options for {@link support/observableUtils!watch}.
131
131
  */
@@ -511,7 +511,7 @@ export declare function onWatch<TObsv extends ObservableMixin>(obj: TObsv, path:
511
511
  * @throws Error if the object is not observable.
512
512
  * @throws Error if the path is to a non-configurable property on an observable.
513
513
  */
514
- export declare function watchEvent<TObsv extends Observable, TPath extends EventedPropertyPath<TObsv>, TTarget extends EventedTypeFromPath<TObsv, TPath>>(obj: TObsv, path: TPath, event: OverloadParameters<NonNullable<TTarget>["on"]>, watchCallback?: (newTarget: TTarget, oldTarget: TTarget) => void): IHandle;
514
+ export declare function watchEvent<TObsv extends Observable, TPath extends EventedPropertyPath<TObsv>, TTarget extends EventedTypeFromPath<TObsv, TPath>, TEventName extends EventNames<EventTarget<TTarget>>>(obj: TObsv, path: TPath, event: [TEventName, EventedCallback<EventTypes<EventTarget<TTarget>>[TEventName]>], watchCallback?: (newTarget: TTarget, oldTarget: TTarget) => void): IHandle;
515
515
  /**
516
516
  * Watches the given path on the given object and invokes the callback when the
517
517
  * value of the property becomes truthy.
@@ -1 +1 @@
1
- import t from"@arcgis/core/core/Accessor";import e from"@arcgis/core/core/Collection.js";import{watch as n}from"@arcgis/core/core/reactiveUtils";import{}from"../utilities/ObservableMap.js";import{generateUuid as r}from"../utilities/uuid.js";function o(t){return null!=t&&"object"==typeof t&&"__isObservable"in t&&t.__isObservable}function s(t){if(o(t))return t}function i(e){return e instanceof t}function c(t){return t instanceof e||null!=t&&"esri.core.Collection"===t.declaredClass}function a(t){return o(t)&&"ObservableMap"===t[Symbol.toStringTag]}function l(t){return c(t)||a(t)||function(t){return o(t)&&"ObservableSet"===t[Symbol.toStringTag]}(t)}class h{}export function observable(t){return class extends(t??h){__isObservable=!0;_subscribedPaths=new Map;_onWatchPaths=new Map;_onWatch(t,e){let n,o;"string"==typeof t?(n=t,o=e):o=t;let s=this._onWatchPaths.get(n);null==s&&(s=new Map,this._onWatchPaths.set(n,s));const i=r();if(s.set(i,o),null!=n&&this._subscribedPaths.has(n)){this._subscribedPaths.get(n).onWatchHandles.set(i,o())}else if(null==n&&this._subscribedPaths.size>0)for(const[t,e]of this._subscribedPaths){const n=o(t);e.onWatchHandles.set(i,n)}const c=new WeakRef(this);return{remove:()=>{const t=c.deref();if(null==t)return;if(!t._onWatchPaths.has(n))return;const e=t._onWatchPaths.get(n);if(e.delete(i),null!=n&&t._subscribedPaths.has(n)){const e=t._subscribedPaths.get(n),r=e.onWatchHandles.get(i);null!=r&&(r.remove(),e.onWatchHandles.delete(i))}else if(null==n&&t._subscribedPaths.size>0)for(const[,e]of t._subscribedPaths){const t=e.onWatchHandles.get(i);null!=t&&(t.remove(),e.onWatchHandles.delete(i))}0===e.size&&t._onWatchPaths.delete(n)}}}_notifyChange(t){let e;e=null==t?this._subscribedPaths.keys():[t];for(const t of e){const e=this._subscribedPaths.get(t);if(null==e)continue;const n=e.currentValue,r=this[t];if(Object.is(r,n))continue;e.currentValue=r;const o=[...e.callbacks.values()];for(const t of o)t(r,n,this)}}_watch(t,e,n){const r=[];if(t.includes(".")){if(t.includes("[]"))return this._recurseCollectionWatch(t,e,n);const o=t.split("."),s=o.shift(),i=new AbortController,{signal:c}=i,a=new WeakRef(this);let l;const h=p(e,t),u=()=>{if(c.aborted)return void(l=void 0);const t=a.deref();if(null==t){for(const t of r)t.remove();return r.length=0,void(l=void 0)}let e=t[s],n=t;for(let t=0;t<o.length;t++)if(n=e,e=e?.[o[t]],null==e){t<o.length-1&&(n=void 0);break}if(e!==l){const t=l;l=e,h(e,t,n)}},f=n?.sync?p(u,t):w(u,t,c);let b,v,_;if([l,_,b,v]=this._recurseWatch(t,f),r.push(g(b,v)),n?.initial){(n?.sync?p(e,t):w(e,t,c))(l,l,_)}return d(r,i)}return this._watchSingle(t,e,n)}_recurseWatch(t,e){const n=t.split("."),r=n.shift(),c=[];let a,l;if(n.length>0){const t=this[r];if(o(t)){const[r,o,i,h]=s(t)._recurseWatch(n.join("."),e);c.push(g(i,h)),a=r,l=o}else if(i(t)){const[r,o,s]=f(t,n,e,{sync:!0});c.push(s),a=r,l=o}}const h=this._watchSingle(r,((t,r)=>{if(t!==r){if(n.length>0){if(o(r)||i(r)){for(const t of c)t.remove();c.length=0}if(o(t)){const[,,r,o]=s(t)._recurseWatch(n.join("."),e);c.push(g(r,o))}else if(i(t)){const[,,r]=f(t,n,e,{sync:!0});c.push(r)}}e()}}),{sync:!0});return[n.length>0?a:this._subscribedPaths.get(r)?.currentValue,n.length>0?l:this,c,h]}_recurseCollectionWatch(t,e,n){const r=t.split("."),c=r.shift();if("[]"===r[0])return this._collectionWatch(c,r,e,n);{const t=[],a=this._watchSingle(c,(c=>{for(const e of t)e.remove();t.length=0,o(c)?t.push(s(c)._recurseCollectionWatch(r.join("."),e,n)):i(c)&&t.push(f(c,r,e,n)[2])})),l=this[c];return o(l)?t.push(s(l)._recurseCollectionWatch(r.join("."),e,n)):i(l)&&t.push(f(l,r,e,n)[2]),g(t,a)}}_collectionWatch(t,e,n,r){const o=[];l(this[t])&&o.push(b(this[t],e.join("."),n,r));const s=this._watchSingle(t,((t,s)=>{if(l(s)){for(const t of o)t.remove();o.length=0}l(t)&&o.push(b(t,e.join("."),n,r))}),{sync:!0});return g(o,s)}_watchSingle(t,e,n){let o=this._subscribedPaths.get(t)?.callbacks;if(null==o){let e=Object.getOwnPropertyDescriptor(this,t),n=this;for(;null==e&&(n=Object.getPrototypeOf(n),null!=n);)e=Object.getOwnPropertyDescriptor(n,t);if(null==e)return console.warn(`[observableUtils]: The property ${t.toString()} you are trying to watch does not exist on the object and will not be watched. This is likely a coding error or an optional property on an interface that is not implemented on the object. Please check the property name and ensure it exists on the object. Only properties that exist on the object at the time they are watched can be observed for changes.`),{remove:()=>{}};if(!1===e.configurable)throw new Error(`Property "${t.toString()}" is not configurable so it cannot be watched`);o=new Map;const r=new Map;if(this._subscribedPaths.set(t,{callbacks:o,currentValue:this[t],onWatchHandles:r}),!0!==e.writable&&null==e.set||(this._subscribedPaths.get(t).originalDescriptor=e,null!=e.value&&(e.value=void 0),this._createWatchDescriptor(t,e)),this._onWatchPaths.has(t))for(const[e,n]of this._onWatchPaths.get(t))r.set(e,n());if(this._onWatchPaths.has(void 0))for(const[e,n]of this._onWatchPaths.get(void 0))r.set(e,n(t))}const s=new AbortController,i=p(e,t.toString()),{currentValue:c}=this._subscribedPaths.get(t);let a=c;const l=(t,e,n)=>{const r=a;a=t,i(t,r,n)},h=n?.sync?p(l,t.toString()):w(l,t.toString(),s.signal),u=r();return o.set(u,h),n?.initial&&h(c,c,this),this._createSingleWatchRemoveHandle(t,u,s)}_createWatchDescriptor(t,e){const n={configurable:!0,enumerable:e.enumerable};null==e.get?(n.get=()=>this._subscribedPaths.get(t).currentValue,n.set=e=>{const n=this._subscribedPaths.get(t),r=n.currentValue;if(Object.is(r,e))return;n.currentValue=e;const o=[...n.callbacks.values()];for(const t of o)t(e,r,this)}):(n.get=e.get,n.set=n=>{const r=this._subscribedPaths.get(t),o=r.currentValue;if(Object.is(o,n))return void e.set.call(this,n);r.currentValue=n,e.set.call(this,n);const s=[...r.callbacks.values()];for(const t of s)t(n,o,this)}),Object.defineProperty(this,t,n)}_createSingleWatchRemoveHandle(t,e,n){const r=new WeakRef(this);return{remove:()=>{n.abort();const o=r.deref();if(null==o)return;if(!o._subscribedPaths.has(t))return;const{callbacks:s}=o._subscribedPaths.get(t);if(s.delete(e),0===s.size){const e=o._subscribedPaths.get(t);o._subscribedPaths.delete(t);for(const t of e.onWatchHandles.values())t.remove();null!=e.originalDescriptor&&(null==e.originalDescriptor.get&&(e.originalDescriptor.value=e.currentValue),Object.defineProperty(o,t,e.originalDescriptor))}}}}}}const u=new FinalizationRegistry((t=>{t.remove()}));export function watch(t,e,n,r){if(!o(t)&&i(t))return _(t,f(t,e.split("."),n,r)[2]);const c=s(t);if(null==c)throw new Error("Object is not observable");if(r?.once){let t;const o=new AbortController,{signal:s}=o,i=r?.sync?p(n,e):w(n,e,s);let a=!1;const l=(e,n,r)=>{s.aborted||(a=!0,t?.remove(),t=void 0,i(e,n,r))};t=c._watch(e,l,{...r,sync:!0});const h=d([t],o);return a?(h.remove(),h):_(c,h)}return _(c,c._watch(e,n,r))}export function watchEach(t,e,n,r){if(l(t)&&e.startsWith("[]."))return _(t,b(t,e,n,r));if(!o(t)&&i(t))return _(t,f(t,e.split("."),n,r)[2]);const c=s(t);if(null==c)throw new Error("Object is not observable");return _(c,c._watch(e,n,r))}export async function once(t,e,n){const{signal:r}=n??{};return new Promise(((n,o)=>{if(r?.aborted)return void o();const s=()=>{i.remove(),o()},i=watch(t,e,(()=>{r?.removeEventListener("abort",s),n()}),{once:!0});r?.addEventListener("abort",s)}))}export function notifyChange(t,e){const n=s(t);if(null==n)throw new Error("Object is not observable");if(null!=e&&"string"!=typeof e)throw new Error("Path must be a string");n._notifyChange(e)}export function onWatch(t,e,n){const r=s(t);if(null==r)throw new Error("Object is not observable");if("string"==typeof e)return _(r,r._onWatch(e,n));if("function"!=typeof e)throw new Error("Path must be a string or a function");return _(r,r._onWatch(e))}export function watchEvent(t,e,n,r){const o=n[0],s=n[1],i=new WeakMap,c=new Set;let a;return a=watch(t,e,((t,e)=>{if(null!=e&&i.has(e)){const t=i.get(e);t.remove(),i.delete(e),c.delete(t)}if(null!=t&&!i.has(t)){const e=t.on(o,s);i.set(t,e),c.add(e)}t!==e&&r?.(t,e)}),{sync:!0,initial:!0}),_(t,g(c,a))}export function when(t,e,n,r){const{invert:o=!1,once:s,...i}=r??{};let c;const a=p(n,e);let l=!1;return c=watch(t,e,(t=>{!t===o&&(a(),s&&(l=!0,c?.remove(),c=void 0))}),{...i,initial:!0}),s&&l&&c?.remove(),c}export function whenOnce(t,e,n){const{signal:r,invert:o=!1}=n??{};return new Promise(((n,s)=>{if(r?.aborted)return void s();const i=()=>{r?.removeEventListener("abort",i),c.remove(),s()},c=when(t,e,(()=>{r?.aborted||(r?.removeEventListener("abort",i),n())}),{invert:o,once:!0});r?.addEventListener("abort",i)}))}export function createIHandle(t){return{remove:()=>{for(const e of t)e.remove()}}}function f(t,e,r,o){const s=e.indexOf("[]");if(-1!==s){const n=e.slice(0,s),i=e.slice(s),c=[],[a,h,u]=f(t,n,((t,e)=>{if(l(e)){for(const t of c)t.remove();c.length=0}l(t)&&c.push(b(t,i.join("."),r,o))}),{sync:!0});return l(a)&&c.push(b(a,i.join("."),r,o)),[a,h,g(c,u)]}return function(t,e,r,o){const s=new WeakRef(t);let i;const c=()=>{let t=s.deref();if(null==t)return i?.remove(),[void 0,void 0];let n=t;for(let r=0;r<e.length;r++)if(t=n,n=t[e[r]],null==n){r<e.length-1&&(t=void 0);break}return[n,t]},a=new AbortController,{signal:l}=a,h=o?.initial&&!1===o?.sync?w(r,e.join("."),l):p(r,e.join(".")),u=function(t){const e=(e,n)=>{Object.is(e[0],n?.[0])||t(e[0],n?.[0],e[1])};return e}(h),[f,b]=c();return o?.initial&&o?.once?(h(f,f,b),[f,b,d([],a)]):(i=n(c,u,{...o,initial:!1}),o?.initial&&h(f,f,b),[f,b,d([i],a)])}(t,e,r,o)}function b(t,e,n,r){const s=new WeakMap,l=new Set,h=e.slice(3),u=t=>{if(!o(t)&&!i(t)||s.has(t))return;if(!(h.split(".")[0]in t))return;const e=watch(t,h,n,r);s.set(t,e),l.add(e)};l.add(t.on("after-add",(t=>{let e=t.item;"target"in t&&a(t.target)&&(e=t.item[1]),u(e)}))),l.add(t.on("after-remove",(t=>{let e=t.item;if("target"in t&&a(t.target)&&(e=t.item[1]),!o(e)&&!i(e))return;const n=s.get(e);null!=n&&(n.remove(),s.delete(e),l.delete(n))})));for(const e of c(t)?t:t.values())u(e);return g(l)}function d(t,e){return{remove:()=>{e?.abort();for(const e of t)e.remove()}}}function g(t,...e){return{remove:()=>{for(const e of t)e.remove();for(const t of e)t.remove()}}}const v="[observableUtils]: Error thrown by watch callback. Thrown errors from watch callbacks should be avoided where possible, they affect the performance of the entire watch system. Watch property:";function p(t,e){return(...n)=>{try{const r=t(...n);"object"==typeof r&&r instanceof Promise&&r.catch((t=>{console.error(`${v} ${e}`,t)}))}catch(t){console.error(`${v} ${e}`,t)}}}function w(t,e,n){const r=p(t,e);let o=new AbortController;return(...t)=>{o.abort(),o=new AbortController;const{signal:e}=o;queueMicrotask((()=>{n.aborted||e.aborted||r(...t)}))}}function _(t,e){return u.register(t,e,e),{remove:()=>{u.unregister(e),e.remove()}}}
1
+ import e from"@arcgis/core/core/Accessor";import t,{}from"@arcgis/core/core/Collection.js";import{watch as n}from"@arcgis/core/core/reactiveUtils";import{}from"../utilities/ObservableMap.js";import{generateUuid as r}from"../utilities/uuid.js";function o(e){return null!=e&&"object"==typeof e&&"__isObservable"in e&&e.__isObservable}function s(e){if(o(e))return e}function i(t){return t instanceof e}function c(e){return e instanceof t||null!=e&&"esri.core.Collection"===e.declaredClass}function a(e){return o(e)&&"ObservableMap"===e[Symbol.toStringTag]}function l(e){return c(e)||a(e)||function(e){return o(e)&&"ObservableSet"===e[Symbol.toStringTag]}(e)}class h{}export function observable(e){return class extends(e??h){__isObservable=!0;_subscribedPaths=new Map;_onWatchPaths=new Map;_onWatch(e,t){let n,o;"string"==typeof e?(n=e,o=t):o=e;let s=this._onWatchPaths.get(n);null==s&&(s=new Map,this._onWatchPaths.set(n,s));const i=r();if(s.set(i,o),null!=n&&this._subscribedPaths.has(n)){this._subscribedPaths.get(n).onWatchHandles.set(i,o())}else if(null==n&&this._subscribedPaths.size>0)for(const[e,t]of this._subscribedPaths){const n=o(e);t.onWatchHandles.set(i,n)}const c=new WeakRef(this);return{remove:()=>{const e=c.deref();if(null==e)return;if(!e._onWatchPaths.has(n))return;const t=e._onWatchPaths.get(n);if(t.delete(i),null!=n&&e._subscribedPaths.has(n)){const t=e._subscribedPaths.get(n),r=t.onWatchHandles.get(i);null!=r&&(r.remove(),t.onWatchHandles.delete(i))}else if(null==n&&e._subscribedPaths.size>0)for(const[,t]of e._subscribedPaths){const e=t.onWatchHandles.get(i);null!=e&&(e.remove(),t.onWatchHandles.delete(i))}0===t.size&&e._onWatchPaths.delete(n)}}}_notifyChange(e){let t;t=null==e?this._subscribedPaths.keys():[e];for(const e of t){const t=this._subscribedPaths.get(e);if(null==t)continue;const n=t.currentValue,r=this[e];if(Object.is(r,n))continue;t.currentValue=r;const o=[...t.callbacks.values()];for(const e of o)e(r,n,this)}}_watch(e,t,n){const r=[];if(e.includes(".")){if(e.includes("[]"))return this._recurseCollectionWatch(e,t,n);const o=e.split("."),s=o.shift(),i=new AbortController,{signal:c}=i,a=new WeakRef(this);let l;const h=p(t,e),u=()=>{if(c.aborted)return void(l=void 0);const e=a.deref();if(null==e){for(const e of r)e.remove();return r.length=0,void(l=void 0)}let t=e[s],n=e;for(let e=0;e<o.length;e++)if(n=t,t=t?.[o[e]],null==t){e<o.length-1&&(n=void 0);break}if(t!==l){const e=l;l=t,h(t,e,n)}},f=n?.sync?p(u,e):w(u,e,c);let b,v,m;if([l,m,b,v]=this._recurseWatch(e,f),r.push(g(b,v)),n?.initial){(n?.sync?p(t,e):w(t,e,c))(l,l,m)}return d(r,i)}return this._watchSingle(e,t,n)}_recurseWatch(e,t){const n=e.split("."),r=n.shift(),c=[];let a,l;if(n.length>0){const e=this[r];if(o(e)){const[r,o,i,h]=s(e)._recurseWatch(n.join("."),t);c.push(g(i,h)),a=r,l=o}else if(i(e)){const[r,o,s]=f(e,n,t,{sync:!0});c.push(s),a=r,l=o}}const h=this._watchSingle(r,((e,r)=>{if(e!==r){if(n.length>0){if(o(r)||i(r)){for(const e of c)e.remove();c.length=0}if(o(e)){const[,,r,o]=s(e)._recurseWatch(n.join("."),t);c.push(g(r,o))}else if(i(e)){const[,,r]=f(e,n,t,{sync:!0});c.push(r)}}t()}}),{sync:!0});return[n.length>0?a:this._subscribedPaths.get(r)?.currentValue,n.length>0?l:this,c,h]}_recurseCollectionWatch(e,t,n){const r=e.split("."),c=r.shift();if("[]"===r[0])return this._collectionWatch(c,r,t,n);{const e=[],a=this._watchSingle(c,(c=>{for(const t of e)t.remove();e.length=0,o(c)?e.push(s(c)._recurseCollectionWatch(r.join("."),t,n)):i(c)&&e.push(f(c,r,t,n)[2])})),l=this[c];return o(l)?e.push(s(l)._recurseCollectionWatch(r.join("."),t,n)):i(l)&&e.push(f(l,r,t,n)[2]),g(e,a)}}_collectionWatch(e,t,n,r){const o=[];l(this[e])&&o.push(b(this[e],t.join("."),n,r));const s=this._watchSingle(e,((e,s)=>{if(l(s)){for(const e of o)e.remove();o.length=0}l(e)&&o.push(b(e,t.join("."),n,r))}),{sync:!0});return g(o,s)}_watchSingle(e,t,n){let o=this._subscribedPaths.get(e)?.callbacks;if(null==o){let t=Object.getOwnPropertyDescriptor(this,e),n=this;for(;null==t&&(n=Object.getPrototypeOf(n),null!=n);)t=Object.getOwnPropertyDescriptor(n,e);if(null==t)return console.warn(`[observableUtils]: The property ${e.toString()} you are trying to watch does not exist on the object and will not be watched. This is likely a coding error or an optional property on an interface that is not implemented on the object. Please check the property name and ensure it exists on the object. Only properties that exist on the object at the time they are watched can be observed for changes.`),{remove:()=>{}};if(!1===t.configurable)throw new Error(`Property "${e.toString()}" is not configurable so it cannot be watched`);o=new Map;const r=new Map;if(this._subscribedPaths.set(e,{callbacks:o,currentValue:this[e],onWatchHandles:r}),!0!==t.writable&&null==t.set||(this._subscribedPaths.get(e).originalDescriptor=t,null!=t.value&&(t.value=void 0),this._createWatchDescriptor(e,t)),this._onWatchPaths.has(e))for(const[t,n]of this._onWatchPaths.get(e))r.set(t,n());if(this._onWatchPaths.has(void 0))for(const[t,n]of this._onWatchPaths.get(void 0))r.set(t,n(e))}const s=new AbortController,i=p(t,e.toString()),{currentValue:c}=this._subscribedPaths.get(e);let a=c;const l=(e,t,n)=>{const r=a;a=e,i(e,r,n)},h=n?.sync?p(l,e.toString()):w(l,e.toString(),s.signal),u=r();return o.set(u,h),n?.initial&&h(c,c,this),this._createSingleWatchRemoveHandle(e,u,s)}_createWatchDescriptor(e,t){const n={configurable:!0,enumerable:t.enumerable};null==t.get?(n.get=()=>this._subscribedPaths.get(e).currentValue,n.set=t=>{const n=this._subscribedPaths.get(e),r=n.currentValue;if(Object.is(r,t))return;n.currentValue=t;const o=[...n.callbacks.values()];for(const e of o)e(t,r,this)}):(n.get=t.get,n.set=n=>{const r=this._subscribedPaths.get(e),o=r.currentValue;if(Object.is(o,n))return void t.set.call(this,n);r.currentValue=n,t.set.call(this,n);const s=[...r.callbacks.values()];for(const e of s)e(n,o,this)}),Object.defineProperty(this,e,n)}_createSingleWatchRemoveHandle(e,t,n){const r=new WeakRef(this);return{remove:()=>{n.abort();const o=r.deref();if(null==o)return;if(!o._subscribedPaths.has(e))return;const{callbacks:s}=o._subscribedPaths.get(e);if(s.delete(t),0===s.size){const t=o._subscribedPaths.get(e);o._subscribedPaths.delete(e);for(const e of t.onWatchHandles.values())e.remove();null!=t.originalDescriptor&&(null==t.originalDescriptor.get&&(t.originalDescriptor.value=t.currentValue),Object.defineProperty(o,e,t.originalDescriptor))}}}}}}const u=new FinalizationRegistry((e=>{e.remove()}));export function watch(e,t,n,r){if(!o(e)&&i(e))return m(e,f(e,t.split("."),n,r)[2]);const c=s(e);if(null==c)throw new Error("Object is not observable");if(r?.once){let e;const o=new AbortController,{signal:s}=o,i=r?.sync?p(n,t):w(n,t,s);let a=!1;const l=(t,n,r)=>{s.aborted||(a=!0,e?.remove(),e=void 0,i(t,n,r))};e=c._watch(t,l,{...r,sync:!0});const h=d([e],o);return a?(h.remove(),h):m(c,h)}return m(c,c._watch(t,n,r))}export function watchEach(e,t,n,r){if(l(e)&&t.startsWith("[]."))return m(e,b(e,t,n,r));if(!o(e)&&i(e))return m(e,f(e,t.split("."),n,r)[2]);const c=s(e);if(null==c)throw new Error("Object is not observable");return m(c,c._watch(t,n,r))}export async function once(e,t,n){const{signal:r}=n??{};return new Promise(((n,o)=>{if(r?.aborted)return void o();const s=()=>{i.remove(),o()},i=watch(e,t,(()=>{r?.removeEventListener("abort",s),n()}),{once:!0});r?.addEventListener("abort",s)}))}export function notifyChange(e,t){const n=s(e);if(null==n)throw new Error("Object is not observable");if(null!=t&&"string"!=typeof t)throw new Error("Path must be a string");n._notifyChange(t)}export function onWatch(e,t,n){const r=s(e);if(null==r)throw new Error("Object is not observable");if("string"==typeof t)return m(r,r._onWatch(t,n));if("function"!=typeof t)throw new Error("Path must be a string or a function");return m(r,r._onWatch(t))}export function watchEvent(e,t,n,r){const o=n[0],s=n[1],i=new WeakMap,c=new Set;let a;return a=watch(e,t,((e,t)=>{if(null!=t&&i.has(t)){const e=i.get(t);e.remove(),i.delete(t),c.delete(e)}if(null!=e&&!i.has(e)){const t=e.on(o,s);i.set(e,t),c.add(t)}e!==t&&r?.(e,t)}),{sync:!0,initial:!0}),m(e,g(c,a))}export function when(e,t,n,r){const{invert:o=!1,once:s,...i}=r??{};let c;const a=p(n,t);let l=!1;return c=watch(e,t,(e=>{!e===o&&(a(),s&&(l=!0,c?.remove(),c=void 0))}),{...i,initial:!0}),s&&l&&c?.remove(),c}export function whenOnce(e,t,n){const{signal:r,invert:o=!1}=n??{};return new Promise(((n,s)=>{if(r?.aborted)return void s();const i=()=>{r?.removeEventListener("abort",i),c.remove(),s()},c=when(e,t,(()=>{r?.aborted||(r?.removeEventListener("abort",i),n())}),{invert:o,once:!0});r?.addEventListener("abort",i)}))}export function createIHandle(e){return{remove:()=>{for(const t of e)t.remove()}}}function f(e,t,r,o){const s=t.indexOf("[]");if(-1!==s){const n=t.slice(0,s),i=t.slice(s),c=[],[a,h,u]=f(e,n,((e,t)=>{if(l(t)){for(const e of c)e.remove();c.length=0}l(e)&&c.push(b(e,i.join("."),r,o))}),{sync:!0});return l(a)&&c.push(b(a,i.join("."),r,o)),[a,h,g(c,u)]}return function(e,t,r,o){const s=new WeakRef(e);let i;const c=()=>{let e=s.deref();if(null==e)return i?.remove(),[void 0,void 0];let n=e;for(let r=0;r<t.length;r++)if(e=n,n=e[t[r]],null==n){r<t.length-1&&(e=void 0);break}return[n,e]},a=new AbortController,{signal:l}=a,h=o?.initial&&!1===o?.sync?w(r,t.join("."),l):p(r,t.join(".")),u=function(e){const t=(t,n)=>{Object.is(t[0],n?.[0])||e(t[0],n?.[0],t[1])};return t}(h),[f,b]=c();return o?.initial&&o?.once?(h(f,f,b),[f,b,d([],a)]):(i=n(c,u,{...o,initial:!1}),o?.initial&&h(f,f,b),[f,b,d([i],a)])}(e,t,r,o)}function b(e,t,n,r){const s=new WeakMap,l=new Set,h=t.slice(3),u=e=>{if(!o(e)&&!i(e)||s.has(e))return;if(!(h.split(".")[0]in e))return;const t=watch(e,h,n,r);s.set(e,t),l.add(t)},f=e=>{if(!o(e)&&!i(e))return;const t=s.get(e);null!=t&&(t.remove(),s.delete(e),l.delete(t))};a(e)?(l.add(e.on("after-add",(e=>{u(e.item[1])}))),l.add(e.on("after-remove",(e=>{f(e.item[1])})))):(l.add(e.on("after-add",(e=>{u(e.item)}))),l.add(e.on("after-remove",(e=>{f(e.item)}))));for(const t of c(e)?e:e.values())u(t);return g(l)}function d(e,t){return{remove:()=>{t?.abort();for(const t of e)t.remove()}}}function g(e,...t){return{remove:()=>{for(const t of e)t.remove();for(const e of t)e.remove()}}}const v="[observableUtils]: Error thrown by watch callback. Thrown errors from watch callbacks should be avoided where possible, they affect the performance of the entire watch system. Watch property:";function p(e,t){return(...n)=>{try{const r=e(...n);"object"==typeof r&&r instanceof Promise&&r.catch((e=>{console.error(`${v} ${t}`,e)}))}catch(e){console.error(`${v} ${t}`,e)}}}function w(e,t,n){const r=p(e,t);let o=new AbortController;return(...e)=>{o.abort(),o=new AbortController;const{signal:t}=o;queueMicrotask((()=>{n.aborted||t.aborted||r(...e)}))}}function m(e,t){return u.register(e,t,t),{remove:()=>{u.unregister(t),t.remove()}}}
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import { type Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { MapImageSublayerExtension } from "../../mapping/MapImageSublayerExtension.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import type { BuildingComponentSublayerExtension } from "../../mapping/BuildingComponentSublayerExtension.js";
4
4
  import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
4
4
  import type { IdentifyOptions } from "./IdentifyOptions.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import { FeatureLayerQueryProvider } from "../query/FeatureLayerQueryProvider.js";
4
4
  import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
@@ -1,5 +1,5 @@
1
1
  import type Graphic from "@arcgis/core/Graphic";
2
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
2
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { FeatureLayerExtension } from "../../mapping/FeatureLayerExtension.js";
5
5
  import { ClientSideIdentifyProvider } from "./ClientSideIdentifyProvider.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import { GeoJSONLayerClientSideQueryProvider } from "../query/GeoJSONLayerClientSideQueryProvider.js";
4
4
  import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { BuildingComponentSublayerExtension } from "../../mapping/BuildingComponentSublayerExtension.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,6 +1,6 @@
1
1
  import type EsriMap from "@arcgis/core/Map";
2
2
  import Collection from "@arcgis/core/core/Collection";
3
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
3
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
4
4
  import type { Feature } from "../../data/Feature.js";
5
5
  import type { FeatureSource } from "../../data/FeatureSource.js";
6
6
  import { MapExtension } from "../../mapping/MapExtension.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import type { PointCloudLayerExtension } from "../../mapping/PointCloudLayerExtension.js";
4
4
  import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
3
  import type { SceneLayerExtension } from "../../mapping/SceneLayerExtension.js";
4
4
  import { SceneLayerQueryProvider } from "../query/SceneLayerQueryProvider.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { SceneLayerExtension } from "../../mapping/SceneLayerExtension.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CountResult } from "../CountResult.js";
@@ -1,5 +1,5 @@
1
1
  import type SpatialReference from "@arcgis/core/geometry/SpatialReference.js";
2
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
2
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
3
3
  import { Feature } from "../../data/Feature.js";
4
4
  import type { FeatureSource } from "../../data/FeatureSource.js";
5
5
  import type { WMSLayerExtension } from "../../mapping/WMSLayerExtension.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  import type { Feature } from "../../data/Feature.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { WMSSublayerExtension } from "../../mapping/WMSSublayerExtension.js";
@@ -1,5 +1,5 @@
1
1
  import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
2
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
2
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
3
3
  import type { FeatureSource } from "../../data/FeatureSource.js";
4
4
  import type { CancelToken } from "../../support/Cancellable.js";
5
5
  /**
@@ -1,5 +1,6 @@
1
1
  import type { Feature } from "../../data/Feature.js";
2
2
  import type { FeatureSource } from "../../data/FeatureSource.js";
3
+ import type { SubtypeSublayerExtension } from "../../mapping/SubtypeSublayerExtension.js";
3
4
  import type { CountResult } from "../CountResult.js";
4
5
  import { QueryOptions } from "./QueryOptions.js";
5
6
  import { QueryProviderBase } from "./QueryProviderBase.js";
@@ -14,8 +15,8 @@ export declare class SubtypeSublayerQueryProvider extends QueryProviderBase {
14
15
  /**
15
16
  * @inheritDoc
16
17
  */
17
- protected _query(source: FeatureSource, where: string, options: QueryOptions): AsyncIterable<Feature>;
18
- protected _queryMany(sources: FeatureSource[], where: string, options?: QueryOptions): AsyncIterable<Feature>;
18
+ protected _query(source: SubtypeSublayerExtension, where: string, options: QueryOptions): AsyncIterable<Feature>;
19
+ protected _queryMany(sources: SubtypeSublayerExtension[], where: string, options?: QueryOptions): AsyncIterable<Feature>;
19
20
  /**
20
21
  * @inheritDoc
21
22
  */
@@ -1,6 +1,6 @@
1
1
  import type Point from "@arcgis/core/geometry/Point";
2
2
  import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
3
- import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
3
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
4
4
  import type { FeatureSource } from "../../data/FeatureSource.js";
5
5
  import type { CancelToken } from "../../support/Cancellable.js";
6
6
  import type { TaskResult } from "../TaskResult.js";
@@ -1,4 +1,4 @@
1
- import type { GeometryUnion } from "@arcgis/core/unionTypes";
1
+ import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
2
2
  /**
3
3
  * The expanded search area and scale.
4
4
  */
@@ -1,6 +1,9 @@
1
+ import type { GroupKey } from "@arcgis/core/core/Accessor.js";
1
2
  import type Collection from "@arcgis/core/core/Collection";
2
- import Evented from "@arcgis/core/core/Evented.js";
3
- import type { ItemCallback, ItemCompareCallback, ItemMapCallback, ItemReduceCallback, ItemTestCallback, CollectionAfterAddEventHandler, CollectionChangeEventHandler, CollectionAfterChangesEventHandler, CollectionAfterRemoveEventHandler, CollectionBeforeAddEventHandler, CollectionBeforeChangesEventHandler, CollectionBeforeRemoveEventHandler, EventHandler } from "../support/esri.js";
3
+ import type { CollectionEvents, ItemCallback, ReadonlyArrayOrCollection } from "@arcgis/core/core/Collection";
4
+ import { Evented } from "@arcgis/core/core/Evented.js";
5
+ import type { ItemCompareCallback, ItemMapCallback, ItemReduceCallback, ItemTestCallback } from "../support/esri.js";
6
+ import { type IHandle } from "../support/observableUtils.js";
4
7
  /**
5
8
  * Merge typings of Collection and CollectionProxy.
6
9
  */
@@ -13,20 +16,24 @@ declare const CollectionProxy_base: typeof Evented & (abstract new (...args: any
13
16
  * default implementations of each method and property accessor simply forward
14
17
  * to the wrapped collection. Methods that add or remove elements from the
15
18
  * collection are implemented in terms of add() and removeAt(), so subclasses
16
- * that need to implement special add/remove logic only need to override those
17
- * methods.
19
+ * that need to implement special add/remove logic only need to those methods.
18
20
  */
19
- export declare abstract class CollectionProxy<T> extends CollectionProxy_base implements Omit<Collection<T>, "notifyChange"> {
20
- private readonly _handles;
21
+ export declare abstract class CollectionProxy<T> extends CollectionProxy_base implements Collection<T> {
21
22
  /**
22
- * The number of items in the collection.
23
+ * @deprecated Do not directly reference this property. Use EventNames and
24
+ * EventTypes helpers from @arcgis/core/Evented.
23
25
  */
24
- get length(): number;
26
+ "@eventTypes": CollectionEvents<T>;
25
27
  /**
26
28
  * The declared class name. This is always `"esri.core.Collection"` for
27
29
  * compatibility with Esri's API.
28
30
  */
29
- get declaredClass(): string;
31
+ declaredClass: string;
32
+ private readonly _handles;
33
+ /**
34
+ * The number of items in the collection.
35
+ */
36
+ get length(): number;
30
37
  /**
31
38
  * Whether the collection has been destroyed.
32
39
  */
@@ -72,7 +79,7 @@ export declare abstract class CollectionProxy<T> extends CollectionProxy_base im
72
79
  * @param index Zero-based index of where in the collection to add the
73
80
  * items. If not specified, the items will be added at the end.
74
81
  */
75
- addMany(items: ArrayLike<T> | Collection<T>, index?: number): this;
82
+ addMany(items: ReadonlyArrayOrCollection<T>, index?: number): this;
76
83
  /**
77
84
  * Creates a deep clone of the Collection. To create a shallow clone of the
78
85
  * collection, use slice().
@@ -86,6 +93,18 @@ export declare abstract class CollectionProxy<T> extends CollectionProxy_base im
86
93
  * Collection.
87
94
  */
88
95
  concat(value: T[] | Collection<T>): Collection<T>;
96
+ /**
97
+ * @inheritdoc
98
+ */
99
+ destroyAll(): void;
100
+ /**
101
+ * @inheritdoc
102
+ */
103
+ destroyMany(items: ReadonlyArrayOrCollection<T>): T[];
104
+ /**
105
+ * @inheritdoc
106
+ */
107
+ drain(callback: ItemCallback<T>, thisArg?: any): void;
89
108
  /**
90
109
  * Removes all event listeners and destroys the collection.
91
110
  */
@@ -199,17 +218,6 @@ export declare abstract class CollectionProxy<T> extends CollectionProxy_base im
199
218
  * and returns a new value at the same index of the original item.
200
219
  */
201
220
  map<U>(callback: ItemMapCallback<T, U>): Collection<U>;
202
- /**
203
- * @inheritdoc
204
- */
205
- on(type: "after-add", listener: CollectionAfterAddEventHandler<T>): IHandle;
206
- on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle;
207
- on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<T>): IHandle;
208
- on(type: "before-add", listener: CollectionBeforeAddEventHandler<T>): IHandle;
209
- on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle;
210
- on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<T>): IHandle;
211
- on(type: "change", listener: CollectionChangeEventHandler<T>): IHandle;
212
- on(type: string, listener: EventHandler): IHandle;
213
221
  /**
214
222
  * Removes the last item from the collection and returns it.
215
223
  */
@@ -262,7 +270,7 @@ export declare abstract class CollectionProxy<T> extends CollectionProxy_base im
262
270
  *
263
271
  * @param items The items to remove.
264
272
  */
265
- removeMany(items: ArrayLike<T> | Collection<T>): T[];
273
+ removeMany(items: ReadonlyArrayOrCollection<T>): T[];
266
274
  /**
267
275
  * Moves an item in the Collection to a specified index. The change event is
268
276
  * fired after an item is moved in the Collection.
@@ -1 +1 @@
1
- import t from"@arcgis/core/core/Evented.js";import{notifyChange as e,observable as o,onWatch as i,watch as n}from"../support/observableUtils.js";import{_generateChangeEvent as r}from"./collection.js";const s="collection-proxy-collection-change-handles";export class CollectionProxy extends(o(t)){_handles=new Map;get length(){return this._collection.length}get declaredClass(){return"esri.core.Collection"}get destroyed(){return this._destroyed}set destroyed(t){this._destroyed=t}get initialized(){return this._initialized}set initialized(t){this._initialized=t}get _collection(){if(void 0===this._collectionField)throw new Error("CollectionProxy requires a backing collection.");return this._collectionField}set _collection(t){if(this._collectionField===t)return;const o=this._collectionField;this.removeHandles(s);const i=r(o,t);if(null!=i){for(const t of i.added){const e={item:t,cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},target:this};this.emit("before-add",e)}for(const t of i.removed){const e={item:t,cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},target:this};this.emit("before-remove",e)}this.emit("before-changes",{cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},target:this})}if(this._collectionField=t,this._addForwardingEvents(),null!=i){this.emit("change",i);for(const t of i.added)this.emit("after-add",{item:t,target:this});for(const t of i.removed)this.emit("after-remove",{item:t,target:this});this.emit("after-changes")}e(this,"length")}_destroyed=!1;_initialized=!0;_collectionField;constructor(t){super(),this._collectionField=t,this._addForwardingEvents()}*[Symbol.iterator](){for(const t of this._collection)yield t}add(t,e){return this._collection.add(t,e),this}addMany(t,e){if(!t)return this;if(arguments.length>1){let o=e;for(let e=0;e<t.length;e++)"function"==typeof t.getItemAt?this.add(t.getItemAt(e),o++):this.add(t[e],o++)}else for(let e=0;e<t.length;e++)"function"==typeof t.getItemAt?this.add(t.getItemAt(e)):this.add(t[e]);return this}clone(){const t=Object.create(Object.getPrototypeOf(this));return t._collection=this._collection,t}concat(t){return this._collection.concat(t)}destroy(){this.removeHandles(),this._destroyed=!0,this._initialized=!1,this._collection.destroy()}every(t){return this._collection.every(t)}filter(t){return this._collection.filter(t)}find(t){return this._collection.find(t)}findIndex(t){return this._collection.findIndex(t)}flatten(t){return this._collection.flatten(t)}forEach(t){return this._collection.forEach(t)}at(t){return this.getItemAt(t)}getItemAt(t){return this._collection.getItemAt(t)}includes(t){return this._collection.includes(t)}indexOf(t,e){return this._collection.indexOf(t,e)}join(t){return this._collection.join(t)}lastIndexOf(t,e){return this._collection.lastIndexOf(t,e)}map(t){return this._collection.map(t)}on(t,e){return super.on(t,e)}pop(){return this.removeAt(this.length-1)}push(t){return this.add(t,this.length),this.length}reduce(t,e){return this._collection.reduce(t,e)}reduceRight(t,e){return this._collection.reduceRight(t,e)}remove(t){return this.removeAt(this.indexOf(t))}removeAll(){const t=[];for(;this.length;){const e=this.pop();e&&t.push(e)}return t}removeAt(t){return this._collection.removeAt(t)}removeMany(t){const e=[];for(let o=0;o<t.length;o++){const i="function"==typeof t.getItemAt?t.getItemAt(o):t[o],n=this.indexOf(i);if(n>=0){const t=this.removeAt(n);t&&e.push(t)}}return e}reorder(t,e){return this._collection.reorder(t,e)}reverse(){return this._collection.reverse(),this}shift(){return this.removeAt(0)}slice(t,e){return this._collection.slice(t,e)}some(t){return this._collection.some(t)}sort(t){return this._collection.sort(t),this}splice(t,e,...o){const i=[];for(let o=e;o>0;o--){const e=this.removeAt(t);e&&i.push(e)}let n=t;return o.forEach((t=>{this.add(t,n),n++})),i}toArray(){return this._collection.toArray()}unshift(t){return this.add(t,0),this.length}set(t,e){throw new Error("set is not supported on CollectionProxy.")}get(t){throw new Error("get is not supported on CollectionProxy.")}watch(t,e,o){throw new Error("watch is not supported on CollectionProxy. Use watch from @vertigis/arcgis-extensions/support/observableUtils instead.")}addHandles(t,e){const o=Array.isArray(t)?t:[t],i=e??"default";this._handles.has(i)||this._handles.set(i,[]),this._handles.get(i).push(...o)}removeHandles(t){if(null==t)for(const t of this._handles.values())for(const e of t)e.remove();else{const e=this._handles.get(t);if(null!=e){for(const t of e)t.remove();this._handles.delete(t)}}}hasHandles(t){return null==t?this._handles.size>0:this._handles.has(t)}notifyChange(t){throw new Error("notifyChange is not supported on CollectionProxy.")}_get(t){const e=t.split(".");let o=this;for(;o&&"object"==typeof o&&e.length;)o=o[e.shift()];return e.length?void 0:o}_set(t,e){const o=t.split(".");let i=this;for(;i&&"object"==typeof i&&o.length>1;)i=i[o.shift()];return i&&"object"==typeof i&&(i[o[0]]=e),this}_addForwardingEvents(){null!=this._collectionField&&this.addHandles([this._collectionField.on("before-add",(t=>this.emit("before-add",t))),this._collectionField.on("before-changes",(t=>this.emit("before-changes",t))),this._collectionField.on("before-remove",(t=>this.emit("before-remove",t))),this._collectionField.on("change",(t=>this.emit("change",t))),this._collectionField.on("after-add",(t=>this.emit("after-add",t))),this._collectionField.on("after-changes",(t=>this.emit("after-changes",t))),this._collectionField.on("after-remove",(t=>this.emit("after-remove",t))),i(this,"length",(()=>n(this._collectionField,"length",(()=>e(this,"length")),{sync:!0})))],s)}}
1
+ import{Evented as t}from"@arcgis/core/core/Evented.js";import{notifyChange as e,observable as o,onWatch as i,watch as n}from"../support/observableUtils.js";import{_generateChangeEvent as r}from"./collection.js";const s="collection-proxy-collection-change-handles";export class CollectionProxy extends(o(t)){declaredClass="esri.core.Collection";_handles=new Map;get length(){return this._collection.length}get destroyed(){return this._destroyed}set destroyed(t){this._destroyed=t}get initialized(){return this._initialized}set initialized(t){this._initialized=t}get _collection(){if(void 0===this._collectionField)throw new Error("CollectionProxy requires a backing collection.");return this._collectionField}set _collection(t){if(this._collectionField===t)return;const o=this._collectionField;this.removeHandles(s);const i=r(o,t);if(null!=i){for(const t of i.added){const e={item:t,cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},target:this};this.emit("before-add",e)}for(const t of i.removed){const e={item:t,cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},target:this};this.emit("before-remove",e)}this.emit("before-changes",{cancellable:!1,defaultPrevented:!1,preventDefault:()=>{},item:void 0})}if(this._collectionField=t,this._addForwardingEvents(),null!=i){this.emit("change",i);for(const t of i.added)this.emit("after-add",{item:t});for(const t of i.removed)this.emit("after-remove",{item:t});this.emit("after-changes")}e(this,"length")}_destroyed=!1;_initialized=!0;_collectionField;constructor(t){super(),this._collectionField=t,this._addForwardingEvents()}*[Symbol.iterator](){for(const t of this._collection)yield t}add(t,e){return this._collection.add(t,e),this}addMany(t,e){if(!t)return this;if(arguments.length>1){let o=e;for(let e=0;e<t.length;e++)"function"==typeof t.getItemAt?this.add(t.getItemAt(e),o++):this.add(t[e],o++)}else for(let e=0;e<t.length;e++)"function"==typeof t.getItemAt?this.add(t.getItemAt(e)):this.add(t[e]);return this}clone(){const t=Object.create(Object.getPrototypeOf(this));return t._collection=this._collection,t}concat(t){return this._collection.concat(t)}destroyAll(){return this._collection.destroyAll()}destroyMany(t){return this._collection.destroyMany(t)}drain(t,e){this._collection.drain(t,e)}destroy(){this.removeHandles(),this._destroyed=!0,this._initialized=!1,this._collection.destroy()}every(t){return this._collection.every(t)}filter(t){return this._collection.filter(t)}find(t){return this._collection.find(t)}findIndex(t){return this._collection.findIndex(t)}flatten(t){return this._collection.flatten(t)}forEach(t){return this._collection.forEach(t)}at(t){return this.getItemAt(t)}getItemAt(t){return this._collection.getItemAt(t)}includes(t){return this._collection.includes(t)}indexOf(t,e){return this._collection.indexOf(t,e)}join(t){return this._collection.join(t)}lastIndexOf(t,e){return this._collection.lastIndexOf(t,e)}map(t){return this._collection.map(t)}pop(){return this.removeAt(this.length-1)}push(t){return this.add(t,this.length),this.length}reduce(t,e){return this._collection.reduce(t,e)}reduceRight(t,e){return this._collection.reduceRight(t,e)}remove(t){return this.removeAt(this.indexOf(t))}removeAll(){const t=[];for(;this.length;){const e=this.pop();e&&t.push(e)}return t}removeAt(t){return this._collection.removeAt(t)}removeMany(t){const e=[];for(let o=0;o<t.length;o++){const i="function"==typeof t.getItemAt?t.getItemAt(o):t[o],n=this.indexOf(i);if(n>=0){const t=this.removeAt(n);t&&e.push(t)}}return e}reorder(t,e){return this._collection.reorder(t,e)}reverse(){return this._collection.reverse(),this}shift(){return this.removeAt(0)}slice(t,e){return this._collection.slice(t,e)}some(t){return this._collection.some(t)}sort(t){return this._collection.sort(t),this}splice(t,e,...o){const i=[];for(let o=e;o>0;o--){const e=this.removeAt(t);e&&i.push(e)}let n=t;return o.forEach((t=>{this.add(t,n),n++})),i}toArray(){return this._collection.toArray()}unshift(t){return this.add(t,0),this.length}set(t,e){throw new Error("set is not supported on CollectionProxy.")}get(t){throw new Error("get is not supported on CollectionProxy.")}watch(t,e,o){throw new Error("watch is not supported on CollectionProxy. Use watch from @vertigis/arcgis-extensions/support/observableUtils instead.")}addHandles(t,e){const o=Array.isArray(t)?t:[t],i=e??"default";this._handles.has(i)||this._handles.set(i,[]),this._handles.get(i).push(...o)}removeHandles(t){if(null==t)for(const t of this._handles.values())for(const e of t)e.remove();else{const e=this._handles.get(t);if(null!=e){for(const t of e)t.remove();this._handles.delete(t)}}}hasHandles(t){return null==t?this._handles.size>0:this._handles.has(t)}notifyChange(t){throw new Error("notifyChange is not supported on CollectionProxy.")}_get(t){const e=t.split(".");let o=this;for(;o&&"object"==typeof o&&e.length;)o=o[e.shift()];return e.length?void 0:o}_set(t,e){const o=t.split(".");let i=this;for(;i&&"object"==typeof i&&o.length>1;)i=i[o.shift()];return i&&"object"==typeof i&&(i[o[0]]=e),this}_addForwardingEvents(){null!=this._collectionField&&this.addHandles([this._collectionField.on("before-add",(t=>this.emit("before-add",t))),this._collectionField.on("before-changes",(t=>this.emit("before-changes",t))),this._collectionField.on("before-remove",(t=>this.emit("before-remove",t))),this._collectionField.on("change",(t=>this.emit("change",t))),this._collectionField.on("after-add",(t=>this.emit("after-add",t))),this._collectionField.on("after-changes",(t=>this.emit("after-changes",t))),this._collectionField.on("after-remove",(t=>this.emit("after-remove",t))),i(this,"length",(()=>n(this._collectionField,"length",(()=>e(this,"length")),{sync:!0})))],s)}}
@@ -1 +1 @@
1
- import{onWatch as e,watch as t,notifyChange as i}from"../support/observableUtils.js";import{ReadOnlyCollection as a}from"./ReadOnlyCollection.js";export class MapTransformCollection extends a{get _collection(){return this._originalCollection.map(this._callback)}_callback;_originalCollection;constructor(a,s){super(),this._callback=s,this._originalCollection=a,a.on("change",(e=>{this.hasEventListener("change")&&this.emit("change",{added:e.added.map(this._callback),removed:e.removed.map(this._callback),moved:e.moved.map(this._callback),target:this})})),a.on("before-add",(e=>{this.hasEventListener("before-add")&&this.emit("before-add",{...e,item:this._callback(e.item),target:this})})),a.on("before-remove",(e=>{this.hasEventListener("before-remove")&&this.emit("before-remove",{...e,item:this._callback(e.item),target:this})})),a.on("before-changes",(e=>{this.hasEventListener("before-changes")&&this.emit("before-changes",{...e,target:this})})),a.on("after-add",(e=>{this.hasEventListener("after-add")&&this.emit("after-add",{...e,item:this._callback(e.item),target:this})})),a.on("after-remove",(e=>{this.hasEventListener("after-remove")&&this.emit("after-remove",{...e,item:this._callback(e.item),target:this})})),a.on("after-changes",(e=>{this.hasEventListener("after-changes")&&this.emit("after-changes",{...e,target:this})})),e(this,"length",(()=>t(this._originalCollection,"length",(()=>i(this,"length")),{sync:!0})))}}
1
+ import{onWatch as e,watch as t,notifyChange as i}from"../support/observableUtils.js";import{ReadOnlyCollection as a}from"./ReadOnlyCollection.js";export class MapTransformCollection extends a{get _collection(){return this._originalCollection.map(this._callback)}_callback;_originalCollection;constructor(a,s){super(),this._callback=s,this._originalCollection=a,a.on("change",(e=>{this.hasEventListener("change")&&this.emit("change",{added:e.added.map(this._callback),removed:e.removed.map(this._callback),moved:e.moved.map(this._callback)})})),a.on("before-add",(e=>{this.hasEventListener("before-add")&&this.emit("before-add",{...e,item:this._callback(e.item)})})),a.on("before-remove",(e=>{this.hasEventListener("before-remove")&&this.emit("before-remove",{...e,item:this._callback(e.item)})})),a.on("after-add",(e=>{this.hasEventListener("after-add")&&this.emit("after-add",{...e,item:this._callback(e.item)})})),a.on("after-remove",(e=>{this.hasEventListener("after-remove")&&this.emit("after-remove",{...e,item:this._callback(e.item)})})),a.on("after-changes",(e=>{this.hasEventListener("after-changes")&&this.emit("after-changes",{...e})})),e(this,"length",(()=>t(this._originalCollection,"length",(()=>i(this,"length")),{sync:!0})))}}
@@ -1,5 +1,4 @@
1
- import Evented from "@arcgis/core/core/Evented.js";
2
- import type { EventHandler } from "../support/esri.js";
1
+ import { Evented } from "@arcgis/core/core/Evented.js";
3
2
  import type { AfterItemChangeEvent } from "./collection.js";
4
3
  /**
5
4
  * Raised when items are added or removed from an {@link ObservableMap}.
@@ -18,11 +17,40 @@ export interface MapChangeEvent<K, V> {
18
17
  */
19
18
  target: ObservableMap<K, V>;
20
19
  }
20
+ /**
21
+ * Raised after an item is added or removed from an {@link ObservableMap}.
22
+ */
23
+ export interface MapAfterItemEvent<K, V> extends AfterItemChangeEvent<ObservableMap<K, V>, [K, V]> {
24
+ }
25
+ /**
26
+ * A type that maps event names to their corresponding event object types for an
27
+ * {@link ObservableMap}.
28
+ */
29
+ export interface MapEvents<K, V> {
30
+ /**
31
+ * Fires after an item has been Added or removed from the Map. From the
32
+ * Collection.
33
+ */
34
+ change: MapChangeEvent<K, V>;
35
+ /**
36
+ * Fires after an item has been added to the Map.
37
+ */
38
+ "after-add": MapAfterItemEvent<K, V>;
39
+ /**
40
+ * Fires after an item has been removed from the Map.
41
+ */
42
+ "after-remove": MapAfterItemEvent<K, V>;
43
+ }
21
44
  declare const ObservableMap_base: typeof Evented & (abstract new (...args: any[]) => import("../support/observableUtils.js").ObservableMixin);
22
45
  /**
23
46
  * A Map that supports observability.
24
47
  */
25
48
  export declare class ObservableMap<K, V> extends ObservableMap_base implements Map<K, V> {
49
+ /**
50
+ * @deprecated Do not directly reference this property. Use EventNames and
51
+ * EventTypes helpers from @arcgis/core/Evented.
52
+ */
53
+ "@eventTypes": MapEvents<K, V>;
26
54
  /**
27
55
  * Used by Object.toString().
28
56
  */
@@ -84,9 +112,5 @@ export declare class ObservableMap<K, V> extends ObservableMap_base implements M
84
112
  * Returns a serializable representation of the map.
85
113
  */
86
114
  toJSON(): unknown;
87
- on(name: "change", callback: (event: MapChangeEvent<K, V>) => void): IHandle;
88
- on(name: "after-add", callback: (event: AfterItemChangeEvent<ObservableMap<K, V>, [K, V]>) => void): IHandle;
89
- on(name: "after-remove", callback: (event: AfterItemChangeEvent<ObservableMap<K, V>, [K, V]>) => void): IHandle;
90
- on(name: string, callback: EventHandler): IHandle;
91
115
  }
92
116
  export {};
@@ -1 +1 @@
1
- import t from"@arcgis/core/core/Evented.js";import{notifyChange as e,observable as i}from"../support/observableUtils.js";import{toJSON as r}from"./object.js";export class ObservableMap extends(i(t)){[Symbol.toStringTag]="ObservableMap";get size(){return this._originalMap.size}_originalMap;constructor(){super(),this._originalMap=new Map}clear(){if(!this.size)return;const t=Array.from(this.entries());if(this._originalMap.clear(),e(this,"size"),this.hasEventListener("after-remove"))for(const[e,i]of t)this.emit("after-remove",{item:[e,i],target:this});this.emit("change",{added:[],removed:t,target:this})}delete(t){if(!this.has(t))return!1;const i=this.get(t);return this._originalMap.delete(t),e(this,"size"),this.emit("after-remove",{item:[t,i],target:this}),this.emit("change",{added:[],removed:[[t,i]],target:this}),!0}forEach(t,e){this._originalMap.forEach(t,e)}get(t){return this._originalMap.get(t)}has(t){return this._originalMap.has(t)}set(t,i){const r=!this.has(t),s=this.get(t);return this._originalMap.set(t,i),e(this,"size"),r||this.emit("after-remove",{item:[t,s],target:this}),this.emit("after-add",{item:[t,i],target:this}),this.emit("change",{added:[[t,i]],removed:r?[]:[[t,s]],target:this}),this}entries(){return this._originalMap.entries()}keys(){return this._originalMap.keys()}values(){return this._originalMap.values()}[Symbol.iterator](){return this._originalMap[Symbol.iterator]()}toJSON(){return r([...this])}on(t,e){return super.on(t,e)}}
1
+ import{Evented as t}from"@arcgis/core/core/Evented.js";import{notifyChange as e,observable as i}from"../support/observableUtils.js";import{toJSON as r}from"./object.js";export class ObservableMap extends(i(t)){[Symbol.toStringTag]="ObservableMap";get size(){return this._originalMap.size}_originalMap;constructor(){super(),this._originalMap=new Map}clear(){if(!this.size)return;const t=Array.from(this.entries());if(this._originalMap.clear(),e(this,"size"),this.hasEventListener("after-remove"))for(const[e,i]of t)this.emit("after-remove",{item:[e,i],target:this});this.emit("change",{added:[],removed:t,target:this})}delete(t){if(!this.has(t))return!1;const i=this.get(t);return this._originalMap.delete(t),e(this,"size"),this.emit("after-remove",{item:[t,i],target:this}),this.emit("change",{added:[],removed:[[t,i]],target:this}),!0}forEach(t,e){this._originalMap.forEach(t,e)}get(t){return this._originalMap.get(t)}has(t){return this._originalMap.has(t)}set(t,i){const r=!this.has(t),s=this.get(t);return this._originalMap.set(t,i),e(this,"size"),r||this.emit("after-remove",{item:[t,s],target:this}),this.emit("after-add",{item:[t,i],target:this}),this.emit("change",{added:[[t,i]],removed:r?[]:[[t,s]],target:this}),this}entries(){return this._originalMap.entries()}keys(){return this._originalMap.keys()}values(){return this._originalMap.values()}[Symbol.iterator](){return this._originalMap[Symbol.iterator]()}toJSON(){return r([...this])}}