@arcgis/core 6.0.0-next.4 → 6.0.0-next.6

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 (108) hide show
  1. package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
  2. package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
  3. package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
  4. package/arcade/geometry/unitConversion.js +1 -1
  5. package/arcgisGlobal.d.ts +5 -5
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
  8. package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
  9. package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → 250d3be6d3849d71fed8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/257910cca66dc5df465e.js +1 -0
  13. package/assets/esri/core/workers/chunks/27da9ece2afaeec39f59.js +1 -0
  14. package/assets/esri/core/workers/chunks/2c90f7a6432cd716db8b.js +1 -0
  15. package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
  16. package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
  17. package/assets/esri/core/workers/chunks/4d3f97a48046021713a6.js +1 -0
  18. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
  19. package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
  20. package/assets/esri/core/workers/chunks/56851011276de0b3e318.js +1 -0
  21. package/assets/esri/core/workers/chunks/56a24061589f4a968818.js +1 -0
  22. package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 6f358116f79021ff9687.js} +1 -1
  24. package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
  25. package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 85908e6e9c50749cee60.js} +1 -1
  26. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
  27. package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
  28. package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
  29. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
  30. package/assets/esri/core/workers/chunks/bfd85e8d54062a590f0e.js +1 -0
  31. package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +1 -0
  32. package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
  33. package/assets/esri/core/workers/chunks/f43a50d4bd9636e68ae5.js +1118 -0
  34. package/assets/esri/core/workers/chunks/f46a0d7cf588ba1b4157.js +1 -0
  35. package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
  36. package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
  37. package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
  38. package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
  39. package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
  40. package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
  41. package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
  42. package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
  43. package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
  44. package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
  45. package/{basemaps → basemapGallery}/types.d.ts +2 -2
  46. package/config.js +1 -1
  47. package/core/units.js +1 -1
  48. package/geometry/support/wkt.js +2 -0
  49. package/kernel.js +1 -1
  50. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  51. package/layers/graphics/transferFeatures.js +1 -1
  52. package/package.json +2 -2
  53. package/symbols/cim/cimAnalyzer.js +1 -1
  54. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +4 -4
  55. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +4 -4
  56. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  57. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  58. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
  59. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
  60. package/views/3d/layers/support/FeatureMemory.js +1 -1
  61. package/views/3d/layers/support/FeatureTile.js +1 -1
  62. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  63. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  64. package/views/3d/support/PBFDecoder.js +1 -1
  65. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
  66. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  67. package/views/SceneView.d.ts +4 -10
  68. package/views/View.d.ts +4 -12
  69. package/views/interactive/options/SnappingOptions.d.ts +28 -12
  70. package/views/interactive/options/TooltipOptions.d.ts +8 -1
  71. package/views/interactive/options/ValueOptions.d.ts +9 -2
  72. package/views/interactive/options/ViewOptions.d.ts +81 -6
  73. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
  74. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  75. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
  76. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
  77. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  78. package/widgets/BasemapGallery/types.d.ts +3 -3
  79. package/widgets/BatchAttributeForm.js +1 -1
  80. package/widgets/Editor/EditorViewModel.d.ts +13 -8
  81. package/widgets/Editor.d.ts +9 -9
  82. package/widgets/Sketch/SketchViewModel.d.ts +13 -8
  83. package/widgets/Sketch.d.ts +9 -9
  84. package/arcade/geometry/wkt.js +0 -2
  85. package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
  86. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
  87. package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
  88. package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
  89. package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
  90. package/assets/esri/core/workers/chunks/512628db534605a2a93e.js +0 -1742
  91. package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
  92. package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
  93. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
  94. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
  95. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  96. package/assets/esri/core/workers/chunks/71103472c45928bd730c.js +0 -1
  97. package/assets/esri/core/workers/chunks/73a87fb270818aa75fc5.js +0 -1
  98. package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
  99. package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
  100. package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
  101. package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
  102. package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
  103. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
  104. package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
  105. package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
  106. package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
  107. package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
  108. /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
@@ -14,7 +14,7 @@ import type { AbortOptions } from "../core/promiseUtils.js";
14
14
  import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
15
15
 
16
16
  /** @since 5.2 */
17
- export interface BasemapCollectionProperties extends LoadableMixinProperties, Partial<Pick<BasemapCollection, "view">> {
17
+ export interface BasemapGalleryModelProperties extends LoadableMixinProperties, Partial<Pick<BasemapGalleryModel, "view">> {
18
18
  /**
19
19
  * The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
20
20
  *
@@ -31,7 +31,7 @@ export interface BasemapCollectionProperties extends LoadableMixinProperties, Pa
31
31
  /**
32
32
  * The source for basemaps that the gallery will display.
33
33
  * This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
34
- * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/).
34
+ * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/).
35
35
  *
36
36
  * @since 5.2
37
37
  */
@@ -42,12 +42,12 @@ export interface BasemapCollectionProperties extends LoadableMixinProperties, Pa
42
42
  * Provides the logic for displaying and selecting a collection of basemaps.
43
43
  *
44
44
  * @since 5.2
45
- * @see [LocalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/LocalBasemapsSource/)
46
- * @see [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/)
45
+ * @see [LocalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/LocalBasemapsSource/)
46
+ * @see [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/)
47
47
  */
48
- export default class BasemapCollection extends Loadable {
48
+ export default class BasemapGalleryModel extends Loadable {
49
49
  /** @since 5.2 */
50
- constructor(properties?: BasemapCollectionProperties);
50
+ constructor(properties?: BasemapGalleryModelProperties);
51
51
  /**
52
52
  * The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
53
53
  *
@@ -93,7 +93,7 @@ export default class BasemapCollection extends Loadable {
93
93
  /**
94
94
  * The source for basemaps that the gallery will display.
95
95
  * This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
96
- * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/).
96
+ * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/).
97
97
  *
98
98
  * @since 5.2
99
99
  */
@@ -131,7 +131,7 @@ export default class BasemapCollection extends Loadable {
131
131
  /**
132
132
  * Loads the current basemap source.
133
133
  *
134
- * Unlike [load()](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#load), this method can be called again after the source changes.
134
+ * Unlike [load()](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#load), this method can be called again after the source changes.
135
135
  *
136
136
  * @param options - Options for aborting the load.
137
137
  * @returns A promise that resolves with this collection when the source has loaded.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"./LocalBasemapsSource.js";import n from"./PortalBasemapsSource.js";import{default3DCompatibility as r,default2DCompatibility as i}from"./support/basemapCompatibilityUtils.js";import a from"./support/BasemapItem.js";import o from"../core/Collection.js";import{Loadable as s,isLoadable as c}from"../core/Loadable.js";import{watch as l,on as u,when as d}from"../core/reactiveUtils.js";import{property as f,subclass as p}from"../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as m,isLoaded as h,load as g}from"../geometry/projectionUtils.js";import{equals as _}from"../geometry/support/spatialReferenceUtils.js";import{basemapEnsureType as v}from"../support/basemapEnsureType.js";import{contentEquals as y}from"../support/basemapUtils.js";import{isBasemapsSource as b}from"../support/userTypeGuards/isBasemapsSource.js";const x=o.ofType(a);function S(e){return e&&e.declaredClass===`esri.portal.Portal`}function C(e){return e&&!(e instanceof n)&&(!!e.portal||!!e.query)}let w=class extends s{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new x,this.view=null,this.source=new n}initialize(){let e=()=>this._recreateItems();this.addHandles([l(()=>[this.view,this.compatibilityFunction],()=>this._updateItems()),u(()=>this.source?.basemaps,`change`,e,{onListenerAdd:e}),d(()=>this.view,()=>{this.source instanceof n&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){let e=this.source.basemaps.indexOf(this.activeBasemap);this.source.basemaps.removeAt(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){let t=this.view;if(!t?.map)return;if(e=v(e),!e||!t.ready){t.map.basemap=e,this._clearOverride(`activeBasemap`);return}let n=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(n&&`spatialReferenceLocked`in t&&!t.spatialReferenceLocked){let r=t.spatialReference;if(n!=null&&!_(r,n)&&!m(t.spatialReference,n)&&!h()){this._override(`activeBasemap`,e),this._loadingProjectionEngine=!0,g().then(()=>{this._get(`activeBasemap`)===e&&(t.map.basemap=e,t.spatialReference=n,this._clearOverride(`activeBasemap`))},()=>{}).finally(()=>{this._loadingProjectionEngine=!1});return}t.map.basemap=e,this._clearOverride(`activeBasemap`),n!=null&&!_(t.spatialReference,n)&&(t.spatialReference=n)}else t.map.basemap=e,this._clearOverride(`activeBasemap`)}get activeBasemapIndex(){return this._findBasemapIndex(this.activeBasemap)}get compatibilityFunction(){return this.view?.type===`3d`?r:i}set compatibilityFunction(e){this._overrideIfSome(`compatibilityFunction`,e)}get source(){return this._get(`source`)}set source(e){(Array.isArray(e)||o.isCollection(e))&&(e=new t({basemaps:Array.isArray(e)?new o(e):e})),S(e)&&(e=new n({portal:e})),C(e)&&(e=new n(e)),b(e)||(e=null),this._set(`source`,e)}get loading(){return this.items.some(e=>e.state===`loading`)}get projectionEngineLoading(){return this._loadingProjectionEngine}basemapEquals(e,t){return y(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(c(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){let{items:t}=this,n=t.findIndex(t=>t.basemap===e);return n===-1?t.findIndex(t=>this.basemapEquals(t.basemap,e)):n}_recreateItems(){let e=this.source?.basemaps??[],{view:t,compatibilityFunction:n}=this,r=new Map(this.items.map(e=>[e.basemap,e])),i=e.map(e=>{let i=r.get(e);return i?(r.delete(e),i):new a({basemap:e,compatibilityFunction:n,view:t})});this.items.removeAll(),this.items.addMany(i),r.forEach(e=>e.destroy())}_updateItems(){for(let e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([f()],w.prototype,`_loadingProjectionEngine`,void 0),e([f()],w.prototype,`activeBasemap`,null),e([f({readOnly:!0})],w.prototype,`activeBasemapIndex`,null),e([f()],w.prototype,`compatibilityFunction`,null),e([f({readOnly:!0,type:x})],w.prototype,`items`,void 0),e([f()],w.prototype,`source`,null),e([f({readOnly:!0})],w.prototype,`loading`,null),e([f({readOnly:!0})],w.prototype,`projectionEngineLoading`,null),e([f()],w.prototype,`view`,void 0),w=e([p(`esri.basemaps.BasemapCollection`)],w);const T=w;export{T as default};
2
+ import{__decorate as e}from"tslib";import t from"./LocalBasemapsSource.js";import n from"./PortalBasemapsSource.js";import{default3DCompatibility as r,default2DCompatibility as i}from"./support/basemapCompatibilityUtils.js";import a from"./support/BasemapItem.js";import o from"../core/Collection.js";import{Loadable as s,isLoadable as c}from"../core/Loadable.js";import{watch as l,on as u,when as d}from"../core/reactiveUtils.js";import{property as f,subclass as p}from"../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as m,isLoaded as h,load as g}from"../geometry/projectionUtils.js";import{equals as _}from"../geometry/support/spatialReferenceUtils.js";import{basemapEnsureType as v}from"../support/basemapEnsureType.js";import{contentEquals as y}from"../support/basemapUtils.js";import{isBasemapsSource as b}from"../support/userTypeGuards/isBasemapsSource.js";const x=o.ofType(a);function S(e){return e&&e.declaredClass===`esri.portal.Portal`}function C(e){return e&&!(e instanceof n)&&(!!e.portal||!!e.query)}let w=class extends s{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new x,this.view=null,this.source=new n}initialize(){let e=()=>this._recreateItems();this.addHandles([l(()=>[this.view,this.compatibilityFunction],()=>this._updateItems()),u(()=>this.source?.basemaps,`change`,e,{onListenerAdd:e}),d(()=>this.view,()=>{this.source instanceof n&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){let e=this.source.basemaps.indexOf(this.activeBasemap);this.source.basemaps.removeAt(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){let t=this.view;if(!t?.map)return;if(e=v(e),!e||!t.ready){t.map.basemap=e,this._clearOverride(`activeBasemap`);return}let n=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(n&&`spatialReferenceLocked`in t&&!t.spatialReferenceLocked){let r=t.spatialReference;if(n!=null&&!_(r,n)&&!m(t.spatialReference,n)&&!h()){this._override(`activeBasemap`,e),this._loadingProjectionEngine=!0,g().then(()=>{this._get(`activeBasemap`)===e&&(t.map.basemap=e,t.spatialReference=n,this._clearOverride(`activeBasemap`))},()=>{}).finally(()=>{this._loadingProjectionEngine=!1});return}t.map.basemap=e,this._clearOverride(`activeBasemap`),n!=null&&!_(t.spatialReference,n)&&(t.spatialReference=n)}else t.map.basemap=e,this._clearOverride(`activeBasemap`)}get activeBasemapIndex(){return this._findBasemapIndex(this.activeBasemap)}get compatibilityFunction(){return this.view?.type===`3d`?r:i}set compatibilityFunction(e){this._overrideIfSome(`compatibilityFunction`,e)}get source(){return this._get(`source`)}set source(e){(Array.isArray(e)||o.isCollection(e))&&(e=new t({basemaps:Array.isArray(e)?new o(e):e})),S(e)&&(e=new n({portal:e})),C(e)&&(e=new n(e)),b(e)||(e=null),this._set(`source`,e)}get loading(){return this.items.some(e=>e.state===`loading`)}get projectionEngineLoading(){return this._loadingProjectionEngine}basemapEquals(e,t){return y(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(c(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){let{items:t}=this,n=t.findIndex(t=>t.basemap===e);return n===-1?t.findIndex(t=>this.basemapEquals(t.basemap,e)):n}_recreateItems(){let e=this.source?.basemaps??[],{view:t,compatibilityFunction:n}=this,r=new Map(this.items.map(e=>[e.basemap,e])),i=e.map(e=>{let i=r.get(e);return i?(r.delete(e),i):new a({basemap:e,compatibilityFunction:n,view:t})});this.items.removeAll(),this.items.addMany(i),r.forEach(e=>e.destroy())}_updateItems(){for(let e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([f()],w.prototype,`_loadingProjectionEngine`,void 0),e([f()],w.prototype,`activeBasemap`,null),e([f({readOnly:!0})],w.prototype,`activeBasemapIndex`,null),e([f()],w.prototype,`compatibilityFunction`,null),e([f({readOnly:!0,type:x})],w.prototype,`items`,void 0),e([f()],w.prototype,`source`,null),e([f({readOnly:!0})],w.prototype,`loading`,null),e([f({readOnly:!0})],w.prototype,`projectionEngineLoading`,null),e([f()],w.prototype,`view`,void 0),w=e([p(`esri.basemapGallery.BasemapGalleryModel`)],w);const T=w;export{T as default};
@@ -4,7 +4,7 @@ import type Collection from "../core/Collection.js";
4
4
  import type { BasemapsSourceState } from "./types.js";
5
5
 
6
6
  /**
7
- * Properties for constructing a [BasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapsSource/).
7
+ * Properties for constructing a [BasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapsSource/).
8
8
  *
9
9
  * @since 5.2
10
10
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Accessor.js";import{subclass as n}from"../core/accessorSupport/decorators.js";import{BasemapsSourceSymbol as r}from"../support/userTypeGuards/isBasemapsSource.js";var i;let a=class extends t{static{i=r}constructor(e){super(e),this[i]=!0}};a=e([n(`esri.basemaps.BasemapsSource`)],a);const o=a;export{o as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Accessor.js";import{subclass as n}from"../core/accessorSupport/decorators.js";import{BasemapsSourceSymbol as r}from"../support/userTypeGuards/isBasemapsSource.js";var i;let a=class extends t{static{i=r}constructor(e){super(e),this[i]=!0}};a=e([n(`esri.basemapGallery.BasemapsSource`)],a);const o=a;export{o as default};
@@ -17,10 +17,10 @@ export interface LocalBasemapsSourceProperties extends BasemapsSourceProperties
17
17
  }
18
18
 
19
19
  /**
20
- * A collection-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapCollection](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/).
20
+ * A collection-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapGalleryModel](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/).
21
21
  *
22
22
  * @since 5.2
23
- * @see [BasemapCollection.source](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#source)
23
+ * @see [BasemapGalleryModel.source](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#source)
24
24
  */
25
25
  export default class LocalBasemapsSource extends BasemapsSource {
26
26
  /** @since 5.2 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./BasemapsSource.js";import r from"../core/Collection.js";import{property as i,subclass as a}from"../core/accessorSupport/decorators.js";const o=r.ofType(t);let s=class extends n{constructor(e){super(e),this.basemaps=new o}destroy(){this.basemaps.forEach(e=>e.destroy())}get state(){return`ready`}refresh(){}};e([i({type:o})],s.prototype,`basemaps`,void 0),e([i({readOnly:!0})],s.prototype,`state`,null),s=e([a(`esri.basemaps.LocalBasemapsSource`)],s);const c=s;export{c as default};
2
+ import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./BasemapsSource.js";import r from"../core/Collection.js";import{property as i,subclass as a}from"../core/accessorSupport/decorators.js";const o=r.ofType(t);let s=class extends n{constructor(e){super(e),this.basemaps=new o}destroy(){this.basemaps.forEach(e=>e.destroy())}get state(){return`ready`}refresh(){}};e([i({type:o})],s.prototype,`basemaps`,void 0),e([i({readOnly:!0})],s.prototype,`state`,null),s=e([a(`esri.basemapGallery.LocalBasemapsSource`)],s);const c=s;export{c as default};
@@ -20,10 +20,10 @@ export interface PortalBasemapsSourceProperties extends LocalBasemapsSourcePrope
20
20
  }
21
21
 
22
22
  /**
23
- * A Portal-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapCollection](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/).
23
+ * A Portal-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapGalleryModel](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/).
24
24
  *
25
25
  * @since 5.2
26
- * @see [BasemapCollection.source](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#source)
26
+ * @see [BasemapGalleryModel.source](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#source)
27
27
  */
28
28
  export default class PortalBasemapsSource extends PortalBasemapsSourceSuperclass {
29
29
  /** @since 5.2 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./LocalBasemapsSource.js";import{createTask as r}from"../core/asyncUtils.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{LoadableMixin as o}from"../core/Loadable.js";import s from"../core/Logger.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{ignoreAbortErrors as l,throwIfAborted as u,isAbortError as d}from"../core/promiseUtils.js";import{watch as f,initial as p}from"../core/reactiveUtils.js";import{property as m,subclass as h}from"../core/accessorSupport/decorators.js";import g from"../portal/Portal.js";const _=i.ofType(t);let v=class extends o(c(n)){constructor(e){super(e),this._loadTask=null,this.basemaps=new _,this.filterFunction=null,this.portal=g.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.addHandles(f(()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback],()=>l(this.refresh()),p))}destroy(){this._loadTask?.abort(),this.filterFunction=null,this.portal=null,this.basemaps.forEach(e=>e.destroy())}get state(){return this.loadStatus===`not-loaded`?`not-loaded`:this.loadStatus===`loading`||this._loadTask&&!this._loadTask.finished?`loading`:`ready`}load(e){return this.addResolvingPromise(this.portal.load(e)),Promise.resolve(this)}async refresh(){if(this.loadStatus!==`loaded`)return;this._loadTask?.abort();let e=this.portal;return(this._loadTask=r(async t=>{try{let n=await e.fetchBasemaps(this._toQueryString(this.query),{signal:t,include3d:this.viewType===`3d`||void 0});u(t),await this._updateBasemaps(n,t)}catch(e){if(d(e))throw e;u(t),s.getLogger(this).warn(new a(`basemap-source:fetch-basemaps-error`,`Could not fetch basemaps from portal.`,{error:e})),await this._updateBasemaps([],t)}})).promise}_toQueryString(e){return!e||typeof e==`string`?e:Object.keys(e).map(t=>`${t}:${e[t]}`).join(` AND `)}async _updateBasemaps(e,t){let n=await this._filterBasemaps(e);u(t),this.updateBasemapsCallback&&(n=await this.updateBasemapsCallback(n),u(t)),this.basemaps.removeAll(),this.basemaps.addMany(n)}async _filterBasemaps(e){if(!this.filterFunction)return e;let t=e.map(this.filterFunction),n=await Promise.all(t);return e.filter((e,t)=>n[t])}};e([m()],v.prototype,`_loadTask`,void 0),e([m({readOnly:!0,type:_})],v.prototype,`basemaps`,void 0),e([m()],v.prototype,`filterFunction`,void 0),e([m({type:g})],v.prototype,`portal`,void 0),e([m()],v.prototype,`query`,void 0),e([m({readOnly:!0})],v.prototype,`state`,null),e([m()],v.prototype,`updateBasemapsCallback`,void 0),e([m()],v.prototype,`viewType`,void 0),v=e([h(`esri.basemaps.PortalBasemapsSource`)],v);const y=v;export{y as default};
2
+ import{__decorate as e}from"tslib";import t from"../Basemap.js";import n from"./LocalBasemapsSource.js";import{createTask as r}from"../core/asyncUtils.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{LoadableMixin as o}from"../core/Loadable.js";import s from"../core/Logger.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{ignoreAbortErrors as l,throwIfAborted as u,isAbortError as d}from"../core/promiseUtils.js";import{watch as f,initial as p}from"../core/reactiveUtils.js";import{property as m,subclass as h}from"../core/accessorSupport/decorators.js";import g from"../portal/Portal.js";const _=i.ofType(t);let v=class extends o(c(n)){constructor(e){super(e),this._loadTask=null,this.basemaps=new _,this.filterFunction=null,this.portal=g.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.addHandles(f(()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback],()=>l(this.refresh()),p))}destroy(){this._loadTask?.abort(),this.filterFunction=null,this.portal=null,this.basemaps.forEach(e=>e.destroy())}get state(){return this.loadStatus===`not-loaded`?`not-loaded`:this.loadStatus===`loading`||this._loadTask&&!this._loadTask.finished?`loading`:`ready`}load(e){return this.addResolvingPromise(this.portal.load(e)),Promise.resolve(this)}async refresh(){if(this.loadStatus!==`loaded`)return;this._loadTask?.abort();let e=this.portal;return(this._loadTask=r(async t=>{try{let n=await e.fetchBasemaps(this._toQueryString(this.query),{signal:t,include3d:this.viewType===`3d`||void 0});u(t),await this._updateBasemaps(n,t)}catch(e){if(d(e))throw e;u(t),s.getLogger(this).warn(new a(`basemap-source:fetch-basemaps-error`,`Could not fetch basemaps from portal.`,{error:e})),await this._updateBasemaps([],t)}})).promise}_toQueryString(e){return!e||typeof e==`string`?e:Object.keys(e).map(t=>`${t}:${e[t]}`).join(` AND `)}async _updateBasemaps(e,t){let n=await this._filterBasemaps(e);u(t),this.updateBasemapsCallback&&(n=await this.updateBasemapsCallback(n),u(t)),this.basemaps.removeAll(),this.basemaps.addMany(n)}async _filterBasemaps(e){if(!this.filterFunction)return e;let t=e.map(this.filterFunction),n=await Promise.all(t);return e.filter((e,t)=>n[t])}};e([m()],v.prototype,`_loadTask`,void 0),e([m({readOnly:!0,type:_})],v.prototype,`basemaps`,void 0),e([m()],v.prototype,`filterFunction`,void 0),e([m({type:g})],v.prototype,`portal`,void 0),e([m()],v.prototype,`query`,void 0),e([m({readOnly:!0})],v.prototype,`state`,null),e([m()],v.prototype,`updateBasemapsCallback`,void 0),e([m()],v.prototype,`viewType`,void 0),v=e([h(`esri.basemapGallery.PortalBasemapsSource`)],v);const y=v;export{y as default};
@@ -13,10 +13,10 @@ export interface BasemapItemProperties extends IdentifiableMixinProperties, Part
13
13
  export type BasemapItemState = "ready" | "loading" | "error";
14
14
 
15
15
  /**
16
- * Represents one of the basemaps in [BasemapCollection.items](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#items).
16
+ * Represents one of the basemaps in [BasemapGalleryModel.items](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#items).
17
17
  *
18
18
  * @since 5.2
19
- * @see [BasemapCollection.items](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#items)
19
+ * @see [BasemapGalleryModel.items](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/BasemapGalleryModel/#items)
20
20
  */
21
21
  export default class BasemapItem extends BasemapItemSuperclass {
22
22
  /** @since 5.2 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{createTask as n}from"../../core/asyncUtils.js";import{IdentifiableMixin as r}from"../../core/Identifiable.js";import{abortMaybe as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{watch as o,whenOnce as s}from"../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../core/accessorSupport/decorators.js";import{findSpatialReference as u}from"../../support/basemapUtils.js";let d=class extends r(t){constructor(e){super(e),this._refreshTask=null,this.compatibilityFunction=null,this.view=null}initialize(){this.addHandles(o(()=>[this.basemap?.loadStatus,this.compatibilityFunction,this.view&&`basemapTerrain`in this.view&&this.view.basemapTerrain?.tilingScheme,this.view?.ready,this.view?.spatialReference],()=>this.refresh())),this.refresh()}destroy(){this._refreshTask?.abort()}get _spatialReferenceTask(){return u(this.view,this.basemap)}set basemap(e){e?.load().catch(()=>{}),this._set(`basemap`,e)}get error(){if(!this.compatibilityFunction)return this.basemap?.loadStatus===`failed`?this.basemap.loadError:null;let e=this._refreshTask?.error;return a(e)?null:e}get spatialReference(){return this._spatialReferenceTask.spatialReference}get state(){let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return`loading`;if(!this.compatibilityFunction)return e===`loaded`?`ready`:`error`;let t=this._refreshTask;return!t?.finished||a(t.error)?`loading`:t.error?`error`:`ready`}refresh(){this._refreshTask=i(this._refreshTask);let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return;let t=this.compatibilityFunction;t&&(this._refreshTask=n(async e=>{await t(this,{signal:e}),await s(()=>!this._spatialReferenceTask.updating,e)}))}};e([c()],d.prototype,`_refreshTask`,void 0),e([c({readOnly:!0})],d.prototype,`_spatialReferenceTask`,null),e([c()],d.prototype,`basemap`,null),e([c()],d.prototype,`compatibilityFunction`,void 0),e([c({readOnly:!0})],d.prototype,`error`,null),e([c({readOnly:!0})],d.prototype,`spatialReference`,null),e([c({readOnly:!0})],d.prototype,`state`,null),e([c()],d.prototype,`view`,void 0),d=e([l(`esri.basemaps.support.BasemapItem`)],d);const f=d;export{f as default};
2
+ import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{createTask as n}from"../../core/asyncUtils.js";import{IdentifiableMixin as r}from"../../core/Identifiable.js";import{abortMaybe as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{watch as o,whenOnce as s}from"../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../core/accessorSupport/decorators.js";import{findSpatialReference as u}from"../../support/basemapUtils.js";let d=class extends r(t){constructor(e){super(e),this._refreshTask=null,this.compatibilityFunction=null,this.view=null}initialize(){this.addHandles(o(()=>[this.basemap?.loadStatus,this.compatibilityFunction,this.view&&`basemapTerrain`in this.view&&this.view.basemapTerrain?.tilingScheme,this.view?.ready,this.view?.spatialReference],()=>this.refresh())),this.refresh()}destroy(){this._refreshTask?.abort()}get _spatialReferenceTask(){return u(this.view,this.basemap)}set basemap(e){e?.load().catch(()=>{}),this._set(`basemap`,e)}get error(){if(!this.compatibilityFunction)return this.basemap?.loadStatus===`failed`?this.basemap.loadError:null;let e=this._refreshTask?.error;return a(e)?null:e}get spatialReference(){return this._spatialReferenceTask.spatialReference}get state(){let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return`loading`;if(!this.compatibilityFunction)return e===`loaded`?`ready`:`error`;let t=this._refreshTask;return!t?.finished||a(t.error)?`loading`:t.error?`error`:`ready`}refresh(){this._refreshTask=i(this._refreshTask);let e=this.basemap?.loadStatus;if(e!==`loaded`&&e!==`failed`)return;let t=this.compatibilityFunction;t&&(this._refreshTask=n(async e=>{await t(this,{signal:e}),await s(()=>!this._spatialReferenceTask.updating,e)}))}};e([c()],d.prototype,`_refreshTask`,void 0),e([c({readOnly:!0})],d.prototype,`_spatialReferenceTask`,null),e([c()],d.prototype,`basemap`,null),e([c()],d.prototype,`compatibilityFunction`,void 0),e([c({readOnly:!0})],d.prototype,`error`,null),e([c({readOnly:!0})],d.prototype,`spatialReference`,null),e([c({readOnly:!0})],d.prototype,`state`,null),e([c()],d.prototype,`view`,void 0),d=e([l(`esri.basemapGallery.support.BasemapItem`)],d);const f=d;export{f as default};
@@ -3,7 +3,7 @@ import type BasemapItem from "./support/BasemapItem.js";
3
3
  import type { AbortOptions } from "../core/promiseUtils.js";
4
4
 
5
5
  /**
6
- * This function is used by the [PortalBasemapsSource.filterFunction](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/#filterFunction) property to filter
6
+ * This function is used by the [PortalBasemapsSource.filterFunction](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/#filterFunction) property to filter
7
7
  * basemaps after they are fetched from the Portal.
8
8
  *
9
9
  * _Support for asynchronous filter functions was added at version 4.27._
@@ -17,7 +17,7 @@ import type { AbortOptions } from "../core/promiseUtils.js";
17
17
  export type BasemapFilter = (item: Basemap, index: number, array: Basemap[]) => boolean | Promise<boolean>;
18
18
 
19
19
  /**
20
- * This function is used by the [PortalBasemapsSource.updateBasemapsCallback](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/#updateBasemapsCallback) property for
20
+ * This function is used by the [PortalBasemapsSource.updateBasemapsCallback](https://developers.arcgis.com/javascript/latest/references/core/basemapGallery/PortalBasemapsSource/#updateBasemapsCallback) property for
21
21
  * updating basemaps after being fetched and filtered.
22
22
  *
23
23
  * _Support for asynchronous update functions was added at version 4.29._
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.3/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.5/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
package/core/units.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{strict as e}from"./jsonMap.js";import{isEarth as t,getReferenceEllipsoid as n}from"../geometry/ellipsoidUtils.js";import{earth as r,mars as i,moon as a}from"../geometry/support/Ellipsoid.js";import{isWKIDFromMars as ee,isWKIDFromMoon as o,isGeographic as s}from"../geometry/support/spatialReferenceUtils.js";import{vcsLookup as c}from"../geometry/support/vcsLookup.js";import te from"../geometry/support/WKIDUnitConversion.js";const ne=39.37,l=r.radius*Math.PI/200,u=/(?:LENGTH)?UNIT\[([^\]]+)]]$/i,d=te,f=/UNIT\[([^\]]+)]/i,p=new Set([4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104025,104026,104139,104140]),re=e()({millimeter:`millimeters`,centimeter:`centimeters`,meter:`meters`,meter_german:`german-meters`,kilometer:`kilometers`,decimeter:`decimeters`,micrometer:`micrometers`,nanometer:`nanometers`,"50_kilometers":`50-kilometers`,"150_kilometers":`150-kilometers`,foot:`feet`,foot_us:`us-feet`,foot_clarke:`clarke-feet`,fathom:`fathoms`,nautical_mile:`nautical-miles`,chain_us:`us-chains`,link_us:`us-links`,mile_us:`us-miles`,yard_clarke:`clarke-yards`,chain_clarke:`clarke-chains`,link_clarke:`clarke-links`,yard_sears:`sears-yards`,foot_sears:`sears-feet`,chain_sears:`sears-chains`,link_sears:`sears-links`,yard_benoit_1895_a:`benoit-1895-a-yards`,foot_benoit_1895_a:`benoit-1895-a-feet`,chain_benoit_1895_a:`benoit-1895-a-chains`,link_benoit_1895_a:`benoit-1895-a-links`,yard_benoit_1895_b:`benoit-1895-b-yards`,foot_benoit_1895_b:`benoit-1895-b-feet`,chain_benoit_1895_b:`benoit-1895-b-chains`,link_benoit_1895_b:`benoit-1895-b-links`,foot_1865:`1865-feet`,foot_indian:`indian-feet`,foot_indian_1937:`indian-1937-feet`,foot_indian_1962:`indian-1962-feet`,foot_indian_1975:`indian-1975-feet`,yard_indian:`indian-yards`,yard_indian_1937:`indian-1937-yards`,yard_indian_1962:`indian-1962-yards`,yard_indian_1975:`indian-1975-yards`,statute_mile:`statute-miles`,foot_gold_coast:`gold-coast-feet`,foot_british_1936:`british-1936-feet`,yard:`yards`,chain:`chains`,link:`links`,yard_sears_1922_truncated:`sears-1922-truncated-yards`,foot_sears_1922_truncated:`sears-1922-truncated-feet`,chain_sears_1922_truncated:`sears-1922-truncated-chains`,link_sears_1922_truncated:`sears-1922-truncated-links`,yard_us:`us-yards`,inch:`inches`,inch_us:`us-inches`,rod:`rods`,rod_us:`us-rods`,nautical_mile_us:`us-nautical-miles`,nautical_mile_uk:`uk-nautical-miles`,smoot:`smoots`,vara_tx:`tx-vara`,point:`points`}),ie={millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},meters:{inBaseUnits:1},feet:{inBaseUnits:.3048},"us-feet":{inBaseUnits:.3048006096012192},"clarke-feet":{inBaseUnits:.3047972654},fathoms:{inBaseUnits:1.8288},"nautical-miles":{inBaseUnits:1852},"german-meters":{inBaseUnits:1.0000135965},"us-chains":{inBaseUnits:20.11684023368047},"us-links":{inBaseUnits:.2011684023368047},"us-miles":{inBaseUnits:1609.347218694438},kilometers:{inBaseUnits:1e3},"clarke-yards":{inBaseUnits:.9143917962},"clarke-chains":{inBaseUnits:20.1166195164},"clarke-links":{inBaseUnits:.201166195164},"sears-yards":{inBaseUnits:.9143984146160287},"sears-feet":{inBaseUnits:.3047994715386762},"sears-chains":{inBaseUnits:20.11676512155263},"sears-links":{inBaseUnits:.2011676512155263},"benoit-1895-a-yards":{inBaseUnits:.9143992},"benoit-1895-a-feet":{inBaseUnits:.3047997333333333},"benoit-1895-a-chains":{inBaseUnits:20.1167824},"benoit-1895-a-links":{inBaseUnits:.201167824},"benoit-1895-b-yards":{inBaseUnits:.9143992042898124},"benoit-1895-b-feet":{inBaseUnits:.3047997347632708},"benoit-1895-b-chains":{inBaseUnits:20.11678249437587},"benoit-1895-b-links":{inBaseUnits:.2011678249437587},"1865-feet":{inBaseUnits:.3048008333333334},"indian-feet":{inBaseUnits:.3047995102481469},"indian-1937-feet":{inBaseUnits:.30479841},"indian-1962-feet":{inBaseUnits:.3047996},"indian-1975-feet":{inBaseUnits:.3047995},"indian-yards":{inBaseUnits:.9143985307444408},"indian-1937-yards":{inBaseUnits:.91439523},"indian-1962-yards":{inBaseUnits:.9143988},"indian-1975-yards":{inBaseUnits:.9143985},miles:{inBaseUnits:1609.344},"statute-miles":{inBaseUnits:1609.344},"gold-coast-feet":{inBaseUnits:.3047997101815088},"british-1936-feet":{inBaseUnits:.3048007491},yards:{inBaseUnits:.9144},chains:{inBaseUnits:20.1168},links:{inBaseUnits:.201168},"sears-1922-truncated-yards":{inBaseUnits:.914398},"sears-1922-truncated-feet":{inBaseUnits:.3047993333333334},"sears-1922-truncated-chains":{inBaseUnits:20.116756},"sears-1922-truncated-links":{inBaseUnits:.20116756},"us-yards":{inBaseUnits:.9144018288036576},decimeters:{inBaseUnits:.1},inches:{inBaseUnits:.0254},"us-inches":{inBaseUnits:.0254000508001016},rods:{inBaseUnits:5.0292},"us-rods":{inBaseUnits:5.029210058420118},"us-nautical-miles":{inBaseUnits:1853.248},"uk-nautical-miles":{inBaseUnits:1853.184},smoots:{inBaseUnits:1.7018},"tx-vara":{inBaseUnits:.8466683600033867},points:{inBaseUnits:.0003527777777777778},micrometers:{inBaseUnits:1e-6},nanometers:{inBaseUnits:1e-9},"50-kilometers":{inBaseUnits:5e4},"150-kilometers":{inBaseUnits:15e4}},m=e=>e*e,ae={"square-millimeters":{inBaseUnits:m(.001)},"square-centimeters":{inBaseUnits:m(.01)},"square-decimeters":{inBaseUnits:m(.1)},"square-meters":{inBaseUnits:1},"square-kilometers":{inBaseUnits:m(1e3)},"square-inches":{inBaseUnits:m(.0254)},"square-feet":{inBaseUnits:m(.3048)},"square-yards":{inBaseUnits:m(.9144)},"square-miles":{inBaseUnits:m(1609.344)},"square-nautical-miles":{inBaseUnits:m(1852)},"square-us-feet":{inBaseUnits:m(1200/3937)},acres:{inBaseUnits:.0015625*m(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}},h=e=>e*e*e,g={liters:{inBaseUnits:1},megaliters:{inBaseUnits:1e6},gigaliters:{inBaseUnits:1e9},"cubic-millimeters":{inBaseUnits:1e3*h(.001)},"cubic-centimeters":{inBaseUnits:1e3*h(.01)},"cubic-decimeters":{inBaseUnits:1e3*h(.1)},"cubic-meters":{inBaseUnits:1e3},"cubic-kilometers":{inBaseUnits:1e3*h(1e3)},"cubic-inches":{inBaseUnits:1e3*h(.0254)},"cubic-feet":{inBaseUnits:1e3*h(.3048)},"cubic-yards":{inBaseUnits:1e3*h(.9144)},"cubic-miles":{inBaseUnits:1e3*h(1609.344)},"cubic-us-feet":{inBaseUnits:1e3*h(1200/3937)}},_={length:{baseUnit:`meters`,units:ie},area:{baseUnit:`square-meters`,units:ae},volume:{baseUnit:`liters`,units:g},angle:{baseUnit:`radians`,units:{radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}}}},v=(()=>{let e={};for(let t in _)for(let n in _[t].units)e[n]=t;return e})();function y(e,t,n){return e*_[n].units[t].inBaseUnits}function b(e,t,n){return e/_[n].units[t].inBaseUnits}const x=[`inches`,`feet`,`yards`,`miles`,`nautical-miles`,`us-feet`,`millimeters`,`centimeters`,`decimeters`,`meters`,`kilometers`],oe=[`square-inches`,`square-feet`,`square-yards`,`square-miles`,`square-nautical-miles`,`square-us-feet`,`square-millimeters`,`square-centimeters`,`square-decimeters`,`square-meters`,`square-kilometers`,`acres`,`ares`,`hectares`],se=[`cubic-inches`,`cubic-feet`,`cubic-yards`,`cubic-miles`,`cubic-us-feet`,`liters`,`megaliters`,`gigaliters`,`cubic-millimeters`,`cubic-centimeters`,`cubic-decimeters`,`cubic-meters`,`cubic-kilometers`],S=[`metric`,`imperial`],ce=[...S,...oe],C=[...S,...x],le=[...S,...se],ue=new Map([[`meters`,`square-meters`],[`feet`,`square-feet`],[`us-feet`,`square-us-feet`]]);function de(e){return e===`imperial`||e===`metric`}function w(e){let t=v[e];if(!t)throw Error(`unknown type`);return t}function T(e){return _[e].baseUnit}function fe(e){return T(w(e))}function E(e,t=null){return t||=w(e),_[t].baseUnit===e}function D(e,t,n){if(t===n)return e;let r=w(t);if(r!==w(n))throw Error(`incompatible units`);let i=E(t,r)?e:y(e,t,r);return E(n,r)?i:b(i,n,r)}function pe(e,t,n,r=!1){if(!r&&s(t))throw Error(`Unable to convert from an angular unit to a linear unit.`);let i=X(t);return i!==n&&(i?e=D(e,i,n):(e*=K(t),e=D(e,`meters`,n))),e}function O(e,t,n,r=!1){if(!r&&s(n))throw Error(`Unable to convert from a linear unit to an angular unit.`);let i=X(n);return t!==i&&(e=i?D(e,t,i):D(e,t,`meters`)/K(n)),e}function k(e){switch(e){case`metric`:return`meters`;case`imperial`:return`feet`;default:return e}}function A(e){return k(e)}function j(e){switch(e){case`metric`:return`square-meters`;case`imperial`:return`square-feet`;default:return e}}function M(e){switch(e){case`metric`:return`cubic-meters`;case`imperial`:return`cubic-feet`;default:return e}}function N(e,t,n){switch(n){case`metric`:return F(e,t);case`imperial`:return L(e,t);default:return n}}function P(e,t,n){switch(n){case`metric`:return I(e,t);case`imperial`:return R(e,t);default:return n}}function F(e,t){let n=D(e,t,`meters`);return Math.abs(n)<3e3?`meters`:`kilometers`}function I(e,t){let n=D(e,t,`meters`);return Math.abs(n)<1e5?`meters`:`kilometers`}function L(e,t){let n=D(e,t,`feet`);return Math.abs(n)<1e3?`feet`:`miles`}function R(e,t){let n=D(e,t,`feet`);return Math.abs(n)<1e5?`feet`:`miles`}function z(e,t){let n=D(e,t,`square-meters`);return Math.abs(n)<3e6?`square-meters`:`square-kilometers`}function B(e,t){let n=D(e,t,`square-feet`);return Math.abs(n)<1e6?`square-feet`:`square-miles`}function me(e,t,n){switch(n){case`metric`:return z(e,t);case`imperial`:return B(e,t);default:return n}}function V(e,t){let n=D(e,t,`cubic-meters`);return Math.abs(n)<3e8?`cubic-meters`:`cubic-kilometers`}function H(e,t){let n=D(e,t,`cubic-feet`);return Math.abs(n)<1e8?`cubic-feet`:`cubic-miles`}function he(e,t,n){switch(n){case`metric`:return V(e,t);case`imperial`:return H(e,t);default:return n}}function ge(e,t,n){return D(e,t,`meters`)/(n*Math.PI/180)}function U(e){return re.fromJSON(e.toLowerCase())||null}function _e(e){let n=(e?.latestVcsWkid?c.get(e.latestVcsWkid):null)??(e?.vcsWkid?c.get(e.vcsWkid):null);return n?n.unit.conversionFactor:e!=null&&!t(e)?1:q(e,!1)??1}function W(e){let t=(e?.latestVcsWkid?c.get(e.latestVcsWkid):null)??(e?.vcsWkid?c.get(e.vcsWkid):null);return t?U(t.unit.name):G(e)}function G(e){return K(e)>=n(e).metersPerDegree?`meters`:X(e)}function K(e,t=r.metersPerDegree){return q(e,!0)??t}function q(e,t=!1){let n=e?.wkid??null,r=e?.wkt2??e?.wkt??null,s=null;if(n){if(ee(n))return i.metersPerDegree;if(o(n))return a.metersPerDegree;s=d.values[d[n]],!s&&t&&p.has(n)&&(s=l)}else r&&(Q(r)?s=J(u.exec(r),s):Z(r)&&(s=J(f.exec(r),s)));return s}function ve(e){return s(e)?1:K(e)}function J(e,t){return e?.[1]?Y(e[1]):t}function Y(e){return parseFloat(e.split(`,`)[1])}function X(e){let t=e?.wkid??null,n=e?.wkt2??e?.wkt??null,r=null;if(t)r=d.units[d[t]];else if(n){let e=Q(n)?u:Z(n)?f:null;if(e){let t=e.exec(n);t?.[1]&&(r=Se(t[1]))}}return r==null?null:U(r)}function ye(e){let t=X(e);return t==null||!C.includes(t)?null:t}function be(e){let t=W(e);return t==null||!C.includes(t)?null:t}function xe(e){let t=X(e);return t==null?null:ue.get(t)}function Z(e){return/^GEOCCS/i.test(e)}function Q(e){return/^\s*(?:PROJCS|PROJCRS|PROJECTEDCRS)/i.test(e)}function Se(e){let t=/[\\"']([^\\"']+)/.exec(e)?.[1];if(!t||!U(t)){let n=Y(e);t=null;let r=d.values;for(let e=0;e<r.length;++e)if(Math.abs(n-r[e])<1e-7){t=d.units[e];break}}return t}function Ce(e){let t=X(e);if(t==null)return null;switch(t){case`feet`:case`us-feet`:case`clarke-feet`:case`fathoms`:case`nautical-miles`:case`us-chains`:case`us-links`:case`us-miles`:case`clarke-yards`:case`clarke-chains`:case`clarke-links`:case`sears-yards`:case`sears-feet`:case`sears-chains`:case`sears-links`:case`benoit-1895-a-yards`:case`benoit-1895-a-feet`:case`benoit-1895-a-chains`:case`benoit-1895-a-links`:case`benoit-1895-b-yards`:case`benoit-1895-b-feet`:case`benoit-1895-b-chains`:case`benoit-1895-b-links`:case`1865-feet`:case`indian-feet`:case`indian-1937-feet`:case`indian-1962-feet`:case`indian-1975-feet`:case`indian-yards`:case`indian-1937-yards`:case`indian-1962-yards`:case`indian-1975-yards`:case`statute-miles`:case`gold-coast-feet`:case`british-1936-feet`:case`yards`:case`chains`:case`links`:case`sears-1922-truncated-yards`:case`sears-1922-truncated-feet`:case`sears-1922-truncated-chains`:case`sears-1922-truncated-links`:case`us-yards`:case`inches`:case`us-inches`:case`rods`:case`us-rods`:case`us-nautical-miles`:case`uk-nautical-miles`:case`smoots`:case`tx-vara`:case`points`:return`imperial`;case`millimeters`:case`centimeters`:case`meters`:case`german-meters`:case`kilometers`:case`decimeters`:case`micrometers`:case`nanometers`:case`50-kilometers`:case`150-kilometers`:return`metric`}return null}const $={esriAcres:`acres`,esriAres:`ares`,esriHectares:`hectares`,esriSquareCentimeters:`square-centimeters`,esriSquareDecimeters:`square-decimeters`,esriSquareFeet:`square-feet`,esriSquareInches:`square-inches`,esriSquareKilometers:`square-kilometers`,esriSquareMeters:`square-meters`,esriSquareMiles:`square-miles`,esriSquareMillimeters:`square-millimeters`,esriSquareUsFeet:`square-us-feet`,esriSquareYards:`square-yards`},we={esriCentimeters:`centimeters`,esriDecimeters:`decimeters`,esriFeet:`feet`,esriInches:`inches`,esriKilometers:`kilometers`,esriMeters:`meters`,esriMiles:`miles`,esriMillimeters:`millimeters`,esriNauticalMiles:`nautical-miles`,esriYards:`yards`},Te={esriDUDecimalDegrees:`degrees`,esriDURadians:`radians`},Ee=e()($),De=e()(we),Oe=e()(Te);function ke(e){switch(e){case`metric`:return`metric`;case`imperial`:return`imperial`;case`square-inches`:return`inches`;case`square-feet`:return`feet`;case`square-yards`:return`yards`;case`square-miles`:return`miles`;case`square-nautical-miles`:return`nautical-miles`;case`square-us-feet`:return`us-feet`;case`square-millimeters`:return`millimeters`;case`square-centimeters`:return`centimeters`;case`square-decimeters`:return`decimeters`;case`square-meters`:return`meters`;case`square-kilometers`:return`kilometers`;case`acres`:return`imperial`;case`ares`:case`hectares`:return`metric`}throw Error(`unhandled area unit`)}export{me as adaptiveAreaUnit,B as adaptiveImperialAreaUnit,L as adaptiveImperialLengthUnit,R as adaptiveImperialVerticalLengthUnit,H as adaptiveImperialVolumeUnit,N as adaptiveLengthUnit,z as adaptiveMetricAreaUnit,F as adaptiveMetricLengthUnit,I as adaptiveMetricVerticalLengthUnit,V as adaptiveMetricVolumeUnit,P as adaptiveVerticalLengthUnit,he as adaptiveVolumeUnit,Oe as angleUnitsJSONMap,xe as areaUnitFromSpatialReference,Ee as areaUnitsJSONMap,fe as baseUnitForUnit,T as baseUnitForUnitType,pe as convertFromSpatialReferenceUnit,O as convertToSpatialReferenceUnit,D as convertUnit,j as defaultAreaUnit,k as defaultLengthUnit,A as defaultVerticalLengthUnit,M as defaultVolumeUnit,ke as deriveLengthUnitFromAreaUnit,Ce as getDefaultUnitSystem,G as getDefaultVerticalUnitStringForSR,ve as getMetersPerCartesianUnitForSR,q as getMetersPerUnit,K as getMetersPerUnitForSR,_e as getMetersPerVerticalUnitForSR,X as getUnitString,W as getVerticalUnitStringForSR,p as gradGcsIds,ne as inchesPerMeter,E as isBaseUnit,de as isMeasurementSystem,Q as isProjectedWKT,ge as lengthToDegrees,ye as lengthUnitFromSpatialReference,x as lengthUnits,De as lengthUnitsJSONMap,ce as measurementAreaUnits,C as measurementLengthUnits,le as measurementVolumeUnits,U as unitFromRESTJSON,w as unitType,be as verticalLengthUnitFromSpatialReference};
2
+ import{strict as e}from"./jsonMap.js";import{isEarth as t,getReferenceEllipsoid as n}from"../geometry/ellipsoidUtils.js";import{earth as r,mars as i,moon as ee}from"../geometry/support/Ellipsoid.js";import{isWKIDFromMars as te,isWKIDFromMoon as a,isGeographic as o}from"../geometry/support/spatialReferenceUtils.js";import{vcsLookup as s}from"../geometry/support/vcsLookup.js";import c from"../geometry/support/WKIDUnitConversion.js";import{findSpatialReferenceUnitFromWkt as l}from"../geometry/support/wkt.js";const u=39.37,d=r.radius*Math.PI/200,f=c,p=new Set([4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104025,104026,104139,104140]),ne=e()({millimeter:`millimeters`,centimeter:`centimeters`,meter:`meters`,meter_german:`german-meters`,kilometer:`kilometers`,decimeter:`decimeters`,micrometer:`micrometers`,nanometer:`nanometers`,"50_kilometers":`50-kilometers`,"150_kilometers":`150-kilometers`,foot:`feet`,foot_us:`us-feet`,foot_clarke:`clarke-feet`,fathom:`fathoms`,nautical_mile:`nautical-miles`,chain_us:`us-chains`,link_us:`us-links`,mile_us:`us-miles`,yard_clarke:`clarke-yards`,chain_clarke:`clarke-chains`,link_clarke:`clarke-links`,yard_sears:`sears-yards`,foot_sears:`sears-feet`,chain_sears:`sears-chains`,link_sears:`sears-links`,yard_benoit_1895_a:`benoit-1895-a-yards`,foot_benoit_1895_a:`benoit-1895-a-feet`,chain_benoit_1895_a:`benoit-1895-a-chains`,link_benoit_1895_a:`benoit-1895-a-links`,yard_benoit_1895_b:`benoit-1895-b-yards`,foot_benoit_1895_b:`benoit-1895-b-feet`,chain_benoit_1895_b:`benoit-1895-b-chains`,link_benoit_1895_b:`benoit-1895-b-links`,foot_1865:`1865-feet`,foot_indian:`indian-feet`,foot_indian_1937:`indian-1937-feet`,foot_indian_1962:`indian-1962-feet`,foot_indian_1975:`indian-1975-feet`,yard_indian:`indian-yards`,yard_indian_1937:`indian-1937-yards`,yard_indian_1962:`indian-1962-yards`,yard_indian_1975:`indian-1975-yards`,statute_mile:`statute-miles`,foot_gold_coast:`gold-coast-feet`,foot_british_1936:`british-1936-feet`,yard:`yards`,chain:`chains`,link:`links`,yard_sears_1922_truncated:`sears-1922-truncated-yards`,foot_sears_1922_truncated:`sears-1922-truncated-feet`,chain_sears_1922_truncated:`sears-1922-truncated-chains`,link_sears_1922_truncated:`sears-1922-truncated-links`,yard_us:`us-yards`,inch:`inches`,inch_us:`us-inches`,rod:`rods`,rod_us:`us-rods`,nautical_mile_us:`us-nautical-miles`,nautical_mile_uk:`uk-nautical-miles`,smoot:`smoots`,vara_tx:`tx-vara`,point:`points`}),re={millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},meters:{inBaseUnits:1},feet:{inBaseUnits:.3048},"us-feet":{inBaseUnits:.3048006096012192},"clarke-feet":{inBaseUnits:.3047972654},fathoms:{inBaseUnits:1.8288},"nautical-miles":{inBaseUnits:1852},"german-meters":{inBaseUnits:1.0000135965},"us-chains":{inBaseUnits:20.11684023368047},"us-links":{inBaseUnits:.2011684023368047},"us-miles":{inBaseUnits:1609.347218694438},kilometers:{inBaseUnits:1e3},"clarke-yards":{inBaseUnits:.9143917962},"clarke-chains":{inBaseUnits:20.1166195164},"clarke-links":{inBaseUnits:.201166195164},"sears-yards":{inBaseUnits:.9143984146160287},"sears-feet":{inBaseUnits:.3047994715386762},"sears-chains":{inBaseUnits:20.11676512155263},"sears-links":{inBaseUnits:.2011676512155263},"benoit-1895-a-yards":{inBaseUnits:.9143992},"benoit-1895-a-feet":{inBaseUnits:.3047997333333333},"benoit-1895-a-chains":{inBaseUnits:20.1167824},"benoit-1895-a-links":{inBaseUnits:.201167824},"benoit-1895-b-yards":{inBaseUnits:.9143992042898124},"benoit-1895-b-feet":{inBaseUnits:.3047997347632708},"benoit-1895-b-chains":{inBaseUnits:20.11678249437587},"benoit-1895-b-links":{inBaseUnits:.2011678249437587},"1865-feet":{inBaseUnits:.3048008333333334},"indian-feet":{inBaseUnits:.3047995102481469},"indian-1937-feet":{inBaseUnits:.30479841},"indian-1962-feet":{inBaseUnits:.3047996},"indian-1975-feet":{inBaseUnits:.3047995},"indian-yards":{inBaseUnits:.9143985307444408},"indian-1937-yards":{inBaseUnits:.91439523},"indian-1962-yards":{inBaseUnits:.9143988},"indian-1975-yards":{inBaseUnits:.9143985},miles:{inBaseUnits:1609.344},"statute-miles":{inBaseUnits:1609.344},"gold-coast-feet":{inBaseUnits:.3047997101815088},"british-1936-feet":{inBaseUnits:.3048007491},yards:{inBaseUnits:.9144},chains:{inBaseUnits:20.1168},links:{inBaseUnits:.201168},"sears-1922-truncated-yards":{inBaseUnits:.914398},"sears-1922-truncated-feet":{inBaseUnits:.3047993333333334},"sears-1922-truncated-chains":{inBaseUnits:20.116756},"sears-1922-truncated-links":{inBaseUnits:.20116756},"us-yards":{inBaseUnits:.9144018288036576},decimeters:{inBaseUnits:.1},inches:{inBaseUnits:.0254},"us-inches":{inBaseUnits:.0254000508001016},rods:{inBaseUnits:5.0292},"us-rods":{inBaseUnits:5.029210058420118},"us-nautical-miles":{inBaseUnits:1853.248},"uk-nautical-miles":{inBaseUnits:1853.184},smoots:{inBaseUnits:1.7018},"tx-vara":{inBaseUnits:.8466683600033867},points:{inBaseUnits:.0003527777777777778},micrometers:{inBaseUnits:1e-6},nanometers:{inBaseUnits:1e-9},"50-kilometers":{inBaseUnits:5e4},"150-kilometers":{inBaseUnits:15e4}},m=e=>e*e,h={"square-millimeters":{inBaseUnits:m(.001)},"square-centimeters":{inBaseUnits:m(.01)},"square-decimeters":{inBaseUnits:m(.1)},"square-meters":{inBaseUnits:1},"square-kilometers":{inBaseUnits:m(1e3)},"square-inches":{inBaseUnits:m(.0254)},"square-feet":{inBaseUnits:m(.3048)},"square-yards":{inBaseUnits:m(.9144)},"square-miles":{inBaseUnits:m(1609.344)},"square-nautical-miles":{inBaseUnits:m(1852)},"square-us-feet":{inBaseUnits:m(1200/3937)},acres:{inBaseUnits:.0015625*m(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}},g=e=>e*e*e,_={liters:{inBaseUnits:1},megaliters:{inBaseUnits:1e6},gigaliters:{inBaseUnits:1e9},"cubic-millimeters":{inBaseUnits:1e3*g(.001)},"cubic-centimeters":{inBaseUnits:1e3*g(.01)},"cubic-decimeters":{inBaseUnits:1e3*g(.1)},"cubic-meters":{inBaseUnits:1e3},"cubic-kilometers":{inBaseUnits:1e3*g(1e3)},"cubic-inches":{inBaseUnits:1e3*g(.0254)},"cubic-feet":{inBaseUnits:1e3*g(.3048)},"cubic-yards":{inBaseUnits:1e3*g(.9144)},"cubic-miles":{inBaseUnits:1e3*g(1609.344)},"cubic-us-feet":{inBaseUnits:1e3*g(1200/3937)}},v={length:{baseUnit:`meters`,units:re},area:{baseUnit:`square-meters`,units:h},volume:{baseUnit:`liters`,units:_},angle:{baseUnit:`radians`,units:{radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}}}},y=(()=>{let e={};for(let t in v)for(let n in v[t].units)e[n]=t;return e})();function b(e,t,n){return e*v[n].units[t].inBaseUnits}function x(e,t,n){return e/v[n].units[t].inBaseUnits}const S=[`inches`,`feet`,`yards`,`miles`,`nautical-miles`,`us-feet`,`millimeters`,`centimeters`,`decimeters`,`meters`,`kilometers`],ie=[`square-inches`,`square-feet`,`square-yards`,`square-miles`,`square-nautical-miles`,`square-us-feet`,`square-millimeters`,`square-centimeters`,`square-decimeters`,`square-meters`,`square-kilometers`,`acres`,`ares`,`hectares`],ae=[`cubic-inches`,`cubic-feet`,`cubic-yards`,`cubic-miles`,`cubic-us-feet`,`liters`,`megaliters`,`gigaliters`,`cubic-millimeters`,`cubic-centimeters`,`cubic-decimeters`,`cubic-meters`,`cubic-kilometers`],C=[`metric`,`imperial`],oe=[...C,...ie],w=[...C,...S],se=[...C,...ae],ce=new Map([[`meters`,`square-meters`],[`feet`,`square-feet`],[`us-feet`,`square-us-feet`]]);function le(e){return e===`imperial`||e===`metric`}function T(e){let t=y[e];if(!t)throw Error(`unknown type`);return t}function E(e){return v[e].baseUnit}function D(e){return E(T(e))}function O(e,t=null){return t||=T(e),v[t].baseUnit===e}function k(e,t,n){if(t===n)return e;let r=T(t);if(r!==T(n))throw Error(`incompatible units`);let i=O(t,r)?e:b(e,t,r);return O(n,r)?i:x(i,n,r)}function A(e,t,n,r=!1){if(!r&&o(t))throw Error(`Unable to convert from an angular unit to a linear unit.`);let i=Q(t);return i!==n&&(i?e=k(e,i,n):(e*=X(t),e=k(e,`meters`,n))),e}function j(e,t,n,r=!1){if(!r&&o(n))throw Error(`Unable to convert from a linear unit to an angular unit.`);let i=Q(n);return t!==i&&(e=i?k(e,t,i):k(e,t,`meters`)/X(n)),e}function M(e){switch(e){case`metric`:return`meters`;case`imperial`:return`feet`;default:return e}}function N(e){return M(e)}function P(e){switch(e){case`metric`:return`square-meters`;case`imperial`:return`square-feet`;default:return e}}function F(e){switch(e){case`metric`:return`cubic-meters`;case`imperial`:return`cubic-feet`;default:return e}}function I(e,t,n){switch(n){case`metric`:return R(e,t);case`imperial`:return B(e,t);default:return n}}function L(e,t,n){switch(n){case`metric`:return z(e,t);case`imperial`:return V(e,t);default:return n}}function R(e,t){let n=k(e,t,`meters`);return Math.abs(n)<3e3?`meters`:`kilometers`}function z(e,t){let n=k(e,t,`meters`);return Math.abs(n)<1e5?`meters`:`kilometers`}function B(e,t){let n=k(e,t,`feet`);return Math.abs(n)<1e3?`feet`:`miles`}function V(e,t){let n=k(e,t,`feet`);return Math.abs(n)<1e5?`feet`:`miles`}function H(e,t){let n=k(e,t,`square-meters`);return Math.abs(n)<3e6?`square-meters`:`square-kilometers`}function U(e,t){let n=k(e,t,`square-feet`);return Math.abs(n)<1e6?`square-feet`:`square-miles`}function W(e,t,n){switch(n){case`metric`:return H(e,t);case`imperial`:return U(e,t);default:return n}}function G(e,t){let n=k(e,t,`cubic-meters`);return Math.abs(n)<3e8?`cubic-meters`:`cubic-kilometers`}function K(e,t){let n=k(e,t,`cubic-feet`);return Math.abs(n)<1e8?`cubic-feet`:`cubic-miles`}function ue(e,t,n){switch(n){case`metric`:return G(e,t);case`imperial`:return K(e,t);default:return n}}function de(e,t,n){return k(e,t,`meters`)/(n*Math.PI/180)}function q(e){return ne.fromJSON(e.toLowerCase())||null}function fe(e){let n=(e?.latestVcsWkid?s.get(e.latestVcsWkid):null)??(e?.vcsWkid?s.get(e.vcsWkid):null);return n?n.unit.conversionFactor:e!=null&&!t(e)?1:Z(e,!1)??1}function J(e){let t=(e?.latestVcsWkid?s.get(e.latestVcsWkid):null)??(e?.vcsWkid?s.get(e.vcsWkid):null);return t?q(t.unit.name):Y(e)}function Y(e){return X(e)>=n(e).metersPerDegree?`meters`:Q(e)}function X(e,t=r.metersPerDegree){return Z(e,!0)??t}function Z(e,t=!1){let n=e?.wkid;if(!n){let t=e?.wkt2??e?.wkt,n=t?l(t):null;return n?.type===`linear`?n.factor:null}return te(n)?i.metersPerDegree:a(n)?ee.metersPerDegree:f.values[f[n]]||(t&&p.has(n)?d:null)}function pe(e){return o(e)?1:X(e)}function Q(e){let t=e?.wkid??null,n=e?.wkt2??e?.wkt??null,r=null;if(t)r=f.units[f[t]];else if(n){let e=l(n);e?.type===`linear`&&(r=ve(e))}return r==null?null:q(r)}function me(e){let t=Q(e);return t==null||!w.includes(t)?null:t}function he(e){let t=J(e);return t==null||!w.includes(t)?null:t}function ge(e){let t=Q(e);return t==null?null:ce.get(t)}function _e(e){return/^\s*(?:PROJCS|PROJCRS|PROJECTEDCRS)/i.test(e)}function ve(e){let t=e.name;if(!t||!q(t)){let n=e.factor;t=null;let r=f.values;for(let e=0;e<r.length;++e)if(Math.abs(n-r[e])<1e-7){t=f.units[e];break}}return t}function ye(e){let t=Q(e);if(t==null)return null;switch(t){case`feet`:case`us-feet`:case`clarke-feet`:case`fathoms`:case`nautical-miles`:case`us-chains`:case`us-links`:case`us-miles`:case`clarke-yards`:case`clarke-chains`:case`clarke-links`:case`sears-yards`:case`sears-feet`:case`sears-chains`:case`sears-links`:case`benoit-1895-a-yards`:case`benoit-1895-a-feet`:case`benoit-1895-a-chains`:case`benoit-1895-a-links`:case`benoit-1895-b-yards`:case`benoit-1895-b-feet`:case`benoit-1895-b-chains`:case`benoit-1895-b-links`:case`1865-feet`:case`indian-feet`:case`indian-1937-feet`:case`indian-1962-feet`:case`indian-1975-feet`:case`indian-yards`:case`indian-1937-yards`:case`indian-1962-yards`:case`indian-1975-yards`:case`statute-miles`:case`gold-coast-feet`:case`british-1936-feet`:case`yards`:case`chains`:case`links`:case`sears-1922-truncated-yards`:case`sears-1922-truncated-feet`:case`sears-1922-truncated-chains`:case`sears-1922-truncated-links`:case`us-yards`:case`inches`:case`us-inches`:case`rods`:case`us-rods`:case`us-nautical-miles`:case`uk-nautical-miles`:case`smoots`:case`tx-vara`:case`points`:return`imperial`;case`millimeters`:case`centimeters`:case`meters`:case`german-meters`:case`kilometers`:case`decimeters`:case`micrometers`:case`nanometers`:case`50-kilometers`:case`150-kilometers`:return`metric`}return null}const be={esriAcres:`acres`,esriAres:`ares`,esriHectares:`hectares`,esriSquareCentimeters:`square-centimeters`,esriSquareDecimeters:`square-decimeters`,esriSquareFeet:`square-feet`,esriSquareInches:`square-inches`,esriSquareKilometers:`square-kilometers`,esriSquareMeters:`square-meters`,esriSquareMiles:`square-miles`,esriSquareMillimeters:`square-millimeters`,esriSquareUsFeet:`square-us-feet`,esriSquareYards:`square-yards`},$={esriCentimeters:`centimeters`,esriDecimeters:`decimeters`,esriFeet:`feet`,esriInches:`inches`,esriKilometers:`kilometers`,esriMeters:`meters`,esriMiles:`miles`,esriMillimeters:`millimeters`,esriNauticalMiles:`nautical-miles`,esriYards:`yards`},xe={esriDUDecimalDegrees:`degrees`,esriDURadians:`radians`},Se=e()(be),Ce=e()($),we=e()(xe);function Te(e){switch(e){case`metric`:return`metric`;case`imperial`:return`imperial`;case`square-inches`:return`inches`;case`square-feet`:return`feet`;case`square-yards`:return`yards`;case`square-miles`:return`miles`;case`square-nautical-miles`:return`nautical-miles`;case`square-us-feet`:return`us-feet`;case`square-millimeters`:return`millimeters`;case`square-centimeters`:return`centimeters`;case`square-decimeters`:return`decimeters`;case`square-meters`:return`meters`;case`square-kilometers`:return`kilometers`;case`acres`:return`imperial`;case`ares`:case`hectares`:return`metric`}throw Error(`unhandled area unit`)}export{W as adaptiveAreaUnit,U as adaptiveImperialAreaUnit,B as adaptiveImperialLengthUnit,V as adaptiveImperialVerticalLengthUnit,K as adaptiveImperialVolumeUnit,I as adaptiveLengthUnit,H as adaptiveMetricAreaUnit,R as adaptiveMetricLengthUnit,z as adaptiveMetricVerticalLengthUnit,G as adaptiveMetricVolumeUnit,L as adaptiveVerticalLengthUnit,ue as adaptiveVolumeUnit,we as angleUnitsJSONMap,ge as areaUnitFromSpatialReference,Se as areaUnitsJSONMap,D as baseUnitForUnit,E as baseUnitForUnitType,A as convertFromSpatialReferenceUnit,j as convertToSpatialReferenceUnit,k as convertUnit,P as defaultAreaUnit,M as defaultLengthUnit,N as defaultVerticalLengthUnit,F as defaultVolumeUnit,Te as deriveLengthUnitFromAreaUnit,ye as getDefaultUnitSystem,Y as getDefaultVerticalUnitStringForSR,pe as getMetersPerCartesianUnitForSR,Z as getMetersPerUnit,X as getMetersPerUnitForSR,fe as getMetersPerVerticalUnitForSR,Q as getUnitString,J as getVerticalUnitStringForSR,p as gradGcsIds,u as inchesPerMeter,O as isBaseUnit,le as isMeasurementSystem,_e as isProjectedWKT,de as lengthToDegrees,me as lengthUnitFromSpatialReference,S as lengthUnits,Ce as lengthUnitsJSONMap,oe as measurementAreaUnits,w as measurementLengthUnits,se as measurementVolumeUnits,q as unitFromRESTJSON,T as unitType,he as verticalLengthUnitFromSpatialReference};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ const e=[];function t(e){if(e.length===0)return`""`;if(e.startsWith(`"`))return e;if(e=e.trim(),e!==``){let t=Number(e);if(Number.isFinite(t))return String(t)}return`"`+e+`"`}function n(e){let n=``,r=``,i=!1,a=!1;for(let o=0;o<e.length;o++){let s=e[o];i?s===`"`?e[o+1]===`"`?(n+=`\\${s}`,o+=1):i=!1:n+=s:/\s/.test(s)||(s===`,`?(r+=a?t(n)+`,`:`,`,n=``,a=!1):s===`)`||s===`]`?(r+=a?t(n)+`]}`:`]}`,n=``,a=!1):s===`(`||s===`[`?(r+=`{ "entity": "`+n.toUpperCase().trim()+`", "values":[`,n=``,a=!1):s===`"`?(i=!0,n=``,a=!0):(n+=s,a=!0))}return JSON.parse(r)}function r(t){try{for(let n=0;n<e.length;n++)if(e[n].spatialReferenceWkt===t)return e[n].unit;let r=a(n(t));if(r===null)return null;let o=null;for(let e of r.values)if(typeof e==`object`&&(e.entity===`UNIT`||e.entity===`ANGLEUNIT`||e.entity===`LENGTHUNIT`)){o=e;break}if(o===null)return null;let s=i(r.entity===`GEOGCS`||r.entity===`GEOGCRS`||r.entity===`GEOGRAPHICCRS`?`angular`:`linear`,o.values[0],o.values[1],o.values[2]);return e.push({spatialReferenceWkt:t,unit:s}),e.length>10&&e.shift(),s}catch{return null}}function i(e,t,n,r){if(r!=null)try{if(r.values[0]===`EPSG`)return{type:e,name:t,wkid:Number.parseInt(r.values[1],10),factor:n}}catch{}return{type:e,name:t,factor:n}}function a(e){if(e===null)return null;switch(e.entity){case`GEOCCS`:case`GEOGCRS`:case`GEOGCS`:case`GEOGRAPHICCRS`:case`PROJCRS`:case`PROJCS`:case`PROJECTEDCRS`:return e}let t=[];for(let n of e.values)if(typeof n==`object`&&n.entity!==void 0)switch(n.entity){case`GEOCCS`:case`GEOGCRS`:case`GEOGCS`:case`GEOGRAPHICCRS`:case`PROJCRS`:case`PROJCS`:case`PROJECTEDCRS`:return n;default:t.push(n)}for(let e of t){let t=a(e);if(t!=null)return t}return null}export{r as findSpatialReferenceUnitFromWkt,n as parseWkt};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`6.0.0-next.3`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
2
+ import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`6.0.0-next.5`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../config.js";import n from"../../../request.js";import{isSome as r,remove as i}from"../../../core/arrayUtils.js";import a from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as o}from"../../../core/jsonMap.js";import{Loadable as s}from"../../../core/Loadable.js";import c from"../../../core/Logger.js";import{setDeepValue as l}from"../../../core/object.js";import{debounce as u,after as d,throwIfAbortError as f}from"../../../core/promiseUtils.js";import{watch as p}from"../../../core/reactiveUtils.js";import{join as m}from"../../../core/urlUtils.js";import{generateBracedUUID as h}from"../../../core/uuid.js";import{property as g,subclass as _}from"../../../core/accessorSupport/decorators.js";import v from"../../../geometry/Extent.js";import y from"../../../geometry/SpatialReference.js";import b from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import{isRelativeVertexSpace as x}from"../../../geometry/support/meshVertexSpaceUtils.js";import{isOriginalExternal as S}from"../../../geometry/support/meshUtils/External.js";import{createFeatureEditResult as C,getFeatureJSON as w,getFeatureIds as T,getAttachmentEditsJSON as E,isProtectedOrPrivateVersionError as D,unpackEditResultData as O,createEditedFeatures as k}from"../applyEditsUtils.js";import{createDrawingInfo as A}from"./support/clientSideDefaults.js";import j from"./support/QueryTask.js";import{isHostedAgolService as M}from"../../support/arcgisLayerUrl.js";import{ensureLayerCredential as N}from"../../support/featureLayerUtils.js";import{getAssetMapTable as P}from"../../support/infoFor3D.js";import{executeQueryJSON as F}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as I}from"../../../rest/query/operations/editsZScale.js";import L from"../../../rest/support/Query.js";import R from"../../../time/TimeExtent.js";import{isSafeToEditVersion as z,isVersionInEditSession as B,isHistoricVersion as V,currentSessionId as H}from"../../../versionManagement/support/versionManagementUtils.js";const U=new o({originalAndCurrentFeatures:`original-and-current-features`,none:`none`}),W=new o({Started:`published`,Publishing:`publishing`,Stopped:`unavailable`});let G=class extends s{constructor(e){super(e),this.type=`feature-layer`,this.supportedSourceTypes=new Set([`Feature Layer`,`Oriented Imagery Layer`,`Table`,`Catalog Layer`,`Annotation Layer`,`Dimension Layer`]),this.refresh=u(async()=>{await this.load();let e=this.sourceJSON.editingInfo?.lastEditDate;if(e==null)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}let t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(e){let t=this.layer.sourceJSON,n=this._fetchService(t,{...e}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,e)).then(()=>this._ensureLatestMetadata(e));return this.addResolvingPromise(n),Promise.resolve(this)}async reload(e){let t=this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0;await this._fetchService(null,{...e,cacheBust:t})}initialize(){this.addHandles([p(()=>{let e=this.layer;return e&&`lastEditsEventDate`in e?e.lastEditsEventDate:null},e=>this._handleLastEditsEventChange(e))])}destroy(){this._removeEditInterceptor()}get queryTask(){let{capabilities:e,parsedUrl:t,gdbVersion:n,spatialReference:r,fieldsIndex:i,uniqueIdFields:a}=this.layer,o=`infoFor3D`in this.layer?this.layer.infoFor3D:null,s=`dynamicDataSource`in this.layer?this.layer.dynamicDataSource:null,c=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF&&o==null,l=c&&e?.query.supportsFormatPBFWithCurves,u=e?.operations?.supportsQueryAttachments??!1,d=e?.query?.relativeTimeBinWindow??0,f=t.path;return new j({dynamicDataSource:s,fieldsIndex:i,gdbVersion:n,infoFor3D:o,pbfSupported:c,pbfSupportedWithCurves:l,queryAttachmentsSupported:u,relativeTimeBinWindow:d,sourceSpatialReference:r,uniqueIdFields:a,url:f})}async addAttachment(e,t,r){await this.load();let{layer:i}=this;await N(i,`editing`);let a=e.attributes[i.objectIdField],o=i.parsedUrl.path+`/`+a+`/addAttachment`,s=this._getLayerRequestOptions({query:r}),c=this._getFormDataForAttachment(t,s.query);try{let e=await n(o,{body:c});return C(e.data.addAttachmentResult)}catch(e){throw this._createAttachmentErrorResult(a,e)}}async updateAttachment(e,t,r,i){await this.load();let{layer:a}=this;await N(a,`editing`);let o=e.attributes[a.objectIdField],s=a.parsedUrl.path+`/`+o+`/updateAttachment`,c=this._getLayerRequestOptions({query:{attachmentId:t,...i}}),l=this._getFormDataForAttachment(r,c.query);try{let e=await n(s,{body:l});return C(e.data.updateAttachmentResult)}catch(e){throw this._createAttachmentErrorResult(o,e)}}async applyEdits(e,t){await this.load();let{layer:i}=this;await N(i,`editing`);let o=`infoFor3D`in i?i.infoFor3D:null,s=o!=null,c=s||(t?.globalIdUsed??!1),l=s?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,u=e.addFeatures?.map(e=>w(this.layer,e,o))??[],d=(await Promise.all(u)).filter(r),f=e.updateFeatures?.map(e=>w(this.layer,e,o))??[],p=(await Promise.all(f)).filter(r),m=T(this.layer,e.deleteFeatures,c);I(d,p,i.spatialReference);let h=await E(this.layer,e),g=i.capabilities.editing.supportsAsyncApplyEdits&&s,_=t?.gdbVersion||i.gdbVersion,v={gdbVersion:_,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:c,returnEditMoment:t?.returnEditMoment,trueCurveClient:t?.editsRespectTrueCurves,usePreviousEditMoment:t?.usePreviousEditMoment,async:g};await z(this.layer.url,_,!0);let y=B(this.layer.url,_||null);if(await V(i.url,_,i.historicMoment))throw new a(`feature-layer-source:historic-version`,`Editing a historic version is not allowed`);t?.returnServiceEditsOption?(v.edits=JSON.stringify([{id:i.layerId,adds:d.length?d:null,updates:p.length?p:null,deletes:m.length?m:null,attachments:h,assetMaps:l}]),v.returnServiceEditsOption=U.toJSON(t?.returnServiceEditsOption),v.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(v.adds=d.length?JSON.stringify(d):null,v.updates=p.length?JSON.stringify(p):null,v.deletes=m.length?c?JSON.stringify(m):m.join(`,`):null,v.attachments=h&&JSON.stringify(h),v.assetMaps=l==null?void 0:JSON.stringify(l));let b=this._getLayerRequestOptions({method:`post`,query:v});y&&(b.authMode=`immediate`,b.query.returnEditMoment=!0,b.query.sessionId=H);let x=t?.returnServiceEditsOption?i.url:i.parsedUrl.path,S;try{S=g?await this._asyncApplyEdits(x+`/applyEdits`,b):await n(x+`/applyEdits`,b)}catch(e){if(D(e))b.authMode=`immediate`,S=g?await this._asyncApplyEdits(x+`/applyEdits`,b):await n(x+`/applyEdits`,b);else throw e}return this._createEditsResult(S)}async deleteAttachments(e,t,r){await this.load();let{layer:i}=this;await N(i,`editing`);let a=e.attributes[i.objectIdField],o=i.parsedUrl.path+`/`+a+`/deleteAttachments`;try{return(await n(o,this._getLayerRequestOptions({query:{attachmentIds:t.join(`,`),...r},method:`post`}))).data.deleteAttachmentResults.map(C)}catch(e){throw this._createAttachmentErrorResult(a,e)}}fetchRecomputedExtents(e={}){let t=e.signal;return this.load({signal:t}).then(async()=>{let t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:r,url:i}=this.layer,{data:a}=await n(`${i}/${r}`,t),{id:o,extent:s,fullExtent:c,timeExtent:l}=a,u=s||c;return{id:o,fullExtent:u&&v.fromJSON(u),timeExtent:l&&R.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(e,t={}){await this.load();let n=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,n)}async queryFeatures(e,t){await this.load();let n=await this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)});if(e.outStatistics?.length&&n.features.length){let t=new Map;if(n.features.forEach(n=>{let r=n.attributes;e.outStatistics?.forEach(({outStatisticFieldName:e})=>{if(e){let n=e.toLowerCase();n&&n in r&&e!==n&&(r[e]=r[n],delete r[n],t.set(n,e))}})}),n.fields!=null)for(let e of n.fields){let n=t.get(e.name.toLowerCase());n!=null&&(e.name=n)}}return n}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryPivot(e,t){return await this.load(),this.queryTask.executePivotQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryAttributeBins(e,t){return await this.load(),this.queryTask.executeAttributeBinsQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!M(this.layer.url))return`unavailable`;let e=m(this.layer.url,`status`),t=await n(e,{query:{f:`json`}});return W.fromJSON(t.data.status)}async uploadAssets(e,t){let{uploadAssets:n}=await import(`./support/uploadAssets.js`);return n(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}_handleLastEditsEventChange(e){let t=this.layer;if(e==null||!(`capabilities`in t)||!(`effectiveCapabilities`in t)||t.capabilities?.operations?.supportsEditing||!t.effectiveCapabilities?.operations?.supportsEditing)return;let n=t.url;if(n==null)return;`layerId`in t&&(n=m(n,t.layerId.toString()));let r=this._getOrCreateEditInterceptor(n);r.before=t=>{let n=t.requestOptions.method??`auto`;if(n===`auto`||n===`head`){let n=t.requestOptions.query??{};n._ts=e.getTime(),t.requestOptions.query=n}}}_getOrCreateEditInterceptor(e){return this._editInterceptor??(this._editInterceptor={urls:e},t.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){this._editInterceptor!=null&&(i(t.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(e,t){let r=(await n(e,t)).data.statusUrl;for(;;){let e=(await n(r,{query:{f:`json`},responseType:`json`})).data;switch(e.status){case`Completed`:return n(e.resultUrl,{query:{f:`json`},responseType:`json`});case`CompletedWithErrors`:throw new a(`async-applyEdits-failed`,`asynchronous applyEdits call failed.`);case`Failed ImportChanges`:case`InProgress`:case`Pending`:case`ExportAttachments`:case`ExportChanges`:case`ExportingData`:case`ExportingSnapshot`:case`ImportAttachments`:case`ProvisioningReplica`:case`UnRegisteringReplica`:break;default:throw new a(`async-applyEdits-failed`,`asynchronous applyEdits call failed (undefined response status)`)}await d(K)}}_createRequestQueryOptions(e){let t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){let r={};has(`featurelayer-advanced-symbols`)&&(r.returnAdvancedSymbols=!0),t?.cacheBust&&(r._ts=Date.now());let{data:i}=await n(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:t?.signal}));e=i}this.layer.applyPreferredHost(e),this.sourceJSON=await this._patchServiceJSON(e,t?.signal);let r=e.type;if(!this.supportedSourceTypes.has(r))throw new a(`feature-layer-source:unsupported-type`,`Source type "${r}" is not supported`)}async _patchServiceJSON(e,t){if(e.type!==`Table`&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){let t=A(e.geometryType).renderer;l(`drawingInfo.renderer`,t,e)}if(e.geometryType===`esriGeometryMultiPatch`&&e.infoFor3D&&(e.geometryType=`mesh`),e.extent==null)try{let{data:r}=await n(this.layer.url,this._getLayerRequestOptions({signal:t}));r.spatialReference&&(e.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(e){f(e)}return e}async _ensureLatestMetadata(e){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...e,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(e){let{addAssetFeatures:t}=e;if(!t?.length||await this._areAllAssetsAlreadyMapped(t))return null;let n=e.addFeatures.filter(e=>e.geometry);if(t.length!==n.length+e.updateFeatures.length)throw new a(`feature-layer-source:unsupported-mesh-edits`,`Mixing attribute only edits with mesh geometry edits is not currently supported`);let r=[],i=new Map;for(let e of t){let{geometry:t}=e,{vertexSpace:n}=t;if(x(n))r.push(t);else{let n=t.origin,{convertMeshVertexSpace:a}=await import(`../../../geometry/support/meshUtils/convertMeshVertexSpace.js`),o=await a(t,new b({origin:[n.x,n.y,n.z??0]}));i.set(o,t),e.geometry=o,r.push(o)}}await this.uploadAssets(r);for(let[e,t]of i)t.addExternalSources(e.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(t),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){let t=[],n=this.layer.globalIdField,r=this.layer.parsedUrl;for(let i of e){let{metadata:e}=i.geometry,a=e.getExternalSourcesOnService(r),o=i.getAttribute(n);if(a.length===0){c.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}let{source:s}=a.find(S)??a[0];for(let e of s.assets)e.parts.length===1?t.push({globalId:h(),parentGlobalId:o,assetName:e.assetName,assetHash:e.parts[0].partHash,flags:[]}):c.getLogger(this).error(`Skipping asset ${e.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_createEditsResult(e){let t=e.data,{layerId:n}=this.layer,r=[],i=null;if(Array.isArray(t))for(let e of t)r.push({id:e.id,editedFeatures:e.editedFeatures}),e.id===n&&(i={addResults:e.addResults??[],updateResults:e.updateResults??[],deleteResults:e.deleteResults??[],attachments:e.attachments,editMoment:e.editMoment});else i=t;let a=O(i);if(r.length>0){a.editedFeatureResults=[];for(let e of r){let{editedFeatures:t}=e,n=t?.spatialReference?new y(t.spatialReference):null;a.editedFeatureResults.push({layerId:e.id,editedFeatures:k(t,n)})}}return a}_createAttachmentErrorResult(e,t){let n=t.details.messages?.[0]||t.message,r=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new a(`feature-layer-source:attachment-failure`,n,{code:r})}}_getFormDataForAttachment(e,t){let n=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(n)for(let e in t){let r=t[e];r!=null&&(n.set?n.set(e,r):n.append(e,r))}return n}_getLayerRequestOptions(e={}){let{layer:t,layer:{parsedUrl:n,gdbVersion:r}}=this;return{...e,query:{gdbVersion:r,layer:`dynamicDataSource`in t&&t.dynamicDataSource?JSON.stringify({source:t.dynamicDataSource}):void 0,...n.query,f:`json`,...this._createRequestQueryOptions(e)},responseType:`json`}}async _areAllAssetsAlreadyMapped(e){let{layer:t}=this,{globalIdField:n,parsedUrl:i}=t,a=`infoFor3D`in t?t.infoFor3D:null;if(a==null||n==null)return!1;let o=P(a);if(o==null)return!1;let s=m(i.path,`../${o.id}`),c=[];for(let t of e)if(t.geometry.metadata.getExternalSourcesOnService(i).length>0)c.push(t);else return!1;let l=c.map(e=>e.getAttribute(n)).filter(r);if(l.length===0)return!1;let{assetMapFieldRoles:{parentGlobalId:u,assetHash:d}}=a,f=new L({where:`${u} IN (${l.map(e=>`'${e}'`)})`,outFields:[d,u],returnGeometry:!1}),{features:p}=await F(s,f);return p.length!==0&&!c.some(e=>{let t=e.getAttribute(n);if(!t)return!0;let{metadata:r}=e.geometry,a=p.filter(e=>e.getAttribute(u)===t);if(a.length===0)return!0;let o=a.map(e=>e.getAttribute(d));return r.getExternalSourcesOnService(i).flatMap(({source:e})=>e.assets.flatMap(e=>e.parts.map(e=>e.partHash))).some(e=>o.every(t=>e!==t))})}};e([g()],G.prototype,`type`,void 0),e([g({constructOnly:!0})],G.prototype,`layer`,void 0),e([g({constructOnly:!0})],G.prototype,`supportedSourceTypes`,void 0),e([g({readOnly:!0})],G.prototype,`queryTask`,null),G=e([_(`esri.layers.graphics.sources.FeatureLayerSource`)],G);const K=1e3;export{G as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../config.js";import n from"../../../request.js";import{isSome as r,remove as i}from"../../../core/arrayUtils.js";import a from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as o}from"../../../core/jsonMap.js";import{Loadable as s}from"../../../core/Loadable.js";import c from"../../../core/Logger.js";import{setDeepValue as l}from"../../../core/object.js";import{debounce as u,after as d,throwIfAbortError as f}from"../../../core/promiseUtils.js";import{watch as p}from"../../../core/reactiveUtils.js";import{join as m}from"../../../core/urlUtils.js";import{generateBracedUUID as h}from"../../../core/uuid.js";import{property as g,subclass as _}from"../../../core/accessorSupport/decorators.js";import v from"../../../geometry/Extent.js";import y from"../../../geometry/SpatialReference.js";import b from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import{isRelativeVertexSpace as x}from"../../../geometry/support/meshVertexSpaceUtils.js";import{isOriginalExternal as S}from"../../../geometry/support/meshUtils/External.js";import{createFeatureEditResult as C,getFeatureJSON as w,getFeatureIds as T,getAttachmentEditsJSON as E,isProtectedOrPrivateVersionError as D,unpackEditResultData as O,createEditedFeatures as k}from"../applyEditsUtils.js";import{createDrawingInfo as A}from"./support/clientSideDefaults.js";import j from"./support/QueryTask.js";import{isHostedAgolService as M}from"../../support/arcgisLayerUrl.js";import{ensureLayerCredential as N}from"../../support/featureLayerUtils.js";import{getAssetMapTable as P}from"../../support/infoFor3D.js";import{executeQueryJSON as F}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as I}from"../../../rest/query/operations/editsZScale.js";import L from"../../../rest/support/Query.js";import R from"../../../time/TimeExtent.js";import{isSafeToEditVersion as z,isVersionInEditSession as B,isHistoricVersion as V,currentSessionId as H}from"../../../versionManagement/support/versionManagementUtils.js";const U=new o({originalAndCurrentFeatures:`original-and-current-features`,none:`none`}),W=new o({Started:`published`,Publishing:`publishing`,Stopped:`unavailable`});let G=class extends s{constructor(e){super(e),this.type=`feature-layer`,this.supportedSourceTypes=new Set([`Feature Layer`,`Oriented Imagery Layer`,`Table`,`Catalog Layer`,`Annotation Layer`,`Dimension Layer`]),this.refresh=u(async()=>{await this.load();let e=this.sourceJSON.editingInfo?.lastEditDate;if(e==null)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}let t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(e){let t=this.layer.sourceJSON,n=this._fetchService(t,{...e}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,e)).then(()=>this._ensureLatestMetadata(e));return this.addResolvingPromise(n),Promise.resolve(this)}async reload(e){let t=this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0;await this._fetchService(null,{...e,cacheBust:t})}initialize(){this.addHandles([p(()=>{let e=this.layer;return e&&`lastEditsEventDate`in e?e.lastEditsEventDate:null},e=>this._handleLastEditsEventChange(e))])}destroy(){this._removeEditInterceptor()}get queryTask(){let{capabilities:e,parsedUrl:t,gdbVersion:n,spatialReference:r,fieldsIndex:i,uniqueIdFields:a}=this.layer,o=`infoFor3D`in this.layer?this.layer.infoFor3D:null,s=`dynamicDataSource`in this.layer?this.layer.dynamicDataSource:null,c=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF&&o==null,l=c&&e?.query.supportsFormatPBFWithCurves,u=e?.operations?.supportsQueryAttachments??!1,d=e?.query?.relativeTimeBinWindow??0,f=t.path;return new j({dynamicDataSource:s,fieldsIndex:i,gdbVersion:n,infoFor3D:o,pbfSupported:c,pbfSupportedWithCurves:l,queryAttachmentsSupported:u,relativeTimeBinWindow:d,sourceSpatialReference:r,uniqueIdFields:a,url:f})}async addAttachment(e,t,r){await this.load();let{layer:i}=this;await N(i,`editing`);let a=e.attributes[i.objectIdField],o=i.parsedUrl.path+`/`+a+`/addAttachment`,s=this._getLayerRequestOptions({query:r}),c=this._getFormDataForAttachment(t,s.query);try{let e=await n(o,{body:c});return C(e.data.addAttachmentResult)}catch(e){throw this._createAttachmentErrorResult(a,e)}}async updateAttachment(e,t,r,i){await this.load();let{layer:a}=this;await N(a,`editing`);let o=e.attributes[a.objectIdField],s=a.parsedUrl.path+`/`+o+`/updateAttachment`,c=this._getLayerRequestOptions({query:{attachmentId:t,...i}}),l=this._getFormDataForAttachment(r,c.query);try{let e=await n(s,{body:l});return C(e.data.updateAttachmentResult)}catch(e){throw this._createAttachmentErrorResult(o,e)}}async applyEdits(e,t){await this.load();let{layer:i}=this;await N(i,`editing`);let o=`infoFor3D`in i?i.infoFor3D:null,s=o!=null,c=s||(t?.globalIdUsed??!1),l=s?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,u=e.addFeatures?.map(e=>w(this.layer,e,o))??[],d=(await Promise.all(u)).filter(r),f=e.updateFeatures?.map(e=>w(this.layer,e,o))??[],p=(await Promise.all(f)).filter(r),m=T(this.layer,e.deleteFeatures,c);I(d,p,i.spatialReference);let h=await E(this.layer,e),g=i.capabilities.editing.supportsAsyncApplyEdits&&s,_=t?.gdbVersion||i.gdbVersion,v={gdbVersion:_,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:c,returnEditMoment:t?.returnEditMoment,trueCurveClient:t?.editsRespectTrueCurves,usePreviousEditMoment:t?.usePreviousEditMoment,async:g};await z(this.layer.url,_,!0);let y=B(this.layer.url,_||null);if(await V(i.url,_,i.historicMoment))throw new a(`feature-layer-source:historic-version`,`Editing a historic version is not allowed`);t?.returnServiceEditsOption?(v.edits=JSON.stringify([{id:i.layerId,adds:d.length?d:null,updates:p.length?p:null,deletes:m.length?m:null,attachments:h,assetMaps:l}]),v.returnServiceEditsOption=U.toJSON(t?.returnServiceEditsOption),v.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(v.adds=d.length?JSON.stringify(d):null,v.updates=p.length?JSON.stringify(p):null,v.deletes=m.length?c?JSON.stringify(m):m.join(`,`):null,v.attachments=h&&JSON.stringify(h),v.assetMaps=l==null?void 0:JSON.stringify(l));let b=this._getLayerRequestOptions({method:`post`,query:v});y&&(b.authMode=`immediate`,b.query.returnEditMoment=!0,b.query.sessionId=H);let x=t?.returnServiceEditsOption?i.url:i.parsedUrl.path,S;try{S=g?await this._asyncApplyEdits(x+`/applyEdits`,b):await n(x+`/applyEdits`,b)}catch(e){if(D(e))b.authMode=`immediate`,S=g?await this._asyncApplyEdits(x+`/applyEdits`,b):await n(x+`/applyEdits`,b);else throw e}return this._createEditsResult(S)}async deleteAttachments(e,t,r){await this.load();let{layer:i}=this;await N(i,`editing`);let a=e.attributes[i.objectIdField],o=i.parsedUrl.path+`/`+a+`/deleteAttachments`;try{return(await n(o,this._getLayerRequestOptions({query:{attachmentIds:t.join(`,`),...r},method:`post`}))).data.deleteAttachmentResults.map(C)}catch(e){throw this._createAttachmentErrorResult(a,e)}}fetchRecomputedExtents(e={}){let t=e.signal;return this.load({signal:t}).then(async()=>{let t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:r,url:i}=this.layer,{data:a}=await n(`${i}/${r}`,t),{id:o,extent:s,fullExtent:c,timeExtent:l}=a,u=s||c;return{id:o,fullExtent:u&&v.fromJSON(u),timeExtent:l&&R.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(e,t={}){await this.load();let n=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,n)}async queryFeatures(e,t){await this.load();let n=await this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)});if(e.outStatistics?.length&&n.features.length){let t=new Map;if(n.features.forEach(n=>{let r=n.attributes;e.outStatistics?.forEach(({outStatisticFieldName:e})=>{if(e){let n=e.toLowerCase();n&&n in r&&e!==n&&(r[e]=r[n],delete r[n],t.set(n,e))}})}),n.fields!=null)for(let e of n.fields){let n=t.get(e.name.toLowerCase());n!=null&&(e.name=n)}}return n}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryPivot(e,t){return await this.load(),this.queryTask.executePivotQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryAttributeBins(e,t){return await this.load(),this.queryTask.executeAttributeBinsQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!M(this.layer.url))return`unavailable`;let e=m(this.layer.url,`status`),t=await n(e,{query:{f:`json`}});return W.fromJSON(t.data.status)}async uploadAssets(e,t){let{uploadAssets:n}=await import(`./support/uploadAssets.js`);return n(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}_handleLastEditsEventChange(e){let t=this.layer;if(e==null||!(`capabilities`in t)||!(`effectiveCapabilities`in t)||t.capabilities?.operations?.supportsEditing||!t.effectiveCapabilities?.operations?.supportsEditing)return;let n=t.url;if(n==null)return;`layerId`in t&&(n=m(n,t.layerId.toString()));let r=this._getOrCreateEditInterceptor(n);r.before=t=>{let n=t.requestOptions.method??`auto`;if(n===`auto`||n===`head`){let n=t.requestOptions.query??{};n._ts=e.getTime(),t.requestOptions.query=n}}}_getOrCreateEditInterceptor(e){return this._editInterceptor??(this._editInterceptor={urls:e},t.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){this._editInterceptor!=null&&(i(t.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(e,t){let r=(await n(e,t)).data.statusUrl;for(;;){let e=(await n(r,{query:{f:`json`},responseType:`json`})).data;switch(e.status){case`Completed`:return n(e.resultUrl,{query:{f:`json`},responseType:`json`});case`CompletedWithErrors`:throw new a(`async-applyEdits-failed`,`asynchronous applyEdits call failed.`);case`Failed ImportChanges`:case`InProgress`:case`Pending`:case`ExportAttachments`:case`ExportChanges`:case`ExportingData`:case`ExportingSnapshot`:case`ImportAttachments`:case`ProvisioningReplica`:case`UnRegisteringReplica`:break;default:throw new a(`async-applyEdits-failed`,`asynchronous applyEdits call failed (undefined response status)`)}await d(K)}}_createRequestQueryOptions(e){let t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){let r={};has(`featurelayer-advanced-symbols`)&&(r.returnAdvancedSymbols=!0),t?.cacheBust&&(r._ts=Date.now());let{data:i}=await n(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:t?.signal}));e=i}this.layer.applyPreferredHost(e),this.sourceJSON=await this._patchServiceJSON(e,t?.signal);let r=e.type;if(!this.supportedSourceTypes.has(r))throw new a(`feature-layer-source:unsupported-type`,`Source type "${r}" is not supported`)}async _patchServiceJSON(e,t){if(e.type!==`Table`&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){let t=A(e.geometryType).renderer;l(`drawingInfo.renderer`,t,e)}if(e.geometryType===`esriGeometryMultiPatch`&&e.infoFor3D&&(e.geometryType=`mesh`),e.extent==null)try{let{data:r}=await n(this.layer.url,this._getLayerRequestOptions({signal:t}));r.spatialReference&&(e.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(e){f(e)}return e}async _ensureLatestMetadata(e){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...e,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(e){let{addAssetFeatures:t}=e;if(!t?.length||await this._areAllAssetsAlreadyMapped(t))return null;let n=e.addFeatures.filter(e=>e.geometry);if(t.length!==n.length+e.updateFeatures.length)throw new a(`feature-layer-source:unsupported-mesh-edits`,`Mixing attribute only edits with mesh geometry edits is not currently supported`);let r=[],i=new Map;for(let e of t){let{geometry:t}=e,{vertexSpace:n}=t;if(x(n))r.push(t);else{let n=t.origin,{convertMeshVertexSpace:a}=await import(`../../../geometry/support/meshUtils/convertMeshVertexSpace.js`),o=await a(t,new b({origin:[n.x,n.y,n.z??0]}));i.set(o,t),e.geometry=o,r.push(o)}}await this.uploadAssets(r);for(let[e,t]of i)t.addExternalSources(e.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(t),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){let t=[],n=this.layer.globalIdField,r=this.layer.parsedUrl;for(let i of e){let{metadata:e}=i.geometry,a=e.getExternalSourcesOnService(r),o=i.getAttribute(n);if(a.length===0){c.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}let{source:s}=a.find(S)??a[0];for(let e of s.assets)e.parts.length===1?t.push({globalId:h(),parentGlobalId:o,assetName:e.assetName,assetHash:e.parts[0].partHash,flags:[]}):c.getLogger(this).error(`Skipping asset ${e.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_createEditsResult(e){let t=e.data,{layerId:n}=this.layer,r=[],i=null;if(Array.isArray(t))for(let e of t)e.editedFeatures!=null&&r.push({id:e.id,editedFeatures:e.editedFeatures}),e.id===n&&(i={addResults:e.addResults??[],updateResults:e.updateResults??[],deleteResults:e.deleteResults??[],attachments:e.attachments,editMoment:e.editMoment});else i=t;let a=O(i);if(r.length>0){a.editedFeatureResults=[];for(let e of r){let{editedFeatures:t}=e,n=t?.spatialReference?new y(t.spatialReference):null;a.editedFeatureResults.push({layerId:e.id,editedFeatures:k(t,n)})}}return a}_createAttachmentErrorResult(e,t){let n=t.details.messages?.[0]||t.message,r=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new a(`feature-layer-source:attachment-failure`,n,{code:r})}}_getFormDataForAttachment(e,t){let n=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(n)for(let e in t){let r=t[e];r!=null&&(n.set?n.set(e,r):n.append(e,r))}return n}_getLayerRequestOptions(e={}){let{layer:t,layer:{parsedUrl:n,gdbVersion:r}}=this;return{...e,query:{gdbVersion:r,layer:`dynamicDataSource`in t&&t.dynamicDataSource?JSON.stringify({source:t.dynamicDataSource}):void 0,...n.query,f:`json`,...this._createRequestQueryOptions(e)},responseType:`json`}}async _areAllAssetsAlreadyMapped(e){let{layer:t}=this,{globalIdField:n,parsedUrl:i}=t,a=`infoFor3D`in t?t.infoFor3D:null;if(a==null||n==null)return!1;let o=P(a);if(o==null)return!1;let s=m(i.path,`../${o.id}`),c=[];for(let t of e)if(t.geometry.metadata.getExternalSourcesOnService(i).length>0)c.push(t);else return!1;let l=c.map(e=>e.getAttribute(n)).filter(r);if(l.length===0)return!1;let{assetMapFieldRoles:{parentGlobalId:u,assetHash:d}}=a,f=new L({where:`${u} IN (${l.map(e=>`'${e}'`)})`,outFields:[d,u],returnGeometry:!1}),{features:p}=await F(s,f);return p.length!==0&&!c.some(e=>{let t=e.getAttribute(n);if(!t)return!0;let{metadata:r}=e.geometry,a=p.filter(e=>e.getAttribute(u)===t);if(a.length===0)return!0;let o=a.map(e=>e.getAttribute(d));return r.getExternalSourcesOnService(i).flatMap(({source:e})=>e.assets.flatMap(e=>e.parts.map(e=>e.partHash))).some(e=>o.every(t=>e!==t))})}};e([g()],G.prototype,`type`,void 0),e([g({constructOnly:!0})],G.prototype,`layer`,void 0),e([g({constructOnly:!0})],G.prototype,`supportedSourceTypes`,void 0),e([g({readOnly:!0})],G.prototype,`queryTask`,null),G=e([_(`esri.layers.graphics.sources.FeatureLayerSource`)],G);const K=1e3;export{G as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- function e(e,t,n){if(!e||e.type===`extent`||e.type===`mesh`)return e;if(e.type===`point`)return e.spatialReference=n,e;let{coords:r,lengths:i}=t,{hasZ:a,hasM:o}=e,s=2+Number(!!a)+Number(!!o),c=e.type===`multipoint`?[r.length/s]:i,l=[],u=0;if(s===2)for(let e of c){let t=[];for(let n=0;n<e;n++,u+=2)t.push([r[u],r[u+1]]);l.push(t)}else if(s===3)for(let e of c){let t=[];for(let n=0;n<e;n++,u+=3)t.push([r[u],r[u+1],r[u+2]]);l.push(t)}else for(let e of c){let t=[];for(let n=0;n<e;n++,u+=4)t.push([r[u],r[u+1],r[u+2],r[u+3]]);l.push(t)}return e.spatialReference=n,e.type===`multipoint`?e.points=l[0]:e.type===`polygon`?e.rings=l:e.paths=l,e}export{e as toDehydratedGeometry};
2
+ import{isPlainObject as e}from"../../core/lang.js";function t(e,t){if(c(e))return r(e,a,l(e),t)}function n(e,t,n){if(c(e)&&t)return r(t,e.type===`multipoint`?s:o,l(e),n)}function r(e,t,n,r){let i=t.vertexCount(e,n);if(i<1024)return;let a=t.partCount(e),o=`${r},${i},${a}`,s=Math.min(a,3),c=0,l=0;for(let r=0;r<s;++r){let i=s===1?0:Math.floor(r*(a-1)/(s-1));for(;c<i;)l+=t.partLength(e,c++,n)*n;let u=t.partLength(e,c,n);if(o+=`,${u}`,u>0)for(let r=0;r<3;++r){let i=r===0?0:r===1?Math.floor(u/2):Math.max(0,u-2);for(let r=0;r<n;++r){let a=t.coordinate(e,c,i,r,l,n);o+=`,${a.toFixed(5)}`}}}return o}function i(e,t,n){if(!e||!c(n)||!t)return!1;let{coords:r}=t,i=2+Number(!!e.hasZ)+Number(!!e.hasM),a=e.type===`multipoint`?s:o,l=u(n);if(a.partCount(t)!==l)return!1;let f=0;for(let e=0;e<l;++e){let o=d(n,e);if(a.partLength(t,e,i)!==o.length)return!1;for(let e of o)for(let t=0;t<i;++t)if(r[f++]!==e[t])return!1}return!0}const a={partCount:u,vertexCount(e){let t=0,n=u(e);for(let r=0;r<n;++r)t+=d(e,r).length;return t},partLength:(e,t)=>d(e,t).length,coordinate:(e,t,n,r)=>d(e,t)[n][r]},o={partCount:e=>e.lengths.length,vertexCount:(e,t)=>e.coords.length/t,partLength:(e,t)=>e.lengths[t],coordinate:(e,t,n,r,i,a)=>e.coords[i+n*a+r]},s={...o,partCount:()=>1,partLength:(e,t,n)=>e.coords.length/n};function c(t){return!!t&&e(t)&&(t.type===`polygon`||t.type===`polyline`||t.type===`multipoint`)&&!(t.type===`polygon`&&t.curveRings?.length)&&!(t.type===`polyline`&&t.curvePaths?.length)}function l(e){return 2+Number(!!e.hasZ)+Number(!!e.hasM)}function u(e){return e.type===`multipoint`?1:e.type===`polygon`?e.rings.length:e.paths.length}function d(e,t){return e.type===`multipoint`?e.points:e.type===`polygon`?e.rings[t]:e.paths[t]}function f(e,t,n){p(e.geometry,t,n)}function p(e,t,n){if(!e||(e.spatialReference=n,e.type===`extent`||e.type===`mesh`||e.type===`point`||!t))return;let{coords:r,lengths:i}=t,a=l(e),o=e.type===`multipoint`?[r.length/a]:i,s=[],c=0;if(a===2)for(let e of o){let t=[];for(let n=0;n<e;n++,c+=2)t.push([r[c],r[c+1]]);s.push(t)}else if(a===3)for(let e of o){let t=[];for(let n=0;n<e;n++,c+=3)t.push([r[c],r[c+1],r[c+2]]);s.push(t)}else for(let e of o){let t=[];for(let n=0;n<e;n++,c+=4)t.push([r[c],r[c+1],r[c+2],r[c+3]]);s.push(t)}e.type===`multipoint`?e.points=s[0]:e.type===`polygon`?e.rings=s:e.paths=s}export{f as completeDehydratedFeatureFromTransfer,p as completeDehydratedGeometryFromTransfer,t as geometryKey,i as identicalTransferGeometry,n as transferGeometryKey};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "6.0.0-next.4",
3
+ "version": "6.0.0-next.6",
4
4
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -20,7 +20,7 @@
20
20
  "license": "SEE LICENSE IN LICENSE.md",
21
21
  "dependencies": {
22
22
  "@amcharts/amcharts5": "~5.21.0",
23
- "@arcgis/toolkit": "6.0.0-next.4",
23
+ "@arcgis/toolkit": "6.0.0-next.6",
24
24
  "@esri/arcgis-html-sanitizer": "~4.2.0-next.2",
25
25
  "@esri/calcite-components": "^5.2.0-next.89",
26
26
  "@vaadin/grid": "~25.3.2",