@arcgis/core 4.32.0-next.20241219 → 4.32.0-next.20241220
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.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{0da2aaca3f0b4fe910e3.js → 015285436ca965f94e17.js} +1 -1
- package/assets/esri/core/workers/chunks/2c084c0c324e3af56424.js +1 -0
- package/assets/esri/core/workers/chunks/5a0eb9dfe668cf290462.js +1 -0
- package/assets/esri/core/workers/chunks/69efc716991a407c3d23.js +1 -0
- package/assets/esri/core/workers/chunks/{fb43c44a7d6b61f31e75.js → 94432e04de01ee7adc0e.js} +1 -1
- package/assets/esri/core/workers/chunks/95af4dee29eb196b8ada.js +1 -0
- package/assets/esri/core/workers/chunks/{80ac74da0b0e45e74beb.js → 9a498f2c007f4d78d4dd.js} +1 -1
- package/assets/esri/core/workers/chunks/{eddab4dc706e75c6637f.js → bff74200a0df0950cf08.js} +1 -1
- package/assets/esri/core/workers/chunks/{8f2ffb6944c9028d3bea.js → c08cb75c3eef6c45f604.js} +1 -1
- package/assets/esri/core/workers/chunks/dce55e7f76adecc055c3.js +1 -0
- package/assets/esri/core/workers/chunks/f2cdb7be3fd65f65c30b.js +1 -0
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +3 -3
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/OperatorProject.js +1 -1
- package/chunks/QuadraticBezier.js +1 -1
- package/geometry/operators/affineTransformOperator.js +1 -1
- package/geometry/operators/alphaShapeOperator.js +1 -1
- package/geometry/operators/areaOperator.js +1 -1
- package/geometry/operators/autoCompleteOperator.js +1 -1
- package/geometry/operators/boundaryOperator.js +1 -1
- package/geometry/operators/bufferOperator.js +1 -1
- package/geometry/operators/centroidOperator.js +1 -1
- package/geometry/operators/clipOperator.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/convexHullOperator.js +1 -1
- package/geometry/operators/crossesOperator.js +1 -1
- package/geometry/operators/cutOperator.js +1 -1
- package/geometry/operators/densifyOperator.js +1 -1
- package/geometry/operators/differenceOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/distanceOperator.js +1 -1
- package/geometry/operators/equalsOperator.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/generalizeOperator.js +1 -1
- package/geometry/operators/geodesicBufferOperator.js +1 -1
- package/geometry/operators/geodesicProximityOperator.js +1 -1
- package/geometry/operators/geodeticAreaOperator.js +1 -1
- package/geometry/operators/geodeticDensifyOperator.js +1 -1
- package/geometry/operators/geodeticDistanceOperator.js +1 -1
- package/geometry/operators/geodeticLengthOperator.js +1 -1
- package/geometry/operators/graphicBufferOperator.js +1 -1
- package/geometry/operators/integrateOperator.js +1 -1
- package/geometry/operators/intersectionOperator.js +1 -1
- package/geometry/operators/intersectsOperator.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/labelPointOperator.js +1 -1
- package/geometry/operators/lengthOperator.js +1 -1
- package/geometry/operators/linesToPolygonsOperator.js +1 -1
- package/geometry/operators/locateBetweenOperator.js +1 -1
- package/geometry/operators/minimumBoundingCircleOperator.js +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/operators/overlapsOperator.js +1 -1
- package/geometry/operators/polygonOverlayOperator.js +1 -1
- package/geometry/operators/polygonSlicerOperator.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/proximityOperator.js +1 -1
- package/geometry/operators/relateOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/simplifyOperator.js +1 -1
- package/geometry/operators/singlePartToMultiPartOperator.js +1 -1
- package/geometry/operators/symmetricDifferenceOperator.js +1 -1
- package/geometry/operators/touchesOperator.js +1 -1
- package/geometry/operators/unionOperator.js +1 -1
- package/geometry/operators/withinOperator.js +1 -1
- package/interfaces.d.ts +53 -4
- package/layers/graphics/OptimizedFeature.js +1 -1
- package/layers/graphics/sources/geojson/geojson.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/domainUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/package.json +1 -1
- package/rest/query/operations/pbfOptimizedFeatureSet.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/input/handlers/KeyRotate.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
- package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
- package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
- package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/strategies/ALoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +5 -0
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
- package/views/2d/layers/support/DebouncedFeatureOverride.js +5 -0
- package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/DigitizationAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
- package/widgets/OrientedImageryViewer/digitizationUtils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/support/forms/formUtils.js +1 -1
- package/assets/esri/core/workers/chunks/3ef5002b21b1a5b97e11.js +0 -1
- package/assets/esri/core/workers/chunks/5786b190ad3e2d933245.js +0 -1
- package/assets/esri/core/workers/chunks/84d26c6c805f5855ffd3.js +0 -1
- package/assets/esri/core/workers/chunks/8f2f2d497b875e2b4139.js +0 -1
- package/assets/esri/core/workers/chunks/a4c8b773283ea8f0e256.js +0 -1
- package/assets/esri/core/workers/chunks/fce1158755f959730602.js +0 -1
- package/views/2d/layers/features/sources/strategies/chunks/OverrideChunk.js +0 -5
- package/views/3d/input/handlers/SingleKey.js +0 -5
- package/views/3d/input/handlers/SingleKeyResetHeading.js +0 -5
- package/views/3d/input/handlers/SingleKeyResetTilt.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{O as e}from"../../chunks/OperatorWithin.js";import{getSpatialReference as r,fromGeometry as t,fromSpatialReference as n}from"./support/apiConverter.js";const o=new e;function
|
|
5
|
+
import{O as e}from"../../chunks/OperatorWithin.js";import{getSpatialReference as r,fromGeometry as t,fromSpatialReference as n}from"./support/apiConverter.js";const o=new e;function s(e){const s=r(e);return o.accelerateGeometry(t(e),n(s),1)}function c(e,r){return o.execute(t(e),t(r),n(e.spatialReference),null)}const p=o.supportsCurves();export{s as accelerateGeometry,c as execute,p as supportsCurves};
|
package/interfaces.d.ts
CHANGED
|
@@ -8350,6 +8350,7 @@ declare namespace __esri {
|
|
|
8350
8350
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-affineTransformOperator.html Read more...}
|
|
8351
8351
|
*/
|
|
8352
8352
|
interface affineTransformOperator {
|
|
8353
|
+
readonly supportsCurves: boolean;
|
|
8353
8354
|
/**
|
|
8354
8355
|
* Executes an affine transformation on the geometry.
|
|
8355
8356
|
*
|
|
@@ -8378,6 +8379,7 @@ declare namespace __esri {
|
|
|
8378
8379
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-alphaShapeOperator.html Read more...}
|
|
8379
8380
|
*/
|
|
8380
8381
|
interface alphaShapeOperator {
|
|
8382
|
+
readonly supportsCurves: boolean;
|
|
8381
8383
|
/**
|
|
8382
8384
|
* Calculates the alpha shape on the input geometry.
|
|
8383
8385
|
*
|
|
@@ -8422,6 +8424,7 @@ declare namespace __esri {
|
|
|
8422
8424
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-areaOperator.html Read more...}
|
|
8423
8425
|
*/
|
|
8424
8426
|
interface areaOperator {
|
|
8427
|
+
readonly supportsCurves: boolean;
|
|
8425
8428
|
/**
|
|
8426
8429
|
* Calculates the planar area of the input geometry.
|
|
8427
8430
|
*
|
|
@@ -8446,6 +8449,7 @@ declare namespace __esri {
|
|
|
8446
8449
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-autoCompleteOperator.html Read more...}
|
|
8447
8450
|
*/
|
|
8448
8451
|
interface autoCompleteOperator {
|
|
8452
|
+
readonly supportsCurves: boolean;
|
|
8449
8453
|
/**
|
|
8450
8454
|
* Fills the gaps between polygons using the polylines as additional boundaries.
|
|
8451
8455
|
*
|
|
@@ -8465,6 +8469,7 @@ declare namespace __esri {
|
|
|
8465
8469
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-boundaryOperator.html Read more...}
|
|
8466
8470
|
*/
|
|
8467
8471
|
interface boundaryOperator {
|
|
8472
|
+
readonly supportsCurves: boolean;
|
|
8468
8473
|
/**
|
|
8469
8474
|
* Calculates the boundary on the input geometry.
|
|
8470
8475
|
*
|
|
@@ -8491,6 +8496,7 @@ declare namespace __esri {
|
|
|
8491
8496
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-bufferOperator.html Read more...}
|
|
8492
8497
|
*/
|
|
8493
8498
|
interface bufferOperator {
|
|
8499
|
+
readonly supportsCurves: boolean;
|
|
8494
8500
|
/**
|
|
8495
8501
|
* Creates a buffer around the input geometry.
|
|
8496
8502
|
*
|
|
@@ -8537,6 +8543,7 @@ declare namespace __esri {
|
|
|
8537
8543
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-centroidOperator.html Read more...}
|
|
8538
8544
|
*/
|
|
8539
8545
|
interface centroidOperator {
|
|
8546
|
+
readonly supportsCurves: boolean;
|
|
8540
8547
|
/**
|
|
8541
8548
|
* Performs the centroid operation on a geometry.
|
|
8542
8549
|
*
|
|
@@ -8555,6 +8562,7 @@ declare namespace __esri {
|
|
|
8555
8562
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-clipOperator.html Read more...}
|
|
8556
8563
|
*/
|
|
8557
8564
|
interface clipOperator {
|
|
8565
|
+
readonly supportsCurves: boolean;
|
|
8558
8566
|
/**
|
|
8559
8567
|
* Perform the clip operation on the input geometry.
|
|
8560
8568
|
*
|
|
@@ -8583,6 +8591,7 @@ declare namespace __esri {
|
|
|
8583
8591
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-containsOperator.html Read more...}
|
|
8584
8592
|
*/
|
|
8585
8593
|
interface containsOperator {
|
|
8594
|
+
readonly supportsCurves: boolean;
|
|
8586
8595
|
/**
|
|
8587
8596
|
* Accelerate a geometry.
|
|
8588
8597
|
*
|
|
@@ -8610,6 +8619,7 @@ declare namespace __esri {
|
|
|
8610
8619
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-convexHullOperator.html Read more...}
|
|
8611
8620
|
*/
|
|
8612
8621
|
interface convexHullOperator {
|
|
8622
|
+
readonly supportsCurves: boolean;
|
|
8613
8623
|
/**
|
|
8614
8624
|
* Calculates the convex hull geometry.
|
|
8615
8625
|
*
|
|
@@ -8650,6 +8660,7 @@ declare namespace __esri {
|
|
|
8650
8660
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-crossesOperator.html Read more...}
|
|
8651
8661
|
*/
|
|
8652
8662
|
interface crossesOperator {
|
|
8663
|
+
readonly supportsCurves: boolean;
|
|
8653
8664
|
/**
|
|
8654
8665
|
* Accelerate a geometry.
|
|
8655
8666
|
*
|
|
@@ -8677,6 +8688,7 @@ declare namespace __esri {
|
|
|
8677
8688
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-cutOperator.html Read more...}
|
|
8678
8689
|
*/
|
|
8679
8690
|
interface cutOperator {
|
|
8691
|
+
readonly supportsCurves: boolean;
|
|
8680
8692
|
/**
|
|
8681
8693
|
* Performs the cut operation on a geometry.
|
|
8682
8694
|
*
|
|
@@ -8696,14 +8708,15 @@ declare namespace __esri {
|
|
|
8696
8708
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-densifyOperator.html Read more...}
|
|
8697
8709
|
*/
|
|
8698
8710
|
interface densifyOperator {
|
|
8711
|
+
readonly supportsCurves: boolean;
|
|
8699
8712
|
/**
|
|
8700
8713
|
* Performs the densify operation on the geometry.
|
|
8701
8714
|
*
|
|
8702
8715
|
* @param geometry The geometry to be densified.
|
|
8703
|
-
* @param maxSegmentLength The maximum
|
|
8716
|
+
* @param maxSegmentLength The maximum distance between vertices when the input geometry is densified. The number must be greater than or equal to zero. When the parameter is set to `0`, this operation only applies to curves and disables densification by length. Curves are densinfied to straight segments using the given length. And, curves are split into shorter subcurves such that the length of subcurves is shorter than `maxSegmentLength`. After that the curves are replaced with straight segments. Unless the `unit` option is set, the default is the spatial reference unit of `geometry`.
|
|
8704
8717
|
* @param options Additional options.
|
|
8705
|
-
* @param options.maxAngleInDegrees The maximum angle
|
|
8706
|
-
* @param options.maxDeviation The maximum
|
|
8718
|
+
* @param options.maxAngleInDegrees The maximum angle that a new vertex can deviate from the original geometry. The number must be greater than or equal to zero. Applicable only on curves. The default value of `0` disables densification by angle. The value will be capped at 90.
|
|
8719
|
+
* @param options.maxDeviation The maximum distance a newly placed vertex on a densified polyline can deviate from the original location on the curve. The number must be greater than or equal to zero. Applicable only on curves. The default of passing `0` disables densification by deviation. Unless the `unit` option is set, the default is the geometry's spatial reference unit.
|
|
8707
8720
|
* @param options.unit The length unit of `maxSegmentLength` and `maxDeviation`. An error will be thrown if this is set for Geographic Coordinate Systems.
|
|
8708
8721
|
*
|
|
8709
8722
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-densifyOperator.html#execute Read more...}
|
|
@@ -8744,6 +8757,7 @@ declare namespace __esri {
|
|
|
8744
8757
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-differenceOperator.html Read more...}
|
|
8745
8758
|
*/
|
|
8746
8759
|
interface differenceOperator {
|
|
8760
|
+
readonly supportsCurves: boolean;
|
|
8747
8761
|
/**
|
|
8748
8762
|
* Performs the topological difference operation on the two geometries.
|
|
8749
8763
|
*
|
|
@@ -8772,6 +8786,7 @@ declare namespace __esri {
|
|
|
8772
8786
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-disjointOperator.html Read more...}
|
|
8773
8787
|
*/
|
|
8774
8788
|
interface disjointOperator {
|
|
8789
|
+
readonly supportsCurves: boolean;
|
|
8775
8790
|
/**
|
|
8776
8791
|
* Accelerate a geometry.
|
|
8777
8792
|
*
|
|
@@ -8799,6 +8814,7 @@ declare namespace __esri {
|
|
|
8799
8814
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-distanceOperator.html Read more...}
|
|
8800
8815
|
*/
|
|
8801
8816
|
interface distanceOperator {
|
|
8817
|
+
readonly supportsCurves: boolean;
|
|
8802
8818
|
/**
|
|
8803
8819
|
* Returns the planar distance between two geometries.
|
|
8804
8820
|
*
|
|
@@ -8824,6 +8840,7 @@ declare namespace __esri {
|
|
|
8824
8840
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-equalsOperator.html Read more...}
|
|
8825
8841
|
*/
|
|
8826
8842
|
interface equalsOperator {
|
|
8843
|
+
readonly supportsCurves: boolean;
|
|
8827
8844
|
/**
|
|
8828
8845
|
* Accelerate a geometry.
|
|
8829
8846
|
*
|
|
@@ -8851,6 +8868,7 @@ declare namespace __esri {
|
|
|
8851
8868
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-extendOperator.html Read more...}
|
|
8852
8869
|
*/
|
|
8853
8870
|
interface extendOperator {
|
|
8871
|
+
readonly supportsCurves: boolean;
|
|
8854
8872
|
/**
|
|
8855
8873
|
* Performs the extend operation on a polyline using a polyline as the extender.
|
|
8856
8874
|
*
|
|
@@ -8884,6 +8902,7 @@ declare namespace __esri {
|
|
|
8884
8902
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-generalizeOperator.html Read more...}
|
|
8885
8903
|
*/
|
|
8886
8904
|
interface generalizeOperator {
|
|
8905
|
+
readonly supportsCurves: boolean;
|
|
8887
8906
|
/**
|
|
8888
8907
|
* Performs the generalize operation on the input geometry.
|
|
8889
8908
|
*
|
|
@@ -9249,6 +9268,7 @@ declare namespace __esri {
|
|
|
9249
9268
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-graphicBufferOperator.html Read more...}
|
|
9250
9269
|
*/
|
|
9251
9270
|
interface graphicBufferOperator {
|
|
9271
|
+
readonly supportsCurves: boolean;
|
|
9252
9272
|
/**
|
|
9253
9273
|
* Creates a buffer around the input geometries, using graphical joins and caps.
|
|
9254
9274
|
*
|
|
@@ -9284,6 +9304,7 @@ declare namespace __esri {
|
|
|
9284
9304
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-integrateOperator.html Read more...}
|
|
9285
9305
|
*/
|
|
9286
9306
|
interface integrateOperator {
|
|
9307
|
+
readonly supportsCurves: boolean;
|
|
9287
9308
|
/**
|
|
9288
9309
|
* Performs the topological integration of the geometry set in the XY plane.
|
|
9289
9310
|
*
|
|
@@ -9302,6 +9323,7 @@ declare namespace __esri {
|
|
|
9302
9323
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-intersectionOperator.html Read more...}
|
|
9303
9324
|
*/
|
|
9304
9325
|
interface intersectionOperator {
|
|
9326
|
+
readonly supportsCurves: boolean;
|
|
9305
9327
|
/**
|
|
9306
9328
|
* Accelerate a geometry.
|
|
9307
9329
|
*
|
|
@@ -9338,6 +9360,7 @@ declare namespace __esri {
|
|
|
9338
9360
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-intersectsOperator.html Read more...}
|
|
9339
9361
|
*/
|
|
9340
9362
|
interface intersectsOperator {
|
|
9363
|
+
readonly supportsCurves: boolean;
|
|
9341
9364
|
/**
|
|
9342
9365
|
* Accelerate a geometry.
|
|
9343
9366
|
*
|
|
@@ -9365,6 +9388,7 @@ declare namespace __esri {
|
|
|
9365
9388
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-isNearOperator.html Read more...}
|
|
9366
9389
|
*/
|
|
9367
9390
|
interface isNearOperator {
|
|
9391
|
+
readonly supportsCurves: boolean;
|
|
9368
9392
|
/**
|
|
9369
9393
|
* Returns true if the geometries are not further than the given 2D distance from each other.
|
|
9370
9394
|
*
|
|
@@ -9391,6 +9415,7 @@ declare namespace __esri {
|
|
|
9391
9415
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-labelPointOperator.html Read more...}
|
|
9392
9416
|
*/
|
|
9393
9417
|
interface labelPointOperator {
|
|
9418
|
+
readonly supportsCurves: boolean;
|
|
9394
9419
|
/**
|
|
9395
9420
|
* Performs the label point operation on the geometry.
|
|
9396
9421
|
*
|
|
@@ -9417,6 +9442,7 @@ declare namespace __esri {
|
|
|
9417
9442
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-lengthOperator.html Read more...}
|
|
9418
9443
|
*/
|
|
9419
9444
|
interface lengthOperator {
|
|
9445
|
+
readonly supportsCurves: boolean;
|
|
9420
9446
|
/**
|
|
9421
9447
|
* Calculates the planar length of the input geometry.
|
|
9422
9448
|
*
|
|
@@ -9441,6 +9467,7 @@ declare namespace __esri {
|
|
|
9441
9467
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-linesToPolygonsOperator.html Read more...}
|
|
9442
9468
|
*/
|
|
9443
9469
|
interface linesToPolygonsOperator {
|
|
9470
|
+
readonly supportsCurves: boolean;
|
|
9444
9471
|
/**
|
|
9445
9472
|
* Performs the topological lines to polygons operation.
|
|
9446
9473
|
*
|
|
@@ -9459,6 +9486,7 @@ declare namespace __esri {
|
|
|
9459
9486
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-locateBetweenOperator.html Read more...}
|
|
9460
9487
|
*/
|
|
9461
9488
|
interface locateBetweenOperator {
|
|
9489
|
+
readonly supportsCurves: boolean;
|
|
9462
9490
|
/**
|
|
9463
9491
|
* Performs the locate between or locate along operation on the geometry.
|
|
9464
9492
|
*
|
|
@@ -9479,6 +9507,7 @@ declare namespace __esri {
|
|
|
9479
9507
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-minimumBoundingCircleOperator.html Read more...}
|
|
9480
9508
|
*/
|
|
9481
9509
|
interface minimumBoundingCircleOperator {
|
|
9510
|
+
readonly supportsCurves: boolean;
|
|
9482
9511
|
/**
|
|
9483
9512
|
* Performs the minimum bounding circle operation on the geometry.
|
|
9484
9513
|
*
|
|
@@ -9511,6 +9540,7 @@ declare namespace __esri {
|
|
|
9511
9540
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-multiPartToSinglePartOperator.html Read more...}
|
|
9512
9541
|
*/
|
|
9513
9542
|
interface multiPartToSinglePartOperator {
|
|
9543
|
+
readonly supportsCurves: boolean;
|
|
9514
9544
|
/**
|
|
9515
9545
|
* Performs the multipart to single part operation on the input geometries.
|
|
9516
9546
|
*
|
|
@@ -9535,6 +9565,7 @@ declare namespace __esri {
|
|
|
9535
9565
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-offsetOperator.html Read more...}
|
|
9536
9566
|
*/
|
|
9537
9567
|
interface offsetOperator {
|
|
9568
|
+
readonly supportsCurves: boolean;
|
|
9538
9569
|
/**
|
|
9539
9570
|
* Creates an offset version of the input geometry.
|
|
9540
9571
|
*
|
|
@@ -9587,6 +9618,7 @@ declare namespace __esri {
|
|
|
9587
9618
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-overlapsOperator.html Read more...}
|
|
9588
9619
|
*/
|
|
9589
9620
|
interface overlapsOperator {
|
|
9621
|
+
readonly supportsCurves: boolean;
|
|
9590
9622
|
/**
|
|
9591
9623
|
* Accelerate a geometry.
|
|
9592
9624
|
*
|
|
@@ -9614,6 +9646,7 @@ declare namespace __esri {
|
|
|
9614
9646
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-polygonOverlayOperator.html Read more...}
|
|
9615
9647
|
*/
|
|
9616
9648
|
interface polygonOverlayOperator {
|
|
9649
|
+
readonly supportsCurves: boolean;
|
|
9617
9650
|
/**
|
|
9618
9651
|
* Performs the topological overlay of the geometry set in the XY plane.
|
|
9619
9652
|
*
|
|
@@ -9646,6 +9679,7 @@ declare namespace __esri {
|
|
|
9646
9679
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-polygonSlicerOperator.html Read more...}
|
|
9647
9680
|
*/
|
|
9648
9681
|
interface polygonSlicerOperator {
|
|
9682
|
+
readonly supportsCurves: boolean;
|
|
9649
9683
|
/**
|
|
9650
9684
|
* Finds positions of the sliced strips for a given polygon given the number of equal area parts to slice the polygon into.
|
|
9651
9685
|
*
|
|
@@ -9704,6 +9738,7 @@ declare namespace __esri {
|
|
|
9704
9738
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-proximityOperator.html Read more...}
|
|
9705
9739
|
*/
|
|
9706
9740
|
interface proximityOperator {
|
|
9741
|
+
readonly supportsCurves: boolean;
|
|
9707
9742
|
/**
|
|
9708
9743
|
* Returns the nearest coordinate on the geometry to the given input point.
|
|
9709
9744
|
*
|
|
@@ -9778,6 +9813,7 @@ declare namespace __esri {
|
|
|
9778
9813
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-relateOperator.html Read more...}
|
|
9779
9814
|
*/
|
|
9780
9815
|
interface relateOperator {
|
|
9816
|
+
readonly supportsCurves: boolean;
|
|
9781
9817
|
/**
|
|
9782
9818
|
* Accelerate a geometry.
|
|
9783
9819
|
*
|
|
@@ -9787,7 +9823,14 @@ declare namespace __esri {
|
|
|
9787
9823
|
*/
|
|
9788
9824
|
accelerateGeometry(geometry: geometryGeometry): boolean;
|
|
9789
9825
|
execute(geometry1: geometryGeometry, geometry2: geometryGeometry, relation: string): boolean;
|
|
9790
|
-
|
|
9826
|
+
/**
|
|
9827
|
+
* Indicates if the DE-9IM matrix relation is valid.
|
|
9828
|
+
*
|
|
9829
|
+
* @param relation The DE-9IM matrix relation encoded as a string.
|
|
9830
|
+
*
|
|
9831
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-relateOperator.html#isValidDE9IM Read more...}
|
|
9832
|
+
*/
|
|
9833
|
+
isValidDE9IM(relation: string): boolean;
|
|
9791
9834
|
}
|
|
9792
9835
|
|
|
9793
9836
|
export const relateOperator: relateOperator;
|
|
@@ -9798,6 +9841,7 @@ declare namespace __esri {
|
|
|
9798
9841
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-reshapeOperator.html Read more...}
|
|
9799
9842
|
*/
|
|
9800
9843
|
interface reshapeOperator {
|
|
9844
|
+
readonly supportsCurves: boolean;
|
|
9801
9845
|
/**
|
|
9802
9846
|
* Performs the reshape operation on a polygon or polyline using a single path polyline as the reshaper.
|
|
9803
9847
|
*
|
|
@@ -9817,6 +9861,7 @@ declare namespace __esri {
|
|
|
9817
9861
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-simplifyOperator.html Read more...}
|
|
9818
9862
|
*/
|
|
9819
9863
|
interface simplifyOperator {
|
|
9864
|
+
readonly supportsCurves: boolean;
|
|
9820
9865
|
/**
|
|
9821
9866
|
* Performs the simplify operation on a single geometry.
|
|
9822
9867
|
*
|
|
@@ -9965,6 +10010,7 @@ declare namespace __esri {
|
|
|
9965
10010
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-symmetricDifferenceOperator.html Read more...}
|
|
9966
10011
|
*/
|
|
9967
10012
|
interface symmetricDifferenceOperator {
|
|
10013
|
+
readonly supportsCurves: boolean;
|
|
9968
10014
|
/**
|
|
9969
10015
|
* Performs the symmetric difference (XOR) operation on two geometries.
|
|
9970
10016
|
*
|
|
@@ -9993,6 +10039,7 @@ declare namespace __esri {
|
|
|
9993
10039
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-touchesOperator.html Read more...}
|
|
9994
10040
|
*/
|
|
9995
10041
|
interface touchesOperator {
|
|
10042
|
+
readonly supportsCurves: boolean;
|
|
9996
10043
|
/**
|
|
9997
10044
|
* Accelerate a geometry.
|
|
9998
10045
|
*
|
|
@@ -10020,6 +10067,7 @@ declare namespace __esri {
|
|
|
10020
10067
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-unionOperator.html Read more...}
|
|
10021
10068
|
*/
|
|
10022
10069
|
interface unionOperator {
|
|
10070
|
+
readonly supportsCurves: boolean;
|
|
10023
10071
|
/**
|
|
10024
10072
|
* Perform a topological union operation on two geometries.
|
|
10025
10073
|
*
|
|
@@ -10047,6 +10095,7 @@ declare namespace __esri {
|
|
|
10047
10095
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-withinOperator.html Read more...}
|
|
10048
10096
|
*/
|
|
10049
10097
|
interface withinOperator {
|
|
10098
|
+
readonly supportsCurves: boolean;
|
|
10050
10099
|
/**
|
|
10051
10100
|
* Accelerate a geometry.
|
|
10052
10101
|
*
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{estimateAttributesMemory as t}from"../../core/memoryEstimations.js";import{getCentroidOptimizedGeometry as e}from"./centroid.js";import r from"./OptimizedGeometry.js";class s{constructor(t=null,e={},r,s){this.geometry=t,this.attributes=e,this.centroid=r,this.objectId=s,this.displayId=
|
|
5
|
+
import{estimateAttributesMemory as t}from"../../core/memoryEstimations.js";import{getCentroidOptimizedGeometry as e}from"./centroid.js";import r from"./OptimizedGeometry.js";class s{constructor(t=null,e={},r,s,o=0){this.geometry=t,this.attributes=e,this.centroid=r,this.objectId=s,this.displayId=o}static fromJSON(t){const e=t.geometry?r.fromJSON(t.geometry):null,o=t.centroid?r.fromJSON(t.centroid):null,i=t.objectId;return new s(e,t.attributes,o,i)}weakClone(){const t=new s(this.geometry,this.attributes,this.centroid,this.objectId);return t.displayId=this.displayId,t}clone(){const t=this.geometry?.clone(),e=new s(t,{...this.attributes},this.centroid?.clone(),this.objectId);return e.displayId=this.displayId,e}ensureCentroid(t){return this.centroid??=e(new r,this.geometry,t.hasZ,t.hasM),this.centroid}get usedMemory(){return 128+t(this.attributes)+(this.geometry?.usedMemory??0)}}function o(t){return!!t.geometry?.coords?.length}class i extends s{}export{s as OptimizedFeature,i as OptimizedFeatureWithGeometry,o as hasGeometry};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isISO8601Date as e}from"../../../../core/date.js";import t from"../../../../core/Error.js";import{isWGS84 as n}from"../../../../geometry/support/spatialReferenceUtils.js";import{OptimizedFeature as o}from"../../OptimizedFeature.js";import r from"../../OptimizedGeometry.js";import{normalizeFieldName as i,isNumericField as s}from"../../../support/fieldUtils.js";const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function u(e){return c[e]}function*l(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*f(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function*p(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const s of e){const{geometry:e,properties:c,id:l}=s;if(e&&u(e.type)!==n)continue;const f=c||{};let p;i&&(p=f[i],null==l||p||(f[i]=p=l));const a=new o(e?h(new r,e,t):null,f,null,p
|
|
5
|
+
import{isISO8601Date as e}from"../../../../core/date.js";import t from"../../../../core/Error.js";import{isWGS84 as n}from"../../../../geometry/support/spatialReferenceUtils.js";import{OptimizedFeature as o}from"../../OptimizedFeature.js";import r from"../../OptimizedGeometry.js";import{normalizeFieldName as i,isNumericField as s}from"../../../support/fieldUtils.js";const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function u(e){return c[e]}function*l(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*f(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function*p(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const s of e){const{geometry:e,properties:c,id:l}=s;if(e&&u(e.type)!==n)continue;const f=c||{};let p;i&&(p=f[i],null==l||p||(f[i]=p=l));const a=new o(e?h(new r,e,t):null,f,null,p);yield a}}function a(e){for(const t of e)if(t.length>2)return!0;return!1}function y(e){return!g(e)}function d(e){return g(e)}function g(e){let t=0;for(let n=0;n<e.length;n++){const o=e[n],r=e[(n+1)%e.length];t+=o[0]*r[1]-r[0]*o[1]}return t<=0}function m(e){const t=e[0],n=e[e.length-1];return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]||e.push(t),e}function h(e,t,n){switch(t.type){case"LineString":return w(e,t,n);case"MultiLineString":return P(e,t,n);case"MultiPoint":return j(e,t,n);case"MultiPolygon":return b(e,t,n);case"Point":return S(e,t,n);case"Polygon":return F(e,t,n)}}function w(e,t,n){return M(e,t.coordinates,n),e}function P(e,t,n){for(const o of t.coordinates)M(e,o,n);return e}function j(e,t,n){return M(e,t.coordinates,n),e}function b(e,t,n){for(const o of t.coordinates){G(e,o[0],n);for(let t=1;t<o.length;t++)k(e,o[t],n)}return e}function S(e,t,n){return O(e,t.coordinates,n),e}function F(e,t,n){const o=t.coordinates;G(e,o[0],n);for(let r=1;r<o.length;r++)k(e,o[r],n);return e}function G(e,t,n){const o=m(t);y(o)?T(e,o,n):M(e,o,n)}function k(e,t,n){const o=m(t);d(o)?T(e,o,n):M(e,o,n)}function M(e,t,n){for(const o of t)O(e,o,n);e.lengths.push(t.length)}function T(e,t,n){for(let o=t.length-1;o>=0;o--)O(e,t[o],n);e.lengths.push(t.length)}function O(e,t,n){const[o,r,i]=t;e.coords.push(o,r),n.hasZ&&e.coords.push(i||0)}function L(t){switch(typeof t){case"string":return e(t)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function E(e,o=4326){if(!e)throw new t("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new t("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:r}=e;if(!r)return;const i="string"==typeof r?r:"name"===r.type?r.properties.name:"EPSG"===r.type?r.properties.code:null,s=n({wkid:o})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${o})$`,"i");if(!i||!s.test(i))throw new t("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:r})}function I(e,t={}){const n=[],o=new Set,r=new Set;let c,p=!1,y=null,d=!1,{geometryType:g=null}=t;for(const s of l(e)){const{geometry:e,properties:t,id:l}=s;if(!e||(g||(g=u(e.type)),u(e.type)===g)){if(!p){p=a(f(e))}if(d||(d=null!=l,d&&(c=typeof l,t&&(y=Object.keys(t).filter((e=>t[e]===l))))),t&&y&&d&&null!=l&&(y.length>1?y=y.filter((e=>t[e]===l)):1===y.length&&(y=t[y[0]]===l?y:[])),t)for(const e in t){if(o.has(e))continue;const s=L(t[e]);if("unknown"===s){r.add(e);continue}r.delete(e),o.add(e);const c=i(e);c&&n.push({name:c,alias:e,type:s})}}}const m=i(1===y?.length&&y[0]||null)??void 0;if(m)for(const i of n)if(i.name===m&&s(i)){i.type="esriFieldTypeOID";break}return{fields:n,geometryType:g,hasZ:p,objectIdFieldName:m,objectIdFieldType:c,unknownFields:Array.from(r)}}function N(e,t){return Array.from(p(l(e),t))}export{N as createOptimizedFeatures,u as getGeometryType,I as inferLayerProperties,E as validateGeoJSON};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import r from"../../PopupTemplate.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{rendererTypes as t,webSceneRendererTypes as i}from"../../renderers/support/types.js";import o from"../../request.js";import{isSymbol3D as s}from"../../symbols.js";import a from"../../core/Collection.js";import l from"../../core/Error.js";import has from"../../core/has.js";import n from"../../core/Identifiable.js";import{clone as p}from"../../core/lang.js";import y from"../../core/Loadable.js";import u from"../../core/Logger.js";import{MultiOriginJSONMixin as d}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as c}from"../../core/sql.js";import{objectToQuery as f}from"../../core/urlUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import{cast as m}from"../../core/accessorSupport/decorators/cast.js";import{reader as b}from"../../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import{writer as S}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as I,ensureType as w,Integer as v,ensureClass as j}from"../../core/accessorSupport/ensureType.js";import{OriginId as L,nameToId as F}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as D}from"../../core/accessorSupport/utils.js";import x from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as O}from"../mixins/OrderedLayer.js";import{getFeatureType as E}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as R}from"./fieldUtils.js";import _ from"./LabelClass.js";import{validateLabelingInfo as A}from"./labelingInfo.js";import C from"./LayerFloorInfo.js";import M from"./OrderByInfo.js";import V from"./Relationship.js";import{getFeatureLayerCapabilities as k}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as N}from"./source/DataLayerSource.js";import{MapLayerSource as U}from"./source/MapLayerSource.js";import{parseUrl as B}from"../../rest/utils.js";import Q from"../../rest/support/AttachmentQuery.js";import J from"../../rest/support/Query.js";import{createPopupTemplate as $}from"../../support/popupUtils.js";import K from"../../geometry/Extent.js";import G from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as H}from"../../geometry/support/typeUtils.js";var z;function W(e){return"esriSMS"===e?.type}function X(e,r,t){const i=this.originIdOf(r)>=F(t.origin);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function Y(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(t.origin&&this.originIdOf(r)>=F(t.origin)||this._isOverridden(r)))}}function Z(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function ee(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||this.originIdOf(r)>=F(t.origin))}}let re=0;const te=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let ie=z=class extends(d(n.IdentifiableMixin(y))){constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:t}=this;if(!r&&!t)throw new l("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const i=r?await r.fetchSublayerInfo(this,e):(await o(t,{responseType:"json",query:{f:"json"},...e})).data;i&&(this.sourceJSON=i,this.read({layerDefinition:i},{origin:"service",layer:r,url:B(t)}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{operations:{supportsQuery:t,supportsQueryAttachments:i},query:{supportsFormatPBF:o,supportsOrderBy:s,supportsPagination:a},data:{supportsAttachment:l},queryRelated:n}=k(r,this.url);return{exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:t,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{supportsFormatPBF:o,supportsOrderBy:s,supportsPagination:a},queryRelated:n}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??re++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find((e=>"esriFieldTypeOID"===e.type));return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=I(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,s="gdbVersion"in t?t.gdbVersion:void 0,a=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new x({fieldsIndex:r,gdbVersion:s,pbfSupported:a,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(R(e,this.fieldsIndex),e)for(const r of e.symbols)if(s(r)){u.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new U({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return w(a.ofType(z),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${f(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=D(this),r=new z;return D(r).store=e.clone(te),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return $(this,e)}createQuery(){return new J({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>L.SERVICE)i=new e({url:t});else{if(!r?.parsedUrl)throw new l("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=p(this.floorInfo)),this.originIdOf("labelingInfo")>L.SERVICE&&(i.labelingInfo=p(this.labelingInfo)),this.originIdOf("labelsVisible")>L.DEFAULTS&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>L.DEFAULTS&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>L.DEFAULTS&&(i.visible=this.visible),this.originIdOf("minScale")>L.DEFAULTS&&(i.minScale=this.minScale),this.originIdOf("maxScale")>L.DEFAULTS&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>L.DEFAULTS&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>L.DEFAULTS&&(i.popupTemplate=p(this.popupTemplate)),this.originIdOf("renderer")>L.SERVICE&&(i.renderer=p(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>L.DEFAULTS&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return E(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=Q.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new l("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:o,globalIds:s,num:a,size:n,start:p,where:y}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||s?.length>0||n?.length>0||a||p||y)throw new l("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(o?.length||s?.length||y))throw new l("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new l("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new l("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=c(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>L.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>L.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>L.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>L.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&u.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=A(this.labelingInfo,H.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>L.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>L.SERVICE&&(r.orderBy=this.orderBy?.map((e=>e.toJSON()))??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)W(e.symbol)&&r(e.symbol);"symbol"in e&&W(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&W(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,s;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",s="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",s="supportsModification"}const a=D(this).getDefaultOrigin();if("service"!==a){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(s&&!1===this.capabilities?.exportMap[s])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${s}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==a&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(u.getLogger(this).error(new l("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;u.getLogger(i).error(new l("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}};ie.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X,isTileImageLayerOverridePolicy:e=>e===Y},e([h({readOnly:!0})],ie.prototype,"capabilities",void 0),e([b("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],ie.prototype,"readCapabilities",null),e([h()],ie.prototype,"defaultPopupTemplate",null),e([h({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:X}}})],ie.prototype,"definitionExpression",null),e([h({readOnly:!0})],ie.prototype,"effectiveScaleRange",null),e([b("service","maxScaleRange",["minScale","maxScale"])],ie.prototype,"readMaxScaleRange",null),e([h({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],ie.prototype,"fields",void 0),e([h({readOnly:!0})],ie.prototype,"fieldsIndex",null),e([h({type:C,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:X},origins:{"web-scene":{read:!1,write:!1}}}})],ie.prototype,"floorInfo",null),e([h({type:K,json:{read:{source:"layerDefinition.extent"}}})],ie.prototype,"fullExtent",void 0),e([h({type:H.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:H.read}}}}})],ie.prototype,"geometryType",void 0),e([h({type:String})],ie.prototype,"globalIdField",void 0),e([b("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],ie.prototype,"readGlobalIdFieldFromService",null),e([h({type:v,json:{write:{ignoreOrigin:!0}}})],ie.prototype,"id",null),e([h({readOnly:!0})],ie.prototype,"isTable",void 0),e([b("service","isTable",["type"])],ie.prototype,"readIsTable",null),e([h({value:null,type:[_],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:Z}}})],ie.prototype,"labelingInfo",null),e([S("labelingInfo")],ie.prototype,"writeLabelingInfo",null),e([h({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:Z}}})],ie.prototype,"labelsVisible",null),e([h({value:null})],ie.prototype,"layer",null),e([h({type:String,json:{write:{overridePolicy:Y}}})],ie.prototype,"layerItemId",void 0),e([h({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:ee}}})],ie.prototype,"legendEnabled",void 0),e([h({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],ie.prototype,"listMode",null),e([h({type:Number,value:0,json:{write:{overridePolicy:Z}}})],ie.prototype,"minScale",null),e([b("minScale",["minScale","layerDefinition.minScale"])],ie.prototype,"readMinScale",null),e([h({type:Number,value:0,json:{write:{overridePolicy:Z}}})],ie.prototype,"maxScale",null),e([b("maxScale",["maxScale","layerDefinition.maxScale"])],ie.prototype,"readMaxScale",null),e([h()],ie.prototype,"objectIdField",void 0),e([b("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],ie.prototype,"readObjectIdFieldFromService",null),e([h({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:Z}}})],ie.prototype,"opacity",null),e([b("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],ie.prototype,"readOpacity",null),e([S("opacity")],ie.prototype,"writeOpacity",null),e([h({value:null,type:[M],json:{name:"layerDefinition.orderBy",read:{reader:O}}})],ie.prototype,"orderBy",null),e([h({json:{type:v,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:Z}}})],ie.prototype,"parent",void 0),e([S("parent")],ie.prototype,"writeParent",null),e([h({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:ee,writer(e,r,t){r[t]=!e}}}})],ie.prototype,"popupEnabled",void 0),e([h({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:ee}}})],ie.prototype,"popupTemplate",void 0),e([h({readOnly:!0})],ie.prototype,"queryTask",null),e([h({type:[V],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],ie.prototype,"relationships",void 0),e([h({types:t,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:Z},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:Z}}}}})],ie.prototype,"renderer",null),e([h({types:{key:"type",base:null,typeMap:{"data-layer":N,"map-layer":U}},cast(e){if(e){if("mapLayerId"in e)return j(U,e);if("dataSource"in e)return j(N,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:Z}}})],ie.prototype,"source",null),e([h()],ie.prototype,"sourceJSON",void 0),e([h({type:G,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],ie.prototype,"spatialReference",void 0),e([h({value:null,json:{type:[v],write:{target:"subLayerIds",allowNull:!0,overridePolicy:Z}}})],ie.prototype,"sublayers",null),e([m("sublayers")],ie.prototype,"castSublayers",null),e([S("sublayers")],ie.prototype,"writeSublayers",null),e([h({type:String,json:{name:"name",write:{overridePolicy:ee}}})],ie.prototype,"title",void 0),e([b("service","title",["name","layerDefinition.name"])],ie.prototype,"readTitle",null),e([h({type:String})],ie.prototype,"typeIdField",void 0),e([h({json:{read:!1},readOnly:!0,value:"sublayer"})],ie.prototype,"type",void 0),e([b("typeIdField",["layerDefinition.typeIdField"])],ie.prototype,"readTypeIdField",null),e([h({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],ie.prototype,"types",void 0),e([h({type:String,json:{name:"layerUrl",write:{overridePolicy:Y}}})],ie.prototype,"url",null),e([h({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:Z}}})],ie.prototype,"visible",null),e([S("visible")],ie.prototype,"writeVisible",null),ie=z=e([g("esri.layers.support.Sublayer")],ie);const oe=ie;export{oe as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import r from"../../PopupTemplate.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{rendererTypes as t,webSceneRendererTypes as i}from"../../renderers/support/types.js";import o from"../../request.js";import{isSymbol3D as s}from"../../symbols.js";import a from"../../core/Collection.js";import l from"../../core/Error.js";import has from"../../core/has.js";import n from"../../core/Identifiable.js";import{clone as p}from"../../core/lang.js";import u from"../../core/Loadable.js";import y from"../../core/Logger.js";import{MultiOriginJSONMixin as d}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as c}from"../../core/sql.js";import{objectToQuery as f}from"../../core/urlUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import{cast as m}from"../../core/accessorSupport/decorators/cast.js";import{reader as b}from"../../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import{writer as S}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as I,ensureType as w,Integer as v,ensureClass as j}from"../../core/accessorSupport/ensureType.js";import{OriginId as L,nameToId as F}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as D}from"../../core/accessorSupport/utils.js";import x from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as O}from"../mixins/OrderedLayer.js";import{getFeatureType as E}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as R}from"./fieldUtils.js";import _ from"./LabelClass.js";import{validateLabelingInfo as A}from"./labelingInfo.js";import C from"./LayerFloorInfo.js";import V from"./OrderByInfo.js";import M from"./Relationship.js";import{getFeatureLayerCapabilities as k}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as N}from"./source/DataLayerSource.js";import{MapLayerSource as U}from"./source/MapLayerSource.js";import{parseUrl as B}from"../../rest/utils.js";import Q from"../../rest/support/AttachmentQuery.js";import J from"../../rest/support/Query.js";import{createPopupTemplate as $}from"../../support/popupUtils.js";import K from"../../geometry/Extent.js";import G from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as H}from"../../geometry/support/typeUtils.js";var z;function W(e){return"esriSMS"===e?.type}function X(e,r,t){const i=this.originIdOf(r)>=F(t.origin);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function Y(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(t.origin&&this.originIdOf(r)>=F(t.origin)||this._isOverridden(r)))}}function Z(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function ee(e,r,t){return{ignoreOrigin:!0,enabled:!!t?.writeSublayerStructure&&this.originIdOf(r)>L.SERVICE}}function re(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||this.originIdOf(r)>=F(t.origin))}}let te=0;const ie=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let oe=z=class extends(d(n.IdentifiableMixin(u))){constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:t}=this;if(!r&&!t)throw new l("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const i=r?await r.fetchSublayerInfo(this,e):(await o(t,{responseType:"json",query:{f:"json"},...e})).data;i&&(this.sourceJSON=i,this.read({layerDefinition:i},{origin:"service",layer:r,url:B(t)}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{operations:{supportsQuery:t,supportsQueryAttachments:i},query:{supportsFormatPBF:o,supportsOrderBy:s,supportsPagination:a},data:{supportsAttachment:l},queryRelated:n}=k(r,this.url);return{exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:t,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{supportsFormatPBF:o,supportsOrderBy:s,supportsPagination:a},queryRelated:n}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??te++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find((e=>"esriFieldTypeOID"===e.type));return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=I(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,s="gdbVersion"in t?t.gdbVersion:void 0,a=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new x({fieldsIndex:r,gdbVersion:s,pbfSupported:a,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(R(e,this.fieldsIndex),e)for(const r of e.symbols)if(s(r)){y.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new U({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return w(a.ofType(z),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${f(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=D(this),r=new z;return D(r).store=e.clone(ie),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return $(this,e)}createQuery(){return new J({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>L.SERVICE)i=new e({url:t});else{if(!r?.parsedUrl)throw new l("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=p(this.floorInfo)),this.originIdOf("labelingInfo")>L.SERVICE&&(i.labelingInfo=p(this.labelingInfo)),this.originIdOf("labelsVisible")>L.DEFAULTS&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>L.DEFAULTS&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>L.DEFAULTS&&(i.visible=this.visible),this.originIdOf("minScale")>L.DEFAULTS&&(i.minScale=this.minScale),this.originIdOf("maxScale")>L.DEFAULTS&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>L.DEFAULTS&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>L.DEFAULTS&&(i.popupTemplate=p(this.popupTemplate)),this.originIdOf("renderer")>L.SERVICE&&(i.renderer=p(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>L.DEFAULTS&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return E(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=Q.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new l("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:o,globalIds:s,num:a,size:n,start:p,where:u}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||s?.length>0||n?.length>0||a||p||u)throw new l("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(o?.length||s?.length||u))throw new l("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new l("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new l("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=c(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>L.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>L.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>L.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>L.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&y.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=A(this.labelingInfo,H.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>L.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>L.SERVICE&&(r.orderBy=this.orderBy?.map((e=>e.toJSON()))??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)W(e.symbol)&&r(e.symbol);"symbol"in e&&W(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&W(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,s;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",s="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",s="supportsModification"}const a=D(this).getDefaultOrigin();if("service"!==a){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(s&&!1===this.capabilities?.exportMap[s])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${s}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==a&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(y.getLogger(this).error(new l("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;y.getLogger(i).error(new l("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}};oe.test={isMapImageLayerOverridePolicy:e=>e===ee||e===Z||e===X,isTileImageLayerOverridePolicy:e=>e===Y},e([h({readOnly:!0})],oe.prototype,"capabilities",void 0),e([b("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],oe.prototype,"readCapabilities",null),e([h()],oe.prototype,"defaultPopupTemplate",null),e([h({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:X}}})],oe.prototype,"definitionExpression",null),e([h({readOnly:!0})],oe.prototype,"effectiveScaleRange",null),e([b("service","maxScaleRange",["minScale","maxScale"])],oe.prototype,"readMaxScaleRange",null),e([h({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],oe.prototype,"fields",void 0),e([h({readOnly:!0})],oe.prototype,"fieldsIndex",null),e([h({type:C,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:X},origins:{"web-scene":{read:!1,write:!1}}}})],oe.prototype,"floorInfo",null),e([h({type:K,json:{read:{source:"layerDefinition.extent"}}})],oe.prototype,"fullExtent",void 0),e([h({type:H.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:H.read}}}}})],oe.prototype,"geometryType",void 0),e([h({type:String})],oe.prototype,"globalIdField",void 0),e([b("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],oe.prototype,"readGlobalIdFieldFromService",null),e([h({type:v,json:{write:{ignoreOrigin:!0}}})],oe.prototype,"id",null),e([h({readOnly:!0})],oe.prototype,"isTable",void 0),e([b("service","isTable",["type"])],oe.prototype,"readIsTable",null),e([h({value:null,type:[_],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:ee}}})],oe.prototype,"labelingInfo",null),e([S("labelingInfo")],oe.prototype,"writeLabelingInfo",null),e([h({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:Z}}})],oe.prototype,"labelsVisible",null),e([h({value:null})],oe.prototype,"layer",null),e([h({type:String,json:{write:{overridePolicy:Y}}})],oe.prototype,"layerItemId",void 0),e([h({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:re}}})],oe.prototype,"legendEnabled",void 0),e([h({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],oe.prototype,"listMode",null),e([h({type:Number,value:0,json:{write:{overridePolicy:Z}}})],oe.prototype,"minScale",null),e([b("minScale",["minScale","layerDefinition.minScale"])],oe.prototype,"readMinScale",null),e([h({type:Number,value:0,json:{write:{overridePolicy:Z}}})],oe.prototype,"maxScale",null),e([b("maxScale",["maxScale","layerDefinition.maxScale"])],oe.prototype,"readMaxScale",null),e([h()],oe.prototype,"objectIdField",void 0),e([b("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],oe.prototype,"readObjectIdFieldFromService",null),e([h({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:Z}}})],oe.prototype,"opacity",null),e([b("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],oe.prototype,"readOpacity",null),e([S("opacity")],oe.prototype,"writeOpacity",null),e([h({value:null,type:[V],json:{name:"layerDefinition.orderBy",read:{reader:O}}})],oe.prototype,"orderBy",null),e([h({json:{type:v,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:Z}}})],oe.prototype,"parent",void 0),e([S("parent")],oe.prototype,"writeParent",null),e([h({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:re,writer(e,r,t){r[t]=!e}}}})],oe.prototype,"popupEnabled",void 0),e([h({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:re}}})],oe.prototype,"popupTemplate",void 0),e([h({readOnly:!0})],oe.prototype,"queryTask",null),e([h({type:[M],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],oe.prototype,"relationships",void 0),e([h({types:t,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ee},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ee}}}}})],oe.prototype,"renderer",null),e([h({types:{key:"type",base:null,typeMap:{"data-layer":N,"map-layer":U}},cast(e){if(e){if("mapLayerId"in e)return j(U,e);if("dataSource"in e)return j(N,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:Z}}})],oe.prototype,"source",null),e([h()],oe.prototype,"sourceJSON",void 0),e([h({type:G,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],oe.prototype,"spatialReference",void 0),e([h({value:null,json:{type:[v],write:{target:"subLayerIds",allowNull:!0,overridePolicy:Z}}})],oe.prototype,"sublayers",null),e([m("sublayers")],oe.prototype,"castSublayers",null),e([S("sublayers")],oe.prototype,"writeSublayers",null),e([h({type:String,json:{name:"name",write:{overridePolicy:re}}})],oe.prototype,"title",void 0),e([b("service","title",["name","layerDefinition.name"])],oe.prototype,"readTitle",null),e([h({type:String})],oe.prototype,"typeIdField",void 0),e([h({json:{read:!1},readOnly:!0,value:"sublayer"})],oe.prototype,"type",void 0),e([b("typeIdField",["layerDefinition.typeIdField"])],oe.prototype,"readTypeIdField",null),e([h({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],oe.prototype,"types",void 0),e([h({type:String,json:{name:"layerUrl",write:{overridePolicy:Y}}})],oe.prototype,"url",null),e([h({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:Z}}})],oe.prototype,"visible",null),e([S("visible")],oe.prototype,"writeVisible",null),oe=z=e([g("esri.layers.support.Sublayer")],oe);const se=oe;export{se as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{dateOnlyToDateTime as e,timeOnlyToDateTime as n,timestampOffsetToDateTime as i}from"../../support/dateUtils.js";var l;!function(e){e.VALUE_OUT_OF_RANGE="domain-validation-error::value-out-of-range",e.INVALID_CODED_VALUE="domain-validation-error::invalid-coded-value"}(l||(l={}));const t=new Set(["integer","small-integer","big-integer","esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"]);function r(e){return null!=e&&t.has(e.type)}function a(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function u(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function o(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function s(e,n,i){const t=i??e?.domain;if(!t)return null;switch(t.type){case"range":{const{min:
|
|
5
|
+
import{dateOnlyToDateTime as e,timeOnlyToDateTime as n,timestampOffsetToDateTime as i}from"../../support/dateUtils.js";var l;!function(e){e.VALUE_OUT_OF_RANGE="domain-validation-error::value-out-of-range",e.INVALID_CODED_VALUE="domain-validation-error::invalid-coded-value"}(l||(l={}));const t=new Set(["integer","small-integer","big-integer","esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"]);function r(e){return null!=e&&t.has(e.type)}function a(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function u(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function o(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function s(e,n,i){const t=i??e?.domain;if(!t)return null;switch(t.type){case"range":{const{min:i,max:r}=m(e,t);if(null!=i&&+n<i||null!=r&&+n>r)return l.VALUE_OUT_OF_RANGE;break}case"coded-value":case"codedValue":if(null==t.codedValues||t.codedValues.every((e=>null==e||e.code!==n)))return l.INVALID_CODED_VALUE}return null}function m(e,n){const i=n??e?.domain;if(!i||"range"!==i.type)return;const l="range"in i?i.range[0]:i.minValue,t="range"in i?i.range[1]:i.maxValue,s=r(e);return a(e)||o(e)||u(e)?{...d(e,t,l),isInteger:s}:{min:null!=l&&"number"==typeof l?l:null,max:null!=t&&"number"==typeof t?t:null,rawMin:l,rawMax:t,isInteger:s}}function d(l,t,r){return a(l)?{min:e(r)?.toMillis(),max:e(t)?.toMillis(),rawMin:r,rawMax:t}:o(l)?{min:n(r)?.toMillis(),max:n(t)?.toMillis(),rawMin:r,rawMax:t}:u(l)?{min:i(r)?.toMillis(),max:i(t)?.toMillis(),rawMin:r,rawMax:t}:{max:null,min:null}}export{l as DomainValidationError,d as dateTimeFieldValuesToNumericRange,m as getDomainRange,s as validateDomainValue};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as i}from"../../core/object.js";import{union as t}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{validateDomainValue as l,getDomainRange as o,DomainValidationError as s}from"./domainUtils.js";import{getFieldNameFromSimpleExpression as a}from"../../support/arcadeExpressionUtils.js";import{loadArcade as u}from"../../support/arcadeOnDemand.js";import{isStringOrNull as f,isString as c}from"../../support/guards.js";const d=/^([0-9_])/,m=/[^a-z0-9_\u0080-\uffff]+/gi;function p(e){if(null==e)return null;return e.trim().replaceAll(m,"_").replace(d,"F$1")||null}const y=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],g=["field","normalizationField"];function F(e,n){if(null!=e&&null!=n)for(const i of Array.isArray(e)?e:[e])if(I(y,i,n),"visualVariables"in i&&i.visualVariables)for(const e of i.visualVariables)I(g,e,n)}function I(e,t,r){if(e)for(const l of e){const e=n(l,t),o=e&&"function"!=typeof e&&r.get(e);o&&i(l,o.name,t)}}function b(e,n){if(null!=e&&n?.fields?.length)if("startField"in e){const i=n.get(e.startField),t=n.get(e.endField);e.startField=i?.name??null,e.endField=t?.name??null}else{const i=n.get(e.startTimeField),t=n.get(e.endTimeField);e.startTimeField=i?.name??null,e.endTimeField=t?.name??null}}const w=new Set;function x(e,n){return e&&n?(w.clear(),T(w,e,n),Array.from(w).sort()):[]}function T(e,n,i){if(i)if(n?.fields?.length)if(i.includes("*"))for(const{name:t}of n.fields)e.add(t);else for(const t of i)h(e,n,t);else{if(i.includes("*"))return e.clear(),void e.add("*");for(const n of i)null!=n&&e.add(n)}}function h(e,n,i){if("string"==typeof i)if(n){const t=n.get(i);t&&e.add(t.name)}else e.add(i)}function E(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map((e=>e.name)):n}function _(e,n,i=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const t=x(e,n);return t.length/e.fields.length>=i?["*"]:t}async function A(e,n,i){if(!i)return;let t;const r=a(i);if(r)t=[r];else{const{arcadeUtils:e}=await u();t=e.extractFieldNames(i,n?.fields?.map((e=>e.name)))}for(const l of t)h(e,n,l)}async function S(n,i,t){if(t&&"1=1"!==t){const l=await r(t,i);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:t});T(n,i,l.fieldNames)}}function N({displayField:e,fields:n}){return e||(n?.length?$(n,"name-or-title")||$(n,"unique-identifier")||$(n,"type-or-category")||v(n):null)}function v(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function $(e,n){for(const i of e)if(i?.valueType&&i.valueType===n)return i.name;return null}async function L(e){if(!e)return[];const n=new Set;return await D(n,e),Array.from(n).sort()}async function D(e,n){if(!n)return;const i=n.elevationInfo?.featureExpressionInfo;return i?i.collectRequiredFields(e,n.fieldsIndex):void 0}function M(e,n,i){i.onStatisticExpression?A(e,n,i.onStatisticExpression.expression):e.add(i.onStatisticField)}async function O(e,n,i){if(!n||!i||!("fields"in i))return;const t=[],r=i.popupTemplate;t.push(V(e,n,r)),i.fields&&t.push(...i.fields.map((async i=>M(e,n.fieldsIndex,i)))),await Promise.all(t)}async function V(e,n,i){const t=[];i?.expressionInfos&&t.push(...i.expressionInfos.map((i=>A(e,n.fieldsIndex,i.expression))));const r=i?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&t.push(A(e,n.fieldsIndex,l.expressionInfo.expression));await Promise.all(t)}async function j(e,n,i){n&&(n.timeInfo&&i?.timeExtent&&T(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&T(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=i?.where&&await S(e,n.fieldsIndex,i.where))}async function U(e,n,i){n&&i&&await Promise.all(i.map((i=>R(e,n,i))))}async function R(e,n,i){n&&i&&(i.valueExpression?await A(e,n.fieldsIndex,i.valueExpression):i.field&&h(e,n.fieldsIndex,i.field))}async function C(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?x(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function G(e){return e?x(e.fieldsIndex,B(e)):[]}function k(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?x(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}const X=new Set(["oid","global-id","guid"]),z=new Set(["oid","global-id"]),P=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^shape$/i,/^shape_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/perimeter/i,/objectid/i,/_i$/i];function q(e){const n=new Set;Y(e).forEach((e=>n.add(e))),k(e).forEach((e=>n.add(e.toLowerCase())));const i=e&&"infoFor3D"in e?e.infoFor3D:void 0;return i&&(Object.values(i.assetMapFieldRoles).forEach((e=>n.add(e.toLowerCase()))),Object.values(i.transformFieldRoles).forEach((e=>n.add(e.toLowerCase())))),Array.from(n)}function B(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:i,creatorField:t,editDateField:r,editorField:l}=n;return[i,t,r,l].filter(Boolean)}function Y(e){return B(e).map((e=>e.toLowerCase()))}function J(e,n){return e.editable&&!X.has(e.type)&&!Y(n).includes(e.name?.toLowerCase()??"")}function W(e,n){const i=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&i===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&i===n.globalIdField.toLowerCase()||q(n).includes(i)||z.has(e.type)||P.some((e=>e.test(i))))}async function H(e){if(!e)return[];const n=new Set;return await K(n,e),Array.from(n).sort()}async function K(e,n){const{labelingInfo:i,fieldsIndex:t}=n;i?.length&&await Promise.all(i.map((n=>Q(e,t,n))))}async function Q(e,n,i){if(!i)return;const t=i.getLabelExpression(),r=i.where;if("arcade"===t.type)await A(e,n,t.expression);else{const i=t.expression.match(/{[^}]*}/g);i&&i.forEach((i=>{h(e,n,i.slice(1,-1))}))}await S(e,n,r)}function Z(e){const n=e.defaultValue;return void 0!==n&&le(e,n)?n:e.nullable?null:void 0}function ee(e){const n="string"==typeof e?{type:e}:e;return ge(n)?255:"esriFieldTypeDate"===n.type||"date"===n.type?8:void 0}function ne(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function ie(e){return null===e||ne(e)}function te(e){return null===e||Number.isInteger(e)}function re(){return!0}function le(e,n){let i;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":i=e.nullable?te:Number.isInteger;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":i=e.nullable?ie:ne;break;case"string":case"esriFieldTypeString":i=e.nullable?f:c;break;default:i=re}return 1===arguments.length?i:i(n)}const oe=["integer","small-integer","big-integer"],se=["single","double"],ae=[...oe,...se],ue=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"],fe=["esriFieldTypeSingle","esriFieldTypeDouble"],ce=new Set([...oe,...ue]),de=new Set([...se,...fe]),me=t(ce,de);function pe(e){return null!=e&&ce.has(e.type)}function ye(e){return null!=e&&me.has(e.type)}function ge(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function Fe(e){return null!=e&&("date"===e.type||"esriFieldTypeDate"===e.type)}function Ie(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function be(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function we(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function xe(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function Te(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function he(e,n){return null===Se(e,n)}var Ee,_e;function Ae(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function Se(e,n){return null==e||e.nullable&&null===n?null:ye(e)&&!Ne(e.type,Number(n))?Ee.OUT_OF_RANGE:le(e,n)?e.domain?l(e,n):null:_e.INVALID_TYPE}function Ne(e,n){const i="string"==typeof e?$e(e):e;if(!i)return!1;const t=i.min,r=i.max;return i.isInteger?Number.isInteger(n)&&n>=t&&n<=r:n>=t&&n<=r}function ve(e,n){const i=o(e,n);return i||(ye(e)?$e(e.type):void 0)}function $e(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return De;case"esriFieldTypeInteger":case"integer":return Me;case"esriFieldTypeBigInteger":case"big-integer":return Oe;case"esriFieldTypeSingle":case"single":return Ve;case"esriFieldTypeDouble":case"double":return je}}function Le(e){if(!ne(e))return null;if(Number.isInteger(e)){if(e>=De.min&&e<=De.max)return"esriFieldTypeSmallInteger";if(e>=Me.min&&e<=Me.max)return"esriFieldTypeInteger";if(e>=Oe.min&&e<=Oe.max)return"esriFieldTypeBigInteger"}return e>=Ve.min&&e<=Ve.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}!function(e){e.OUT_OF_RANGE="numeric-range-validation-error::out-of-range"}(Ee||(Ee={})),function(e){e.INVALID_TYPE="type-validation-error::invalid-type"}(_e||(_e={}));const De={min:-32768,max:32767,isInteger:!0,rawMin:-32768,rawMax:32767},Me={min:-2147483648,max:2147483647,isInteger:!0,rawMin:-2147483648,rawMax:2147483647},Oe={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0,rawMin:-Number.MAX_SAFE_INTEGER,rawMax:Number.MAX_SAFE_INTEGER},Ve={min:-34e37,max:12e37,isInteger:!1,rawMin:-34e37,rawMax:12e37},je={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1,rawMin:-Number.MAX_VALUE,rawMax:Number.MAX_VALUE};function Ue(e,n,i){switch(e){case s.INVALID_CODED_VALUE:return`Value ${i} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case s.VALUE_OUT_OF_RANGE:return`Value ${i} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case _e.INVALID_TYPE:return`Value ${i} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case Ee.OUT_OF_RANGE:{const{min:e,max:t}=$e(n.type);return`Value ${i} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${t}`}}}function Re(e,n){return!Ce(e,n,null)}function Ce(e,n,i){if(!n?.attributes||!e){if(null!=i)for(const n of e??[])i.add(n);return!0}const t=new Set(Object.keys(n.attributes));let r=!1;for(const l of e)if(!t.has(l)){if(r=!0,null==i)break;i.add(l)}return r}async function Ge(e,n){const i=new Set;for(const t of n)await A(i,e.fieldsIndex,t);return Array.from(i).sort()}function ke(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some((n=>e.toLowerCase().startsWith(n)))}async function Xe(e,n){const i=new Set;return e?.collectRequiredFields&&await e.collectRequiredFields(i,n),Array.from(i).sort()}function ze(e){const n=e?.match(/{[^}]+}/g);return n?n.map((e=>e.slice(1,-1).split(":")[0].trim())):[]}export{Ee as NumericRangeValidationError,_e as TypeValidationError,Oe as bigIntegerRange,A as collectArcadeFieldNames,D as collectElevationFields,O as collectFeatureReductionFields,h as collectField,T as collectFields,j as collectFilterFields,K as collectLabelingFields,U as collectOrderByInfos,V as collectPopupTemplateFields,je as doubleRange,ze as extractSubstitutionTemplatesFromString,Re as featureHasFields,x as fixFields,F as fixRendererFields,b as fixTimeInfoFields,fe as floatJSONTypes,se as floatTypes,N as getDisplayFieldName,B as getEditTrackingFields,L as getElevationFields,Ge as getExpressionFields,G as getFeatureEditFields,k as getFeatureGeometryFields,ee as getFieldDefaultLength,Z as getFieldDefaultValue,ve as getFieldRange,H as getLabelingFields,q as getLowerCaseDefaultHiddenFields,Y as getLowerCaseEditTrackingFields,Le as getNumericTypeForValue,Xe as getRendererFields,C as getTimeFields,ue as integerJSONTypes,Me as integerRange,oe as integerTypes,Fe as isDateField,Ie as isDateOnlyField,J as isFieldEditable,W as isFieldVisibleByDefault,Te as isGlobalIDField,pe as isIntegerField,Ne as isNumberInRange,ye as isNumericField,xe as isObjectIDField,ke as isRasterPixelValueField,ge as isStringField,we as isTimeOnlyField,be as isTimestampOffsetField,he as isValidFieldValue,le as isValueMatchingFieldType,p as normalizeFieldName,ae as numericTypes,_ as packFields,Ce as populateMissingFields,y as rendererFields,Ae as sanitizeNullFieldValue,Ve as singleRange,De as smallIntegerRange,E as unpackFieldNames,Se as validateFieldValue,Ue as validationErrorToString,g as visualVariableFields};
|
|
5
|
+
import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as i}from"../../core/object.js";import{union as t}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{getDomainRange as l,DomainValidationError as o}from"./domainUtils.js";import{getFieldNameFromSimpleExpression as s}from"../../support/arcadeExpressionUtils.js";import{loadArcade as a}from"../../support/arcadeOnDemand.js";import{isStringOrNull as u,isString as f}from"../../support/guards.js";const c=/^([0-9_])/,d=/[^a-z0-9_\u0080-\uffff]+/gi;function p(e){if(null==e)return null;return e.trim().replaceAll(d,"_").replace(c,"F$1")||null}const m=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],y=["field","normalizationField"];function g(e,n){if(null!=e&&null!=n)for(const i of Array.isArray(e)?e:[e])if(F(m,i,n),"visualVariables"in i&&i.visualVariables)for(const e of i.visualVariables)F(y,e,n)}function F(e,t,r){if(e)for(const l of e){const e=n(l,t),o=e&&"function"!=typeof e&&r.get(e);o&&i(l,o.name,t)}}function I(e,n){if(null!=e&&n?.fields?.length)if("startField"in e){const i=n.get(e.startField),t=n.get(e.endField);e.startField=i?.name??null,e.endField=t?.name??null}else{const i=n.get(e.startTimeField),t=n.get(e.endTimeField);e.startTimeField=i?.name??null,e.endTimeField=t?.name??null}}const b=new Set;function w(e,n){return e&&n?(b.clear(),x(b,e,n),Array.from(b).sort()):[]}function x(e,n,i){if(i)if(n?.fields?.length)if(i.includes("*"))for(const{name:t}of n.fields)e.add(t);else for(const t of i)T(e,n,t);else{if(i.includes("*"))return e.clear(),void e.add("*");for(const n of i)null!=n&&e.add(n)}}function T(e,n,i){if("string"==typeof i)if(n){const t=n.get(i);t&&e.add(t.name)}else e.add(i)}function h(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map((e=>e.name)):n}function E(e,n,i=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const t=w(e,n);return t.length/e.fields.length>=i?["*"]:t}async function _(e,n,i){if(!i)return;let t;const r=s(i);if(r)t=[r];else{const{arcadeUtils:e}=await a();t=e.extractFieldNames(i,n?.fields?.map((e=>e.name)))}for(const l of t)T(e,n,l)}async function A(n,i,t){if(t&&"1=1"!==t){const l=await r(t,i);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:t});x(n,i,l.fieldNames)}}function S({displayField:e,fields:n}){return e||(n?.length?v(n,"name-or-title")||v(n,"unique-identifier")||v(n,"type-or-category")||N(n):null)}function N(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function v(e,n){for(const i of e)if(i?.valueType&&i.valueType===n)return i.name;return null}async function $(e){if(!e)return[];const n=new Set;return await L(n,e),Array.from(n).sort()}async function L(e,n){if(!n)return;const i=n.elevationInfo?.featureExpressionInfo;return i?i.collectRequiredFields(e,n.fieldsIndex):void 0}function D(e,n,i){i.onStatisticExpression?_(e,n,i.onStatisticExpression.expression):e.add(i.onStatisticField)}async function M(e,n,i){if(!n||!i||!("fields"in i))return;const t=[],r=i.popupTemplate;t.push(O(e,n,r)),i.fields&&t.push(...i.fields.map((async i=>D(e,n.fieldsIndex,i)))),await Promise.all(t)}async function O(e,n,i){const t=[];i?.expressionInfos&&t.push(...i.expressionInfos.map((i=>_(e,n.fieldsIndex,i.expression))));const r=i?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&t.push(_(e,n.fieldsIndex,l.expressionInfo.expression));await Promise.all(t)}async function V(e,n,i){n&&(n.timeInfo&&i?.timeExtent&&x(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&x(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=i?.where&&await A(e,n.fieldsIndex,i.where))}async function j(e,n,i){n&&i&&await Promise.all(i.map((i=>U(e,n,i))))}async function U(e,n,i){n&&i&&(i.valueExpression?await _(e,n.fieldsIndex,i.valueExpression):i.field&&T(e,n.fieldsIndex,i.field))}async function R(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?w(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function C(e){return e?w(e.fieldsIndex,q(e)):[]}function G(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?w(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}const k=new Set(["oid","global-id","guid"]),X=new Set(["oid","global-id"]),z=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^shape$/i,/^shape_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/perimeter/i,/objectid/i,/_i$/i];function P(e){const n=new Set;B(e).forEach((e=>n.add(e))),G(e).forEach((e=>n.add(e.toLowerCase())));const i=e&&"infoFor3D"in e?e.infoFor3D:void 0;return i&&(Object.values(i.assetMapFieldRoles).forEach((e=>n.add(e.toLowerCase()))),Object.values(i.transformFieldRoles).forEach((e=>n.add(e.toLowerCase())))),Array.from(n)}function q(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:i,creatorField:t,editDateField:r,editorField:l}=n;return[i,t,r,l].filter(Boolean)}function B(e){return q(e).map((e=>e.toLowerCase()))}function Y(e,n){return e.editable&&!k.has(e.type)&&!B(n).includes(e.name?.toLowerCase()??"")}function J(e,n){const i=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&i===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&i===n.globalIdField.toLowerCase()||P(n).includes(i)||X.has(e.type)||z.some((e=>e.test(i))))}async function W(e){if(!e)return[];const n=new Set;return await H(n,e),Array.from(n).sort()}async function H(e,n){const{labelingInfo:i,fieldsIndex:t}=n;i?.length&&await Promise.all(i.map((n=>K(e,t,n))))}async function K(e,n,i){if(!i)return;const t=i.getLabelExpression(),r=i.where;if("arcade"===t.type)await _(e,n,t.expression);else{const i=t.expression.match(/{[^}]*}/g);i&&i.forEach((i=>{T(e,n,i.slice(1,-1))}))}await A(e,n,r)}function Q(e){const n=e.defaultValue;return void 0!==n&&re(e,n)?n:e.nullable?null:void 0}function Z(e){const n="string"==typeof e?{type:e}:e;return ye(n)?255:"esriFieldTypeDate"===n.type||"date"===n.type?8:void 0}function ee(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function ne(e){return null===e||ee(e)}function ie(e){return null===e||Number.isInteger(e)}function te(){return!0}function re(e,n){let i;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":i=e.nullable?ie:Number.isInteger;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":i=e.nullable?ne:ee;break;case"string":case"esriFieldTypeString":i=e.nullable?u:f;break;default:i=te}return 1===arguments.length?i:i(n)}const le=["integer","small-integer","big-integer"],oe=["single","double"],se=[...le,...oe],ae=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"],ue=["esriFieldTypeSingle","esriFieldTypeDouble"],fe=new Set([...le,...ae]),ce=new Set([...oe,...ue]),de=t(fe,ce);function pe(e){return null!=e&&fe.has(e.type)}function me(e){return null!=e&&de.has(e.type)}function ye(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function ge(e){return null!=e&&("date"===e.type||"esriFieldTypeDate"===e.type)}function Fe(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function Ie(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function be(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function we(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function xe(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function Te(e,n){return null===Ae(e,n)}var he,Ee;function _e(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function Ae(e,n){return null==e||e.nullable&&null===n?null:re(e,n)?me(e)&&!Se(e.type,Number(n))?he.OUT_OF_RANGE:null:Ee.INVALID_TYPE}function Se(e,n){const i="string"==typeof e?ve(e):e;if(!i)return!1;const t=i.min,r=i.max;return i.isInteger?Number.isInteger(n)&&n>=t&&n<=r:n>=t&&n<=r}function Ne(e,n){const i=l(e,n);return i||(me(e)?ve(e.type):void 0)}function ve(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return Le;case"esriFieldTypeInteger":case"integer":return De;case"esriFieldTypeBigInteger":case"big-integer":return Me;case"esriFieldTypeSingle":case"single":return Oe;case"esriFieldTypeDouble":case"double":return Ve}}function $e(e){if(!ee(e))return null;if(Number.isInteger(e)){if(e>=Le.min&&e<=Le.max)return"esriFieldTypeSmallInteger";if(e>=De.min&&e<=De.max)return"esriFieldTypeInteger";if(e>=Me.min&&e<=Me.max)return"esriFieldTypeBigInteger"}return e>=Oe.min&&e<=Oe.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}!function(e){e.OUT_OF_RANGE="numeric-range-validation-error::out-of-range"}(he||(he={})),function(e){e.INVALID_TYPE="type-validation-error::invalid-type"}(Ee||(Ee={}));const Le={min:-32768,max:32767,isInteger:!0,rawMin:-32768,rawMax:32767},De={min:-2147483648,max:2147483647,isInteger:!0,rawMin:-2147483648,rawMax:2147483647},Me={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0,rawMin:-Number.MAX_SAFE_INTEGER,rawMax:Number.MAX_SAFE_INTEGER},Oe={min:-34e37,max:12e37,isInteger:!1,rawMin:-34e37,rawMax:12e37},Ve={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1,rawMin:-Number.MAX_VALUE,rawMax:Number.MAX_VALUE};function je(e,n,i){switch(e){case o.INVALID_CODED_VALUE:return`Value ${i} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case o.VALUE_OUT_OF_RANGE:return`Value ${i} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case Ee.INVALID_TYPE:return`Value ${i} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case he.OUT_OF_RANGE:{const{min:e,max:t}=ve(n.type);return`Value ${i} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${t}`}}}function Ue(e,n){return!Re(e,n,null)}function Re(e,n,i){if(!n?.attributes||!e){if(null!=i)for(const n of e??[])i.add(n);return!0}const t=new Set(Object.keys(n.attributes));let r=!1;for(const l of e)if(!t.has(l)){if(r=!0,null==i)break;i.add(l)}return r}async function Ce(e,n){const i=new Set;for(const t of n)await _(i,e.fieldsIndex,t);return Array.from(i).sort()}function Ge(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some((n=>e.toLowerCase().startsWith(n)))}async function ke(e,n){const i=new Set;return e?.collectRequiredFields&&await e.collectRequiredFields(i,n),Array.from(i).sort()}function Xe(e){const n=e?.match(/{[^}]+}/g);return n?n.map((e=>e.slice(1,-1).split(":")[0].trim())):[]}export{he as NumericRangeValidationError,Ee as TypeValidationError,Me as bigIntegerRange,_ as collectArcadeFieldNames,L as collectElevationFields,M as collectFeatureReductionFields,T as collectField,x as collectFields,V as collectFilterFields,H as collectLabelingFields,j as collectOrderByInfos,O as collectPopupTemplateFields,Ve as doubleRange,Xe as extractSubstitutionTemplatesFromString,Ue as featureHasFields,w as fixFields,g as fixRendererFields,I as fixTimeInfoFields,ue as floatJSONTypes,oe as floatTypes,S as getDisplayFieldName,q as getEditTrackingFields,$ as getElevationFields,Ce as getExpressionFields,C as getFeatureEditFields,G as getFeatureGeometryFields,Z as getFieldDefaultLength,Q as getFieldDefaultValue,Ne as getFieldRange,W as getLabelingFields,P as getLowerCaseDefaultHiddenFields,B as getLowerCaseEditTrackingFields,$e as getNumericTypeForValue,ke as getRendererFields,R as getTimeFields,ae as integerJSONTypes,De as integerRange,le as integerTypes,ge as isDateField,Fe as isDateOnlyField,Y as isFieldEditable,J as isFieldVisibleByDefault,xe as isGlobalIDField,pe as isIntegerField,Se as isNumberInRange,me as isNumericField,we as isObjectIDField,Ge as isRasterPixelValueField,ye as isStringField,be as isTimeOnlyField,Ie as isTimestampOffsetField,Te as isValidFieldValue,re as isValueMatchingFieldType,p as normalizeFieldName,se as numericTypes,E as packFields,Re as populateMissingFields,m as rendererFields,_e as sanitizeNullFieldValue,Oe as singleRange,Le as smallIntegerRange,h as unpackFieldNames,Ae as validateFieldValue,je as validationErrorToString,y as visualVariableFields};
|
package/package.json
CHANGED